ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

framebuf.h
Go to the documentation of this file.
00001 /*
00002  * ReactOS Generic Framebuffer display driver
00003  *
00004  * Copyright (C) 2004 Filip Navara
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License along
00017  * with this program; if not, write to the Free Software Foundation, Inc.,
00018  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00019  */
00020 
00021 #include <stdarg.h>
00022 #include <windef.h>
00023 #include <guiddef.h>
00024 #include <wingdi.h>
00025 #include <winddi.h>
00026 #include <winioctl.h>
00027 #include <ntddvdeo.h>
00028 
00029 //#define EXPERIMENTAL_MOUSE_CURSOR_SUPPORT
00030 
00031 typedef struct _PDEV
00032 {
00033    HANDLE hDriver;
00034    HDEV hDevEng;
00035    HSURF hSurfEng;
00036    ULONG ModeIndex;
00037    ULONG ScreenWidth;
00038    ULONG ScreenHeight;
00039    ULONG ScreenDelta;
00040    BYTE BitsPerPixel;
00041    ULONG RedMask;
00042    ULONG GreenMask;
00043    ULONG BlueMask;
00044    BYTE PaletteShift;
00045    PVOID ScreenPtr;
00046    HPALETTE DefaultPalette;
00047    PALETTEENTRY *PaletteEntries;
00048 
00049 #ifdef EXPERIMENTAL_MOUSE_CURSOR_SUPPORT
00050    VIDEO_POINTER_ATTRIBUTES PointerAttributes;
00051    XLATEOBJ *PointerXlateObject;
00052    HSURF PointerColorSurface;
00053    HSURF PointerMaskSurface;
00054    HSURF PointerSaveSurface;
00055    POINTL PointerHotSpot;
00056 #endif
00057 
00058    /* DirectX Support */
00059    DWORD iDitherFormat;
00060    ULONG MemHeight;
00061    ULONG MemWidth;
00062    DWORD dwHeap;
00063    VIDEOMEMORY* pvmList;
00064    BOOL bDDInitialized;
00065    DDPIXELFORMAT ddpfDisplay;
00066 } PDEV, *PPDEV;
00067 
00068 #define DEVICE_NAME L"framebuf"
00069 #define ALLOC_TAG   'FUBF'
00070 
00071 
00072 DHPDEV APIENTRY
00073 DrvEnablePDEV(
00074    IN DEVMODEW *pdm,
00075    IN LPWSTR pwszLogAddress,
00076    IN ULONG cPat,
00077    OUT HSURF *phsurfPatterns,
00078    IN ULONG cjCaps,
00079    OUT ULONG *pdevcaps,
00080    IN ULONG cjDevInfo,
00081    OUT DEVINFO *pdi,
00082    IN HDEV hdev,
00083    IN LPWSTR pwszDeviceName,
00084    IN HANDLE hDriver);
00085 
00086 VOID APIENTRY
00087 DrvCompletePDEV(
00088    IN DHPDEV dhpdev,
00089    IN HDEV hdev);
00090 
00091 VOID APIENTRY
00092 DrvDisablePDEV(
00093    IN DHPDEV dhpdev);
00094 
00095 HSURF APIENTRY
00096 DrvEnableSurface(
00097    IN DHPDEV dhpdev);
00098 
00099 VOID APIENTRY
00100 DrvDisableSurface(
00101    IN DHPDEV dhpdev);
00102 
00103 BOOL APIENTRY
00104 DrvAssertMode(
00105    IN DHPDEV dhpdev,
00106    IN BOOL bEnable);
00107 
00108 ULONG APIENTRY
00109 DrvGetModes(
00110    IN HANDLE hDriver,
00111    IN ULONG cjSize,
00112    OUT DEVMODEW *pdm);
00113 
00114 BOOL APIENTRY
00115 DrvSetPalette(
00116    IN DHPDEV dhpdev,
00117    IN PALOBJ *ppalo,
00118    IN FLONG fl,
00119    IN ULONG iStart,
00120    IN ULONG cColors);
00121 
00122 ULONG APIENTRY
00123 DrvSetPointerShape(
00124    IN SURFOBJ *pso,
00125    IN SURFOBJ *psoMask,
00126    IN SURFOBJ *psoColor,
00127    IN XLATEOBJ *pxlo,
00128    IN LONG xHot,
00129    IN LONG yHot,
00130    IN LONG x,
00131    IN LONG y,
00132    IN RECTL *prcl,
00133    IN FLONG fl);
00134 
00135 VOID APIENTRY
00136 DrvMovePointer(
00137    IN SURFOBJ *pso,
00138    IN LONG x,
00139    IN LONG y,
00140    IN RECTL *prcl);
00141 
00142 BOOL
00143 IntInitScreenInfo(
00144    PPDEV ppdev,
00145    LPDEVMODEW pDevMode,
00146    PGDIINFO pGdiInfo,
00147    PDEVINFO pDevInfo);
00148 
00149 BOOL
00150 IntInitDefaultPalette(
00151    PPDEV ppdev,
00152    PDEVINFO pDevInfo);
00153 
00154 BOOL APIENTRY
00155 IntSetPalette(
00156    IN DHPDEV dhpdev,
00157    IN PPALETTEENTRY ppalent,
00158    IN ULONG iStart,
00159    IN ULONG cColors);

Generated on Sun May 27 2012 04:38:06 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.