1 #import <Cocoa/Cocoa.h> 2 #include <Core/gb.h> 3 #import <JoyKit/JoyKit.h> 4 #import "GBOSDView.h" 5 @class Document; 6 7 typedef enum { 8 GB_FRAME_BLENDING_MODE_DISABLED, 9 GB_FRAME_BLENDING_MODE_SIMPLE, 10 GB_FRAME_BLENDING_MODE_ACCURATE, 11 GB_FRAME_BLENDING_MODE_ACCURATE_EVEN = GB_FRAME_BLENDING_MODE_ACCURATE, 12 GB_FRAME_BLENDING_MODE_ACCURATE_ODD, 13 } GB_frame_blending_mode_t; 14 15 @interface GBView : NSView<JOYListener> 16 - (void) flip; 17 - (uint32_t *) pixels; 18 @property (nonatomic, weak) IBOutlet Document *document; 19 @property (nonatomic) GB_gameboy_t *gb; 20 @property (nonatomic) GB_frame_blending_mode_t frameBlendingMode; 21 @property (nonatomic, getter=isMouseHidingEnabled) bool mouseHidingEnabled; 22 @property (nonatomic) bool isRewinding; 23 @property (nonatomic, strong) NSView *internalView; 24 @property (weak) GBOSDView *osdView; 25 - (void) createInternalView; 26 - (uint32_t *)currentBuffer; 27 - (uint32_t *)previousBuffer; 28 - (void)screenSizeChanged; 29 - (void)setRumble: (double)amp; 30 - (NSImage *)renderToImage; 31 @end 32