//============================================================================== PaintElement::PaintElement (PaintRoutine* owner_, const String& typeName_) : borderThickness (4), owner (owner_), typeName (typeName_), selected (false), dragging (false), originalAspectRatio (1.0) { setRepaintsOnMouseActivity (true); position.rect.setWidth (100); position.rect.setHeight (100); setMinimumOnscreenAmounts (0, 0, 0, 0); setSizeLimits (borderThickness * 2 + 1, borderThickness * 2 + 1, 8192, 8192); addChildComponent (border = new ResizableBorderComponent (this, this)); border->setBorderThickness (BorderSize<int> (borderThickness)); if (owner != nullptr) owner->getSelectedElements().addChangeListener (this); selfChangeListenerList.addChangeListener (this); siblingComponentsChanged(); }
void ColouredElement::enableStroke (bool enable, const bool undoable) { enable = enable && showOutline; if (isStrokePresent != enable) { if (undoable) { perform (new StrokeEnableChangeAction (this, enable), "Change stroke mode"); } else { repaint(); isStrokePresent = enable; siblingComponentsChanged(); owner->changed(); owner->getSelectedElements().changed(); } } }
void ColouredElement::setStrokeFill (const JucerFillType& newType, const bool undoable) { if (strokeType.fill != newType) { if (undoable) { perform (new StrokeFillTypeChangeAction (this, newType), "Change stroke fill type"); } else { repaint(); if (strokeType.fill.mode != newType.mode) { siblingComponentsChanged(); owner->getSelectedElements().changed(); } strokeType.fill = newType; changed(); } } }
void ColouredElement::setFillType (const JucerFillType& newType, const bool undoable) { if (fillType != newType) { if (undoable) { perform (new FillTypeChangeAction (this, newType), "Change fill type"); } else { repaint(); if (fillType.mode != newType.mode) { owner->getSelectedElements().changed(); siblingComponentsChanged(); } fillType = newType; changed(); } } }
void PaintElementPath::pointListChanged() { changed(); siblingComponentsChanged(); }