DATAKIT API  V2025.1
dtk_picture.hpp
Go to the documentation of this file.
1 #ifndef __DTK_PICTURE_HPP__
2 #define __DTK_PICTURE_HPP__
3 
4 // #ifdef WIN32
5 // #pragma warning(disable:4786)
6 // #pragma warning(disable:4800)
7 // #endif
8 // #include <fstream>
9 // #include <math.h>
10 #include "def/define.h"
11 
20 #include "util/error_dtk.hpp"
21 #include "util/util_ptr_dtk.hpp"
22 #include "util/util_stl_dtk.hpp"
23 
24 class Dtk_Object;
26 {
43 };
44 class Dtk_picture : public Dtk_Object
45 {
46 
47 protected:
48  enum {
50  };
56  double _scale_x;
57  double _scale_y;
58  double _metric_width;
61 
62 private:
63  void _Init();
64  void _Copy(const Dtk_picture &inToBeCopied);
65  void _Reset();
66  friend class Dtk_SmartPtr<Dtk_picture>;
67  inline virtual Dtk_Object* Clone() { return new Dtk_picture( *this ); }
68 public:
69 
70  //downcasting
71  int DtkDynamicType(const int& inId);
73 
76  Dtk_picture(const Dtk_picture &inToBeCopied);
77 
80 
83  inline Dtk_tab<char> & File() { return this->_file; }
84  inline const Dtk_tab<char> & File() const { return this->_file; }
87  inline Dtk_PictureType & FileType() { return this->_type; }
88  inline Dtk_PictureType FileType() const { return this->_type; }
91  inline Dtk_Size_t &PixelWidth() { return this->_pixel_width; }
92  inline Dtk_Size_t PixelWidth() const { return this->_pixel_width; }
93 
96  inline Dtk_Size_t &PixelHeight() { return this->_pixel_height; }
97  inline Dtk_Size_t PixelHeight() const { return this->_pixel_height; }
98 
101  inline double &MetricWidth() { return this->_metric_width; }
102  inline double MetricWidth() const { return this->_metric_width; }
105  inline double &MetricHeight() { return this->_metric_height; }
106  inline double MetricHeight() const { return this->_metric_height; }
109  inline Dtk_pnt &Origin() { return this->_origin; }
110  inline const Dtk_pnt &Origin() const { return this->_origin; }
111 
114  inline double &ScaleX() { return this->_scale_x; }
115  inline double ScaleX() const { return this->_scale_x; }
118  inline double &ScaleY() { return this->_scale_y; }
119  inline double ScaleY() const { return this->_scale_y; }
121  void _Copy(const Dtk_picture * s);
122 
125 };
126 
127 
128 #endif
DTK_PICTURE_UNKNOWN
@ DTK_PICTURE_UNKNOWN
Definition: dtk_picture.hpp:27
Dtk_picture::get_info
Dtk_InfoPtr get_info() const
Dtk_picture::Dtk_picture
Dtk_picture(const Dtk_picture &inToBeCopied)
Dtk_picture::Origin
const Dtk_pnt & Origin() const
Definition: dtk_picture.hpp:110
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_picture::MetricWidth
double MetricWidth() const
Definition: dtk_picture.hpp:102
DTK_PICTURE_CGM
@ DTK_PICTURE_CGM
Definition: dtk_picture.hpp:33
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:28
Dtk_picture::PixelWidth
Dtk_Size_t & PixelWidth()
Retrieves the width (in pixels)
Definition: dtk_picture.hpp:91
DTK_PICTURE_WMF
@ DTK_PICTURE_WMF
Definition: dtk_picture.hpp:40
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:619
DTK_PICTURE_GIF
@ DTK_PICTURE_GIF
Definition: dtk_picture.hpp:34
Dtk_picture::_pixel_width
Dtk_Size_t _pixel_width
Definition: dtk_picture.hpp:54
DTK_PICTURE_EMF
@ DTK_PICTURE_EMF
Definition: dtk_picture.hpp:41
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:712
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:114
Dtk_picture::ScaleX
double ScaleX() const
Definition: dtk_picture.hpp:115
Dtk_picture::MetricWidth
double & MetricWidth()
Retrieves the width (in mm)
Definition: dtk_picture.hpp:101
Dtk_picture::PixelHeight
Dtk_Size_t & PixelHeight()
Retrieves the height (in pixels)
Definition: dtk_picture.hpp:96
Dtk_picture::_pixel_height
Dtk_Size_t _pixel_height
Definition: dtk_picture.hpp:55
DTK_PICTURE_RGBA32
@ DTK_PICTURE_RGBA32
Definition: dtk_picture.hpp:29
Dtk_picture::FileType
Dtk_PictureType & FileType()
Retrieves the file type.
Definition: dtk_picture.hpp:87
dtk_pnt.hpp
Dtk_picture::PixelHeight
Dtk_Size_t PixelHeight() const
Definition: dtk_picture.hpp:97
DTK_PICTURE_TGA
@ DTK_PICTURE_TGA
Definition: dtk_picture.hpp:42
Dtk_PictureType
Dtk_PictureType
Definition: dtk_picture.hpp:26
Dtk_picture::MetricHeight
double & MetricHeight()
Retrieves the height (in mm)
Definition: dtk_picture.hpp:105
Dtk_picture::_type
Dtk_PictureType _type
Definition: dtk_picture.hpp:53
Dtk_picture::FileType
Dtk_PictureType FileType() const
Definition: dtk_picture.hpp:88
Dtk_picture::File
Dtk_tab< char > & File()
Retrieves the binary file.
Definition: dtk_picture.hpp:83
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:57
Dtk_picture
This class defines a picture.
Definition: dtk_picture.hpp:45
DTK_TYPE_PICTURE
@ DTK_TYPE_PICTURE
Definition: define.h:594
DTK_PICTURE_PNG
@ DTK_PICTURE_PNG
Definition: dtk_picture.hpp:32
Dtk_picture::~Dtk_picture
~Dtk_picture()
error_dtk.hpp
DTK_PICTURE_PS
@ DTK_PICTURE_PS
Definition: dtk_picture.hpp:37
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_picture::_Copy
void _Copy(const Dtk_picture *s)
copy
Dtk_SmartPtr< Dtk_Info >
DTK_PICTURE_OLE
@ DTK_PICTURE_OLE
Definition: dtk_picture.hpp:39
DTK_PICTURE_ICO
@ DTK_PICTURE_ICO
Definition: dtk_picture.hpp:36
dtk_transfo.hpp
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
Dtk_picture::Dtk_picture
Dtk_picture()
Dtk_picture::_metric_height
double _metric_height
Definition: dtk_picture.hpp:59
util_stl_dtk.hpp
Dtk_picture::ScaleY
double ScaleY() const
Definition: dtk_picture.hpp:119
Dtk_picture::File
const Dtk_tab< char > & File() const
Definition: dtk_picture.hpp:84
Dtk_picture::_scale_x
double _scale_x
Definition: dtk_picture.hpp:56
Dtk_picture::_origin
Dtk_pnt _origin
Definition: dtk_picture.hpp:60
Dtk_picture::MetricHeight
double MetricHeight() const
Definition: dtk_picture.hpp:106
util_ptr_dtk.hpp
Dtk_picture::m_Info
Dtk_InfoPtr m_Info
Definition: dtk_picture.hpp:51
define.h
DTK_PICTURE_JPG
@ DTK_PICTURE_JPG
Definition: dtk_picture.hpp:30
Dtk_tab< char >
Dtk_picture::_typeID
@ _typeID
Definition: dtk_picture.hpp:49
Dtk_picture::_metric_width
double _metric_width
Definition: dtk_picture.hpp:58
Dtk_picture::PixelWidth
Dtk_Size_t PixelWidth() const
Definition: dtk_picture.hpp:92
DTK_PICTURE_SVG
@ DTK_PICTURE_SVG
Definition: dtk_picture.hpp:38
Dtk_picture::ScaleY
double & ScaleY()
Retrieves the Y scale factor.
Definition: dtk_picture.hpp:118
Dtk_Object
Definition: dtk_object.hpp:8
DTK_PICTURE_BMP
@ DTK_PICTURE_BMP
Definition: dtk_picture.hpp:31
DTK_PICTURE_TIFF
@ DTK_PICTURE_TIFF
Definition: dtk_picture.hpp:35
dtk_object.hpp
Dtk_picture::_file
Dtk_tab< char > _file
Definition: dtk_picture.hpp:52
Dtk_picture::DtkDynamicType
int DtkDynamicType(const int &inId)
Dtk_picture::Origin
Dtk_pnt & Origin()
Retrieves the origin (in mm)
Definition: dtk_picture.hpp:109