gx.h
上传用户:fjqzjn
上传日期:2008-01-21
资源大小:2764k
文件大小:3k
源码类别:

Windows CE

开发平台:

Visual C++

  1. // The following ifdef block is the standard way of creating macros which make exporting 
  2. // from a DLL simpler. All files within this DLL are compiled with the GXDLL_EXPORTS
  3. // symbol defined on the command line. this symbol should not be defined on any project
  4. // that uses this DLL. This way any other project whose source files include this file see 
  5. // GXDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
  6. // defined with this macro as being exported.
  7. #ifdef GXDLL_EXPORTS
  8. #define GXDLL_API __declspec(dllexport)
  9. #else
  10. #define GXDLL_API __declspec(dllimport)
  11. #endif
  12. struct GXDisplayProperties {
  13. DWORD cxWidth;
  14. DWORD cyHeight; // notice lack of 'th' in the word height.
  15. long cbxPitch; // number of bytes to move right one x pixel - can be negative.
  16. long cbyPitch; // number of bytes to move down one y pixel - can be negative.
  17. long cBPP; // # of bits in each pixel
  18. DWORD ffFormat; // format flags.
  19. };
  20. struct GXKeyList {
  21. short vkUp; // key for up
  22. POINT ptUp; // x,y position of key/button.  Not on screen but in screen coordinates.
  23. short vkDown;
  24. POINT ptDown;
  25. short vkLeft;
  26. POINT ptLeft;
  27. short vkRight;
  28. POINT ptRight;
  29. short vkA;
  30. POINT ptA;
  31. short vkB;
  32. POINT ptB;
  33. short vkC;
  34. POINT ptC;
  35. short vkStart;
  36. POINT ptStart;
  37. };
  38. struct GXScreenRect {
  39. DWORD dwTop;
  40. DWORD dwLeft;
  41. DWORD dwWidth;
  42. DWORD dwHeight;
  43. };
  44. GXDLL_API int GXOpenDisplay(HWND hWnd, DWORD dwFlags);
  45. GXDLL_API int GXCloseDisplay();
  46. GXDLL_API void * GXBeginDraw();
  47. GXDLL_API int GXEndDraw();
  48. GXDLL_API int GXOpenInput();
  49. GXDLL_API int GXCloseInput();
  50. GXDLL_API GXDisplayProperties GXGetDisplayProperties();
  51. GXDLL_API GXKeyList GXGetDefaultKeys(int iOptions);
  52. GXDLL_API int GXSuspend();
  53. GXDLL_API int GXResume();
  54. GXDLL_API int GXSetViewport( DWORD dwTop, DWORD dwHeight, DWORD dwReserved1, DWORD dwReserved2 );
  55. GXDLL_API BOOL GXIsDisplayDRAMBuffer();
  56. // Although these flags can be unrelated they still
  57. // have unique values.
  58. #define GX_FULLSCREEN 0x01 // for OpenDisplay()
  59. #define GX_NORMALKEYS 0x02
  60. #define GX_LANDSCAPEKEYS 0x03
  61. #ifndef kfLandscape
  62. #define kfLandscape 0x8 // Screen is rotated 270 degrees
  63. #define kfPalette 0x10 // Pixel values are indexes into a palette
  64. #define kfDirect 0x20 // Pixel values contain actual level information
  65. #define kfDirect555 0x40 // 5 bits each for red, green and blue values in a pixel.
  66. #define kfDirect565 0x80 // 5 red bits, 6 green bits and 5 blue bits per pixel
  67. #define kfDirect888 0x100 // 8 bits each for red, green and blue values in a pixel.
  68. #define kfDirect444 0x200 // 4 red, 4 green, 4 blue
  69. #define kfDirectInverted 0x400
  70. #endif