QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RImageEntity.h
Go to the documentation of this file.
1 
20 #ifndef RIMAGEENTITY_H
21 #define RIMAGEENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "REntity.h"
26 #include "RImageData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40 public:
51 
59 
62 
63 public:
64  RImageEntity(RDocument* document, const RImageData& data,
65  RObject::Id objectId = RObject::INVALID_ID);
66  virtual ~RImageEntity();
67 
68  static void init();
69 
70  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
72  }
73 
74  virtual RImageEntity* clone() const;
75 
76  virtual RS::EntityType getType() const {
77  return RS::EntityImage;
78  }
79 
80  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
81  RTransaction* transaction=NULL);
82  QPair<QVariant, RPropertyAttributes> getProperty(
83  RPropertyTypeId& propertyTypeId,
84  bool humanReadable = false, bool noAttributes = false);
85 
86  virtual void exportEntity(RExporter& e, bool preview=false, bool forceSelected=false) const;
87 
88  virtual RImageData& getData() {
89  return data;
90  }
91 
92  virtual const RImageData& getData() const {
93  return data;
94  }
95 
96  QString getFileName() const {
97  return data.getFileName();
98  }
99 
100  void setFileName(const QString& fn) {
101  data.setFileName(fn);
102  }
103 
105  return data.getInsertionPoint();
106  }
107 
108  void setInsertionPoint(const RVector& ip) {
109  data.setInsertionPoint(ip);
110  }
111 
112  RVector getUVector() const {
113  return data.getUVector();
114  }
115 
116  RVector getVVector() const {
117  return data.getVVector();
118  }
119 
120  int getBrightness() const {
121  return data.getBrightness();
122  }
123 
124  int getContrast() const {
125  return data.getContrast();
126  }
127 
128  int getFade() const {
129  return data.getFade();
130  }
131 
132  void setWidth(double w, bool keepRatio=false) {
133  data.setWidth(w, keepRatio);
134  }
135 
136  void setHeight(double h, bool keepRatio=false) {
137  data.setHeight(h, keepRatio);
138  }
139 
140  void setAngle(double a) {
141  data.setAngle(a);
142  }
143 
144  double getWidth() const {
145  return data.getWidth();
146  }
147 
148  double getHeight() const {
149  return data.getHeight();
150  }
151 
152  int getPixelWidth() const {
153  return data.getPixelWidth();
154  }
155 
156  int getPixelHeight() const {
157  return data.getPixelHeight();
158  }
159 
160 protected:
161  virtual void print(QDebug dbg) const;
162 
163 protected:
165 };
166 
168 Q_DECLARE_METATYPE(QSharedPointer<RImageEntity>)
169 Q_DECLARE_METATYPE(QSharedPointer<RImageEntity>*)
170 
171 #endif