#import <Foundation/Foundation.h> #import "GPUImageContext.h" struct GPUByteColorVector { GLubyte red; GLubyte green; GLubyte blue; GLubyte alpha; }; typedef struct GPUByteColorVector GPUByteColorVector; @protocol GPUImageRawDataProcessor; #if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE @interface GPUImageRawDataOutput : NSObject <GPUImageInput> { CGSize imageSize; GPUImageRotationMode inputRotation; BOOL outputBGRA; } #else @interface GPUImageRawDataOutput : NSObject <GPUImageInput> { CGSize imageSize; GPUImageRotationMode inputRotation; BOOL outputBGRA; } #endif @property(readonly) GLubyte *rawBytesForImage; @property(nonatomic, copy) void(^newFrameAvailableBlock)(void); @property(nonatomic) BOOL enabled; // Initialization and teardown - (id)initWithImageSize:(CGSize)newImageSize resultsInBGRAFormat:(BOOL)resultsInBGRAFormat; // Data access - (GPUByteColorVector)colorAtLocation:(CGPoint)locationInImage; - (NSUInteger)bytesPerRowInOutput; - (void)setImageSize:(CGSize)newImageSize; - (void)lockFramebufferForReading; - (void)unlockFramebufferAfterReading; @end