4 * Copyright 1998 Ove Kåven
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
31 * VGA VESA definitions
34 enum modetype
{TEXT
=0, GRAPHIC
=1};
35 /* Wine internal information about video modes */
39 WORD TextCols
; /* columns of text in display */
40 WORD TextRows
; /* rows of text in display */
43 WORD Width
; /* width of display in pixels */
44 WORD Height
; /* height of display in pixels */
45 WORD Depth
; /* bits per pixel */
46 WORD Colors
; /* total available colors */
51 extern const VGA_MODE VGA_modelist
[];
54 const VGA_MODE
*VGA_GetModeInfo(WORD mode
);
55 int VGA_SetMode(WORD mode
);
58 int VGA_GetMode(unsigned*Height
,unsigned*Width
,unsigned*Depth
);
59 void VGA_SetPalette(PALETTEENTRY
*pal
,int start
,int len
);
60 void VGA_SetColor16(int reg
,int color
);
61 char VGA_GetColor16(int reg
);
62 void VGA_Set16Palette(char *Table
);
63 void VGA_Get16Palette(char *Table
);
64 void VGA_SetWindowStart(int start
);
65 int VGA_GetWindowStart(void);
66 void VGA_ShowMouse(BOOL show
);
67 void VGA_UpdatePalette(void);
68 void VGA_SetPaletteIndex(unsigned index
);
69 void VGA_SetBright(BOOL bright
);
70 void VGA_WritePixel(unsigned color
, unsigned page
, unsigned col
, unsigned row
);
73 void VGA_InitAlphaMode(unsigned*Xres
,unsigned*Yres
);
74 void VGA_SetAlphaMode(unsigned Xres
,unsigned Yres
);
75 BOOL
VGA_GetAlphaMode(unsigned*Xres
,unsigned*Yres
);
76 void VGA_SetCursorShape(unsigned char start_options
,unsigned char end
);
77 void VGA_SetCursorPos(unsigned X
,unsigned Y
);
78 void VGA_GetCursorPos(unsigned*X
,unsigned*Y
);
79 void VGA_WriteChars(unsigned X
,unsigned Y
,unsigned ch
,int attr
,int count
);
80 void VGA_PutChar(BYTE ascii
);
81 void VGA_ClearText(unsigned row1
, unsigned col1
,
82 unsigned row2
, unsigned col2
,
84 void VGA_ScrollUpText(unsigned row1
, unsigned col1
,
85 unsigned row2
, unsigned col2
,
86 unsigned lines
, BYTE attr
);
87 void VGA_ScrollDownText(unsigned row1
, unsigned col1
,
88 unsigned row2
, unsigned col2
,
89 unsigned lines
, BYTE attr
);
90 void VGA_GetCharacterAtCursor(BYTE
*ascii
, BYTE
*attr
);
93 void VGA_ioport_out(WORD port
, BYTE val
);
94 BYTE
VGA_ioport_in(WORD port
);
97 #endif /* __WINE_VGA_H */