diff options
author | planetmaker <planetmaker@openttd.org> | 2010-12-21 15:56:02 +0000 |
---|---|---|
committer | planetmaker <planetmaker@openttd.org> | 2010-12-21 15:56:02 +0000 |
commit | 7ab04792c501fcc605eff92d79eab5a66707e28f (patch) | |
tree | f23fb8f1f548e3130f4f05cbb0e28b597c4216b7 /src/video/cocoa/cocoa_v.h | |
parent | 574e0830f19080f668c0e358656213b64b63af4e (diff) | |
download | openttd-7ab04792c501fcc605eff92d79eab5a66707e28f.tar.xz |
(svn r21574) -Codechange: [OSX] Move the variable declaration of the screen drivers to the generic class, deduplicating code
Diffstat (limited to 'src/video/cocoa/cocoa_v.h')
-rw-r--r-- | src/video/cocoa/cocoa_v.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/video/cocoa/cocoa_v.h b/src/video/cocoa/cocoa_v.h index 66818dddb..2d789d89e 100644 --- a/src/video/cocoa/cocoa_v.h +++ b/src/video/cocoa/cocoa_v.h @@ -42,9 +42,41 @@ public: }; - +/** + * Generic display driver for cocoa + * On grounds to not duplicate some code, it contains a few variables + * which are not used by all device drivers. + */ class CocoaSubdriver { public: + int device_width; + int device_height; + int device_depth; + + int window_width; + int window_height; + int window_pitch; + + int buffer_depth; + void *pixel_buffer; // used for direct pixel access + void *window_buffer; // has colour translation from palette to screen + id window; // pointer to window object + +# define MAX_DIRTY_RECTS 100 + Rect dirty_rects[MAX_DIRTY_RECTS]; + int num_dirty_rects; + uint32 palette[256]; + + bool active; + bool setup; + + id cocoaview; // pointer to view object + + /* Separate driver vars for Quarz + * Needed here in order to avoid much code duplication */ + CGContextRef cgcontext; + + /* Driver methods */ virtual ~CocoaSubdriver() {} virtual void Draw(bool force_update = false) = 0; |