⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdl_gemvideo.h

📁 linux下面的一个开源的多媒体中间件
💻 H
字号:
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997-2006 Sam Lantinga    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Lesser General Public    License as published by the Free Software Foundation; either    version 2.1 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    Lesser General Public License for more details.    You should have received a copy of the GNU Lesser General Public    License along with this library; if not, write to the Free Software    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA    Sam Lantinga    slouken@libsdl.org*/#include "SDL_config.h"#ifndef _SDL_gemvideo_h#define _SDL_gemvideo_h#include "SDL_mutex.h"#include "../SDL_sysvideo.h"/* The implementation dependent data for the window manager cursor */struct WMcursor {	MFORM *mform_p;};/* Hidden "this" pointer for the video functions */#define _THIS	SDL_VideoDevice *this/* Functions prototypes */void GEM_wind_redraw(_THIS, int winhandle, short *inside);/* Private display data */#define B2S_C2P_1TO2		(1<<0)	/* C2P convert buffer 1 to buffer 2 */#define B2S_C2P_1TOS		(1<<1)	/* C2P convert buffer 1 to screen */#define B2S_VROCPYFM_1TOS	(1<<2)	/* vro_cpyfm() buffer 1 to screen */#define B2S_VROCPYFM_2TOS	(1<<3)	/* vro_cpyfm() buffer 2 to screen */#define SDL_NUMMODES	1		/* Fullscreen */struct SDL_PrivateVideoData {	Uint16	buf2scr_ops;		/* Operations to get buffer to screen */    void *buffer1;				/* Our shadow buffers */	void *buffer2;	/* VDI infos */	short vdi_handle;			/* VDI handle */	short full_w, full_h;		/* Fullscreen size */    short bpp;					/* Colour depth */	short pixelsize;			/* Bytes per pixel */	short old_numcolors;		/* Number of colors in saved palette */	Uint16 pitch;				/* Line length */	Uint16 format;				/* Screen format */	void *screen;				/* Screen address */	Uint32 red, green, blue, alpha;	/* Screen components */	Uint32 screensize;	short	blit_coords[8];		/* Coordinates for bitblt */	MFDB	src_mfdb, dst_mfdb;	/* VDI MFDB for bitblt */	Uint16 old_palette[256][3];	/* Saved current palette */	Uint16 cur_palette[256][3];	/* SDL application palette */								/* Function to set/restore palette */	void (*setpalette)(_THIS, Uint16 newpal[256][3]);	/* GEM infos */	short desk_x, desk_y;		/* Desktop properties */	short desk_w, desk_h;	short win_handle;			/* Our window handle */	int window_type;			/* Window type */	const char *title_name;		/* Window title */	const char *icon_name;		/* Icon title */	short version;				/* AES version */	short wfeatures;			/* AES window features */	SDL_bool refresh_name;		/* Change window title ? */	SDL_bool window_fulled;		/* Window maximized ? */	SDL_bool mouse_relative;	/* Report relative mouse movement */	SDL_bool locked;			/* AES locked for fullscreen ? */	SDL_bool lock_redraw;		/* Prevent redraw till buffers are setup */	short message[8];			/* To self-send an AES message */	void *menubar;				/* Menu bar save buffer when going fullscreen */	SDL_bool use_dev_mouse;		/* Use /dev/mouse ? */	WMcursor *cursor;			/* To restore cursor when leaving/entering window */	SDL_bool fullscreen;		/* Fullscreen or windowed mode ? */	SDL_Rect *SDL_modelist[SDL_NUMMODES+1];	/* Mode list */	SDL_Surface *icon;			/* The icon */};/* Hidden structure -> variables names */#define VDI_handle			(this->hidden->vdi_handle)#define VDI_w				(this->hidden->full_w)#define VDI_h				(this->hidden->full_h)#define VDI_bpp				(this->hidden->bpp)#define VDI_pixelsize		(this->hidden->pixelsize)#define VDI_oldnumcolors	(this->hidden->old_numcolors)#define VDI_oldpalette		(this->hidden->old_palette)#define VDI_curpalette		(this->hidden->cur_palette)#define VDI_setpalette		(this->hidden->setpalette)#define VDI_pitch			(this->hidden->pitch)#define VDI_format			(this->hidden->format)#define VDI_screen			(this->hidden->screen)#define VDI_redmask			(this->hidden->red)#define VDI_greenmask		(this->hidden->green)#define VDI_bluemask		(this->hidden->blue)#define VDI_alphamask		(this->hidden->alpha)#define VDI_screensize		(this->hidden->screensize)#define VDI_src_mfdb		(this->hidden->src_mfdb)#define VDI_dst_mfdb		(this->hidden->dst_mfdb)#define VDI_blit_coords		(this->hidden->blit_coords)#define GEM_desk_x			(this->hidden->desk_x)#define GEM_desk_y			(this->hidden->desk_y)#define GEM_desk_w			(this->hidden->desk_w)#define GEM_desk_h			(this->hidden->desk_h)#define GEM_handle			(this->hidden->win_handle)#define GEM_win_type		(this->hidden->window_type)#define GEM_title_name		(this->hidden->title_name)#define GEM_icon_name		(this->hidden->icon_name)#define GEM_refresh_name	(this->hidden->refresh_name)#define GEM_version			(this->hidden->version)#define GEM_wfeatures		(this->hidden->wfeatures)#define GEM_win_fulled		(this->hidden->window_fulled)#define GEM_mouse_relative	(this->hidden->mouse_relative)#define GEM_locked			(this->hidden->locked)#define GEM_lock_redraw		(this->hidden->lock_redraw)#define GEM_message			(this->hidden->message)#define SDL_modelist		(this->hidden->SDL_modelist)#define GEM_icon			(this->hidden->icon)#define GEM_fullscreen		(this->hidden->fullscreen)#define GEM_menubar			(this->hidden->menubar)#define GEM_usedevmouse		(this->hidden->use_dev_mouse)#define GEM_cursor			(this->hidden->cursor)#define GEM_buffer1			(this->hidden->buffer1)#define GEM_buffer2			(this->hidden->buffer2)#define GEM_bufops			(this->hidden->buf2scr_ops)#define VDI_FBMASK(amask, rmask, gmask, bmask) \	VDI_alphamask = (amask); \	VDI_redmask = (rmask); \	VDI_greenmask = (gmask); \	VDI_bluemask = (bmask);/*	Possible buffer to screen operations:	TC: 8 (chunky),15,16,24,32 bpp	8I: 8 bpp planes	FB: screen framebuffer address available	FS: fullscreen	TC, FB, FS:		- draw to screen	8I, FB, FS:		- draw to buffer 1		- C2P from buffer 1 to screen	TC, !FB, FS:		- draw to buffer 1		- vro_cpyfm() from buffer 1 to screen	8I, !FB, FS:		- draw to buffer 1		- C2P from buffer 1 to buffer 2		- vro_cpyfm() from buffer 2 to screen	TC, FB, !FS:		- draw to buffer 1		- vro_cpyfm() from buffer 1 to screen	8I, FB, !FS:		- draw to buffer 1		- C2P from buffer 1 to buffer 2		- vro_cpyfm() from buffer 2 to screen	TC, !FB, !FS:		- draw to buffer 1		- vro_cpyfm() from buffer 1 to screen	8I, !FB, !FS:		- draw to buffer 1		- C2P from buffer 1 to buffer 2		- vro_cpyfm() from buffer 2 to screen*/#endif /* _SDL_gemvideo_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -