s3c2440disp.h
上传用户:qiulin1960
上传日期:2013-10-16
资源大小:2844k
文件大小:3k
源码类别:

Windows CE

开发平台:

Windows_Unix

  1. /*++
  2. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. PARTICULAR PURPOSE.
  6. Copyright (c) 2001. Samsung Electronics, co. ltd  All rights reserved.
  7. Module Name:  
  8. Abstract:
  9. This file implements the S3C2440 LCD headers
  10. rev:
  11. 2002.4.4 : First S3C2410 version (kwangyoon LEE, kwangyoon@samsung.com)
  12. 2002.1.31 : CE.NET port (kwangyoon LEE, kwangyoon@samsung.com)
  13. Notes: 
  14. --*/
  15. #ifndef __S3C2440DISP_H__
  16. #define __S3C2440DISP_H__
  17. #ifdef ROTATE
  18. class S3C2440DISP : public GPERotate
  19. #else
  20. class S3C2440DISP : public GPE
  21. #endif //ROTATION
  22. {
  23. private:
  24. GPEMode m_ModeInfo;
  25. DWORD m_cbScanLineLength;
  26. DWORD m_colorDepth;
  27. DWORD m_VirtualFrameBuffer;
  28. DWORD m_FrameBufferSize;
  29. BOOL m_CursorDisabled;
  30. BOOL m_CursorVisible;
  31. BOOL m_CursorForcedOff;
  32. RECTL m_CursorRect;
  33. POINTL m_CursorSize;
  34. POINTL m_CursorHotspot;
  35. UCHAR *m_CursorBackingStore;
  36. UCHAR *m_CursorXorShape;
  37. UCHAR *m_CursorAndShape;
  38. volatile struct lcdregs *m_LCDRegs;
  39. volatile struct gpioreg *m_GPIORegs;
  40. public:
  41. S3C2440DISP(void);
  42. virtual INT NumModes(void);
  43. virtual SCODE SetMode(INT modeId, HPALETTE *palette);
  44. virtual INT InVBlank(void);
  45. virtual SCODE SetPalette(const PALETTEENTRY *source, USHORT firstEntry,
  46. USHORT numEntries);
  47. virtual SCODE GetModeInfo(GPEMode *pMode, INT modeNumber);
  48. virtual SCODE SetPointerShape(GPESurf *mask, GPESurf *colorSurface,
  49. INT xHot, INT yHot, INT cX, INT cY);
  50. virtual SCODE MovePointer(INT xPosition, INT yPosition);
  51. virtual void WaitForNotBusy(void);
  52. virtual INT IsBusy(void);
  53. virtual void GetPhysicalVideoMemory(unsigned long *physicalMemoryBase, unsigned long *videoMemorySize);
  54. virtual SCODE AllocSurface(GPESurf **surface, INT width, INT height,
  55. EGPEFormat format, INT surfaceFlags);
  56. virtual SCODE Line(GPELineParms *lineParameters, EGPEPhase phase);
  57. virtual SCODE BltPrepare(GPEBltParms *blitParameters);
  58. virtual SCODE BltComplete(GPEBltParms *blitParameters);
  59. virtual ULONG GetGraphicsCaps();
  60. #if defined(CLEARTYPE) || defined(ROTATE)
  61. virtual ULONG   DrvEscape(
  62.                         SURFOBJ *pso,
  63.                         ULONG    iEsc,
  64.                         ULONG    cjIn,
  65.                         PVOID    pvIn,
  66.                         ULONG    cjOut,
  67.                         PVOID    pvOut);
  68. #endif 
  69. SCODE WrappedEmulatedLine (GPELineParms *lineParameters);
  70. void CursorOn (void);
  71. void CursorOff (void);
  72. void InitializeHardware (void);
  73. #ifdef ROTATE
  74. void SetRotateParms();
  75. LONG DynRotate(int angle);
  76. #endif //ROTATION
  77. };
  78. #endif __S3C2440DISP_H__