diff options
author | marha <marha@users.sourceforge.net> | 2009-06-28 22:07:26 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-06-28 22:07:26 +0000 |
commit | 3562e78743202e43aec8727005182a2558117eca (patch) | |
tree | 8f9113a77d12470c5c851a2a8e4cb02e89df7d43 /xorg-server/hw/kdrive/vesa/vesa.h | |
download | vcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.gz vcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.bz2 vcxsrv-3562e78743202e43aec8727005182a2558117eca.zip |
Checked in the following released items:
xkeyboard-config-1.4.tar.gz
ttf-bitstream-vera-1.10.tar.gz
font-alias-1.0.1.tar.gz
font-sun-misc-1.0.0.tar.gz
font-sun-misc-1.0.0.tar.gz
font-sony-misc-1.0.0.tar.gz
font-schumacher-misc-1.0.0.tar.gz
font-mutt-misc-1.0.0.tar.gz
font-misc-misc-1.0.0.tar.gz
font-misc-meltho-1.0.0.tar.gz
font-micro-misc-1.0.0.tar.gz
font-jis-misc-1.0.0.tar.gz
font-isas-misc-1.0.0.tar.gz
font-dec-misc-1.0.0.tar.gz
font-daewoo-misc-1.0.0.tar.gz
font-cursor-misc-1.0.0.tar.gz
font-arabic-misc-1.0.0.tar.gz
font-winitzki-cyrillic-1.0.0.tar.gz
font-misc-cyrillic-1.0.0.tar.gz
font-cronyx-cyrillic-1.0.0.tar.gz
font-screen-cyrillic-1.0.1.tar.gz
font-xfree86-type1-1.0.1.tar.gz
font-adobe-utopia-type1-1.0.1.tar.gz
font-ibm-type1-1.0.0.tar.gz
font-bitstream-type1-1.0.0.tar.gz
font-bitstream-speedo-1.0.0.tar.gz
font-bh-ttf-1.0.0.tar.gz
font-bh-type1-1.0.0.tar.gz
font-bitstream-100dpi-1.0.0.tar.gz
font-bh-lucidatypewriter-100dpi-1.0.0.tar.gz
font-bh-100dpi-1.0.0.tar.gz
font-adobe-utopia-100dpi-1.0.1.tar.gz
font-adobe-100dpi-1.0.0.tar.gz
font-util-1.0.1.tar.gz
font-bitstream-75dpi-1.0.0.tar.gz
font-bh-lucidatypewriter-75dpi-1.0.0.tar.gz
font-adobe-utopia-75dpi-1.0.1.tar.gz
font-bh-75dpi-1.0.0.tar.gz
bdftopcf-1.0.1.tar.gz
font-adobe-75dpi-1.0.0.tar.gz
mkfontscale-1.0.6.tar.gz
openssl-0.9.8k.tar.gz
bigreqsproto-1.0.2.tar.gz
xtrans-1.2.2.tar.gz
resourceproto-1.0.2.tar.gz
inputproto-1.4.4.tar.gz
compositeproto-0.4.tar.gz
damageproto-1.1.0.tar.gz
zlib-1.2.3.tar.gz
xkbcomp-1.0.5.tar.gz
freetype-2.3.9.tar.gz
pthreads-w32-2-8-0-release.tar.gz
pixman-0.12.0.tar.gz
kbproto-1.0.3.tar.gz
evieext-1.0.2.tar.gz
fixesproto-4.0.tar.gz
recordproto-1.13.2.tar.gz
randrproto-1.2.2.tar.gz
scrnsaverproto-1.1.0.tar.gz
renderproto-0.9.3.tar.gz
xcmiscproto-1.1.2.tar.gz
fontsproto-2.0.2.tar.gz
xextproto-7.0.3.tar.gz
xproto-7.0.14.tar.gz
libXdmcp-1.0.2.tar.gz
libxkbfile-1.0.5.tar.gz
libfontenc-1.0.4.tar.gz
libXfont-1.3.4.tar.gz
libX11-1.1.5.tar.gz
libXau-1.0.4.tar.gz
libxcb-1.1.tar.gz
xorg-server-1.5.3.tar.gz
Diffstat (limited to 'xorg-server/hw/kdrive/vesa/vesa.h')
-rw-r--r-- | xorg-server/hw/kdrive/vesa/vesa.h | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/xorg-server/hw/kdrive/vesa/vesa.h b/xorg-server/hw/kdrive/vesa/vesa.h new file mode 100644 index 000000000..f6b21e9f5 --- /dev/null +++ b/xorg-server/hw/kdrive/vesa/vesa.h @@ -0,0 +1,295 @@ +/* +Copyright (c) 2000 by Juliusz Chroboczek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#ifndef _VESA_H_ +#define _VESA_H_ + +#include "kdrive.h" +#include "shadow.h" +#include "vm86.h" +#ifdef RANDR +#include "randrstr.h" +#endif + +#define VESA_TEXT_SAVE (64*1024) + +#define MODE_SUPPORTED 0x01 +#define MODE_COLOUR 0x08 +#define MODE_GRAPHICS 0x10 +#define MODE_VGA 0x20 +#define MODE_LINEAR 0x80 + +#define MODE_DIRECT 0x1 + +#define MEMORY_TEXT 0 +#define MEMORY_CGA 1 +#define MEMORY_HERCULES 2 +#define MEMORY_PLANAR 3 +#define MEMORY_PSEUDO 4 +#define MEMORY_NONCHAIN 5 +#define MEMORY_DIRECT 6 +#define MEMORY_YUV 7 + +typedef struct _VesaMode { + int mode; /* mode number */ + int vbe; /* a VBE mode */ + int ModeAttributes; /* mode attributes */ + int NumberOfPlanes; /* number of memory planes */ + int BitsPerPixel; /* bits per pixel */ + int MemoryModel; /* memory model type */ + int RedMaskSize; /* size of direct color red mask in bits */ + int RedFieldPosition; /* bit position of lsb of red mask */ + int GreenMaskSize; /* size of direct color green mask in bits */ + int GreenFieldPosition; /* bit position of lsb of green mask */ + int BlueMaskSize; /* size of direct color blue mask in bits */ + int BlueFieldPosition; /* bit position of lsb of blue mask */ + int RsvdMaskSize; /* size of direct color reserved mask bits*/ + int RsvdFieldPosition; /* bit position of lsb of reserved mask */ + int DirectColorModeInfo; /* direct color mode attributes */ + int XResolution; /* horizontal resolution */ + int YResolution; /* vertical resolution */ + int BytesPerScanLine; /* bytes per scan line */ +} VesaModeRec, *VesaModePtr; + +#include "vbe.h" +#include "vga.h" + +typedef struct _VesaCardPriv { + int vbe; + VesaModePtr modes; + int nmode; + Vm86InfoPtr vi; + int vga_palette; + int old_vbe_mode; + int old_vga_mode; + VbeInfoPtr vbeInfo; + char text[VESA_TEXT_SAVE]; + CARD8 cmap[256*4]; +} VesaCardPrivRec, *VesaCardPrivPtr; + +#define VESA_LINEAR 0 +#define VESA_WINDOWED 1 +#define VESA_PLANAR 2 +#define VESA_MONO 3 + +typedef struct _VesaScreenPriv { + VesaModeRec mode; + Bool shadow; + Rotation randr; + int mapping; + int origDepth; + void *fb; + int fb_size; + CARD32 fb_phys; + PixmapPtr pShadow; + Bool mapped; +} VesaScreenPrivRec, *VesaScreenPrivPtr; + +extern int vesa_video_mode; +extern Bool vesa_force_mode; + +void +vesaReportMode (VesaModePtr mode); + +VesaModePtr +vesaGetModes (Vm86InfoPtr vi, int *ret_nmode); + +void +vesaTestMode (void); + +void * +vesaSetWindowPlanar(ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size); + +void * +vesaSetWindowLinear (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size); + +void * +vesaSetWindowWindowed (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size); + +void * +vesaWindowPlanar (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size, + void *closure); + +void * +vesaWindowLinear (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size, + void *closure); + +void * +vesaWindowWindowed (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size, + void *closure); + +void * +vesaWindowCga (ScreenPtr pScreen, + CARD32 row, + CARD32 offset, + int mode, + CARD32 *size, + void *closure); + +void +vesaUpdateMono (ScreenPtr pScreen, + shadowBufPtr pBuf); + +Bool +vesaCreateColormap16 (ColormapPtr pmap); + +void +vesaSetScreenSizes (ScreenPtr pScreen); + +Bool +vesaSetShadow (ScreenPtr pScreen); + + +void +vesaListModes(void); + +Bool +vesaInitialize(KdCardInfo *card, VesaCardPrivPtr priv); + +Bool +vesaCardInit(KdCardInfo *card); + +int +vesaDepth (VesaModePtr mode); + +Bool +vesaModeGood (KdScreenInfo *screen, + VesaModePtr a); + +int +vesaSizeError (KdScreenInfo *screen, + VesaModePtr a); + +Bool +vesaModeBetter (KdScreenInfo *screen, + VesaModePtr a, + VesaModePtr b); + +VesaModePtr +vesaSelectMode (KdScreenInfo *screen); + +Bool +vesaInitialize (KdCardInfo *card, VesaCardPrivPtr priv); + +Bool +vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr); + +Bool +vesaScreenInit(KdScreenInfo *screen); + +PixmapPtr +vesaGetPixmap (ScreenPtr pScreen); + +Bool +vesaInitScreen(ScreenPtr pScreen); + +Bool +vesaFinishInitScreen(ScreenPtr pScreen); + +Bool +vesaCreateResources (ScreenPtr pScreen); + +Bool +vesaSetMode (ScreenPtr pScreen, + VesaModePtr mode); + +Bool +vesaEnable(ScreenPtr pScreen); + +Bool +vesaDPMS (ScreenPtr pScreen, int mode); + +void +vesaDisable(ScreenPtr pScreen); + +void +vesaPreserve(KdCardInfo *card); + +void +vesaRestore(KdCardInfo *card); + +void +vesaCardFini(KdCardInfo *card); + +void +vesaScreenFini(KdScreenInfo *screen); + +int +vesaSetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries); + +int +vesaGetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries); + +void +vesaPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); + +void +vesaGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); + +void +vesaUseMsg (void); + +int +vesaProcessArgument (int argc, char **argv, int i); + +#ifdef RANDR +Bool +vesaRandRGetInfo (ScreenPtr pScreen, Rotation *rotations); + +Bool +vesaRandRSetConfig (ScreenPtr pScreen, + Rotation randr, + int rate, + RRScreenSizePtr pSize); +Bool +vesaRandRInit (ScreenPtr pScreen); + +#endif + +Bool +toshibaDPMS (ScreenPtr pScreen, int mode); + +#endif /* _VESA_H_ */ |