DATAKIT SDK  V2026.4
dtk_picture.hpp
Go to the documentation of this file.
1 #ifndef __DTK_PICTURE_HPP__
2 #define __DTK_PICTURE_HPP__
3 
4 #include "def/define.h"
5 
6 //! \ingroup base_types
7 //! \class Dtk_picture
8 //! \brief This class defines a picture
9 //!
10 //! This class defines a picture
14 #include "util/error_dtk.hpp"
15 #include "util/util_ptr_dtk.hpp"
16 #include "util/util_stl_dtk.hpp"
17 
18 class Dtk_Object;
20 {
37 };
38 class Dtk_picture : public Dtk_Object
39 {
40 
41 protected:
42  enum {
44  };
49  double _scale_x;
50  double _scale_y;
51  double _metric_width;
55 
56 private:
57  friend class Dtk_SmartPtr<Dtk_picture>;
58  inline virtual Dtk_Object* Clone() { return new Dtk_picture( *this ); }
59 public:
60 
61  //downcasting
62  int DtkDynamicType(const int& inId);
64 
69  Dtk_picture& operator=( const Dtk_picture& s );
71 
74 
75  //! \brief Retrieves the binary file
76  //! \return the binary file
77  inline Dtk_tab<char> & File() { return this->_file; }
78  inline const Dtk_tab<char> & File() const { return this->_file; }
79  //! \brief Retrieves the file type
80  //! \return the absolute file type
81  inline Dtk_PictureType & FileType() { return this->_type; }
82  inline Dtk_PictureType FileType() const { return this->_type; }
83  //! \brief Retrieves the width (in pixels)
84  //! \return the width (in pixels)
85  inline Dtk_Size_t &PixelWidth() { return this->_pixel_width; }
86  inline Dtk_Size_t PixelWidth() const { return this->_pixel_width; }
87 
88  //! \brief Retrieves the height (in pixels)
89  //! \return the height (in pixels)
90  inline Dtk_Size_t &PixelHeight() { return this->_pixel_height; }
91  inline Dtk_Size_t PixelHeight() const { return this->_pixel_height; }
92 
93  //! \brief Retrieves the width (in mm)
94  //! \return the width (in mm)
95  inline double &MetricWidth() { return this->_metric_width; }
96  inline double MetricWidth() const { return this->_metric_width; }
97  //! \brief Retrieves the height (in mm)
98  //! \return the height (in mm)
99  inline double &MetricHeight() { return this->_metric_height; }
100  inline double MetricHeight() const { return this->_metric_height; }
101  //! \brief Retrieves the origin (in mm)
102  //! \return the origin (in mm)
103  inline Dtk_pnt &Origin() { return this->_origin; }
104  inline const Dtk_pnt &Origin() const { return this->_origin; }
105 
106  //! \brief Retrieves the X scale factor
107  //! \return the X scale factor
108  inline double &ScaleX() { return this->_scale_x; }
109  inline double ScaleX() const { return this->_scale_x; }
110  //! \brief Retrieves the Y scale factor
111  //! \return the Y scale factor
112  inline double &ScaleY() { return this->_scale_y; }
113  inline double ScaleY() const { return this->_scale_y; }
114 
115  //!\brief copy
116  //! \deprecated Use Dtk_picture::Dtk_picture(const Dtk_picture &) instead
117  SetAsDeprecated( "2026.4", "Use Dtk_picture::Dtk_picture(const Dtk_picture &) instead" )
118  void _Copy(const Dtk_picture * s);
119 
120  //! \Transform{inTransfo}
121  Dtk_ErrorStatus Transform( const Dtk_transfo &inTransfo );
122 };
123 
124 
125 #endif
DTK_PICTURE_UNKNOWN
@ DTK_PICTURE_UNKNOWN
Definition: dtk_picture.hpp:21
Dtk_picture::get_info
Dtk_InfoPtr get_info() const
Dtk_picture::Origin
const Dtk_pnt & Origin() const
Definition: dtk_picture.hpp:104
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_picture::MetricWidth
double MetricWidth() const
Definition: dtk_picture.hpp:96
DTK_PICTURE_CGM
@ DTK_PICTURE_CGM
Definition: dtk_picture.hpp:27
Dtk_picture::DtkDynamicCast
static Dtk_picture * DtkDynamicCast(Dtk_Object *s)
Dtk_picture::info
Dtk_InfoPtr & info()
DTK_PICTURE_RGB24
@ DTK_PICTURE_RGB24
Definition: dtk_picture.hpp:22
Dtk_picture::PixelWidth
Dtk_Size_t & PixelWidth()
Retrieves the width (in pixels)
Definition: dtk_picture.hpp:85
DTK_PICTURE_WMF
@ DTK_PICTURE_WMF
Definition: dtk_picture.hpp:34
DTK_PICTURE_GIF
@ DTK_PICTURE_GIF
Definition: dtk_picture.hpp:28
Dtk_picture::_pixel_width
Dtk_Size_t _pixel_width
Definition: dtk_picture.hpp:47
DTK_PICTURE_EMF
@ DTK_PICTURE_EMF
Definition: dtk_picture.hpp:35
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:711
Dtk_picture::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_picture::ScaleX
double & ScaleX()
Retrieves the X scale factor.
Definition: dtk_picture.hpp:108
Dtk_picture::ScaleX
double ScaleX() const
Definition: dtk_picture.hpp:109
Dtk_picture::MetricWidth
double & MetricWidth()
Retrieves the width (in mm)
Definition: dtk_picture.hpp:95
Dtk_picture::Dtk_picture
Dtk_picture(const Dtk_picture &)
Dtk_picture::PixelHeight
Dtk_Size_t & PixelHeight()
Retrieves the height (in pixels)
Definition: dtk_picture.hpp:90
Dtk_picture::_pixel_height
Dtk_Size_t _pixel_height
Definition: dtk_picture.hpp:48
DTK_PICTURE_RGBA32
@ DTK_PICTURE_RGBA32
Definition: dtk_picture.hpp:23
Dtk_picture::FileType
Dtk_PictureType & FileType()
Retrieves the file type.
Definition: dtk_picture.hpp:81
dtk_pnt.hpp
Dtk_picture::PixelHeight
Dtk_Size_t PixelHeight() const
Definition: dtk_picture.hpp:91
DTK_PICTURE_TGA
@ DTK_PICTURE_TGA
Definition: dtk_picture.hpp:36
Dtk_PictureType
Dtk_PictureType
Definition: dtk_picture.hpp:20
Dtk_picture::MetricHeight
double & MetricHeight()
Retrieves the height (in mm)
Definition: dtk_picture.hpp:99
Dtk_picture::_type
Dtk_PictureType _type
Definition: dtk_picture.hpp:54
Dtk_picture::FileType
Dtk_PictureType FileType() const
Definition: dtk_picture.hpp:82
Dtk_picture::File
Dtk_tab< char > & File()
Retrieves the binary file.
Definition: dtk_picture.hpp:77
Dtk_SmartPtr::Clone
void Clone(Dtk_SmartPtr< T > &out) const
Definition: util_ptr_dtk.hpp:192
Dtk_picture::_scale_y
double _scale_y
Definition: dtk_picture.hpp:50
Dtk_picture
This class defines a picture.
Definition: dtk_picture.hpp:39
DTK_TYPE_PICTURE
@ DTK_TYPE_PICTURE
Definition: define.h:585
DTK_PICTURE_PNG
@ DTK_PICTURE_PNG
Definition: dtk_picture.hpp:26
Dtk_picture::Dtk_picture
Dtk_picture(Dtk_picture &&) DTK_NOEXCEPT
Dtk_picture::~Dtk_picture
~Dtk_picture()
error_dtk.hpp
DTK_PICTURE_PS
@ DTK_PICTURE_PS
Definition: dtk_picture.hpp:31
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_SmartPtr< Dtk_Info >
DTK_PICTURE_OLE
@ DTK_PICTURE_OLE
Definition: dtk_picture.hpp:33
DTK_PICTURE_ICO
@ DTK_PICTURE_ICO
Definition: dtk_picture.hpp:30
dtk_transfo.hpp
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:20
Dtk_picture::Dtk_picture
Dtk_picture()
Dtk_picture::_metric_height
double _metric_height
Definition: dtk_picture.hpp:52
util_stl_dtk.hpp
Dtk_picture::ScaleY
double ScaleY() const
Definition: dtk_picture.hpp:113
Dtk_picture::File
const Dtk_tab< char > & File() const
Definition: dtk_picture.hpp:78
Dtk_picture::_scale_x
double _scale_x
Definition: dtk_picture.hpp:49
Dtk_picture::_origin
Dtk_pnt _origin
Definition: dtk_picture.hpp:53
Dtk_picture::MetricHeight
double MetricHeight() const
Definition: dtk_picture.hpp:100
util_ptr_dtk.hpp
Dtk_picture::m_Info
Dtk_InfoPtr m_Info
Definition: dtk_picture.hpp:45
define.h
DTK_PICTURE_JPG
@ DTK_PICTURE_JPG
Definition: dtk_picture.hpp:24
Dtk_tab< char >
Dtk_picture::_typeID
@ _typeID
Definition: dtk_picture.hpp:43
Dtk_picture::_metric_width
double _metric_width
Definition: dtk_picture.hpp:51
Dtk_picture::PixelWidth
Dtk_Size_t PixelWidth() const
Definition: dtk_picture.hpp:86
DTK_PICTURE_SVG
@ DTK_PICTURE_SVG
Definition: dtk_picture.hpp:32
Dtk_picture::ScaleY
double & ScaleY()
Retrieves the Y scale factor.
Definition: dtk_picture.hpp:112
Dtk_Object
Definition: dtk_object.hpp:8
Dtk_picture::SetAsDeprecated
SetAsDeprecated("2026.4", "Use Dtk_picture::Dtk_picture(const Dtk_picture &) instead") void _Copy(const Dtk_picture *s)
copy
DTK_PICTURE_BMP
@ DTK_PICTURE_BMP
Definition: dtk_picture.hpp:25
DTK_PICTURE_TIFF
@ DTK_PICTURE_TIFF
Definition: dtk_picture.hpp:29
dtk_object.hpp
Dtk_picture::_file
Dtk_tab< char > _file
Definition: dtk_picture.hpp:46
Dtk_picture::DtkDynamicType
int DtkDynamicType(const int &inId)
DTK_NOEXCEPT
#define DTK_NOEXCEPT
Definition: config.hpp:20
Dtk_picture::Origin
Dtk_pnt & Origin()
Retrieves the origin (in mm)
Definition: dtk_picture.hpp:103