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
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #ifndef INC_MI32_MG2RAST8_H
00047 #define INC_MI32_MG2RAST8_H
00048
00049 #ifndef INC_MD2MEM8G_H
00050 #include <mi32/mg2mem8g.h>
00051 #endif
00052
00053 #ifndef INC_RVC_RASTER_H
00054 #include <rvc/raster.h>
00055 #endif
00056
00057 namespace MGD {
00058
00059
00060 class CONTEXT_RASTER_GRAY8;
00061
00062 class DEVICE_RASTER_GRAY8: public DEVICE_MEM8G {
00063
00064 public:
00065
00068 DEVICE_RASTER_GRAY8();
00069
00071 virtual ~DEVICE_RASTER_GRAY8();
00072
00073
00074
00075
00078 ERRVALUE Create (
00079 RVC::OBJITEM& ObjItem,
00080 RVC::RASTER::MAKEPARMS& MakeParms,
00081 const char* Source = 0
00082 );
00083
00086 ERRVALUE Open (
00087 const RVC::OBJITEM& ObjItem
00088 );
00089
00090
00097 ERRVALUE WritePixArray (
00098 );
00099
00100
00101 protected:
00102
00103
00104 const RVC::RASTER& GetRaster (
00105 ) const {
00106 return m_rast;
00107 }
00108
00113 ERRVALUE ReadPixArray (
00114 );
00115
00116 private:
00117 #ifndef GENERATING_DOXYGEN_OUTPUT
00118 friend class CONTEXT_RASTER_GRAY8;
00119
00121 DEVICE_RASTER_GRAY8(const DEVICE_RASTER_GRAY8&);
00122
00123 int m_RealHeight;
00124 int m_RealWidth;
00125 bool m_bUseMemory;
00126 bool m_bDirty;
00127 RVC::RASTER m_rast;
00128
00129 SIMPLE_ARRAY<UINT8> m_buffer;
00130 #endif // GENERATING_DOXYGEN_OUTPUT
00131
00132
00138 virtual CONTEXT* v_CreateContext (
00139 );
00140
00143 virtual ERRVALUE v_Flush (
00144 ) {
00145 return 0;
00146 }
00147
00149 virtual UINT8* v_GetImagePointer (
00150 INT32 x,
00151 INT32 y,
00152 INT32 len,
00153 UINT16 FrameBuffer
00154 );
00155
00162 virtual UINT8* v_GetImagePointerNoRead (
00163 INT32 x,
00164 INT32 y,
00165 INT32 len,
00166 UINT16 FrameBuffer
00167 );
00168
00174 virtual ERRVALUE v_WriteImageBuffer (
00175 INT32 x,
00176 INT32 y,
00177 INT32 len,
00178 UINT8 *buf,
00179 UINT16 FrameBuffer
00180 );
00181
00182 ERRVALUE Setup();
00183 };
00184
00185 class CONTEXT_RASTER_GRAY8 : public CONTEXT_MEM8G {
00186 public:
00187
00188
00189 virtual ~CONTEXT_RASTER_GRAY8();
00190
00191
00192 protected:
00193
00195 CONTEXT_RASTER_GRAY8 (
00196 DEVICE_RASTER_GRAY8* dev
00197 );
00198
00199 DEVICE_RASTER_GRAY8* m_DevRast;
00200
00201 private:
00202 #ifndef GENERATING_DOXYGEN_OUTPUT
00204 CONTEXT_RASTER_GRAY8(const CONTEXT_RASTER_GRAY8&);
00205
00206 friend class MGD::DEVICE_RASTER_GRAY8;
00207 #endif // GENERATING_DOXYGEN_OUTPUT
00208
00209 };
00210
00211
00212 }
00213
00214
00215 #endif // INC_MGDSIMPL_H
00216