00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef INC_MI32_MG2MEM16_H
00026 #define INC_MI32_MG2MEM16_H
00027
00028 #ifndef INC_MI32_MGD2_H
00029 #include <mi32/mgd2.h>
00030 #endif
00031
00032
00033 namespace MGD {
00034
00035
00036 class CONTEXT_MEM16;
00037
00038 class DEVICE_MEM16 : public MGD::DEVICE {
00039
00040 public:
00041
00043 DEVICE_MEM16();
00044
00046 virtual ~DEVICE_MEM16();
00047
00050
00051 ERRVALUE Create (
00052 INT32 height,
00053 INT32 width,
00054 COLORSPACE colorspace = COLORSPACE_Packed16_X1_R5_G5_B5
00055 );
00056
00057
00058 protected:
00059
00060 UINT32 m_BytesPerLine;
00061 COLORSPACE m_ColorSpace;
00062
00067 virtual ERRVALUE v_FillSpan (
00068 MGD::CONTEXT* vgc,
00069 INT32 x1,
00070 INT32 x2,
00071 INT32 y
00072 );
00073
00074 virtual CAPABILITY v_GetCapabilities (
00075 ) const;
00076
00077 private:
00078 #ifndef GENERATING_DOXYGEN_OUTPUT
00079
00080
00081 DEVICE_MEM16 (const DEVICE_MEM16&);
00082
00083 UINT8 *m_buf;
00084
00085 friend class MGD::CONTEXT_MEM16;
00086
00087 virtual CONTEXT* v_CreateContext ();
00088 virtual COLORSPACE v_GetColorSpace () const;
00089 virtual UINT8* v_GetImagePointer (INT32 x, INT32 y, INT32 len, UINT16 FrameBuffer);
00090
00091 #endif // GENERATING_DOXYGEN_OUTPUT
00092 };
00093
00094
00095 class CONTEXT_MEM16 : public MGD::CONTEXT {
00096 public:
00097
00098
00099 virtual ~CONTEXT_MEM16();
00100
00101 protected:
00102
00104 CONTEXT_MEM16 (
00105 MGD::DEVICE_MEM16* disp
00106 );
00107
00108 virtual ERRVALUE v_PutImageSpanDirect (
00109 INT32 x,
00110 INT32 y,
00111 INT32 len,
00112 const void* data,
00113 const UINT8* mask
00114 );
00115
00116 private:
00117 #ifndef GENERATING_DOXYGEN_OUTPUT
00118
00119 MGD::DEVICE_MEM16* m_DevMem16;
00120
00122 CONTEXT_MEM16(const CONTEXT_MEM16&);
00123
00124 friend class MGD::DEVICE_MEM16;
00125 #endif // GENERATING_DOXYGEN_OUTPUT
00126
00127 };
00128
00129
00130 }
00131
00132 #endif // INC_MI32_MG2MEM16_H
00133