void MagnifierComponent::setScaleFactor (double newScaleFactor) { jassert (newScaleFactor > 0.0); // hmm - unlikely to work well with a negative scale factor newScaleFactor = jlimit (1.0 / 8.0, 1000.0, newScaleFactor); if (scaleFactor != newScaleFactor) { scaleFactor = newScaleFactor; if (scaleFactor == 1.0) { holderComp->removeFromDesktop(); peer = 0; addChildComponent (content); childBoundsChanged (content); } else { holderComp->addAndMakeVisible (content); holderComp->childBoundsChanged (content); childBoundsChanged (holderComp); holderComp->addToDesktop (0); peer = holderComp->getPeer(); } repaint(); } }
//============================================================================== void ResizableWindow::setResizable (const bool shouldBeResizable, const bool useBottomRightCornerResizer) { if (shouldBeResizable) { if (useBottomRightCornerResizer) { resizableBorder = nullptr; if (resizableCorner == nullptr) { Component::addChildComponent (resizableCorner = new ResizableCornerComponent (this, constrainer)); resizableCorner->setAlwaysOnTop (true); } } else { resizableCorner = nullptr; if (resizableBorder == nullptr) Component::addChildComponent (resizableBorder = new ResizableBorderComponent (this, constrainer)); } } else { resizableCorner = nullptr; resizableBorder = nullptr; } if (isUsingNativeTitleBar()) recreateDesktopWindow(); childBoundsChanged (contentComponent); resized(); }
void ResizableWindow::setContent (Component* newContentComponent, const bool takeOwnership, const bool resizeToFitWhenContentChangesSize) { if (newContentComponent != contentComponent) { clearContentComponent(); contentComponent = newContentComponent; Component::addAndMakeVisible (contentComponent); } ownsContentComponent = takeOwnership; resizeToFitContent = resizeToFitWhenContentChangesSize; if (resizeToFitWhenContentChangesSize) childBoundsChanged (contentComponent); resized(); // must always be called to position the new content comp }
MagnifierComponent (Component* c) : content (c) { addAndMakeVisible (content.get()); childBoundsChanged (content.get()); }
MagnifierComponent (Component* comp) : scaleFactor (1.0), content (comp) { addAndMakeVisible (content); childBoundsChanged (content); }