00001
00012 #ifndef INC_MI32_MG2RASTERBINARY_H
00013 #define INC_MI32_MG2RASTERBINARY_H
00014
00015 #ifndef INC_MGD2_H
00016 #include <mi32/mgd2.h>
00017 #endif
00018
00019 #ifndef INC_RVC_RASTER_H
00020 #include <rvc/raster.h>
00021 #endif
00022
00023 namespace MGD {
00024
00026 class DEVICE_RASTER_BINARY: public DEVICE {
00027
00028 public:
00029
00032 DEVICE_RASTER_BINARY ();
00033
00035 virtual ~DEVICE_RASTER_BINARY ();
00036
00038 ERRVALUE Create (
00039 RVC::OBJITEM& ObjItem,
00040 RVC::RASTER::MAKEPARMS& MakeParms,
00041 const char *Source = 0
00042 );
00043
00045 ERRVALUE Open (
00046 const RVC::OBJITEM& ObjItem
00047 );
00048
00049 private:
00050 #ifndef GENERATING_DOXYGEN_OUTPUT
00051 class CONTEXT_RASTER_BINARY;
00052 friend class CONTEXT_RASTER_BINARY;
00053
00054 RVC::RASTER m_ObjRaster;
00055 SIMPLE_ARRAY<UINT8> m_buffer;
00056
00057 ERRVALUE ReadAndInvert (INT32 col, INT32 row, INT32 len);
00058 ERRVALUE Setup();
00059
00060
00061 virtual CONTEXT* v_CreateContext ();
00062 ERRVALUE v_FillSpan (MGD::CONTEXT* gc, INT32 x1, INT32 x2, INT32 y);
00063 MGD::PIXEL v_GetColorPixel (const COLOR& color);
00064 virtual UINT8* v_GetImagePointer (INT32 x, INT32 y, INT32 len, UINT16 FrameBuffer);
00065 virtual UINT8* v_GetImagePointerNoRead (INT32 x, INT32 y, INT32 len, UINT16 FrameBuffer);
00066 virtual ERRVALUE v_WriteImageBuffer (INT32 x, INT32 y, INT32 len, UINT8* buf, UINT16 FrameBuffer);
00067
00068 DEVICE_RASTER_BINARY (const DEVICE_RASTER_BINARY&);
00069 DEVICE_RASTER_BINARY& operator= (const DEVICE_RASTER_BINARY&);
00070 #endif // GENERATING_DOXYGEN_OUTPUT
00071 };
00072
00073 }
00074
00075
00076 #endif // INC_MG2RASTERBINARY_H
00077