diff src/video/gem/SDL_gemmouse.c @ 2189:f54670a477bb

Update GEM driver to new API, will have to fill the void later :)
author Patrice Mandin <patmandin@gmail.com>
date Fri, 13 Jul 2007 22:55:15 +0000
parents 7312feb88dad
children 99210400e8b9
line wrap: on
line diff
--- a/src/video/gem/SDL_gemmouse.c	Fri Jul 13 22:52:53 2007 +0000
+++ b/src/video/gem/SDL_gemmouse.c	Fri Jul 13 22:55:15 2007 +0000
@@ -21,161 +21,26 @@
 */
 #include "SDL_config.h"
 
-/*
- *	GEM Mouse manager
- *
- *	Patrice Mandin
- */
-
-#include <gem.h>
-
-#include "SDL_mouse.h"
-#include "../../events/SDL_events_c.h"
-#include "../SDL_cursor_c.h"
-#include "SDL_gemmouse_c.h"
+#include "SDL_gemvideo.h"
 
-/* Defines */
-
-/*#define DEBUG_VIDEO_GEM 1*/
-
-#define MAXCURWIDTH 16
-#define MAXCURHEIGHT 16
-
-/* The implementation dependent data for the window manager cursor */
-struct WMcursor
-{
-    MFORM *mform_p;
-};
-
+#include "../../events/SDL_mouse_c.h"
 
 void
-GEM_FreeWMCursor(_THIS, WMcursor * cursor)
+GEM_InitMouse(_THIS)
 {
-    if (cursor == NULL)
-        return;
+    SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
+    SDL_Mouse mouse;
 
-    graf_mouse(ARROW, NULL);
-
-    if (cursor->mform_p != NULL)
-        SDL_free(cursor->mform_p);
-
-    SDL_free(cursor);
+    SDL_zero(mouse);
+    data->mouse = SDL_AddMouse(&mouse, -1);
 }
 
-WMcursor *
-GEM_CreateWMCursor(_THIS,
-                   Uint8 * data, Uint8 * mask, int w, int h, int hot_x,
-                   int hot_y)
+void
+GEM_QuitMouse(_THIS)
 {
-    WMcursor *cursor;
-    MFORM *new_mform;
-    int i;
-
-    /* Check the size */
-    if ((w > MAXCURWIDTH) || (h > MAXCURHEIGHT)) {
-        SDL_SetError("Only cursors of dimension (%dx%d) are allowed",
-                     MAXCURWIDTH, MAXCURHEIGHT);
-        return (NULL);
-    }
-
-    /* Allocate the cursor memory */
-    cursor = (WMcursor *) SDL_malloc(sizeof(WMcursor));
-    if (cursor == NULL) {
-        SDL_OutOfMemory();
-        return (NULL);
-    }
-
-    /* Allocate mform */
-    new_mform = (MFORM *) SDL_malloc(sizeof(MFORM));
-    if (new_mform == NULL) {
-        SDL_free(cursor);
-        SDL_OutOfMemory();
-        return (NULL);
-    }
-
-    cursor->mform_p = new_mform;
-
-    new_mform->mf_xhot = hot_x;
-    new_mform->mf_yhot = hot_y;
-    new_mform->mf_nplanes = 1;
-    new_mform->mf_fg = 0;
-    new_mform->mf_bg = 1;
-
-    for (i = 0; i < MAXCURHEIGHT; i++) {
-        new_mform->mf_mask[i] = 0;
-        new_mform->mf_data[i] = 0;
-    }
-
-    if (w <= 8) {
-        for (i = 0; i < h; i++) {
-            new_mform->mf_mask[i] = mask[i] << 8;
-            new_mform->mf_data[i] = data[i] << 8;
-        }
-    } else {
-        for (i = 0; i < h; i++) {
-            new_mform->mf_mask[i] = mask[i << 1] << 8 | mask[(i << 1) + 1];
-            new_mform->mf_data[i] = data[i << 1] << 8 | data[(i << 1) + 1];
-        }
-    }
+    SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
 
-#ifdef DEBUG_VIDEO_GEM
-    for (i = 0; i < h; i++) {
-        printf("sdl:video:gem: cursor, line %d = 0x%04x\n", i,
-               new_mform->mf_mask[i]);
-    }
-
-    printf("sdl:video:gem: CreateWMCursor(): done\n");
-#endif
-
-    return cursor;
-}
-
-int
-GEM_ShowWMCursor(_THIS, WMcursor * cursor)
-{
-/*
-	if (cursor == NULL) {
-		graf_mouse(M_OFF, NULL);
-	} else if (cursor->mform_p) {
-		graf_mouse(USER_DEF, cursor->mform_p);
-	}
-*/
-#ifdef DEBUG_VIDEO_GEM
-    printf("sdl:video:gem: ShowWMCursor(0x%08x)\n", (long) cursor);
-#endif
-
-    return 1;
-}
-
-#if 0
-void
-GEM_WarpWMCursor(_THIS, Uint16 x, Uint16 y)
-{
-    /* This seems to work only on AES 3.4 (Falcon) */
-
-    EVNTREC warpevent;
-
-    warpevent.ap_event = APPEVNT_MOUSE;
-    warpevent.ap_value = (x << 16) | y;
-
-    appl_tplay(&warpevent, 1, 1000);
-}
-#endif
-
-void
-GEM_CheckMouseMode(_THIS)
-{
-    /* If the mouse is hidden and input is grabbed, we use relative mode */
-    if ((!(SDL_cursorstate & CURSOR_VISIBLE)) &&
-        (this->input_grab != SDL_GRAB_OFF) &&
-        (SDL_GetAppState() & SDL_APPACTIVE)) {
-        SDL_AtariXbios_LockMousePosition(SDL_TRUE);
-        GEM_mouse_relative = SDL_TRUE;
-    } else {
-        SDL_AtariXbios_LockMousePosition(SDL_FALSE);
-        GEM_mouse_relative = SDL_FALSE;
-        graf_mouse(M_ON, NULL);
-    }
+    SDL_DelMouse(data->mouse);
 }
 
 /* vi: set ts=4 sw=4 expandtab: */