#import "ObjectiveChipmunk/ObjectiveChipmunk.h"
#import "ChipmunkAutoGeometry.h"
#import <TargetConditionals.h>
#if TARGET_OS_IPHONE == 1
#import <CoreGraphics/CoreGraphics.h>
#endif
@interface ChipmunkBitmapSampler : ChipmunkAbstractSampler {
@private
NSUInteger _width, _height, _stride;
NSUInteger _bytesPerPixel, _component;
bool _flip;
const uint8_t *_pixels;
NSData *_pixelData;
cpFloat _borderValue;
cpBB _outputRect;
}
@property(nonatomic, readonly) NSUInteger width;
@property(nonatomic, readonly) NSUInteger height;
@property(nonatomic, readonly) NSUInteger bytesPerPixel;
@property(nonatomic, assign) NSUInteger component;
@property(nonatomic, readonly) NSData *pixelData;
@property(nonatomic, assign) cpBB outputRect;
-(id)initWithWidth:(NSUInteger)width height:(NSUInteger)height stride:(NSUInteger)stride bytesPerPixel:(NSUInteger)bytesPerPixel component:(NSUInteger)component flip:(bool)flip pixelData:(NSData *)pixelData;
-(void)setBorderRepeat;
-(void)setBorderValue:(cpFloat)borderValue;
-(ChipmunkPolylineSet *)marchAllWithBorder:(bool)bordered hard:(bool)hard;
@end
@interface ChipmunkCGContextSampler : ChipmunkBitmapSampler {
@private
CGContextRef _context;
}
@property(nonatomic, readonly) CGContextRef context;
@property(nonatomic, readonly) NSMutableData *pixelData;
-(id)initWithWidth:(unsigned long)width height:(unsigned long)height colorSpace:(CGColorSpaceRef)colorSpace bitmapInfo:(CGBitmapInfo)bitmapInfo component:(NSUInteger)component;
@end
@interface ChipmunkImageSampler : ChipmunkCGContextSampler
+(CGImageRef)loadImage:(NSURL *)url;
-(id)initWithImage:(CGImageRef)image isMask:(bool)isMask contextWidth:(NSUInteger)width contextHeight:(NSUInteger)height;
-(id)initWithImageFile:(NSURL *)url isMask:(bool)isMask;
+(ChipmunkImageSampler *)samplerWithImageFile:(NSURL *)url isMask:(bool)isMask;
@end