/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-2002 Artsoft Entertainment *
+* (c) 1994-2006 Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
char *userdata_subdir, char *userdata_subdir_unix,
char *program_title, char *window_title, char *icon_title,
char *x11_icon_filename, char *x11_iconmask_filename,
- char *msdos_cursor_filename,
+ char *sdl_icon_filename, char *msdos_cursor_filename,
char *cookie_prefix, char *filename_prefix,
int program_version)
{
program.x11_icon_filename = x11_icon_filename;
program.x11_iconmask_filename = x11_iconmask_filename;
+ program.sdl_icon_filename = sdl_icon_filename;
program.msdos_cursor_filename = msdos_cursor_filename;
program.cookie_prefix = cookie_prefix;
video.width = width;
video.height = height;
video.depth = GetRealDepth(depth);
+
video.fullscreen_available = FULLSCREEN_STATUS;
video.fullscreen_enabled = FALSE;
video.fullscreen_modes = NULL;
+ video.fullscreen_mode_current = NULL;
#if defined(TARGET_SDL)
SDLInitVideoBuffer(backbuffer, window, fullscreen);
dst_x, dst_y, BLIT_OPAQUE);
}
-void FadeScreen(Bitmap *bitmap_cross, int fade_mode, int fade_delay,
- int post_delay)
+void FadeRectangle(Bitmap *bitmap_cross, int x, int y, int width, int height,
+ int fade_mode, int fade_delay, int post_delay)
{
#if defined(TARGET_SDL)
- SDLFadeScreen(bitmap_cross, fade_mode, fade_delay, post_delay);
+ SDLFadeRectangle(bitmap_cross, x, y, width, height,
+ fade_mode, fade_delay, post_delay);
#else
- X11FadeScreen(bitmap_cross, fade_mode, fade_delay, post_delay);
+ X11FadeRectangle(bitmap_cross, x, y, width, height,
+ fade_mode, fade_delay, post_delay);
#endif
}
{
static KeyMod current_modifiers = KMOD_None;
-#if !defined(TARGET_SDL)
if (key != KSYM_UNDEFINED) /* new key => check for modifier key change */
{
KeyMod new_modifier = KMOD_None;
else
current_modifiers &= ~new_modifier;
}
-#endif
return current_modifiers;
}
#endif
}
+KeyMod GetKeyModStateFromEvents()
+{
+ /* always use key modifier state as tracked from key events (this is needed
+ if the modifier key event was injected into the event queue, but the key
+ was not really pressed on keyboard -- SDL_GetModState() seems to directly
+ query the keys as held pressed on the keyboard) -- this case is currently
+ only used to filter out clipboard insert events from "True X-Mouse" tool */
+
+ return HandleKeyModState(KSYM_UNDEFINED, 0);
+}
+
boolean CheckCloseWindowEvent(ClientMessageEvent *event)
{
if (event->type != EVENT_CLIENTMESSAGE)