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 #ifndef DVPSGLL_H
00031 #define DVPSGLL_H
00032
00033 #include "dcmtk/config/osconfig.h"
00034 #include "dcmtk/dcmdata/dcitem.h"
00035
00036 class DVPSGraphicLayer;
00037 class DVPSOverlayCurveActivationLayer_PList;
00038 class DVPSGraphicAnnotation_PList;
00039
00045 class DVPSGraphicLayer_PList
00046 {
00047 public:
00049 DVPSGraphicLayer_PList();
00050
00052 DVPSGraphicLayer_PList(const DVPSGraphicLayer_PList& copy);
00053
00058 DVPSGraphicLayer_PList *clone() { return new DVPSGraphicLayer_PList(*this); }
00059
00061 virtual ~DVPSGraphicLayer_PList();
00062
00070 OFCondition read(DcmItem &dset);
00071
00078 OFCondition write(DcmItem &dset);
00079
00084 void clear();
00085
00095 OFCondition addGraphicLayer(const char *gLayer,
00096 const Sint32 gLayerOrder,
00097 const char *gLayerDescription=NULL);
00098
00108 OFCondition addGraphicLayer(
00109 const char *gLayer,
00110 const char *gLayerDescription=NULL);
00111
00115 size_t size() const { return list_.size(); }
00116
00127 void sortGraphicLayers(Sint32 lowestLayer=1);
00128
00135 const char *getGraphicLayerName(size_t idx);
00136
00143 size_t getGraphicLayerIndex(const char *name);
00144
00151 const char *getGraphicLayerDescription(size_t idx);
00152
00157 OFBool haveGraphicLayerRecommendedDisplayValue(size_t idx);
00158
00167 OFCondition getGraphicLayerRecommendedDisplayValueGray(size_t idx, Uint16& gray);
00168
00178 OFCondition getGraphicLayerRecommendedDisplayValueRGB(size_t idx, Uint16& r, Uint16& g, Uint16& b);
00179
00187 OFCondition setGraphicLayerRecommendedDisplayValueGray(size_t idx, Uint16 gray);
00188
00198 OFCondition setGraphicLayerRecommendedDisplayValueRGB(size_t idx, Uint16 r, Uint16 g, Uint16 b);
00199
00204 void removeGraphicLayerRecommendedDisplayValue(size_t idx, OFBool rgb, OFBool monochrome);
00205
00212 OFCondition setGraphicLayerName(size_t idx, const char *name);
00213
00219 OFCondition setGraphicLayerDescription(size_t idx, const char *descr);
00220
00230 OFCondition toFrontGraphicLayer(size_t idx);
00231
00240 OFCondition toBackGraphicLayer(size_t idx);
00241
00249 OFCondition exchangeGraphicLayers(size_t idx1, size_t idx2);
00250
00255 OFCondition removeGraphicLayer(size_t idx);
00256
00261 void cleanupLayers(
00262 DVPSOverlayCurveActivationLayer_PList& activations,
00263 DVPSGraphicAnnotation_PList& annotations);
00264
00265 private:
00266
00268 DVPSGraphicLayer_PList& operator=(const DVPSGraphicLayer_PList&);
00269
00275 DVPSGraphicLayer *getGraphicLayer(size_t idx);
00276
00279 OFList<DVPSGraphicLayer *> list_;
00280 };
00281
00282 #endif
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335