src/video/gem/SDL_gemvideo.h
author Patrice Mandin <patmandin@gmail.com>
Thu, 11 Sep 2014 21:53:06 +0200
branchSDL-1.2
changeset 9131 8b9217e06b02
parent 9059 9a9f56143400
permissions -rw-r--r--
atari:gem: Read application ID so we can use it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     1
/*
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     2
    SDL - Simple DirectMedia Layer
6137
4720145f848b Happy New Year!
Sam Lantinga <slouken@libsdl.org>
parents: 4159
diff changeset
     3
    Copyright (C) 1997-2012 Sam Lantinga
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     4
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     5
    This library is free software; you can redistribute it and/or
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
     6
    modify it under the terms of the GNU Lesser General Public
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     7
    License as published by the Free Software Foundation; either
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
     8
    version 2.1 of the License, or (at your option) any later version.
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     9
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    10
    This library is distributed in the hope that it will be useful,
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
    13
    Lesser General Public License for more details.
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    14
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
    15
    You should have received a copy of the GNU Lesser General Public
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
    16
    License along with this library; if not, write to the Free Software
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1074
diff changeset
    17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    18
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    19
    Sam Lantinga
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    20
    slouken@libsdl.org
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    21
*/
1402
d910939febfa Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents: 1361
diff changeset
    22
#include "SDL_config.h"
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    23
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    24
#ifndef _SDL_gemvideo_h
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    25
#define _SDL_gemvideo_h
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    26
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    27
#include "SDL_mutex.h"
1361
19418e4422cb New configure-based build system. Still work in progress, but much improved
Sam Lantinga <slouken@libsdl.org>
parents: 1312
diff changeset
    28
#include "../SDL_sysvideo.h"
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    29
1857
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    30
/* The implementation dependent data for the window manager cursor */
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    31
struct WMcursor {
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    32
	MFORM *mform_p;
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    33
};
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    34
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    35
/* Hidden "this" pointer for the video functions */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    36
#define _THIS	SDL_VideoDevice *this
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    37
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    38
/* Functions prototypes */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    39
void GEM_wind_redraw(_THIS, int winhandle, short *inside);
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    40
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    41
/* Private display data */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    42
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    43
#define B2S_C2P_1TO2		(1<<0)	/* C2P convert buffer 1 to buffer 2 */
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    44
#define B2S_C2P_1TOS		(1<<1)	/* C2P convert buffer 1 to screen */
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    45
#define B2S_VROCPYFM_1TOS	(1<<2)	/* vro_cpyfm() buffer 1 to screen */
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    46
#define B2S_VROCPYFM_2TOS	(1<<3)	/* vro_cpyfm() buffer 2 to screen */
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    47
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    48
#define SDL_NUMMODES	1		/* Fullscreen */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    49
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    50
struct SDL_PrivateVideoData {
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    51
	Uint16	buf2scr_ops;		/* Operations to get buffer to screen */
4057
0fbbaa1f9ed6 Formatting with tabs
Patrice Mandin <patmandin@gmail.com>
parents: 1857
diff changeset
    52
	void *buffer1;				/* Our shadow buffers */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    53
	void *buffer2;
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    54
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    55
	/* VDI infos */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    56
	short vdi_handle;			/* VDI handle */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    57
	short full_w, full_h;		/* Fullscreen size */
4057
0fbbaa1f9ed6 Formatting with tabs
Patrice Mandin <patmandin@gmail.com>
parents: 1857
diff changeset
    58
	short bpp;					/* Colour depth */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    59
	short pixelsize;			/* Bytes per pixel */
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    60
	short old_numcolors;		/* Number of colors in saved palette */
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    61
	Uint16 pitch;				/* Line length */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    62
	Uint16 format;				/* Screen format */
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    63
	void *screen;				/* Screen address */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    64
	Uint32 red, green, blue, alpha;	/* Screen components */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    65
	Uint32 screensize;
9059
9a9f56143400 atari:gem: Remove unused variables.
Patrice Mandin <patmandin@gmail.com>
parents: 9058
diff changeset
    66
	MFDB	dst_mfdb;		/* VDI MFDB for bitblt */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    67
	Uint16 old_palette[256][3];	/* Saved current palette */
1074
936da0056ed3 Save/restore system palette when application topped/untopped
Patrice Mandin <patmandin@gmail.com>
parents: 1069
diff changeset
    68
	Uint16 cur_palette[256][3];	/* SDL application palette */
936da0056ed3 Save/restore system palette when application topped/untopped
Patrice Mandin <patmandin@gmail.com>
parents: 1069
diff changeset
    69
								/* Function to set/restore palette */
936da0056ed3 Save/restore system palette when application topped/untopped
Patrice Mandin <patmandin@gmail.com>
parents: 1069
diff changeset
    70
	void (*setpalette)(_THIS, Uint16 newpal[256][3]);
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    71
557
0ce5a68278fd Updated Atari port for new system headers (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents: 297
diff changeset
    72
	/* GEM infos */
9131
8b9217e06b02 atari:gem: Read application ID so we can use it.
Patrice Mandin <patmandin@gmail.com>
parents: 9059
diff changeset
    73
	short ap_id;
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    74
	short desk_x, desk_y;		/* Desktop properties */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    75
	short desk_w, desk_h;
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    76
	short win_handle;			/* Our window handle */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    77
	int window_type;			/* Window type */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    78
	const char *title_name;		/* Window title */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    79
	const char *icon_name;		/* Icon title */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    80
	short version;				/* AES version */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    81
	short wfeatures;			/* AES window features */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    82
	SDL_bool refresh_name;		/* Change window title ? */
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    83
	SDL_bool window_fulled;		/* Window maximized ? */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    84
	SDL_bool mouse_relative;	/* Report relative mouse movement */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    85
	SDL_bool locked;			/* AES locked for fullscreen ? */
964
d9209754ebee Prevent redraws till internal buffers are correctly setup
Patrice Mandin <patmandin@gmail.com>
parents: 926
diff changeset
    86
	SDL_bool lock_redraw;		/* Prevent redraw till buffers are setup */
9058
dc32c43c2c92 atari:gem: Use flag to only call system function to hide/show cursor when state changes.
Patrice Mandin <patmandin@gmail.com>
parents: 6137
diff changeset
    87
	SDL_bool cursor_hidden;		/* Mouse cursor hidden flag */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    88
	short message[8];			/* To self-send an AES message */
1069
8b1c83edcde2 Restore and save menu bar when entering and exiting fullscreen mode
Patrice Mandin <patmandin@gmail.com>
parents: 989
diff changeset
    89
	void *menubar;				/* Menu bar save buffer when going fullscreen */
1420
2405517b5eab Added preliminary support for MiNT /dev/mouse driver (disabled atm)
Patrice Mandin <patmandin@gmail.com>
parents: 1402
diff changeset
    90
	SDL_bool use_dev_mouse;		/* Use /dev/mouse ? */
1857
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
    91
	WMcursor *cursor;			/* To restore cursor when leaving/entering window */
926
83db694556eb Give mouse position relative to window position, and do not generate mouse button event if outside of the window
Patrice Mandin <patmandin@gmail.com>
parents: 769
diff changeset
    92
83db694556eb Give mouse position relative to window position, and do not generate mouse button event if outside of the window
Patrice Mandin <patmandin@gmail.com>
parents: 769
diff changeset
    93
	SDL_bool fullscreen;		/* Fullscreen or windowed mode ? */
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    94
	SDL_Rect *SDL_modelist[SDL_NUMMODES+1];	/* Mode list */
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
    95
	SDL_Surface *icon;			/* The icon */
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    96
};
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    97
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    98
/* Hidden structure -> variables names */
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    99
#define VDI_handle			(this->hidden->vdi_handle)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   100
#define VDI_w				(this->hidden->full_w)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   101
#define VDI_h				(this->hidden->full_h)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   102
#define VDI_bpp				(this->hidden->bpp)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   103
#define VDI_pixelsize		(this->hidden->pixelsize)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   104
#define VDI_oldnumcolors	(this->hidden->old_numcolors)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   105
#define VDI_oldpalette		(this->hidden->old_palette)
1074
936da0056ed3 Save/restore system palette when application topped/untopped
Patrice Mandin <patmandin@gmail.com>
parents: 1069
diff changeset
   106
#define VDI_curpalette		(this->hidden->cur_palette)
936da0056ed3 Save/restore system palette when application topped/untopped
Patrice Mandin <patmandin@gmail.com>
parents: 1069
diff changeset
   107
#define VDI_setpalette		(this->hidden->setpalette)
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   108
#define VDI_pitch			(this->hidden->pitch)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   109
#define VDI_format			(this->hidden->format)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   110
#define VDI_screen			(this->hidden->screen)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   111
#define VDI_redmask			(this->hidden->red)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   112
#define VDI_greenmask		(this->hidden->green)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   113
#define VDI_bluemask		(this->hidden->blue)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   114
#define VDI_alphamask		(this->hidden->alpha)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   115
#define VDI_screensize		(this->hidden->screensize)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   116
#define VDI_dst_mfdb		(this->hidden->dst_mfdb)
557
0ce5a68278fd Updated Atari port for new system headers (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents: 297
diff changeset
   117
9131
8b9217e06b02 atari:gem: Read application ID so we can use it.
Patrice Mandin <patmandin@gmail.com>
parents: 9059
diff changeset
   118
#define GEM_ap_id		(this->hidden->ap_id)
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   119
#define GEM_desk_x			(this->hidden->desk_x)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   120
#define GEM_desk_y			(this->hidden->desk_y)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   121
#define GEM_desk_w			(this->hidden->desk_w)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   122
#define GEM_desk_h			(this->hidden->desk_h)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   123
#define GEM_handle			(this->hidden->win_handle)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   124
#define GEM_win_type		(this->hidden->window_type)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   125
#define GEM_title_name		(this->hidden->title_name)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   126
#define GEM_icon_name		(this->hidden->icon_name)
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   127
#define GEM_refresh_name	(this->hidden->refresh_name)
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   128
#define GEM_version			(this->hidden->version)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   129
#define GEM_wfeatures		(this->hidden->wfeatures)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   130
#define GEM_win_fulled		(this->hidden->window_fulled)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   131
#define GEM_mouse_relative	(this->hidden->mouse_relative)
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   132
#define GEM_locked			(this->hidden->locked)
964
d9209754ebee Prevent redraws till internal buffers are correctly setup
Patrice Mandin <patmandin@gmail.com>
parents: 926
diff changeset
   133
#define GEM_lock_redraw		(this->hidden->lock_redraw)
9058
dc32c43c2c92 atari:gem: Use flag to only call system function to hide/show cursor when state changes.
Patrice Mandin <patmandin@gmail.com>
parents: 6137
diff changeset
   134
#define GEM_cursor_hidden	(this->hidden->cursor_hidden)
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   135
#define GEM_message			(this->hidden->message)
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   136
#define SDL_modelist		(this->hidden->SDL_modelist)
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   137
#define GEM_icon			(this->hidden->icon)
926
83db694556eb Give mouse position relative to window position, and do not generate mouse button event if outside of the window
Patrice Mandin <patmandin@gmail.com>
parents: 769
diff changeset
   138
#define GEM_fullscreen		(this->hidden->fullscreen)
1069
8b1c83edcde2 Restore and save menu bar when entering and exiting fullscreen mode
Patrice Mandin <patmandin@gmail.com>
parents: 989
diff changeset
   139
#define GEM_menubar			(this->hidden->menubar)
1420
2405517b5eab Added preliminary support for MiNT /dev/mouse driver (disabled atm)
Patrice Mandin <patmandin@gmail.com>
parents: 1402
diff changeset
   140
#define GEM_usedevmouse		(this->hidden->use_dev_mouse)
1857
417f2af2bd52 Fix mouse cursor change
Patrice Mandin <patmandin@gmail.com>
parents: 1420
diff changeset
   141
#define GEM_cursor			(this->hidden->cursor)
736
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   142
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   143
#define GEM_buffer1			(this->hidden->buffer1)
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   144
#define GEM_buffer2			(this->hidden->buffer2)
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   145
#define GEM_bufops			(this->hidden->buf2scr_ops)
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   146
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   147
#define VDI_FBMASK(amask, rmask, gmask, bmask) \
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   148
	VDI_alphamask = (amask); \
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   149
	VDI_redmask = (rmask); \
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   150
	VDI_greenmask = (gmask); \
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   151
	VDI_bluemask = (bmask);
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   152
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   153
/*
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   154
	Possible buffer to screen operations:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   155
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   156
	TC: 8 (chunky),15,16,24,32 bpp
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   157
	8I: 8 bpp planes
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   158
	FB: screen framebuffer address available
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   159
	FS: fullscreen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   160
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   161
	TC, FB, FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   162
		- draw to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   163
	8I, FB, FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   164
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   165
		- C2P from buffer 1 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   166
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   167
	TC, !FB, FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   168
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   169
		- vro_cpyfm() from buffer 1 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   170
	8I, !FB, FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   171
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   172
		- C2P from buffer 1 to buffer 2
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   173
		- vro_cpyfm() from buffer 2 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   174
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   175
	TC, FB, !FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   176
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   177
		- vro_cpyfm() from buffer 1 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   178
	8I, FB, !FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   179
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   180
		- C2P from buffer 1 to buffer 2
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   181
		- vro_cpyfm() from buffer 2 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   182
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   183
	TC, !FB, !FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   184
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   185
		- vro_cpyfm() from buffer 1 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   186
	8I, !FB, !FS:
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   187
		- draw to buffer 1
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   188
		- C2P from buffer 1 to buffer 2
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   189
		- vro_cpyfm() from buffer 2 to screen
028e03e273c8 Use new C2P routine + corrections for iconification window
Patrice Mandin <patmandin@gmail.com>
parents: 557
diff changeset
   190
*/
281
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   191
c5010ab8ba35 Added initial support for Atari (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
   192
#endif /* _SDL_gemvideo_h */