Files
IJSVG/source/IJSVGExporter.h

69 lines
2.2 KiB
Objective-C

//
// IJSVGExporter.h
// IJSVGExample
//
// Created by Curtis Hard on 06/01/2017.
// Copyright © 2017 Curtis Hard. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IJSVG;
typedef void (^IJSVGCGPathHandler)(const CGPathElement * pathElement);
void IJSVGExporterPathCaller(void * info, const CGPathElement * pathElement);
typedef NS_OPTIONS( NSInteger, IJSVGExporterOptions) {
IJSVGExporterOptionNone = 1 << 0,
IJSVGExporterOptionRemoveUselessGroups = 1 << 1,
IJSVGExporterOptionRemoveUselessDef = 1 << 2,
IJSVGExporterOptionMoveAttributesToGroup = 1 << 3,
IJSVGExporterOptionCreateUseForPaths = 1 << 4,
IJSVGExporterOptionSortAttributes = 1 << 5,
IJSVGExporterOptionCollapseGroups = 1 << 6,
IJSVGExporterOptionCleanupPaths = 1 << 7,
IJSVGExporterOptionRemoveHiddenElements = 1 << 8,
IJSVGExporterOptionScaleToSizeIfNecessary = 1 << 9,
IJSVGExporterOptionCompressOutput = 1 << 10,
IJSVGExporterOptionCollapseGradients = 1 << 11,
IJSVGExporterOptionCreateClasses = 1 << 12,
IJSVGExporterOptionRemoveWidthHeightAttributes = 1 << 13,
IJSVGExporterOptionAll = IJSVGExporterOptionRemoveUselessDef|
IJSVGExporterOptionRemoveUselessGroups|
IJSVGExporterOptionCreateUseForPaths|
IJSVGExporterOptionMoveAttributesToGroup|
IJSVGExporterOptionSortAttributes|
IJSVGExporterOptionCollapseGroups|
IJSVGExporterOptionCleanupPaths|
IJSVGExporterOptionRemoveHiddenElements|
IJSVGExporterOptionScaleToSizeIfNecessary|
IJSVGExporterOptionCompressOutput|
IJSVGExporterOptionCollapseGradients|
IJSVGExporterOptionRemoveWidthHeightAttributes
};
@interface IJSVGExporter : NSObject {
@private
IJSVG * _svg;
CGSize _size;
IJSVGExporterOptions _options;
NSXMLDocument * _dom;
NSXMLElement * _defElement;
NSXMLElement * _scaledRootNode;
NSInteger _idCount;
NSInteger _shortIdCount;
}
@property (nonatomic, copy) NSString * title;
@property (nonatomic, copy) NSString * description;
- (id)initWithSVG:(IJSVG *)svg
size:(CGSize)size
options:(IJSVGExporterOptions)options;
- (NSString *)SVGString;
- (NSData *)SVGData;
@end