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 #ifndef INC_MI32_MG2MEM8G_H
00028 #define INC_MI32_MG2MEM8G_H
00029
00030 #ifndef INC_MI32_MGD2_H
00031 #include <mi32/mgd2.h>
00032 #endif
00033
00034
00035 namespace MGD {
00036
00037 class CONTEXT_MEM8G;
00038
00039 class DEVICE_MEM8G : public MGD::DEVICE {
00040
00041 public:
00042
00044 DEVICE_MEM8G();
00045
00047 virtual ~DEVICE_MEM8G();
00048
00049 ERRVALUE Create (
00050 INT32 height,
00051 INT32 width
00052 );
00053
00055 ERRVALUE Filter (
00056 const SIMPLE_ARRAY<double*> kernel,
00057 int kheight,
00058 int kwidth
00059 );
00060
00061 ERRVALUE FilterLowPass (
00062 int radius
00063 );
00064
00065 protected:
00066 UINT32 m_BytesPerLine;
00067
00068 virtual CAPABILITY v_GetCapabilities () const;
00069
00070 private:
00071 #ifndef GENERATING_DOXYGEN_OUTPUT
00072
00073 DEVICE_MEM8G (const DEVICE_MEM8G&);
00074
00075 UINT8* m_buf;
00076
00077 friend class MGD::CONTEXT_MEM8G;
00078 #endif // GENERATING_DOXYGEN_OUTPUT
00079
00085 virtual CONTEXT* v_CreateContext (
00086 );
00087
00091 virtual ERRVALUE v_FillSpan (
00092 MGD::CONTEXT* vgc,
00093 INT32 x1,
00094 INT32 x2,
00095 INT32 y
00096 );
00097
00100 virtual PIXEL v_GetColorPixel (
00101 const COLOR& color
00102 );
00103
00105 virtual COLORSPACE v_GetColorSpace (
00106 ) const;
00107
00109 virtual UINT8* v_GetImagePointer (
00110 INT32 x,
00111 INT32 y,
00112 INT32 len,
00113 UINT16 FrameBuffer
00114 );
00115
00116 virtual void v_GetPixelColor (
00117 PIXEL pixel,
00118 COLOR& color
00119 ) const;
00120
00121 };
00122
00123
00124 class CONTEXT_MEM8G : public MGD::CONTEXT {
00125 public:
00126
00127
00128 virtual ~CONTEXT_MEM8G();
00129
00130
00131
00132 protected:
00133
00135 CONTEXT_MEM8G (
00136 MGD::DEVICE_MEM8G* disp
00137 );
00138
00139 private:
00140 #ifndef GENERATING_DOXYGEN_OUTPUT
00141
00142 MGD::DEVICE_MEM8G* m_DevMem8g;
00143
00145 CONTEXT_MEM8G(const CONTEXT_MEM8G&);
00146
00147 friend class MGD::DEVICE_MEM8G;
00148 #endif // GENERATING_DOXYGEN_OUTPUT
00149
00150 virtual ERRVALUE v_PutImageSpanDirect (
00151 INT32 x,
00152 INT32 y,
00153 INT32 len,
00154 const void* data,
00155 const UINT8* mask
00156 );
00157
00158 };
00159
00160
00161 }
00162
00163 #endif // INC_MI32_MG2MEM8G_H
00164
00165