00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 Module: $URL$ 00005 00006 Copyright (c) 2006-2009 Mathieu Malaterre 00007 All rights reserved. 00008 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 #ifndef __gdcmPixmap_h 00016 #define __gdcmPixmap_h 00017 00018 #include "gdcmBitmap.h" 00019 #include "gdcmCurve.h" 00020 #include "gdcmIconImage.h" 00021 #include "gdcmOverlay.h" 00022 00023 namespace gdcm 00024 { 00025 00031 class GDCM_EXPORT Pixmap : public Bitmap 00032 { 00033 public: 00034 Pixmap(); 00035 ~Pixmap(); 00036 void Print(std::ostream &) const {} 00037 00039 bool AreOverlaysInPixelData() const; 00040 00042 Curve& GetCurve(unsigned int i = 0) { 00043 assert( i < Curves.size() ); 00044 return Curves[i]; 00045 } 00046 const Curve& GetCurve(unsigned int i = 0) const { 00047 assert( i < Curves.size() ); 00048 return Curves[i]; 00049 } 00050 unsigned int GetNumberOfCurves() const { return Curves.size(); } 00051 void SetNumberOfCurves(unsigned int n) { Curves.resize(n); } 00052 00054 Overlay& GetOverlay(unsigned int i = 0) { 00055 assert( i < Overlays.size() ); 00056 return Overlays[i]; 00057 } 00058 const Overlay& GetOverlay(unsigned int i = 0) const { 00059 assert( i < Overlays.size() ); 00060 return Overlays[i]; 00061 } 00062 unsigned int GetNumberOfOverlays() const { return Overlays.size(); } 00063 void SetNumberOfOverlays(unsigned int n) { Overlays.resize(n); } 00064 00066 const IconImage &GetIconImage() const { return Icon; } 00067 IconImage &GetIconImage() { return Icon; } 00068 00069 //private: 00070 protected: 00071 std::vector<Overlay> Overlays; 00072 std::vector<Curve> Curves; 00073 IconImage Icon; 00074 }; 00075 00076 } // end namespace gdcm 00077 00078 #endif //__gdcmPixmap_h