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
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 #ifndef INC_MI32_MG2RAST_H
00075 #define INC_MI32_MG2RAST_H
00076
00077 #ifndef INC_MI32_MG2MEM16_H
00078 #include <mi32/mg2mem16.h>
00079 #endif
00080
00081 #ifndef INC_MI32_MG2MEM24_H
00082 #include <mi32/mg2mem24.h>
00083 #endif
00084
00085 #ifndef INC_MI32_MG2MEM32RGBA_H
00086 #include <mi32/mg2mem32rgba.h>
00087 #endif
00088
00089 #ifndef INC_RVC_RASTER_H
00090 #include <rvc/raster.h>
00091 #endif
00092
00093 namespace MGD {
00094
00095
00096
00097 class CONTEXT_RASTER_RGB24;
00098
00101 class DEVICE_RASTER_RGB24: public DEVICE_MEM24 {
00102
00103 public:
00104
00107 DEVICE_RASTER_RGB24();
00108
00110 virtual ~DEVICE_RASTER_RGB24();
00111
00112
00113
00115 ERRVALUE Create (
00116 RVC::OBJECT& ParentObject,
00117 const RVC::DESCRIPTOR& Descriptor,
00118 RVC::RASTER::MAKEPARMS& MakeParms,
00119 const RVC::CREDENTIALS* Credentials = 0
00120 );
00121
00123 ERRVALUE Create (
00124 RVC::OBJITEM& ObjItem,
00125 RVC::RASTER::MAKEPARMS& MakeParms,
00126 const RVC::CREDENTIALS* Credentials = 0
00127 );
00128
00130 ERRVALUE GetObjItem (
00131 RVC::OBJITEM& ObjItem
00132 ) const { return (m_Rast.GetObjItem(ObjItem)); }
00133
00135 ERRVALUE Open (
00136 const RVC::OBJITEM& ObjItem,
00137 const RVC::CREDENTIALS* Credentials = 0
00138 );
00139
00146 ERRVALUE WritePixArray (
00147 );
00148
00149 protected:
00150
00152 virtual UINT8* v_GetImagePointer (
00153 INT32 x,
00154 INT32 y,
00155 INT32 len,
00156 UINT16 FrameBuffer
00157 );
00158
00165 virtual UINT8* v_GetImagePointerNoRead (
00166 INT32 x,
00167 INT32 y,
00168 INT32 len,
00169 UINT16 FrameBuffer
00170 );
00171
00176 ERRVALUE ReadPixArray (
00177 );
00178
00179
00185 virtual ERRVALUE v_WriteImageBuffer (
00186 INT32 x,
00187 INT32 y,
00188 INT32 len,
00189 UINT8 *buf,
00190 UINT16 FrameBuffer
00191 );
00192
00193 private:
00194 #ifndef GENERATING_DOXYGEN_OUTPUT
00195 friend class CONTEXT_RASTER_RGB24;
00196
00198 DEVICE_RASTER_RGB24(const DEVICE_RASTER_RGB24&);
00199
00200 RVC::RASTER m_Rast;
00201
00202 bool m_bUseMemory;
00203 bool m_bDirty;
00204 int m_TileSizeX;
00205 int m_TileSizeY;
00206
00207 SIMPLE_ARRAY<UINT8> m_buffer;
00208 #endif // GENERATING_DOXYGEN_OUTPUT
00209
00215 virtual MGD::CONTEXT* v_CreateContext ();
00216
00217 };
00218
00219 class CONTEXT_RASTER_RGB24 : public CONTEXT_MEM24 {
00220 public:
00221
00222
00223 virtual ~CONTEXT_RASTER_RGB24();
00224
00225 protected:
00227 CONTEXT_RASTER_RGB24 (
00228 DEVICE_RASTER_RGB24* dev
00229 );
00230
00231 DEVICE_RASTER_RGB24* m_DevRast;
00232
00233 private:
00234 #ifndef GENERATING_DOXYGEN_OUTPUT
00235
00237 CONTEXT_RASTER_RGB24(const CONTEXT_RASTER_RGB24&);
00238
00239 friend class MGD::DEVICE_RASTER_RGB24;
00240
00241 #endif // GENERATING_DOXYGEN_OUTPUT
00242
00243 };
00244
00245
00246
00247
00250 class DEVICE_RASTER_RGB32 : public DEVICE_MEM32RGBA {
00251
00252 public:
00253
00256 DEVICE_RASTER_RGB32();
00257
00259 virtual ~DEVICE_RASTER_RGB32();
00260
00261
00262
00264 ERRVALUE Create (
00265 RVC::OBJECT& ParentObject,
00266 const RVC::DESCRIPTOR& Descriptor,
00267 RVC::RASTER::MAKEPARMS& MakeParms,
00268 const RVC::CREDENTIALS* Credentials = 0
00269 );
00270
00272 ERRVALUE Create (
00273 RVC::OBJITEM& ObjItem,
00274 RVC::RASTER::MAKEPARMS& MakeParms,
00275 const RVC::CREDENTIALS* Credentials = 0
00276 );
00277
00279 ERRVALUE GetObjItem (
00280 RVC::OBJITEM& ObjItem
00281 ) const { return (m_Rast.GetObjItem(ObjItem)); }
00282
00284 ERRVALUE Open (
00285 const RVC::OBJITEM& ObjItem,
00286 const RVC::CREDENTIALS* Credentials = 0
00287 );
00288
00295 ERRVALUE WritePixArray ();
00296
00297 protected:
00298
00299 class CONTEXT : public DEVICE_MEM32RGBA::CONTEXT {
00300 public:
00301
00302 virtual ~CONTEXT ();
00303
00304 protected:
00305
00306 CONTEXT (
00307 DEVICE_RASTER_RGB32 *pDevice
00308 );
00309
00310 private:
00311 #ifndef GENERATING_DOXYGEN_OUTPUT
00312 CONTEXT (const CONTEXT&);
00313
00314 friend class MGD::DEVICE_RASTER_RGB32;
00315 #endif // GENERATING_DOXYGEN_OUTPUT
00316
00317 };
00318
00320 virtual UINT8* v_GetImagePointer (
00321 INT32 x,
00322 INT32 y,
00323 INT32 len,
00324 UINT16 FrameBuffer
00325 );
00326
00333 virtual UINT8* v_GetImagePointerNoRead (
00334 INT32 x,
00335 INT32 y,
00336 INT32 len,
00337 UINT16 FrameBuffer
00338 );
00339
00344 ERRVALUE ReadPixArray (
00345 );
00346
00352 virtual ERRVALUE v_WriteImageBuffer (
00353 INT32 x,
00354 INT32 y,
00355 INT32 len,
00356 UINT8 *buf,
00357 UINT16 FrameBuffer
00358 );
00359
00360 private:
00361 #ifndef GENERATING_DOXYGEN_OUTPUT
00362
00364 DEVICE_RASTER_RGB32(const DEVICE_RASTER_RGB32&);
00365
00366 RVC::RASTER m_Rast;
00367
00368 bool m_bUseMemory;
00369 bool m_bDirty;
00370 int m_TileSizeX;
00371 int m_TileSizeY;
00372
00373 SIMPLE_ARRAY<UINT8> m_buffer;
00374
00375 virtual MGD::CONTEXT* v_CreateContext ();
00376 #endif // GENERATING_DOXYGEN_OUTPUT
00377
00378 };
00379
00380
00381
00382
00383 class CONTEXT_RASTER_RGB16;
00384
00386 class DEVICE_RASTER_RGB16: public DEVICE_MEM16 {
00387
00388 public:
00389
00392 DEVICE_RASTER_RGB16();
00393
00395 virtual ~DEVICE_RASTER_RGB16();
00396
00398 ERRVALUE Create (
00399 RVC::OBJITEM& ObjItem,
00400 RVC::RASTER::MAKEPARMS& MakeParms,
00401 const RVC::CREDENTIALS* Credentials = 0
00402 );
00403
00405 ERRVALUE Open (
00406 const RVC::OBJITEM& ObjItem,
00407 const RVC::CREDENTIALS* Credentials = 0
00408 );
00409
00416 ERRVALUE WritePixArray (
00417 );
00418
00419 protected:
00420
00425 ERRVALUE ReadPixArray (
00426 );
00427
00428
00429 private:
00430 #ifndef GENERATING_DOXYGEN_OUTPUT
00431 friend class CONTEXT_RASTER_RGB16;
00432
00434 DEVICE_RASTER_RGB16(const DEVICE_RASTER_RGB16&);
00435
00436 RVC::RASTER m_Rast;
00437 bool m_bUseMemory;
00438 bool m_bDirty;
00439 int m_TileSizeX;
00440 int m_TileSizeY;
00441
00442 SIMPLE_ARRAY<UINT8> m_buffer;
00443
00449 virtual CONTEXT* v_CreateContext (
00450 );
00451
00453 virtual UINT8* v_GetImagePointer (
00454 INT32 x,
00455 INT32 y,
00456 INT32 len,
00457 UINT16 FrameBuffer
00458 );
00459
00466 virtual UINT8* v_GetImagePointerNoRead (
00467 INT32 x,
00468 INT32 y,
00469 INT32 len,
00470 UINT16 FrameBuffer
00471 );
00472
00478 virtual ERRVALUE v_WriteImageBuffer (
00479 INT32 x,
00480 INT32 y,
00481 INT32 len,
00482 UINT8* buf,
00483 UINT16 FrameBuffer
00484 );
00485 #endif // GENERATING_DOXYGEN_OUTPUT
00486
00487 };
00488
00489
00490 class CONTEXT_RASTER_RGB16 : public CONTEXT_MEM16 {
00491 public:
00492
00493
00494 virtual ~CONTEXT_RASTER_RGB16();
00495
00496
00497 protected:
00499 CONTEXT_RASTER_RGB16 (
00500 DEVICE_RASTER_RGB16* dev
00501 );
00502
00503 DEVICE_RASTER_RGB16* m_DevRast;
00504
00505 private:
00506 #ifndef GENERATING_DOXYGEN_OUTPUT
00507
00509 CONTEXT_RASTER_RGB16(const CONTEXT_RASTER_RGB16&);
00510
00511 #endif // GENERATING_DOXYGEN_OUTPUT
00512 friend class MGD::DEVICE_RASTER_RGB16;
00513
00514 };
00515
00516
00517
00518
00519 }
00520
00521
00522 #endif // INC_MI32_MG2RAST_H
00523