/[zanavi_public1]/navit/navit/gui/win32/ceglue.c
ZANavi

Contents of /navit/navit/gui/win32/ceglue.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (12 years, 5 months ago) by zoff99
File MIME type: text/plain
File size: 1873 byte(s)
import files
1 #include <windows.h>
2 #include "ceglue.h"
3
4 BOOL FAR (*SHFullScreenPtr)(HWND hwnd, DWORD state) = NULL;
5
6 void InitCeGlue (void)
7 {
8 HINSTANCE ayg = LoadLibraryW (TEXT ("aygshell.dll"));
9 if (ayg != NULL) {
10 SHFullScreenPtr = (BOOL (*)(HWND, DWORD))
11 GetProcAddressW (ayg, TEXT ("SHFullScreen"));
12 }
13 }
14
15 // code to turn of screen adopted from
16 // http://msdn.microsoft.com/en-us/library/ms838354.aspx
17
18 // GDI Escapes for ExtEscape()
19 #define QUERYESCSUPPORT 8
20
21 // The following are unique to CE
22 #define GETVFRAMEPHYSICAL 6144
23 #define GETVFRAMELEN 6145
24 #define DBGDRIVERSTAT 6146
25 #define SETPOWERMANAGEMENT 6147
26 #define GETPOWERMANAGEMENT 6148
27
28
29 typedef enum _VIDEO_POWER_STATE {
30 VideoPowerOn = 1,
31 VideoPowerStandBy,
32 VideoPowerSuspend,
33 VideoPowerOff
34 } VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;
35
36
37 typedef struct _VIDEO_POWER_MANAGEMENT {
38 ULONG Length;
39 ULONG DPMSVersion;
40 ULONG PowerState;
41 } VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;
42
43
44 int CeEnableBacklight(int enable)
45 {
46 HDC gdc;
47 int iESC=SETPOWERMANAGEMENT;
48
49 gdc = GetDC(NULL);
50 if (ExtEscape(gdc, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&iESC,
51 0, NULL)==0)
52 {
53 MessageBox(NULL,
54 L"Sorry, your Pocket PC does not support DisplayOff",
55 L"Pocket PC Display Off Feature",
56 MB_OK);
57 ReleaseDC(NULL, gdc);
58 return FALSE;
59 }
60 else
61 {
62 VIDEO_POWER_MANAGEMENT vpm;
63 vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
64 vpm.DPMSVersion = 0x0001;
65 if (enable) {
66 vpm.PowerState = VideoPowerOn;
67 } else {
68 vpm.PowerState = VideoPowerOff;
69 }
70 // Power off the display
71 ExtEscape(gdc, SETPOWERMANAGEMENT, vpm.Length, (LPCSTR) &vpm,
72 0, NULL);
73 ReleaseDC(NULL, gdc);
74 return TRUE;
75 }
76 }
77

   
Visit the ZANavi Wiki