Commit 4e19d730 authored by Sam Lantinga's avatar Sam Lantinga

Couriersud to Sam

I have done some quick changes and at least the code compiles again. It
also works with a number of the test executables with the DFB X11
backend. I hope to find time to get SDLMAME to work with latest SDL1.3
(i.e. rip out multi-keyboard, multi-mice & cursor support) next week to
test it further.

Regards,

André
parent b0a24ac8
......@@ -210,7 +210,7 @@ DirectFB_WM_MaximizeWindow(_THIS, SDL_Window * window)
windata->window->MoveTo(windata->window, 0, 0);
windata->window->Resize(windata->window,
display->current_mode.w, display->current_mode.h);
SDL_SendWindowEvent(windata->sdl_id, SDL_WINDOWEVENT_MAXIMIZED, 0, 0);
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MAXIMIZED, 0, 0);
}
void
......@@ -226,7 +226,7 @@ DirectFB_WM_RestoreWindow(_THIS, SDL_Window * window)
windata->restore.y);
windata->window->Resize(windata->window, windata->restore.w,
windata->restore.h);
SDL_SendWindowEvent(windata->sdl_id, SDL_WINDOWEVENT_RESTORED, 0, 0);
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESTORED, 0, 0);
}
enum
......@@ -304,7 +304,7 @@ DirectFB_WM_ProcessEvent(_THIS, SDL_Window * window, DFBWindowEvent * evt)
case WM_POS_NONE:
return 0;
case WM_POS_CLOSE:
SDL_SendWindowEvent(windata->sdl_id, SDL_WINDOWEVENT_CLOSE, 0,
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_CLOSE, 0,
0);
return 1;
case WM_POS_MAX:
......
This diff is collapsed.
......@@ -26,7 +26,7 @@
#include "SDL_DirectFB_video.h"
#define SDL_DFB_DISPLAYDATA(dev, win) DFB_DisplayData *dispdata = ((win && dev) ? (DFB_DisplayData *) (dev)->displays[(win)->display].driverdata : NULL)
#define SDL_DFB_DISPLAYDATA(dev, win) DFB_DisplayData *dispdata = ((win && dev) ? (DFB_DisplayData *) (win)->display->driverdata : NULL)
typedef struct _DFB_DisplayData DFB_DisplayData;
struct _DFB_DisplayData
......
......@@ -26,6 +26,7 @@
#include "../SDL_sysvideo.h"
#include "../../events/SDL_mouse_c.h"
#if USE_MULTI_API
static SDL_Cursor *DirectFB_CreateCursor(SDL_Surface * surface,
int hot_x, int hot_y);
static int DirectFB_ShowCursor(SDL_Cursor * cursor);
......@@ -239,4 +240,23 @@ DirectFB_FreeMouse(SDL_Mouse * mouse)
/* nothing yet */
}
#else /* USE_MULTI_API */
void
DirectFB_InitMouse(_THIS)
{
SDL_DFB_DEVICEDATA(_this);
devdata->num_mice = 1;
}
void
DirectFB_QuitMouse(_THIS)
{
SDL_DFB_DEVICEDATA(_this);
}
#endif
/* vi: set ts=4 sw=4 expandtab: */
......@@ -423,7 +423,7 @@ static int
DirectFB_ActivateRenderer(SDL_Renderer * renderer)
{
SDL_DFB_RENDERERDATA(renderer);
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_Window *window = renderer->window;
SDL_DFB_WINDOWDATA(window);
if (renddata->size_changed || windata->wm_needs_redraw) {
......@@ -445,7 +445,7 @@ static int
DirectFB_AcquireVidLayer(SDL_Renderer * renderer, SDL_Texture * texture)
{
SDL_DFB_RENDERERDATA(renderer);
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = window->display;
SDL_DFB_DEVICEDATA(display->device);
DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata;
......@@ -501,7 +501,7 @@ DirectFB_AcquireVidLayer(SDL_Renderer * renderer, SDL_Texture * texture)
static int
DirectFB_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = window->display;
SDL_DFB_DEVICEDATA(display->device);
DirectFB_TextureData *data;
......@@ -950,7 +950,7 @@ DirectFB_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
if (texturedata->display) {
int px, py;
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_Window *window = renderer->window;
SDL_DFB_WINDOWDATA(window);
SDL_VideoDisplay *display = texturedata->display;
DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata;
......@@ -1048,7 +1048,7 @@ static void
DirectFB_RenderPresent(SDL_Renderer * renderer)
{
DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_Window *window = renderer->window;
SDL_DFB_WINDOWDATA(window);
DFBRectangle sr;
......
......@@ -129,7 +129,7 @@ DirectFB_CreateDevice(int devindex)
#endif
device->free = DirectFB_DeleteDevice;
fprintf(LOG_CHANNEL, "Device setup %p!!\n", device->ShowWindow);
return device;
error:
if (device)
......@@ -163,19 +163,20 @@ DirectFB_DeviceInformation(IDirectFB * dfb)
fprintf(LOG_CHANNEL, "\nBlitting flags:\n");
for (n = 0; blitting_flags[n].flag; n++) {
if (desc.blitting_flags & blitting_flags[n].flag)
printf(" %s\n", blitting_flags[n].name);
fprintf(LOG_CHANNEL, " %s\n", blitting_flags[n].name);
}
fprintf(LOG_CHANNEL, "\nDrawing flags:\n");
for (n = 0; drawing_flags[n].flag; n++) {
if (desc.drawing_flags & drawing_flags[n].flag)
printf(" %s\n", drawing_flags[n].name);
fprintf(LOG_CHANNEL, " %s\n", drawing_flags[n].name);
}
fprintf(LOG_CHANNEL, "\nAcceleration flags:\n");
for (n = 0; acceleration_mask[n].mask; n++) {
if (desc.acceleration_mask & acceleration_mask[n].mask)
printf(" %s\n", acceleration_mask[n].name);
fprintf(LOG_CHANNEL, " %s\n", acceleration_mask[n].name);
}
......@@ -208,10 +209,14 @@ DirectFB_VideoInit(_THIS)
DirectFBSetOption("disable-module", "x11input");
}
devdata->use_linux_input = 1; /* default: on */
#if USE_MULTI_API
devdata->use_linux_input = 1; /* default: on */
stemp = SDL_getenv(DFBENV_USE_LINUX_INPUT);
if (stemp)
devdata->use_linux_input = atoi(stemp);
#else
devdata->use_linux_input = 0; /* no way to support this ... */
#endif
if (!devdata->use_linux_input)
DirectFBSetOption("disable-module", "linux_input");
......
......@@ -31,7 +31,14 @@
#include "SDL_mouse.h"
#define DEBUG 0
/* Set below to 1 to compile with (old) multi mice/keyboard api. Code left in
* in case we see this again ...
*/
#define USE_MULTI_API (0)
#define DEBUG 1
#define LOG_CHANNEL stdout
#define DFB_VERSIONNUM(X, Y, Z) \
......
......@@ -140,7 +140,7 @@ DirectFB_CreateWindow(_THIS, SDL_Window * window)
windata->window->RaiseToTop(windata->window);
/* remember parent */
windata->window = window;
windata->sdl_window = window;
/* Add to list ... */
......
......@@ -36,7 +36,7 @@ struct _DFB_WindowData
IDirectFBWindow *window;
DirectFB_GLContext *gl_context;
IDirectFBEventBuffer *eventbuffer;
SDL_Window *window;
SDL_Window *sdl_window;
DFB_WindowData *next;
Uint8 opacity;
DFBRectangle client;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment