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

callbacks_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 doxygen 1.7.6.1

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