Mercurial > sdl-ios-xcode
comparison src/video/directfb/SDL_DirectFB_video.h @ 2721:e82a0e3e9b0e
Date: Sun, 20 Jul 2008 22:34:37 +0200
From: Couriersud
Subject: Updated DirectFB driver for SDL1.3
please find attached a patch for an updated directfb driver for SDL1.3.
It does now
- properly supported the new input api.
- send unicode text events
- support directfb windows
- support multiple screens
- support hardware YUV scaling for the first YUV texture created.
- support hardware scaling for textures.
- properly interpret streaming access
- support software opengl if one manages to install the mesa directfb
driver (broken/not broken in mesa svn)
Within bugzilla (http://bugzilla.libsdl.org/show_bug.cgi?id=603) there
is another patch which fixes a crash due to GL context creation.
Kind regards,
couriersud
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 26 Aug 2008 02:32:45 +0000 |
parents | 0e70b4b8cf84 |
children | 140a7edcf2bd |
comparison
equal
deleted
inserted
replaced
2720:4eb759edddf5 | 2721:e82a0e3e9b0e |
---|---|
112 | 112 |
113 struct _DFB_DisplayData | 113 struct _DFB_DisplayData |
114 { | 114 { |
115 IDirectFBDisplayLayer *layer; | 115 IDirectFBDisplayLayer *layer; |
116 DFBSurfacePixelFormat pixelformat; | 116 DFBSurfacePixelFormat pixelformat; |
117 //FIXME: support for multiple layer ... | |
117 DFBDisplayLayerID vidID; | 118 DFBDisplayLayerID vidID; |
119 | |
120 int vidIDinuse; | |
118 | 121 |
119 int cw; | 122 int cw; |
120 int ch; | 123 int ch; |
121 | 124 |
122 int nummodes; | 125 int nummodes; |
137 IDirectFBPalette *palette; | 140 IDirectFBPalette *palette; |
138 IDirectFBWindow *window; | 141 IDirectFBWindow *window; |
139 IDirectFBGL *gl_context; | 142 IDirectFBGL *gl_context; |
140 IDirectFBEventBuffer *eventbuffer; | 143 IDirectFBEventBuffer *eventbuffer; |
141 DFBWindowID windowID; | 144 DFBWindowID windowID; |
142 int id; // SDL window id | 145 int id; /* SDL window id */ |
143 DFB_WindowData *next; | 146 DFB_WindowData *next; |
144 u8 opacity; | 147 Uint8 opacity; |
145 }; | 148 }; |
146 | 149 |
147 typedef struct _DFB_DeviceData DFB_DeviceData; | 150 typedef struct _DFB_DeviceData DFB_DeviceData; |
148 struct _DFB_DeviceData | 151 struct _DFB_DeviceData |
149 { | 152 { |
150 int initialized; | 153 int initialized; |
151 | 154 |
152 IDirectFB *dfb; | 155 IDirectFB *dfb; |
153 int mouse; | 156 int mouse; |
154 int keyboard; | 157 int keyboard; |
158 int kbdgeneric; | |
155 DFB_WindowData *firstwin; | 159 DFB_WindowData *firstwin; |
156 | 160 |
157 int numscreens; | 161 int numscreens; |
158 DFBScreenID screenid[DFB_MAX_SCREENS]; | 162 DFBScreenID screenid[DFB_MAX_SCREENS]; |
159 DFBDisplayLayerID gralayer[DFB_MAX_SCREENS]; | 163 DFBDisplayLayerID gralayer[DFB_MAX_SCREENS]; |
160 DFBDisplayLayerID vidlayer[DFB_MAX_SCREENS]; | 164 DFBDisplayLayerID vidlayer[DFB_MAX_SCREENS]; |
161 | 165 |
162 // auxiliary integer for callbacks | 166 int aux; /* auxiliary integer for callbacks */ |
163 int aux; | |
164 | 167 |
165 // OpenGL | 168 /* OpenGL */ |
166 void (*glFinish) (void); | 169 void (*glFinish) (void); |
167 void (*glFlush) (void); | 170 void (*glFlush) (void); |
168 }; | 171 }; |
169 | 172 |
170 struct SDL_GLDriverData | 173 struct SDL_GLDriverData |