Mercurial > sdl-ios-xcode
diff src/video/ps2gs/SDL_gsmouse.c @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | d910939febfa |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/src/video/ps2gs/SDL_gsmouse.c Sun May 21 17:27:13 2006 +0000 +++ b/src/video/ps2gs/SDL_gsmouse.c Sun May 28 13:04:16 2006 +0000 @@ -31,116 +31,123 @@ /* The implementation dependent data for the window manager cursor */ -struct WMcursor { - int unused; +struct WMcursor +{ + int unused; }; /* There isn't any implementation dependent data */ -void GS_FreeWMCursor(_THIS, WMcursor *cursor) +void +GS_FreeWMCursor (_THIS, WMcursor * cursor) { - return; + return; } /* There isn't any implementation dependent data */ -WMcursor *GS_CreateWMCursor(_THIS, - Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y) +WMcursor * +GS_CreateWMCursor (_THIS, + Uint8 * data, Uint8 * mask, int w, int h, int hot_x, + int hot_y) { - return((WMcursor *)0x01); + return ((WMcursor *) 0x01); } -static void GS_MoveCursor(_THIS, SDL_Cursor *cursor, int x, int y) +static void +GS_MoveCursor (_THIS, SDL_Cursor * cursor, int x, int y) { - SDL_Surface *screen; - struct ps2_image image; - SDL_Rect area; - int mouse_y1, mouse_y2; - void *saved_pixels; - int screen_updated; + SDL_Surface *screen; + struct ps2_image image; + SDL_Rect area; + int mouse_y1, mouse_y2; + void *saved_pixels; + int screen_updated; - /* Lock so we don't interrupt an update with mouse motion */ - SDL_LockCursor(); + /* Lock so we don't interrupt an update with mouse motion */ + SDL_LockCursor (); - /* Make sure any pending DMA has completed */ - if ( dma_pending ) { - ioctl(console_fd, PS2IOC_SENDQCT, 1); - dma_pending = 0; - } + /* Make sure any pending DMA has completed */ + if (dma_pending) { + ioctl (console_fd, PS2IOC_SENDQCT, 1); + dma_pending = 0; + } - /* Remove the cursor image from the DMA area */ - screen = this->screen; - saved_pixels = screen->pixels; - screen->pixels = mapped_mem + screen->offset; - screen_updated = 0; - if ( cursor_drawn ) { - SDL_EraseCursorNoLock(screen); - cursor_drawn = 0; - screen_updated = 1; - } + /* Remove the cursor image from the DMA area */ + screen = this->screen; + saved_pixels = screen->pixels; + screen->pixels = mapped_mem + screen->offset; + screen_updated = 0; + if (cursor_drawn) { + SDL_EraseCursorNoLock (screen); + cursor_drawn = 0; + screen_updated = 1; + } - /* Save the current mouse area */ - SDL_MouseRect(&area); - mouse_y1 = area.y; - mouse_y2 = area.y+area.h; + /* Save the current mouse area */ + SDL_MouseRect (&area); + mouse_y1 = area.y; + mouse_y2 = area.y + area.h; - /* Only draw the new cursor if there was one passed in */ - if ( cursor ) { - /* Set the new location */ - cursor->area.x = (x - cursor->hot_x); - cursor->area.y = (y - cursor->hot_y); + /* Only draw the new cursor if there was one passed in */ + if (cursor) { + /* Set the new location */ + cursor->area.x = (x - cursor->hot_x); + cursor->area.y = (y - cursor->hot_y); - /* Draw the cursor at the new location */ - if ( (SDL_cursorstate & CURSOR_VISIBLE) && screen->pixels ) { - SDL_DrawCursorNoLock(screen); - cursor_drawn = 1; - screen_updated = 1; - } - } - screen->pixels = saved_pixels; + /* Draw the cursor at the new location */ + if ((SDL_cursorstate & CURSOR_VISIBLE) && screen->pixels) { + SDL_DrawCursorNoLock (screen); + cursor_drawn = 1; + screen_updated = 1; + } + } + screen->pixels = saved_pixels; - /* Update the affected area of the screen */ - if ( screen_updated ) { - SDL_MouseRect(&area); - if ( area.y < mouse_y1 ) { - mouse_y1 = area.y; - } - if ( (area.y+area.h) > mouse_y2 ) { - mouse_y2 = area.y+area.h; - } - image = screen_image; - image.y += screen->offset / screen->pitch + mouse_y1; - image.h = mouse_y2 - mouse_y1; - image.ptr = mapped_mem + - (image.y - screen_image.y) * screen->pitch; - ioctl(console_fd, PS2IOC_LOADIMAGE, &image); + /* Update the affected area of the screen */ + if (screen_updated) { + SDL_MouseRect (&area); + if (area.y < mouse_y1) { + mouse_y1 = area.y; + } + if ((area.y + area.h) > mouse_y2) { + mouse_y2 = area.y + area.h; + } + image = screen_image; + image.y += screen->offset / screen->pitch + mouse_y1; + image.h = mouse_y2 - mouse_y1; + image.ptr = mapped_mem + (image.y - screen_image.y) * screen->pitch; + ioctl (console_fd, PS2IOC_LOADIMAGE, &image); - /* Need to scale offscreen image to TV output */ - if ( image.y > 0 ) { - scaleimage_nonblock(console_fd, - tex_tags_mem, scale_tags_mem); - } - } + /* Need to scale offscreen image to TV output */ + if (image.y > 0) { + scaleimage_nonblock (console_fd, tex_tags_mem, scale_tags_mem); + } + } - /* We're finished */ - SDL_UnlockCursor(); + /* We're finished */ + SDL_UnlockCursor (); } -void GS_MoveWMCursor(_THIS, int x, int y) +void +GS_MoveWMCursor (_THIS, int x, int y) { - GS_MoveCursor(this, SDL_cursor, x, y); + GS_MoveCursor (this, SDL_cursor, x, y); } -int GS_ShowWMCursor(_THIS, WMcursor *wmcursor) +int +GS_ShowWMCursor (_THIS, WMcursor * wmcursor) { - SDL_Cursor *cursor; - int x, y; + SDL_Cursor *cursor; + int x, y; - /* Draw the cursor at the appropriate location */ - SDL_GetMouseState(&x, &y); - if ( wmcursor ) { - cursor = SDL_cursor; - } else { - cursor = NULL; - } - GS_MoveCursor(this, cursor, x, y); - return(1); + /* Draw the cursor at the appropriate location */ + SDL_GetMouseState (&x, &y); + if (wmcursor) { + cursor = SDL_cursor; + } else { + cursor = NULL; + } + GS_MoveCursor (this, cursor, x, y); + return (1); } + +/* vi: set ts=4 sw=4 expandtab: */