Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencallbacks_dd_hel.c
Go to the documentation of this file.
00001 /* $Id$ 00002 * 00003 * COPYRIGHT: See COPYING in the top level directory 00004 * PROJECT: ReactOS DirectX 00005 * FILE: ddraw/ddraw/callbacks_dd_hel.c 00006 * PURPOSE: HEL Callbacks for Direct Draw 00007 * PROGRAMMER: Magnus Olsen 00008 * 00009 */ 00010 00011 #include "rosdraw.h" 00012 00013 00014 extern DDPIXELFORMAT pixelformats[]; 00015 extern DWORD pixelformatsCount; 00016 00017 /* 00018 * Direct Draw Callbacks 00019 */ 00020 00021 DWORD CALLBACK HelDdDestroyDriver(LPDDHAL_DESTROYDRIVERDATA lpDestroyDriver) 00022 { 00023 DX_STUB; 00024 } 00025 00026 DWORD CALLBACK HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface) 00027 { 00028 DX_STUB; 00029 } 00030 00031 00032 DWORD CALLBACK HelDdSetColorKey(LPDDHAL_DRVSETCOLORKEYDATA lpDrvSetColorKey) 00033 { 00034 DX_STUB; 00035 } 00036 00037 00038 DWORD CALLBACK HelDdSetMode(LPDDHAL_SETMODEDATA SetMode) 00039 { 00040 DEVMODE DevMode; 00041 00042 DX_STUB_str("in hel"); 00043 00044 DevMode.dmSize = (WORD)sizeof(DEVMODE); 00045 DevMode.dmDriverExtra = 0; 00046 00047 SetMode->ddRVal = DDERR_UNSUPPORTEDMODE; 00048 00049 if (EnumDisplaySettingsEx(NULL, SetMode->dwModeIndex, &DevMode, 0 ) != 0) 00050 { 00051 00052 00053 if (ChangeDisplaySettings(&DevMode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL) 00054 { 00055 DX_STUB_str("FAIL"); 00056 SetMode->ddRVal = DDERR_UNSUPPORTEDMODE; 00057 } 00058 else 00059 { 00060 DX_STUB_str("OK"); 00061 SetMode->ddRVal = DD_OK; 00062 } 00063 } 00064 00065 return DDHAL_DRIVER_HANDLED; 00066 } 00067 00068 DWORD CALLBACK HelDdWaitForVerticalBlank(LPDDHAL_WAITFORVERTICALBLANKDATA lpWaitForVerticalBlank) 00069 { 00070 DX_STUB; 00071 } 00072 00073 DWORD CALLBACK HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA lpCanCreateSurface) 00074 { 00075 DX_STUB; 00076 } 00077 00078 DWORD CALLBACK HelDdCreatePalette(LPDDHAL_CREATEPALETTEDATA lpCreatePalette) 00079 { 00080 DDRAWI_DDRAWPALETTE_GBL* ddPalGbl = lpCreatePalette->lpDDPalette; 00081 LOGPALETTE* logPal ; 00082 WORD size=1; 00083 00084 if(ddPalGbl->dwFlags & DDRAWIPAL_2) 00085 size = 2; 00086 else if(ddPalGbl->dwFlags & DDRAWIPAL_4) 00087 size = 4; 00088 else if(ddPalGbl->dwFlags & DDRAWIPAL_16) 00089 size = 16; 00090 else if(ddPalGbl->dwFlags & DDRAWIPAL_256) 00091 size = 256; 00092 00093 DxHeapMemAlloc(logPal, sizeof(LOGPALETTE) + size*sizeof(PALETTEENTRY)); 00094 if(logPal == NULL) 00095 { 00096 lpCreatePalette->ddRVal = DDERR_OUTOFMEMORY; 00097 return DDHAL_DRIVER_HANDLED; 00098 } 00099 00100 logPal->palVersion = 0x300; 00101 logPal->palNumEntries = size; 00102 CopyMemory(&logPal->palPalEntry[0], lpCreatePalette->lpColorTable, size*sizeof(PALETTEENTRY)); 00103 00104 ddPalGbl->hHELGDIPalette = CreatePalette(logPal); 00105 00106 if (ddPalGbl->hHELGDIPalette == NULL) 00107 { 00108 DxHeapMemFree(logPal); 00109 lpCreatePalette->ddRVal = DDERR_INVALIDOBJECT; 00110 return DDHAL_DRIVER_HANDLED; 00111 } 00112 00113 DxHeapMemFree(logPal); 00114 ddPalGbl->lpColorTable = lpCreatePalette->lpColorTable; 00115 ddPalGbl->dwFlags |= DDRAWIPAL_INHEL | DDRAWIPAL_GDI ; 00116 lpCreatePalette->ddRVal = DD_OK; 00117 return DDHAL_DRIVER_HANDLED; 00118 } 00119 00120 DWORD CALLBACK HelDdGetScanLine(LPDDHAL_GETSCANLINEDATA lpGetScanLine) 00121 { 00122 DX_STUB; 00123 } 00124 00125 DWORD CALLBACK HelDdSetExclusiveMode(LPDDHAL_SETEXCLUSIVEMODEDATA lpSetExclusiveMode) 00126 { 00127 DX_WINDBG_trace(); 00128 DX_STUB_str("Not implement yet, return DD_OK for not bsod\n"); 00129 lpSetExclusiveMode->ddRVal = DD_OK; 00130 00131 return DDHAL_DRIVER_HANDLED; 00132 } 00133 00134 DWORD CALLBACK HelDdFlipToGDISurface(LPDDHAL_FLIPTOGDISURFACEDATA lpFlipToGDISurface) 00135 { 00136 DX_STUB; 00137 } 00138 Generated on Sat May 26 2012 04:19:58 for ReactOS by
1.7.6.1
|