2016-03-30 20:07:55 +00:00
|
|
|
#import <Cocoa/Cocoa.h>
|
2017-10-12 21:02:02 +00:00
|
|
|
#include <Core/gb.h>
|
2019-10-19 16:26:04 +00:00
|
|
|
#import <JoyKit/JoyKit.h>
|
2020-11-13 21:07:35 +00:00
|
|
|
@class Document;
|
2016-03-30 20:07:55 +00:00
|
|
|
|
2020-03-26 18:54:18 +00:00
|
|
|
typedef enum {
|
|
|
|
GB_FRAME_BLENDING_MODE_DISABLED,
|
|
|
|
GB_FRAME_BLENDING_MODE_SIMPLE,
|
|
|
|
GB_FRAME_BLENDING_MODE_ACCURATE,
|
|
|
|
GB_FRAME_BLENDING_MODE_ACCURATE_EVEN = GB_FRAME_BLENDING_MODE_ACCURATE,
|
|
|
|
GB_FRAME_BLENDING_MODE_ACCURATE_ODD,
|
|
|
|
} GB_frame_blending_mode_t;
|
|
|
|
|
2019-10-19 16:26:04 +00:00
|
|
|
@interface GBView : NSView<JOYListener>
|
2016-03-30 20:07:55 +00:00
|
|
|
- (void) flip;
|
|
|
|
- (uint32_t *) pixels;
|
2021-01-13 18:59:28 +00:00
|
|
|
@property (nonatomic, weak) IBOutlet Document *document;
|
|
|
|
@property (nonatomic) GB_gameboy_t *gb;
|
2020-03-26 18:54:18 +00:00
|
|
|
@property (nonatomic) GB_frame_blending_mode_t frameBlendingMode;
|
2021-01-13 18:59:28 +00:00
|
|
|
@property (nonatomic, getter=isMouseHidingEnabled) BOOL mouseHidingEnabled;
|
|
|
|
@property (nonatomic) bool isRewinding;
|
|
|
|
@property (nonatomic, strong) NSView *internalView;
|
2018-06-11 17:23:51 +00:00
|
|
|
- (void) createInternalView;
|
|
|
|
- (uint32_t *)currentBuffer;
|
|
|
|
- (uint32_t *)previousBuffer;
|
2018-11-14 22:21:21 +00:00
|
|
|
- (void)screenSizeChanged;
|
2020-04-29 13:05:31 +00:00
|
|
|
- (void)setRumble: (double)amp;
|
2016-03-30 20:07:55 +00:00
|
|
|
@end
|