23 |
|
#import <video.h> |
24 |
|
|
25 |
|
/* Set the strategy for drawing the bitmap in the Mac OS X window */ |
26 |
< |
//#define CGIMAGEREF 15.05fps |
27 |
< |
//#define CGDRAWBITMAP 15.2fps |
28 |
< |
#define NSBITMAP 15.1fps |
26 |
> |
#define CGDRAWBITMAP |
27 |
> |
//#define CGIMAGEREF |
28 |
> |
//#define NSBITMAP |
29 |
> |
|
30 |
> |
// The frames-per-second benchmark function on my machine does roughly: |
31 |
> |
// |
32 |
> |
// OS: 10.1.5 10.2.2 |
33 |
> |
// CGDRAWBITMAP 15.2 36.6 |
34 |
> |
// CGIMAGEREF 15.0 27-135(i) |
35 |
> |
// NSBITMAP 15.1 26.9 |
36 |
> |
// |
37 |
> |
// (i) This seems to vary wildly between different builds on the same machine. |
38 |
> |
// I don't know why, but I definately don't trust it. Recently I noticed |
39 |
> |
// that it also varies by alpha channel strategy: |
40 |
> |
// kCGImageAlphaNone 36.6fps |
41 |
> |
// kCGImageAlphaPremultipliedFirst 112fps |
42 |
> |
// kCGImageAlphaNoneSkipFirst 135fps |
43 |
> |
|
44 |
> |
/* When the BasiliskII video driver respects the alpha bits, set this to let us use */ |
45 |
> |
/* kCGImageAlphaPremultipliedFirst, and to have nice rounded corners on the screen. */ |
46 |
> |
//#define CG_USE_ALPHA |
47 |
> |
/* At the moment, it writes in the fill 32bits :-( */ |
48 |
> |
|
49 |
|
|
50 |
|
#define MIN_WIDTH 512 |
51 |
< |
#define MIN_HEIGHT 342 |
51 |
> |
#define MIN_HEIGHT 384 |
52 |
> |
#define MIN_HEIGHTC 342 // For classic emulation |
53 |
|
|
54 |
|
#define MAX_WIDTH 1240 |
55 |
|
#define MAX_HEIGHT 1024 |
67 |
|
frame_skip; |
68 |
|
extern uint16 init_width, |
69 |
|
init_height, |
70 |
< |
init_depth, |
50 |
< |
screen_height; |
70 |
> |
init_depth; |
71 |
|
|
52 |
– |
extern uint8 bits_from_depth (const video_depth); |
72 |
|
extern bool parse_screen_prefs (const char *); |
73 |
|
extern void resizeWinTo (const uint16, const uint16); |
74 |
|
|
77 |
|
|
78 |
|
extern NSWindow *the_win; |
79 |
|
extern EmulatorView *output; |
61 |
– |
|
62 |
– |
// These record changes we made in setting full screen mode |
63 |
– |
extern CGDirectDisplayID theDisplay; |
64 |
– |
extern CFDictionaryRef originalMode, newMode; |
65 |
– |
|
66 |
– |
// Macro for checking if full screen mode has started |
67 |
– |
#define FULLSCREEN ( theDisplay || originalMode || newMode ) |