19 #include <QtCore/QSize>
20 #include <QtCore/QRect>
21 #include <QtCore/QObject>
22 #include <QtCore/QSize>
23 #include <QtCore/QString>
24 #include <QtCore/QList>
25 #include <QtCore/QVector>
26 #include <QtGui/QColor>
27 #include <QtGui/QPolygon>
65 DtSymbol_BoundingSphere = 0,
66 DtSymbol_BoundingBox = 1,
67 DtSymbol_SpherePieces = 2,
68 DtSymbol_BoxPieces = 3,
70 } DtSymbol_OverlapTest;
74 DtSymbol_DrawAsEntered = 0,
75 DtSymbol_DrawFirst = 1,
76 DtSymbol_DrawLast = 2,
83 DtSymbol_OnlyIfCloned = 2
84 } DtSymbolCompositeDrawOptions;
106 virtual void copyDataFrom(
const DtSymbol* symbol);
113 virtual void setName(
const QString& name);
114 virtual const QString& name()
const;
118 virtual void setHighlight(
const bool highlight);
119 virtual bool highlight()
const;
120 virtual bool selected()
const;
134 virtual bool setLocationData(
const QPolygon*);
139 virtual const QPolygon* getLocationData()
const;
146 virtual void setOrigin(
const QPoint & center);
149 virtual void setOrigin(
int x,
int y );
154 virtual const QPoint origin()
const;
157 virtual void shift(QPoint p);
159 virtual void draw(QPainter& paint)
const;
160 virtual void drawHidden(QPainter& paint)
const;
164 virtual QSize bbox()
const;
165 virtual QRect brect()
const;
169 virtual QRect selBbox()
const;
176 virtual void clearOffsetToParent();
177 virtual void setOffsetToParent(
const QPoint& offsetToParent);
179 virtual const QPoint* offsetToParent()
const;
201 const QVector<DtShowHideContext>& ignoreContexts()
const;
211 virtual bool isShown()
const;
214 virtual void setParent(
DtSymbol* dad);
228 virtual void setCategoryTag(
const QString& name);
229 virtual const QString& categoryTag()
const;
235 virtual bool select(
const QPoint& aPoint);
239 virtual bool select(
const QPoint& aPoint,
240 const QSize& rectangleSize);
246 virtual void setSelectable(
bool value);
247 virtual bool isSelectable()
const;
251 virtual void setEditable(
bool b);
252 virtual bool editable()
const;
257 virtual void setAllowEditOnSelection(
bool b);
258 virtual bool allowEditOnSelection()
const;
264 virtual void setInternalSelectable(
bool value);
265 virtual bool isInternalSelectable()
const;
269 virtual void setAddToDrawOrder(
bool b);
270 virtual bool addToDrawOrder()
const;
279 virtual bool overlapsSymbol(
const DtSymbol & aSymbol,
280 const DtSymbol_OverlapTest aTest = DtSymbol_BoxPieces,
281 const float aTolerance = 0)
const;
285 virtual bool overlapsAreaSymbol(
const DtSymbol & aSymbol,
286 const DtSymbol_OverlapTest aTest = DtSymbol_BoxPieces,
287 const float aTolerance = 0)
const;
291 virtual bool overlapsLineSymbol(
DtSymbol & aSymbol,
292 const float aTolerance = 0)
const;
297 virtual bool isOriginal()
const;
303 virtual void setDrawOnComposite(DtSymbolCompositeDrawOptions opt);
304 virtual bool drawOnComposite()
const;
305 virtual DtSymbolCompositeDrawOptions drawOnCompositeValue()
const;
310 virtual bool drawFirst()
const;
311 virtual void setDrawFirst(
bool b);
316 virtual bool drawLast()
const;
317 virtual void setDrawLast(
bool b);
328 virtual bool forceUpdate()
const;
333 virtual void setColor(
const QColor& color);
336 virtual void clearColor();
341 virtual bool adjustPoints(QPolygon& pnts,
bool constrain);
347 virtual void setDragClone(
DtSymbol* clone);
348 virtual DtSymbol* dragClone()
const;
351 virtual void setScaleBy(
double factor);
352 virtual double scaleBy()
const;
355 virtual bool isScalable()
const;
357 virtual void enableVisibilityChange(
bool b);
361 virtual void scheduleDisplayComplete(
int);
363 virtual void setShouldSelect(
bool);
364 virtual bool shouldSelect()
const;
367 virtual void setTransparencyLevel(
int);
368 virtual int transparencyLevel()
const;
373 virtual bool needsTransparentRedraw()
const;
374 virtual QPixmap* transparentImage()
const;
375 virtual QPixmap* cacheTransparentImage(
const QPixmap& pixmap);
376 virtual QPixmap* cacheTransparentImage(
const QImage& image);
377 virtual bool transparentCacheChanged()
const;
378 virtual void cacheTransparentVariables();
381 virtual bool wantsTransparentDraw()
const;
400 virtual bool removeIfOffScreen()
const;
405 void setRemoveIfOffScreen(
bool b);
410 virtual int displayOptionsCache()
const;
412 void setAdjustPoints(
bool);
413 bool adjustPoints()
const;
416 const QVector<DtShowHideContext>& hiddenByModules()
const;
421 virtual void blockSignals(
bool);
425 virtual bool originIsCenterOfMass()
const;
430 virtual void setCacheSymbolAsBitmap(
bool);
431 bool cacheSymbolAsBitmap()
const;
435 virtual const QString& bitmapSymbolCacheKey()
const;
439 virtual void reset();
445 virtual bool editMode();
446 virtual void setEditMode(
bool onOff);
454 virtual void invalidateStaticAnimData();
459 virtual void displayComplete();
464 virtual void clearDragClone(
QObject*);
469 void originalSymbolDestroyed();
476 void originChanged(
const DtSymbol*);
480 void visibilityChanged(
const DtSymbol*);
483 void displayComplete(
const DtSymbol*);
488 bool overlapsBoundingSphere(
const DtSymbol & aSymbol,
489 const float aTolerance)
const;
493 bool overlapsBoundingBox(
const DtSymbol & aSymbol,
494 const float aTolerance)
const;