Skip to content

Commit

Permalink
Date: Mon, 17 Nov 2003 21:59:24 -0800
Browse files Browse the repository at this point in the history
From: Pete Shinners
Subject: [SDL] directfb cursor patch

here is a quick and dirty patch that allows directfb to change the
visibility of the cursor. this display backend still has no way to change
the actual cursor shape, but being able to set the cursor visibility is a
simple change that should offer some benefits.

the code was largely based on the cursor code for other sdl backends. and
this documentation.
http://directfb.org/documentation/DirectFB_Reference/IDirectFBDisplayLayer_SetCursorOpacity.html
  • Loading branch information
slouken committed Jan 4, 2004
1 parent e52f3e3 commit aae7c13
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/video/directfb/SDL_DirectFB_video.c
Expand Up @@ -52,6 +52,11 @@ static char rcsid =
#include "SDL_DirectFB_events.h"
#include "SDL_DirectFB_yuv.h"

/* The implementation dependent data for the window manager cursor */
struct WMcursor {
int unused;
};


/* Initialization/Query functions */
static int DirectFB_VideoInit(_THIS, SDL_PixelFormat *vformat);
Expand All @@ -73,6 +78,7 @@ static int DirectFB_HWAccelBlit(SDL_Surface *src, SDL_Rect *srcrect,
static int DirectFB_SetHWColorKey(_THIS, SDL_Surface *surface, Uint32 key);
static int DirectFB_SetHWAlpha(_THIS, SDL_Surface *surface, Uint8 alpha);
static int DirectFB_FlipHWSurface(_THIS, SDL_Surface *surface);
static int DirectFB_ShowWMCursor(_THIS, WMcursor *cursor);

/* Various screen update functions available */
static void DirectFB_DirectUpdate(_THIS, int numrects, SDL_Rect *rects);
Expand Down Expand Up @@ -139,6 +145,7 @@ static SDL_VideoDevice *DirectFB_CreateDevice(int devindex)
device->UnlockHWSurface = DirectFB_UnlockHWSurface;
device->FlipHWSurface = DirectFB_FlipHWSurface;
device->FreeHWSurface = DirectFB_FreeHWSurface;
device->ShowWMCursor = DirectFB_ShowWMCursor;
device->SetCaption = NULL;
device->SetIcon = NULL;
device->IconifyWindow = NULL;
Expand Down Expand Up @@ -1143,6 +1150,21 @@ void DirectFB_VideoQuit(_THIS)
HIDDEN->initialized = 0;
}


int DirectFB_ShowWMCursor(_THIS, WMcursor *cursor)
{
/* We can only hide or show the default cursor */
if ( cursor == NULL )
{
SetCursorOpacity(HIDDEN->layer, 0);
}
else
{
SetCursorOpacity(HIDDEN->layer, 256);
}
return 1;
}

void DirectFB_FinalQuit(void)
{
}

0 comments on commit aae7c13

Please sign in to comment.