diff --git a/src/sp-item.h b/src/sp-item.h
index 252821f362b060ead5c1eebc2a4366dee9dcae5b..cb34817e53bed9dcfe52b323a62ace2a7b1fc8a9 100644 (file)
--- a/src/sp-item.h
+++ b/src/sp-item.h
struct SPItem : public SPObject {
unsigned int sensitive : 1;
unsigned int stop_paint: 1;
- double r_cx;
- double r_cy;
-
+ double transform_center_x;
+ double transform_center_y;
+
NR::Matrix transform;
SPClipPathReference *clip_ref;
std::vector<SPGuideConstraint> constraints;
sigc::signal<void, NR::Matrix const *, SPItem *> _transformed_signal;
-
+
+ void init();
bool isLocked() const;
void setLocked(bool lock);
bool isHidden() const;
void setHidden(bool hidden);
+
+ bool isEvaluated() const;
+ void setEvaluated(bool visible);
+ void resetEvaluated();
bool isHidden(unsigned display_key) const;
bool isExplicitlyHidden() const;
void setExplicitlyHidden(bool val);
-
+
+ void setCenter(NR::Point object_centre);
+ void unsetCenter();
+ bool isCenterSet();
+ NR::Point getCenter();
+
bool isVisibleAndUnlocked() const;
bool isVisibleAndUnlocked(unsigned display_key) const;
sigc::connection connectTransformed(sigc::slot<void, NR::Matrix const *, SPItem *> slot) {
return _transformed_signal.connect(slot);
}
+
+private:
+ enum EvaluatedStatus
+ {
+ StatusUnknown, StatusCalculated, StatusSet
+ };
+
+ mutable bool _is_evaluated;
+ mutable EvaluatedStatus _evaluated_status;
};
typedef std::back_insert_iterator<std::vector<NR::Point> > SnapPointsIter;