ReactOS 0.4.15-dev-8138-g1e75ea8
framebuf.h
Go to the documentation of this file.
1/*
2 * ReactOS Generic Framebuffer display driver
3 *
4 * Copyright (C) 2004 Filip Navara
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program 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
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21#ifndef _FRAMEBUF_PCH_
22#define _FRAMEBUF_PCH_
23
24#include <stdarg.h>
25#include <windef.h>
26#include <wingdi.h>
27#include <winddi.h>
28#include <winioctl.h>
29#include <ntddvdeo.h>
30
31//#define EXPERIMENTAL_MOUSE_CURSOR_SUPPORT
32
33typedef struct _PDEV
34{
36 HDEV hDevEng;
50
51#ifdef EXPERIMENTAL_MOUSE_CURSOR_SUPPORT
53 XLATEOBJ *PointerXlateObject;
54 HSURF PointerColorSurface;
55 HSURF PointerMaskSurface;
56 HSURF PointerSaveSurface;
57 POINTL PointerHotSpot;
58#endif
59
60 /* DirectX Support */
69
70#define DEVICE_NAME L"framebuf"
71#define ALLOC_TAG 'FUBF'
72
73
76 DHPDEV dhpdev,
77 DD_CALLBACKS *pCallbacks,
78 DD_SURFACECALLBACKS *pSurfaceCallbacks,
79 DD_PALETTECALLBACKS *pPaletteCallbacks);
80
83 DHPDEV dhpdev);
84
87 IN DEVMODEW *pdm,
90 OUT HSURF *phsurfPatterns,
92 OUT ULONG *pdevcaps,
95 IN HDEV hdev,
98
101 IN DHPDEV dhpdev,
102 IN HDEV hdev);
103
106 IN DHPDEV dhpdev);
107
110 IN DHPDEV dhpdev);
111
114 IN DHPDEV dhpdev);
115
118 IN DHPDEV dhpdev,
119 IN BOOL bEnable);
120
125 OUT DEVMODEW *pdm);
126
129 IN DHPDEV dhpdev,
130 IN PALOBJ *ppalo,
131 IN FLONG fl,
133 IN ULONG cColors);
134
137 IN SURFOBJ *pso,
141 IN LONG xHot,
142 IN LONG yHot,
143 IN LONG x,
144 IN LONG y,
145 IN RECTL *prcl,
146 IN FLONG fl);
147
150 IN SURFOBJ *pso,
151 IN LONG x,
152 IN LONG y,
153 IN RECTL *prcl);
154
155BOOL
157 PPDEV ppdev,
158 LPDEVMODEW pDevMode,
159 PGDIINFO pGdiInfo,
160 PDEVINFO pDevInfo);
161
162BOOL
164 PPDEV ppdev,
165 PDEVINFO pDevInfo);
166
169 IN DHPDEV dhpdev,
170 IN PPALETTEENTRY ppalent,
172 IN ULONG cColors);
173
174#endif /* _FRAMEBUF_PCH_ */
#define APIENTRY
Definition: api.h:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _PDEV PDEV
BOOL IntInitScreenInfo(PPDEV ppdev, LPDEVMODEW pDevMode, PGDIINFO pGdiInfo, PDEVINFO pDevInfo)
Definition: screen.c:120
struct _PDEV * PPDEV
BOOL IntInitDefaultPalette(PPDEV ppdev, PDEVINFO pDevInfo)
Definition: palette.c:60
BOOL APIENTRY IntSetPalette(IN DHPDEV dhpdev, IN PPALETTEENTRY ppalent, IN ULONG iStart, IN ULONG cColors)
Definition: palette.c:110
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
unsigned long FLONG
Definition: ntbasedef.h:366
long LONG
Definition: pedump.c:60
Definition: framebuf.h:34
ULONG ModeIndex
Definition: framebuf.h:38
HDEV hDevEng
Definition: framebuf.h:36
BYTE PaletteShift
Definition: framebuf.h:46
ULONG ScreenDelta
Definition: framebuf.h:41
ULONG ScreenWidth
Definition: framebuf.h:39
ULONG GreenMask
Definition: framebuf.h:44
DWORD dwHeap
Definition: framebuf.h:64
DWORD iDitherFormat
Definition: framebuf.h:61
ULONG BlueMask
Definition: framebuf.h:45
ULONG ScreenHeight
Definition: framebuf.h:40
PALETTEENTRY * PaletteEntries
Definition: framebuf.h:49
PVOID ScreenPtr
Definition: framebuf.h:47
ULONG RedMask
Definition: framebuf.h:43
HANDLE hDriver
Definition: framebuf.h:35
DDPIXELFORMAT ddpfDisplay
Definition: framebuf.h:67
BYTE BitsPerPixel
Definition: framebuf.h:42
VIDEOMEMORY * pvmList
Definition: framebuf.h:65
ULONG MemWidth
Definition: framebuf.h:63
BOOL bDDInitialized
Definition: framebuf.h:66
ULONG MemHeight
Definition: framebuf.h:62
HSURF hSurfEng
Definition: framebuf.h:37
HPALETTE DefaultPalette
Definition: framebuf.h:48
DWORD PointerAttributes
Definition: vgaddi.h:122
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ PALOBJ * ppalo
Definition: winddi.h:4012
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
Definition: winddi.h:3553
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
FN_DrvDisableDirectDraw DrvDisableDirectDraw
FN_DrvSetPalette DrvSetPalette
_In_ HANDLE _In_ SURFOBJ * pso
Definition: winddi.h:3665
_In_ FLONG fl
Definition: winddi.h:1279
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
Definition: winddi.h:3554
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG xHot
Definition: winddi.h:4052
_In_ HDEV hdev
Definition: winddi.h:3449
_In_ LPWSTR pwszLogAddress
Definition: winddi.h:3548
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG _In_ LONG yHot
Definition: winddi.h:4053
FN_DrvSetPointerShape DrvSetPointerShape
FN_DrvGetModes DrvGetModes
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ * pxlo
Definition: winddi.h:3416
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoMask
Definition: winddi.h:3434
FN_DrvEnableSurface DrvEnableSurface
_In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
Definition: winddi.h:3551
_In_ LPWSTR _In_ ULONG cPat
Definition: winddi.h:3549
FN_DrvMovePointer DrvMovePointer
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoColor
Definition: winddi.h:4050
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3531
FN_DrvCompletePDEV DrvCompletePDEV
_In_ ULONG cjSize
Definition: winddi.h:3634
FN_DrvEnableDirectDraw DrvEnableDirectDraw
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3556
_In_ BOOL bEnable
Definition: winddi.h:3426
FN_DrvEnablePDEV DrvEnablePDEV
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3557
FN_DrvAssertMode DrvAssertMode
FN_DrvDisableSurface DrvDisableSurface
FN_DrvDisablePDEV DrvDisablePDEV
_In_ UINT iStart
Definition: wingdi.h:3620
WCHAR * LPWSTR
Definition: xmlstorage.h:184
unsigned char BYTE
Definition: xxhash.c:193