Mercurial > sdl-ios-xcode
view src/video/qtopia/SDL_lowvideo.h @ 761:c5b2b6d2d1fe
Date: Wed, 31 Dec 2003 21:55:30 +0100
From: Max Horn
Subject: SDL: video/quartz cleanup
while doing some experimental changes in the quartz code, I was annoyed
by having to recompile that one big .o file over and over again. So I
decided to finally realize one TODO: properly splitting the code over
multiple files :-).
With two exceptions, I didn't make code changes, only rearranged files
and added new headers. Since there are several new files, making a
patch didn't work out so well, so I decided to just send you all the
new & modified files.
The one source change I made is related to showing/hiding the mouse. I
renamed cursor_visible to cursor_should_be_visible and cursor_hidden to
cursor_visible; I think that makes reading the code easier.
Then I added two new functions: QZ_ShowMouse and QZ_HideMouse. They
help manage cursor_visible (the former 'cursor_hidden'). Finally I
replaced the Carbon ShowCursor/HiderCuror calls by [NSCursor hide] and
[NSCursor unhide]. The API docs are not conclusive, but it might be
that with those the "cursor_visible" (former 'cursor_hidden') hack may
not be necessary anymore; however so far I didn't test this hypothesis,
so I left that in.
The other change was to remove in_foreground and use [NSApp isActive]
instead: Manually keeping track of whether we are in the foreground is
error prone. This should work better in some corner cases.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 04 Jan 2004 14:55:35 +0000 |
parents | db0cc6034336 |
children | b8d311d90021 |
line wrap: on
line source
/* SDL - Simple DirectMedia Layer Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Sam Lantinga slouken@libsdl.org */ #ifdef SAVE_RCSID static char rcsid = "@(#) $Id$"; #endif #ifndef _SDL_lowvideo_h #define _SDL_lowvideo_h #include "SDL_mouse.h" #include "SDL_sysvideo.h" /* Hidden "this" pointer for the video functions */ #define _THIS SDL_VideoDevice *_this /* Private display data */ struct SDL_PrivateVideoData { /* The main window */ SDL_QWin *SDL_Win; /* The fullscreen mode list */ #define NUM_MODELISTS 4 /* 8, 16, 24, and 32 bits-per-pixel */ int SDL_nummodes[NUM_MODELISTS]; SDL_Rect **SDL_modelist[NUM_MODELISTS]; /* A completely clear cursor */ WMcursor *BlankCursor; /* Mouse state variables */ Uint32 last_buttons; QPoint last_point; /* Keyboard state variables */ int key_flip; //struct key_info keyinfo[2]; }; /* Old variable names */ #define SDL_Win (_this->hidden->SDL_Win) #define saved_mode (_this->hidden->saved_mode) #define SDL_nummodes (_this->hidden->SDL_nummodes) #define SDL_modelist (_this->hidden->SDL_modelist) #define SDL_BlankCursor (_this->hidden->BlankCursor) #define last_buttons (_this->hidden->last_buttons) #define last_point (_this->hidden->last_point) #define key_flip (_this->hidden->key_flip) #define keyinfo (_this->hidden->keyinfo) #endif /* _SDL_lowvideo_h */