40Component* Component::currentlyFocusedComponent =
nullptr;
53 if (wantsEventsForAllNestedChildComponents)
67 auto index =
listeners.indexOf (listenerToRemove);
79 #if defined(__GNUC__) && __GNUC__ < 5 && ! defined(__clang__)
80 template <
typename... Params>
85 sendMouseEvent <
decltype (eventMethod), Params...> (
comp, checker, eventMethod, params...);
88 template <
typename... Params>
93 sendMouseEvent <
decltype (eventMethod), Params...> (
comp, checker, eventMethod, params...);
96 template <
typename... Params>
97 static void sendMouseEvent (Component&
comp, Component::BailOutChecker& checker,
98 void (MouseListener::*eventMethod) (
const MouseEvent&,
float),
101 sendMouseEvent <
decltype (eventMethod), Params...> (
comp, checker, eventMethod, params...);
104 template <
typename EventMethod,
typename... Params>
106 EventMethod eventMethod,
109 template <
typename... Params>
118 if (
auto*
list =
comp.mouseListeners.get())
120 for (
int i =
list->listeners.size(); --
i >= 0;)
122 (
list->listeners.getUnchecked(
i)->*eventMethod) (params...);
133 if (
auto*
list =
p->mouseListeners.get())
135 if (
list->numDeepMouseListeners > 0)
139 for (
int i =
list->numDeepMouseListeners; --
i >= 0;)
141 (
list->listeners.getUnchecked(
i)->*eventMethod) (params...);
188 && !
lastFocus->isCurrentlyBlockedByAnotherModalComponent())
200 template <
typename Po
intOrRect>
203 return scale != 1.0f ? pos / scale : pos;
206 template <
typename Po
intOrRect>
209 return scale != 1.0f ? pos * scale : pos;
219 roundToInt ((
float) pos.getHeight() / scale)) : pos;
227 roundToInt ((
float) pos.getHeight() * scale)) : pos;
234 pos.getWidth() / scale,
235 pos.getHeight() / scale) : pos;
242 pos.getWidth() * scale,
243 pos.getHeight() * scale) : pos;
246 template <
typename Po
intOrRect>
252 template <
typename Po
intOrRect>
258 template <
typename Po
intOrRect>
264 template <
typename Po
intOrRect>
281 if (
auto* peer =
comp.getPeer())
283 pos = peer->globalToLocal (pos);
284 auto& peerComp = peer->getComponent();
297 #if JUCE_MODAL_LOOPS_PERMITTED
298 static void* runModalLoopCallback (
void* userData)
311 for (
auto v = (
uint32) colourID;;)
313 *--
t =
"0123456789abcdef" [
v & 15];
329 const auto intPoint = localPoint.
roundToInt();
331 &&
comp.hitTest (intPoint.x, intPoint.y);
335 template <
typename Po
intOrRect>
338 if (
comp.isTransformed())
339 pos = pos.transformedBy (
comp.getTransform().inverted());
345 template <
typename Po
intOrRect>
348 if (
comp.isTransformed())
349 pos = pos.transformedBy (
comp.getTransform());
354 template <
typename Po
intOrRect>
357 const auto transformed =
comp.affineTransform !=
nullptr ? pointInParentSpace.transformedBy (
comp.affineTransform->inverted())
358 : pointInParentSpace;
360 if (
comp.isOnDesktop())
362 if (
auto* peer =
comp.getPeer())
369 if (
comp.getParentComponent() ==
nullptr)
375 template <
typename Po
intOrRect>
378 const auto preTransform = [&]
380 if (
comp.isOnDesktop())
382 if (
auto* peer =
comp.getPeer())
386 return pointInLocalSpace;
389 if (
comp.getParentComponent() ==
nullptr)
395 return comp.affineTransform !=
nullptr ? preTransform.transformedBy (*
comp.affineTransform)
399 template <
typename Po
intOrRect>
403 jassert (directParent !=
nullptr);
405 if (directParent ==
parent)
413 template <
typename Po
intOrRect>
416 while (source !=
nullptr)
418 if (source == target)
433 if (target ==
nullptr)
440 if (topLevelComp == target)
449 bool wasClipped =
false;
451 for (
int i =
comp.childComponentList.size(); --
i >= 0;)
453 auto& child = *
comp.childComponentList.getUnchecked(
i);
455 if (child.isVisible() && ! child.isTransformed())
457 auto newClip = clipRect.
getIntersection (child.boundsRelativeToParent);
459 if (! newClip.isEmpty())
461 if (child.isOpaque() && child.componentTransparency == 0)
463 g.excludeClipRegion (newClip + delta);
468 auto childPos = child.getPosition();
482 if (
auto*
p =
comp.getParentComponent())
483 return p->getLocalBounds();
490 if (
auto* cached =
c.getCachedComponentImage())
491 cached->releaseResources();
493 for (
auto* child :
c.childComponentList)
500 return modal !=
nullptr
501 && modal != &maybeBlocked
506 template <
typename Function>
510 if (
auto*
c = ms.getComponentUnderMouse())
529 static_assert (
sizeof (
flags) <=
sizeof (
componentFlags),
"componentFlags has too many bits!");
543 if (
flags.hasHeavyweightPeerFlag)
561 if (
flags.hasHeavyweightPeerFlag)
563 peer->setTitle (
name);
577 if (
flags.visibleFlag != shouldBeVisible)
584 flags.visibleFlag = shouldBeVisible;
593 if (! shouldBeVisible)
607 if (safePointer !=
nullptr)
611 if (safePointer !=
nullptr &&
flags.hasHeavyweightPeerFlag)
615 peer->setVisible (shouldBeVisible);
636 if (!
flags.visibleFlag)
643 return ! peer->isMinimised();
652 return peer->getNativeHandle();
673 if (peer ==
nullptr || styleWanted != peer->getStyleFlags())
677 #if JUCE_LINUX || JUCE_BSD
688 bool wasFullscreen =
false;
689 bool wasMinimised =
false;
692 int oldRenderingEngine = -1;
696 std::unique_ptr<ComponentPeer> oldPeerToDelete (peer);
698 wasFullscreen = peer->isFullScreen();
699 wasMinimised = peer->isMinimised();
700 currentConstrainer = peer->getConstrainer();
701 oldNonFullScreenBounds = peer->getNonFullScreenBounds();
702 oldRenderingEngine = peer->getCurrentRenderingEngine();
704 flags.hasHeavyweightPeerFlag =
false;
708 if (safePointer ==
nullptr)
717 if (safePointer !=
nullptr)
719 flags.hasHeavyweightPeerFlag =
true;
726 peer->updateBounds();
728 if (oldRenderingEngine >= 0)
729 peer->setCurrentRenderingEngine (oldRenderingEngine);
740 peer->setFullScreen (
true);
741 peer->setNonFullScreenBounds (oldNonFullScreenBounds);
745 peer->setMinimised (
true);
749 peer->setAlwaysOnTop (
true);
752 peer->setConstrainer (currentConstrainer);
762 peer->performAnyPendingRepaintsNow();
779 if (
flags.hasHeavyweightPeerFlag)
789 flags.hasHeavyweightPeerFlag =
false;
798 return flags.hasHeavyweightPeerFlag;
803 if (
flags.hasHeavyweightPeerFlag)
831 if (shouldBeOpaque !=
flags.opaqueFlag)
833 flags.opaqueFlag = shouldBeOpaque;
835 if (
flags.hasHeavyweightPeerFlag)
845 return flags.opaqueFlag;
855 scale =
g.getInternalContext().getPhysicalPixelScaleFactor();
856 auto compBounds =
owner.getLocalBounds();
857 auto imageBounds = compBounds *
scale;
859 if (
image.isNull() ||
image.getBounds() != imageBounds)
863 jmax (1, imageBounds.getWidth()),
864 jmax (1, imageBounds.getHeight()),
870 if (!
validArea.containsRectangle (compBounds))
878 lg.excludeClipRectangle (
i);
880 if (!
owner.isOpaque())
883 lg.fillRect (compBounds,
true);
887 owner.paintEntireComponent (imG,
true);
894 (
float) compBounds.getHeight() / (
float) imageBounds.getHeight()),
false);
927 if (shouldBeBuffered)
941 if (sourceIndex != destIndex)
960 if (
flags.hasHeavyweightPeerFlag)
964 peer->toFront (shouldGrabKeyboardFocus);
974 if (childList.getLast() !=
this)
976 auto index = childList.indexOf (
this);
980 int insertIndex = -1;
982 if (!
flags.alwaysOnTopFlag)
984 insertIndex = childList.size() - 1;
986 while (insertIndex > 0 && childList.getUnchecked (insertIndex)->isAlwaysOnTop())
994 if (shouldGrabKeyboardFocus)
1006 if (other !=
nullptr && other !=
this)
1014 auto index = childList.indexOf (
this);
1016 if (index >= 0 && childList [index + 1] != other)
1018 auto otherIndex = childList.indexOf (other);
1020 if (otherIndex >= 0)
1022 if (index < otherIndex)
1036 auto* them = other->
getPeer();
1037 jassert (us !=
nullptr && them !=
nullptr);
1039 if (us !=
nullptr && them !=
nullptr)
1040 us->toBehind (them);
1056 if (childList.getFirst() !=
this)
1058 auto index = childList.indexOf (
this);
1062 int insertIndex = 0;
1064 if (
flags.alwaysOnTopFlag)
1065 while (insertIndex < childList.size() && ! childList.getUnchecked (insertIndex)->isAlwaysOnTop())
1076 if (shouldStayOnTop !=
flags.alwaysOnTopFlag)
1080 flags.alwaysOnTopFlag = shouldStayOnTop;
1086 if (! peer->setAlwaysOnTop (shouldStayOnTop))
1090 auto oldFlags = peer->getStyleFlags();
1107 return flags.alwaysOnTopFlag;
1157 const bool wasMoved = (
getX() !=
x ||
getY() !=
y);
1164 if (wasMoved || wasResized)
1173 if (!
flags.hasHeavyweightPeerFlag)
1183 else if (!
flags.hasHeavyweightPeerFlag)
1191 flags.isMoveCallbackPending = wasMoved;
1192 flags.isResizeCallbackPending = wasResized;
1194 if (
flags.hasHeavyweightPeerFlag)
1196 peer->updateBounds();
1204 const bool wasMoved =
flags.isMoveCallbackPending;
1205 const bool wasResized =
flags.isResizeCallbackPending;
1207 if (wasMoved || wasResized)
1209 flags.isMoveCallbackPending =
false;
1210 flags.isResizeCallbackPending =
false;
1253 l.componentMovedOrResized (*
this, wasMoved, wasResized);
1296 parentArea.getCentreY() -
height / 2,
1317 if (onlyReduceInSize
1328 if (sourceRatio <= targetRatio)
1336 if (! sourceArea.isEmpty())
1387 for (
auto* target = targetComponent; target !=
nullptr; target = target->
getParentComponent())
1389 transform = transform.
followedBy (target->getTransform());
1391 if (target->isOnDesktop())
1392 transform = transform.
scaled (target->getDesktopScaleFactor());
1395 auto transformScale = std::sqrt (std::abs (transform.
getDeterminant()));
1402 if (!
flags.ignoresMouseClicksFlag)
1405 if (
flags.allowChildMouseClicksFlag)
1411 if (child.isVisible()
1421 bool allowClicksOnChildComponents)
noexcept
1423 flags.ignoresMouseClicksFlag = ! allowClicks;
1424 flags.allowChildMouseClicksFlag = allowClicksOnChildComponents;
1428 bool& allowsClicksOnChildComponents)
const noexcept
1430 allowsClicksOnThisComponent = !
flags.ignoresMouseClicksFlag;
1431 allowsClicksOnChildComponents =
flags.allowChildMouseClicksFlag;
1446 if (
flags.hasHeavyweightPeerFlag)
1465 auto* compAtPosition = top->getComponentAt (top->getLocalPoint (
this, point));
1467 return (compAtPosition ==
this) || (returnTrueIfWithinAChild &&
isParentOf (compAtPosition));
1485 if (child !=
nullptr)
1550 if (child !=
nullptr)
1556 if (child !=
nullptr)
1562 if (child !=
nullptr)
1587 sendParentEvents = sendParentEvents && child->isShowing();
1589 if (sendParentEvents)
1593 if (child->isVisible())
1594 child->repaintParent();
1598 child->parentComponent =
nullptr;
1603 if (child->hasKeyboardFocus (
true))
1609 if (sendParentEvents)
1611 if (safeThis ==
nullptr)
1618 if (sendChildEvents)
1619 child->internalHierarchyChanged();
1621 if (sendParentEvents)
1661 if (
c->componentID == targetID)
1671 while (
comp->parentComponent !=
nullptr)
1679 while (possibleChild !=
nullptr)
1681 possibleChild = possibleChild->parentComponent;
1683 if (possibleChild ==
this)
1740 if (
flags.hasHeavyweightPeerFlag)
1746#if JUCE_MODAL_LOOPS_PERMITTED
1747int Component::runModalLoop()
1753 ->callFunctionOnMessageThread (&ComponentHelpers::runModalLoopCallback,
this);
1756 if (! isCurrentlyModal (
false))
1757 enterModalState (
true);
1759 return ModalComponentManager::getInstance()->runEventLoopForCurrentComponent();
1766 bool deleteWhenDismissed)
1779 auto& mcm = *ModalComponentManager::getInstance();
1780 mcm.startModal (
this, deleteWhenDismissed);
1781 mcm.attachCallback (
this,
callback);
1785 if (shouldTakeKeyboardFocus)
1803 auto& mcm = *ModalComponentManager::getInstance();
1804 mcm.endModal (
this, returnValue);
1805 mcm.bringModalComponentsToFront();
1810 if (deletionChecker !=
nullptr)
1817 if (target !=
nullptr)
1818 target->exitModalState (returnValue);
1826 auto& mcm = *ModalComponentManager::getInstance();
1828 return onlyConsiderForemostModalComponent ? mcm.isFrontModalComponent (
this)
1829 : mcm.isModal (
this);
1839 return ModalComponentManager::getInstance()->getNumModalComponents();
1844 return ModalComponentManager::getInstance()->getModalComponent (index);
1850 flags.bringToFrontOnClickFlag = shouldBeBroughtToFront;
1855 return flags.bringToFrontOnClickFlag;
1865 if (
flags.visibleFlag)
1883 flags.repaintOnMouseActivityFlag = shouldRepaint;
1905 if (
flags.hasHeavyweightPeerFlag)
1952 if (
flags.visibleFlag)
1955 if (! (isEntireComponent ?
cachedImage->invalidateAll()
1962 if (
flags.hasHeavyweightPeerFlag)
1967 auto peerBounds = peer->getBounds();
1969 (
float) peerBounds.getHeight() / (
float)
getHeight());
2008 auto clipBounds =
g.getClipBounds();
2026 if (child.isVisible())
2028 if (child.affineTransform !=
nullptr)
2032 g.addTransform (*child.affineTransform);
2034 if ((child.flags.dontClipGraphicsFlag && !
g.isClipEmpty()) ||
g.reduceClipRegion (child.getBounds()))
2035 child.paintWithinParentContext (
g);
2037 else if (clipBounds.intersects (child.getBounds()))
2041 if (child.flags.dontClipGraphicsFlag)
2043 child.paintWithinParentContext (
g);
2045 else if (
g.reduceClipRegion (child.getBounds()))
2047 bool nothingClipped =
true;
2053 if (sibling.flags.opaqueFlag && sibling.isVisible() && sibling.affineTransform ==
nullptr)
2055 nothingClipped =
false;
2056 g.excludeClipRegion (sibling.getBounds());
2060 if (nothingClipped || !
g.isClipEmpty())
2061 child.paintWithinParentContext (
g);
2077 if (!
flags.isInsidePaintCall)
2082 flags.isInsidePaintCall =
true;
2087 auto scale =
g.getInternalContext().getPhysicalPixelScaleFactor();
2092 scaledBounds.getWidth(), scaledBounds.getHeight(), !
flags.opaqueFlag);
2096 (
float) scaledBounds.getHeight() / (
float)
getHeight()));
2103 effect->applyEffect (effectImage,
g, scale, ignoreAlphaLevel ? 1.0f :
getAlpha());
2111 g.endTransparencyLayer();
2120 flags.isInsidePaintCall =
false;
2126 flags.dontClipGraphicsFlag = shouldPaintWithoutClipping;
2131 return flags.dontClipGraphicsFlag;
2136 bool clipImageToComponentBounds,
float scaleFactor)
2138 auto r = areaToGrab;
2140 if (clipImageToComponentBounds)
2146 auto w =
roundToInt (scaleFactor * (
float)
r.getWidth());
2147 auto h =
roundToInt (scaleFactor * (
float)
r.getHeight());
2155 (
float)
h / (
float)
r.getHeight()));
2156 g.setOrigin (-
r.getPosition());
2175 for (
auto*
c =
this;
c !=
nullptr;
c =
c->parentComponent)
2176 if (
auto lf =
c->lookAndFeel.get())
2200 if (safePointer !=
nullptr)
2204 if (safePointer !=
nullptr)
2210 if (safePointer ==
nullptr)
2250 bool changed =
false;
2307 enabledComponent->mouseWheelMove (
e.getEventRelativeTo (enabledComponent), wheel);
2314 enabledComponent->mouseMagnify (
e.getEventRelativeTo (enabledComponent), magnifyAmount);
2327 #if JUCE_DEBUG || JUCE_LOG_ASSERTIONS
2345 ModalComponentManager::getInstance()->bringModalComponentsToFront();
2357 current->inputAttemptWhenModal();
2365 if (target !=
nullptr)
2366 target->handleCommandMessage (commandID);
2377 bool wantsEventsForAllNestedChildComponents)
2385 jassert ((newListener !=
this) || wantsEventsForAllNestedChildComponents);
2390 mouseListeners->addListener (newListener, wantsEventsForAllNestedChildComponents);
2413 if (
flags.repaintOnMouseActivityFlag)
2430 flags.cachedMouseInsideComponent =
true;
2449 if (
flags.repaintOnMouseActivityFlag)
2452 flags.cachedMouseInsideComponent =
false;
2484 flags.mouseDownWasBlocked =
true;
2496 relativePointerState,
2506 desktop.getMouseListeners().callChecked (checker, [&] (
MouseListener&
l) {
l.mouseDown (me); });
2511 flags.mouseDownWasBlocked =
false;
2513 for (
auto*
c =
this;
c !=
nullptr;
c =
c->parentComponent)
2515 if (
c->isBroughtToFrontOnMouseClick())
2524 if (!
flags.dontFocusOnMouseClickFlag)
2532 if (
flags.repaintOnMouseActivityFlag)
2536 relativePointerState,
2550 desktop.getMouseListeners().callChecked (checker, [&] (
MouseListener&
l) {
l.mouseDown (me); });
2562 if (
flags.repaintOnMouseActivityFlag)
2566 relativePointerState,
2581 desktop.getMouseListeners().callChecked (checker, [&] (
MouseListener&
l) {
l.mouseUp (me); });
2583 MouseListenerList::template sendMouseEvent<const MouseEvent&> (*
this, checker, &
MouseListener::mouseUp, me);
2589 if (me.getNumberOfClicks() >= 2)
2596 desktop.mouseListeners.callChecked (checker, [&] (
MouseListener&
l) {
l.mouseDoubleClick (me); });
2608 relativePointerState,
2635 desktop.sendMouseMove();
2656 desktop.getMouseListeners().callChecked (checker, [&] (
MouseListener&
l) {
l.mouseMove (me); });
2682 desktop.mouseListeners.callChecked (checker, [&] (
MouseListener&
l) {
l.mouseWheelMove (me, wheel); });
2691 desktop.mouseListeners.callChecked (checker, [&] (
MouseListener&
l) {
l.mouseWheelMove (me, wheel); });
2694 MouseListenerList::template sendMouseEvent<const MouseEvent&, const MouseWheelDetails&> (*
this, checker, &
MouseListener::mouseWheelMove, me, wheel);
2699 Time time,
float amount)
2718 desktop.mouseListeners.callChecked (checker, [&] (
MouseListener&
l) {
l.mouseMagnify (me, amount); });
2727 desktop.mouseListeners.callChecked (checker, [&] (
MouseListener&
l) {
l.mouseMagnify (me, amount); });
2736 if (
flags.ignoresMouseClicksFlag && !
flags.allowChildMouseClicksFlag)
2741 if (! mainMouse.isDragging())
2742 mainMouse.triggerFakeMove();
2757 if (
flags.hasHeavyweightPeerFlag)
2775 ModalComponentManager::getInstance()->bringModalComponentsToFront (
false);
2795 if (safePointer ==
nullptr)
2802 if (safePointer ==
nullptr)
2814 if (safePointer !=
nullptr)
2828 if (
flags.childKeyboardFocusedFlag != childIsNowKeyboardFocused)
2830 flags.childKeyboardFocusedFlag = childIsNowKeyboardFocused;
2834 if (safePointer ==
nullptr)
2844 flags.wantsKeyboardFocusFlag = wantsFocus;
2849 flags.dontFocusOnMouseClickFlag = ! shouldGrabFocus;
2854 return !
flags.dontFocusOnMouseClickFlag;
2859 return flags.wantsKeyboardFocusFlag && !
flags.isDisabledFlag;
2872 return flags.isFocusContainerFlag;
2877 return flags.isKeyboardFocusContainerFlag;
2880template <
typename FocusContainerFn>
2885 if ((
parent->*isFocusContainer)() ||
parent->getParentComponent() ==
nullptr)
2919 return std::make_unique<FocusTraverser>();
2927 return std::make_unique<KeyboardFocusTraverser>();
2947 if (
auto* losingFocus = componentLosingFocus.
get())
2948 if (
auto* otherPeer = losingFocus->getPeer())
2949 otherPeer->closeInputMethodContext();
2957 if (componentLosingFocus !=
nullptr)
2958 componentLosingFocus->internalKeyboardFocusLoss (cause);
2970 if (
flags.wantsKeyboardFocusFlag
2982 if (
auto* defaultComp = traverser->getDefaultComponent (
this))
2984 defaultComp->grabKeyboardFocusInternal (cause,
false);
3016 if (
auto* otherPeer = componentLosingFocus->getPeer())
3017 otherPeer->closeInputMethodContext();
3021 if (sendFocusLossEvent && componentLosingFocus !=
nullptr)
3048 auto findComponentToFocus = [&]() ->
Component*
3050 if (
auto*
comp = (moveToNext ? traverser->getNextComponent (
this)
3051 : traverser->getPreviousComponent (
this)))
3056 auto allFocusableComponents = traverser->getAllComponents (focusContainer);
3058 if (! allFocusableComponents.empty())
3059 return moveToNext ? allFocusableComponents.front()
3060 : allFocusableComponents.back();
3066 if (
auto* nextComp = findComponentToFocus())
3068 if (nextComp->isCurrentlyBlockedByAnotherModalComponent())
3073 if (nextCompPointer ==
nullptr || nextComp->isCurrentlyBlockedByAnotherModalComponent())
3106 return (!
flags.isDisabledFlag)
3112 if (
flags.isDisabledFlag == shouldBeEnabled)
3114 flags.isDisabledFlag = ! shouldBeEnabled;
3143 if (safePointer ==
nullptr)
3150 c->sendEnablementChangeMessage();
3152 if (safePointer ==
nullptr)
3162 return flags.cachedMouseInsideComponent;
3166 auto*
c = ms.getComponentUnderMouse();
3168 if (
c !=
nullptr && (
c ==
this || (includeChildren &&
isParentOf (
c))))
3169 if (ms.isDragging() || ! (ms.isTouch() || ms.isPen()))
3170 if (
c->reallyContains (
c->getLocalPoint (
nullptr, ms.getScreenPosition()),
false))
3181 auto*
c = ms.getComponentUnderMouse();
3184 if (ms.isDragging())
3195 auto*
c = ms.getComponentUnderMouse();
3198 if (ms.isDragging() || ! ms.isTouch())
3227 keyListeners->removeFirstMatchingValue (listenerToRemove);
3249 jassert (component !=
nullptr);
3275 flags.accessibilityIgnoredFlag = ! shouldBeAccessible;
3277 if (
flags.accessibilityIgnoredFlag)
3283 return (!
flags.accessibilityIgnoredFlag
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AccessibilityHandler.h:41
Definition juce_Array.h:56
Definition juce_BorderSize.h:42
Rectangle< ValueType > subtractedFrom(const Rectangle< ValueType > &original) const noexcept
Definition juce_BorderSize.h:101
Definition juce_CachedComponentImage.h:42
CachedComponentImage()=default
Definition juce_Colour.h:38
uint32 getARGB() const noexcept
Definition juce_Colour.cpp:301
Definition juce_Component.h:2331
bool shouldBailOut() const noexcept
Definition juce_Component.cpp:3252
const WeakReference< Component > safePointer
Definition juce_Component.h:2340
BailOutChecker(Component *component)
Definition juce_Component.cpp:3246
Definition juce_Component.cpp:45
MouseListenerList() noexcept
Definition juce_Component.cpp:47
void addListener(MouseListener *newListener, bool wantsEventsForAllNestedChildComponents)
Definition juce_Component.cpp:49
void removeListener(MouseListener *listenerToRemove)
Definition juce_Component.cpp:65
int numDeepMouseListeners
Definition juce_Component.cpp:155
static void sendMouseEvent(Component &comp, Component::BailOutChecker &checker, void(MouseListener::*eventMethod)(Params...), Params... params)
Definition juce_Component.cpp:110
Array< MouseListener * > listeners
Definition juce_Component.cpp:154
Definition juce_Component.h:2355
Component & component
Definition juce_Component.h:2372
Positioner(Component &component) noexcept
Definition juce_Component.cpp:2266
Component & getComponent() const noexcept
Definition juce_Component.h:2363
Definition juce_ComponentBoundsConstrainer.h:44
Definition juce_Component.h:36
bool contains(Point< int > localPoint)
Definition juce_Component.cpp:1434
virtual void focusLost(FocusChangeType cause)
Definition juce_Component.cpp:2782
void moveKeyboardFocusToSibling(bool moveToNext)
Definition juce_Component.cpp:3038
ImageEffectFilter * effect
Definition juce_Component.h:2542
void mouseMagnify(const MouseEvent &event, float scaleFactor) override
Definition juce_Component.cpp:2310
bool isColourSpecified(int colourID) const
Definition juce_Component.cpp:2231
void paintEntireComponent(Graphics &context, bool ignoreAlphaLevel)
Definition juce_Component.cpp:2071
int proportionOfWidth(float proportion) const noexcept
Definition juce_Component.cpp:1111
static int JUCE_CALLTYPE getNumCurrentlyModalComponents() noexcept
Definition juce_Component.cpp:1837
void setLookAndFeel(LookAndFeel *newLookAndFeel)
Definition juce_Component.cpp:2182
Rectangle< int > getBoundsInParent() const noexcept
Definition juce_Component.cpp:2288
AffineTransform getTransform() const
Definition juce_Component.cpp:1378
virtual ComponentPeer * createNewPeer(int styleFlags, void *nativeWindowToAttachTo)
Definition juce_linux_Windowing.cpp:574
void deleteAllChildren()
Definition juce_Component.cpp:1637
void internalChildrenChanged()
Definition juce_Component.cpp:1694
Component * findChildWithID(StringRef componentID) const noexcept
Definition juce_Component.cpp:1658
void mouseDrag(const MouseEvent &event) override
Definition juce_Component.cpp:2299
void setTransform(const AffineTransform &transform)
Definition juce_Component.cpp:1341
bool isMouseButtonDown(bool includeChildren=false) const
Definition juce_Component.cpp:3177
static void JUCE_CALLTYPE unfocusAllComponents()
Definition juce_Component.cpp:3097
void removeComponentListener(ComponentListener *listenerToRemove)
Definition juce_Component.cpp:2337
void internalChildKeyboardFocusChange(FocusChangeType, const WeakReference< Component > &)
Definition juce_Component.cpp:2823
void setRepaintsOnMouseActivity(bool shouldRepaint) noexcept
Definition juce_Component.cpp:1881
bool isAccessible() const noexcept
Definition juce_Component.cpp:3281
virtual void childBoundsChanged(Component *child)
Definition juce_Component.cpp:2320
void copyAllExplicitColoursTo(Component &target) const
Definition juce_Component.cpp:2248
std::unique_ptr< AffineTransform > affineTransform
Definition juce_Component.h:2538
void setComponentID(const String &newID)
Definition juce_Component.cpp:570
void internalMouseEnter(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2404
void sendVisibilityChangeMessage()
Definition juce_Component.cpp:625
Component * getTopLevelComponent() const noexcept
Definition juce_Component.cpp:1667
String componentTitle
Definition juce_Component.h:2534
virtual void inputAttemptWhenModal()
Definition juce_Component.cpp:2343
WeakReference< LookAndFeel > lookAndFeel
Definition juce_Component.h:2540
virtual void paintOverChildren(Graphics &g)
Definition juce_Component.cpp:1990
void mouseMove(const MouseEvent &event) override
Definition juce_Component.cpp:2300
virtual std::unique_ptr< AccessibilityHandler > createAccessibilityHandler()
Definition juce_Component.cpp:3287
static Component *JUCE_CALLTYPE getCurrentlyModalComponent(int index=0) noexcept
Definition juce_Component.cpp:1842
void setBroughtToFrontOnMouseClick(bool shouldBeBroughtToFront) noexcept
Definition juce_Component.cpp:1848
void giveAwayKeyboardFocus()
Definition juce_Component.cpp:3029
void toBehind(Component *other)
Definition juce_Component.cpp:1004
void setAccessible(bool shouldBeAccessible)
Definition juce_Component.cpp:3273
void setBoundsInset(BorderSize< int > borders)
Definition juce_Component.cpp:1300
void internalMagnifyGesture(MouseInputSource, Point< float >, Time, float)
Definition juce_Component.cpp:2698
void setInterceptsMouseClicks(bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept
Definition juce_Component.cpp:1420
bool isMouseOverOrDragging(bool includeChildren=false) const
Definition juce_Component.cpp:3191
void internalKeyboardFocusLoss(FocusChangeType)
Definition juce_Component.cpp:2808
void setCentreRelative(float x, float y)
Definition juce_Component.cpp:1273
NamedValueSet properties
Definition juce_Component.h:2549
ComponentFlags flags
Definition juce_Component.h:2589
static bool JUCE_CALLTYPE isMouseButtonDownAnywhere() noexcept
Definition juce_Component.cpp:3205
void grabKeyboardFocusInternal(FocusChangeType, bool canTryParent)
Definition juce_Component.cpp:2965
virtual MouseCursor getMouseCursor()
Definition juce_Component.cpp:1870
bool isVisible() const noexcept
Definition juce_Component.h:122
void removeFromDesktop()
Definition juce_Component.cpp:773
int getScreenY() const
Definition juce_Component.cpp:1132
Component * getParentComponent() const noexcept
Definition juce_Component.h:804
void * getWindowHandle() const
Definition juce_Component.cpp:649
int getNumChildComponents() const noexcept
Definition juce_Component.cpp:1643
uint32 componentFlags
Definition juce_Component.h:2588
void takeKeyboardFocus(FocusChangeType)
Definition juce_Component.cpp:2932
virtual void childrenChanged()
Definition juce_Component.cpp:1692
int proportionOfHeight(float proportion) const noexcept
Definition juce_Component.cpp:1112
String componentDescription
Definition juce_Component.h:2534
std::unique_ptr< MouseListenerList > mouseListeners
Definition juce_Component.h:2546
virtual void parentHierarchyChanged()
Definition juce_Component.cpp:1691
MouseCursor cursor
Definition juce_Component.h:2541
Component * parentComponent
Definition juce_Component.h:2535
Image createComponentSnapshot(Rectangle< int > areaToGrab, bool clipImageToComponentBounds=true, float scaleFactor=1.0f)
Definition juce_Component.cpp:2135
int getScreenX() const
Definition juce_Component.cpp:1131
void setPositioner(Positioner *newPositioner)
Definition juce_Component.cpp:2275
virtual void focusGained(FocusChangeType cause)
Definition juce_Component.cpp:2781
void setTitle(const String &newTitle)
Definition juce_Component.cpp:3258
bool reallyContains(Point< int > localPoint, bool returnTrueIfWithinAChild)
Definition juce_Component.cpp:1454
int getIndexOfChildComponent(const Component *child) const noexcept
Definition juce_Component.cpp:1653
bool isAlwaysOnTop() const noexcept
Definition juce_Component.cpp:1105
bool isOpaque() const noexcept
Definition juce_Component.cpp:843
void setFocusContainerType(FocusContainerType containerType) noexcept
Definition juce_Component.cpp:2862
virtual void minimisationStateChanged(bool isNowMinimised)
Definition juce_Component.cpp:824
Point< int > getPosition() const noexcept
Definition juce_Component.h:286
int getHeight() const noexcept
Definition juce_Component.h:274
void paintComponentAndChildren(Graphics &)
Definition juce_Component.cpp:2006
void grabKeyboardFocus()
Definition juce_Component.cpp:2995
Component * findFocusContainer() const
Definition juce_Component.cpp:2894
ListenerList< ComponentListener > componentListeners
Definition juce_Component.h:2548
Rectangle< int > getLocalArea(const Component *sourceComponent, Rectangle< int > areaRelativeToSourceComponent) const
Definition juce_Component.cpp:1138
void sendFakeMouseMove() const
Definition juce_Component.cpp:2734
bool isTransformed() const noexcept
Definition juce_Component.cpp:1373
virtual void userTriedToCloseWindow()
Definition juce_Component.cpp:812
int getX() const noexcept
Definition juce_Component.h:259
int getExplicitFocusOrder() const
Definition juce_Component.cpp:2906
void toBack()
Definition juce_Component.cpp:1046
void internalMouseUp(MouseInputSource, const PointerState &, Time, const ModifierKeys oldModifiers)
Definition juce_Component.cpp:2555
std::unique_ptr< AccessibilityHandler > accessibilityHandler
Definition juce_Component.h:2554
void toFront(bool shouldAlsoGainKeyboardFocus)
Definition juce_Component.cpp:954
Point< int > getLocalPoint(const Component *sourceComponent, Point< int > pointRelativeToSourceComponent) const
Definition juce_Component.cpp:1136
static Component *JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept
Definition juce_Component.cpp:3092
bool isShowing() const
Definition juce_Component.cpp:634
virtual std::unique_ptr< ComponentTraverser > createKeyboardFocusTraverser()
Definition juce_Component.cpp:2924
void sendLookAndFeelChange()
Definition juce_Component.cpp:2194
void setTopRightPosition(int x, int y)
Definition juce_Component.cpp:1267
static float JUCE_CALLTYPE getApproximateScaleFactorForComponent(const Component *targetComponent)
Definition juce_Component.cpp:1383
void giveAwayKeyboardFocusInternal(bool sendFocusLossEvent)
Definition juce_Component.cpp:3010
void setAlpha(float newAlpha)
Definition juce_Component.cpp:1892
void addComponentListener(ComponentListener *newListener)
Definition juce_Component.cpp:2323
void mouseUp(const MouseEvent &event) override
Definition juce_Component.cpp:2298
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
virtual bool canModalEventBeSentToComponent(const Component *targetComponent)
Definition juce_Component.cpp:2349
FocusChangeType
Definition juce_Component.h:1890
@ focusChangedByTabKey
Definition juce_Component.h:1892
@ focusChangedDirectly
Definition juce_Component.h:1893
@ focusChangedByMouseClick
Definition juce_Component.h:1891
void mouseExit(const MouseEvent &event) override
Definition juce_Component.cpp:2296
void setPaintingIsUnclipped(bool shouldPaintWithoutClipping) noexcept
Definition juce_Component.cpp:2124
void setAlwaysOnTop(bool shouldStayOnTop)
Definition juce_Component.cpp:1074
Positioner * getPositioner() const noexcept
Definition juce_Component.cpp:2270
float getAlpha() const noexcept
Definition juce_Component.cpp:1887
uint8 componentTransparency
Definition juce_Component.h:2592
bool hasKeyboardFocus(bool trueIfChildIsFocused) const
Definition juce_Component.cpp:3086
virtual void alphaChanged()
Definition juce_Component.cpp:1903
bool isCurrentlyBlockedByAnotherModalComponent() const
Definition juce_Component.cpp:1832
void addMouseListener(MouseListener *newListener, bool wantsEventsForAllNestedChildComponents)
Definition juce_Component.cpp:2376
void setDescription(const String &newDescription)
Definition juce_Component.cpp:3263
bool isBroughtToFrontOnMouseClick() const noexcept
Definition juce_Component.cpp:1853
String componentName
Definition juce_Component.h:2534
static Component * currentlyFocusedComponent
Definition juce_Component.h:2531
AccessibilityHandler * getAccessibilityHandler()
Definition juce_Component.cpp:3302
void setOpaque(bool shouldBeOpaque)
Definition juce_Component.cpp:829
void setMouseCursor(const MouseCursor &cursorType)
Definition juce_Component.cpp:1859
void setCentrePosition(int x, int y)
Definition juce_Component.cpp:1271
void postCommandMessage(int commandId)
Definition juce_Component.cpp:2361
virtual void enablementChanged()
Definition juce_Component.cpp:3135
virtual void modifierKeysChanged(const ModifierKeys &modifiers)
Definition juce_Component.cpp:3233
void mouseEnter(const MouseEvent &event) override
Definition juce_Component.cpp:2295
void setEnabled(bool shouldBeEnabled)
Definition juce_Component.cpp:3110
Rectangle< int > getBounds() const noexcept
Definition juce_Component.h:304
void repaint()
Definition juce_Component.cpp:1917
void sendMovedResizedMessagesIfPending()
Definition juce_Component.cpp:1202
void addKeyListener(KeyListener *newListener)
Definition juce_Component.cpp:3216
Component() noexcept
Definition juce_Component.cpp:517
FocusContainerType
Definition juce_Component.h:1277
@ focusContainer
Definition juce_Component.h:1295
@ keyboardFocusContainer
Definition juce_Component.h:1307
Rectangle< int > getScreenBounds() const
Definition juce_Component.cpp:1134
std::unique_ptr< Positioner > positioner
Definition juce_Component.h:2537
void getInterceptsMouseClicks(bool &allowsClicksOnThisComponent, bool &allowsClicksOnChildComponents) const noexcept
Definition juce_Component.cpp:1427
WeakReference< Component >::Master masterReference
Definition juce_Component.h:2552
Point< int > getMouseXYRelative() const
Definition juce_Component.cpp:3210
void removeMouseListener(MouseListener *listenerToRemove)
Definition juce_Component.cpp:2393
bool isOnDesktop() const noexcept
Definition juce_Component.cpp:796
void internalHierarchyChanged()
Definition juce_Component.cpp:1711
void internalMouseWheel(MouseInputSource, Point< float >, Time, const MouseWheelDetails &)
Definition juce_Component.cpp:2662
virtual bool hitTest(int x, int y)
Definition juce_Component.cpp:1400
void exitModalState(int returnValue)
Definition juce_Component.cpp:1795
void setBoundsToFit(Rectangle< int > targetArea, Justification justification, bool onlyReduceInSize)
Definition juce_Component.cpp:1305
std::unique_ptr< Array< KeyListener * > > keyListeners
Definition juce_Component.h:2547
bool getMouseClickGrabsKeyboardFocus() const noexcept
Definition juce_Component.cpp:2852
virtual void resized()
Definition juce_Component.cpp:2318
Rectangle< int > localAreaToGlobal(Rectangle< int > localArea) const
Definition juce_Component.cpp:1143
void reorderChildInternal(int sourceIndex, int destIndex)
Definition juce_Component.cpp:939
bool isKeyboardFocusContainer() const noexcept
Definition juce_Component.cpp:2875
int getY() const noexcept
Definition juce_Component.h:268
virtual void setName(const String &newName)
Definition juce_Component.cpp:551
void removeChildComponent(Component *childToRemove)
Definition juce_Component.cpp:1569
std::unique_ptr< CachedComponentImage > cachedImage
Definition juce_Component.h:2543
Component * getChildComponent(int index) const noexcept
Definition juce_Component.cpp:1648
bool isParentOf(const Component *possibleChild) const noexcept
Definition juce_Component.cpp:1677
void removeColour(int colourID)
Definition juce_Component.cpp:2236
void internalMouseDrag(MouseInputSource, const PointerState &, Time)
Definition juce_Component.cpp:2601
void removeAllChildren()
Definition juce_Component.cpp:1631
String componentID
Definition juce_Component.h:2534
virtual void addToDesktop(int windowStyleFlags, void *nativeWindowToAttachTo=nullptr)
Definition juce_Component.cpp:658
void setBufferedToImage(bool shouldBeBuffered)
Definition juce_Component.cpp:919
void setBounds(int x, int y, int width, int height)
Definition juce_Component.cpp:1147
void setSize(int newWidth, int newHeight)
Definition juce_Component.cpp:1262
virtual bool keyStateChanged(bool isKeyDown)
Definition juce_Component.cpp:3231
void setColour(int colourID, Colour newColour)
Definition juce_Component.cpp:2242
void enterModalState(bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false)
Definition juce_Component.cpp:1764
bool isPaintingUnclipped() const noexcept
Definition juce_Component.cpp:2129
Array< Component * > childComponentList
Definition juce_Component.h:2539
void setWantsKeyboardFocus(bool wantsFocus) noexcept
Definition juce_Component.cpp:2842
Colour findColour(int colourID, bool inheritFromParent=false) const
Definition juce_Component.cpp:2219
void internalMouseExit(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2440
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
void setMouseClickGrabsKeyboardFocus(bool shouldGrabFocus)
Definition juce_Component.cpp:2847
void mouseDoubleClick(const MouseEvent &event) override
Definition juce_Component.cpp:2301
virtual void parentSizeChanged()
Definition juce_Component.cpp:2321
Rectangle< int > getParentMonitorArea() const
Definition juce_Component.cpp:1126
void internalMouseDown(MouseInputSource, const PointerState &, Time)
Definition juce_Component.cpp:2477
static std::unique_ptr< AccessibilityHandler > createIgnoredAccessibilityHandler(Component &)
Definition juce_Component.cpp:3292
int getWidth() const noexcept
Definition juce_Component.h:271
~Component() override
Definition juce_Component.cpp:527
void internalKeyboardFocusGain(FocusChangeType, const WeakReference< Component > &)
Definition juce_Component.cpp:2790
void mouseWheelMove(const MouseEvent &event, const MouseWheelDetails &wheel) override
Definition juce_Component.cpp:2303
bool isFocusContainer() const noexcept
Definition juce_Component.cpp:2870
void internalMouseMove(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2628
static void JUCE_CALLTYPE beginDragAutoRepeat(int millisecondsBetweenCallbacks)
Definition juce_Component.cpp:2745
bool isEnabled() const noexcept
Definition juce_Component.cpp:3104
virtual std::unique_ptr< ComponentTraverser > createFocusTraverser()
Definition juce_Component.cpp:2916
Point< int > localPointToGlobal(Point< int > localPoint) const
Definition juce_Component.cpp:1141
bool getWantsKeyboardFocus() const noexcept
Definition juce_Component.cpp:2857
void updateMouseCursor() const
Definition juce_Component.cpp:1875
void addChildAndSetID(Component *child, const String &componentID)
Definition juce_Component.cpp:1560
ComponentPeer * getPeer() const
Definition juce_Component.cpp:801
virtual void focusOfChildComponentChanged(FocusChangeType cause)
Definition juce_Component.cpp:2783
void internalRepaintUnchecked(Rectangle< int >, bool)
Definition juce_Component.cpp:1946
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
virtual bool keyPressed(const KeyPress &key)
Definition juce_Component.cpp:3230
void setExplicitFocusOrder(int newFocusOrderIndex)
Definition juce_Component.cpp:2911
void setHelpText(const String &newHelpText)
Definition juce_Component.cpp:3268
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
int getParentWidth() const noexcept
Definition juce_Component.cpp:1114
Point< int > getScreenPosition() const
Definition juce_Component.cpp:1133
void setComponentEffect(ImageEffectFilter *newEffect)
Definition juce_Component.cpp:2163
void internalModalInputAttempt()
Definition juce_Component.cpp:2354
void setTopLeftPosition(int x, int y)
Definition juce_Component.cpp:1264
virtual void broughtToFront()
Definition juce_Component.cpp:2751
void centreWithSize(int width, int height)
Definition juce_Component.cpp:1290
String componentHelpText
Definition juce_Component.h:2534
virtual void lookAndFeelChanged()
Definition juce_Component.cpp:2191
void sendMovedResizedMessages(bool wasMoved, bool wasResized)
Definition juce_Component.cpp:1216
void internalBroughtToFront()
Definition juce_Component.cpp:2755
virtual void colourChanged()
Definition juce_Component.cpp:2192
Component * findKeyboardFocusContainer() const
Definition juce_Component.cpp:2899
void sendEnablementChangeMessage()
Definition juce_Component.cpp:3137
void addChildComponent(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1548
friend class ComponentPeer
Definition juce_Component.h:2527
virtual void paint(Graphics &g)
Definition juce_Component.cpp:1983
void internalRepaint(Rectangle< int >)
Definition juce_Component.cpp:1938
void internalModifierKeysChanged()
Definition juce_Component.cpp:3239
bool isCurrentlyModal(bool onlyConsiderForemostModalComponent=true) const noexcept
Definition juce_Component.cpp:1824
void mouseDown(const MouseEvent &event) override
Definition juce_Component.cpp:2297
virtual void setVisible(bool shouldBeVisible)
Definition juce_Component.cpp:575
void invalidateAccessibilityHandler()
Definition juce_Component.cpp:3297
virtual void visibilityChanged()
Definition juce_Component.cpp:623
void removeKeyListener(KeyListener *listenerToRemove)
Definition juce_Component.cpp:3224
Component * getComponentAt(int x, int y)
Definition juce_Component.cpp:1495
void repaintParent()
Definition juce_Component.cpp:1932
Rectangle< int > boundsRelativeToParent
Definition juce_Component.h:2536
virtual float getDesktopScaleFactor() const
Definition juce_Component.cpp:826
int getParentHeight() const noexcept
Definition juce_Component.cpp:1120
void paintWithinParentContext(Graphics &)
Definition juce_Component.cpp:1996
void setCachedComponentImage(CachedComponentImage *newCachedImage)
Definition juce_Component.cpp:910
virtual void moved()
Definition juce_Component.cpp:2319
void setBoundsRelative(float proportionalX, float proportionalY, float proportionalWidth, float proportionalHeight)
Definition juce_Component.cpp:1285
virtual void handleCommandMessage(int commandId)
Definition juce_Component.cpp:2370
Definition juce_ComponentListener.h:43
@ windowIsSemiTransparent
Definition juce_ComponentPeer.h:78
static ComponentPeer * getPeerFor(const Component *) noexcept
Definition juce_ComponentPeer.cpp:61
static Point< int > getMousePosition()
Definition juce_Desktop.cpp:153
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
Definition juce_GraphicsContext.h:660
Definition juce_GraphicsContext.h:45
void addTransform(const AffineTransform &transform)
Definition juce_GraphicsContext.cpp:255
LowLevelGraphicsContext & getInternalContext() const noexcept
Definition juce_GraphicsContext.h:736
Definition juce_Identifier.h:39
Definition juce_ImageEffectFilter.h:43
Definition juce_Image.h:58
@ ARGB
Definition juce_Image.h:67
@ RGB
Definition juce_Image.h:66
Definition juce_Justification.h:41
const Rectangle< ValueType > appliedToRectangle(const Rectangle< ValueType > &areaToAdjust, const Rectangle< ValueType > &targetSpace) const noexcept
Definition juce_Justification.h:93
Definition juce_KeyListener.h:41
Definition juce_KeyPress.h:40
Definition juce_LookAndFeel.h:108
static LookAndFeel & getDefaultLookAndFeel() noexcept
Definition juce_LookAndFeel.cpp:107
virtual void addTransform(const AffineTransform &)=0
static bool callAsync(std::function< void()> functionToCall)
Definition juce_MessageManager.cpp:192
static MessageManager * getInstance()
Definition juce_MessageManager.cpp:47
Definition juce_ModalComponentManager.h:56
Definition juce_ModifierKeys.h:41
static ModifierKeys currentModifiers
Definition juce_ModifierKeys.h:189
Definition juce_MouseCursor.h:39
@ NormalCursor
Definition juce_MouseCursor.h:48
Definition juce_MouseEvent.h:39
Definition juce_MouseListener.h:39
virtual void mouseEnter(const MouseEvent &event)
Definition juce_MouseListener.cpp:29
virtual void mouseMagnify(const MouseEvent &event, float scaleFactor)
Definition juce_MouseListener.cpp:37
virtual void mouseMove(const MouseEvent &event)
Definition juce_MouseListener.cpp:34
virtual void mouseUp(const MouseEvent &event)
Definition juce_MouseListener.cpp:32
virtual void mouseDrag(const MouseEvent &event)
Definition juce_MouseListener.cpp:33
virtual void mouseDoubleClick(const MouseEvent &event)
Definition juce_MouseListener.cpp:35
virtual void mouseDown(const MouseEvent &event)
Definition juce_MouseListener.cpp:31
virtual void mouseExit(const MouseEvent &event)
Definition juce_MouseListener.cpp:30
virtual void mouseWheelMove(const MouseEvent &event, const MouseWheelDetails &wheel)
Definition juce_MouseListener.cpp:36
bool set(const Identifier &name, const var &newValue)
Definition juce_NamedValueSet.cpp:183
Definition juce_Point.h:42
constexpr Point< float > toFloat() const noexcept
Definition juce_Point.h:234
constexpr Point< int > roundToInt() const noexcept
Definition juce_Point.h:240
ValueType y
Definition juce_Point.h:247
ValueType x
Definition juce_Point.h:246
Definition juce_PointerState.h:32
Point< float > position
Definition juce_PointerState.h:52
Definition juce_Rectangle.h:67
JUCE_NODISCARD Rectangle withZeroOrigin() const noexcept
Definition juce_Rectangle.h:238
bool contains(ValueType xCoord, ValueType yCoord) const noexcept
Definition juce_Rectangle.h:622
Rectangle getIntersection(Rectangle other) const noexcept
Definition juce_Rectangle.h:664
ValueType getHeight() const noexcept
Definition juce_Rectangle.h:136
ValueType getWidth() const noexcept
Definition juce_Rectangle.h:133
bool isEmpty() const noexcept
Definition juce_Rectangle.h:121
Definition juce_RectangleList.h:43
Definition juce_String.h:53
Definition juce_StringRef.h:62
Definition juce_Time.h:37
static Time JUCE_CALLTYPE getCurrentTime() noexcept
Definition juce_Time.cpp:233
Definition juce_WeakReference.h:78
ObjectType * get() const noexcept
Definition juce_WeakReference.h:102
* e
Definition inflate.c:1404
UINT_D64 w
Definition inflate.c:942
int * l
Definition inflate.c:1579
struct huft * t
Definition inflate.c:943
register unsigned j
Definition inflate.c:1576
int y
Definition inflate.c:1588
unsigned v[N_MAX]
Definition inflate.c:1584
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
static const char * name
Definition pugl.h:1582
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
static uintptr_t parent
Definition pugl.h:1644
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
Definition juce_MessageManager.h:465
#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED_OR_OFFSCREEN
Definition juce_gui_basics.cpp:102
float in
Definition lilv_test.c:1460
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
const Colour transparentBlack
Definition juce_Colours.h:40
const Colour black
Definition juce_Colours.h:50
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
unsigned int uint32
Definition juce_MathsFunctions.h:45
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
@ elementCreated
Definition juce_AccessibilityHandler.cpp:33
@ elementMovedOrResized
Definition juce_AccessibilityHandler.cpp:35
@ windowOpened
Definition juce_AccessibilityHandler.cpp:37
@ windowClosed
Definition juce_AccessibilityHandler.cpp:38
void notifyAccessibilityEventInternal(const AccessibilityHandler &, InternalAccessibilityEvent)
Definition juce_gui_basics.cpp:336
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
auto makeMouseEvent(MouseInputSource source, const PointerState &ps, ModifierKeys modifiers, Component *eventComponent, Component *originator, Time eventTime, Point< float > mouseDownPos, Time mouseDownTime, int numberOfClicks, bool mouseWasDragged)
Definition juce_PointerState.h:78
static const Identifier juce_explicitFocusOrderId("_jexfo")
@ structureChanged
Definition juce_AccessibilityEvent.h:57
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback function
Definition juce_linux_JackAudio.cpp:63
static Component * findContainer(const Component *child, FocusContainerFn isFocusContainer)
Definition juce_Component.cpp:2881
static const char colourPropertyPrefix[]
Definition juce_Component.cpp:292
int pointer_sized_int
Definition juce_MathsFunctions.h:80
unsigned char uint8
Definition juce_MathsFunctions.h:37
static Component * findFirstEnabledAncestor(Component *in)
Definition juce_Component.cpp:29
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
@ list
Definition juce_AccessibilityRole.h:56
@ image
Definition juce_AccessibilityRole.h:42
@ unspecified
Definition juce_AccessibilityRole.h:68
@ ignored
Definition juce_AccessibilityRole.h:67
constexpr int numElementsInArray(Type(&)[N]) noexcept
Definition juce_MathsFunctions.h:344
Definition juce_Component.cpp:296
static PointOrRect rawPeerPositionToLocal(const Component &comp, PointOrRect pos) noexcept
Definition juce_Component.cpp:336
static PointOrRect convertFromDistantParentSpace(const Component *parent, const Component &target, PointOrRect coordInParent)
Definition juce_Component.cpp:400
static PointOrRect convertToParentSpace(const Component &comp, const PointOrRect pointInLocalSpace)
Definition juce_Component.cpp:376
static Identifier getColourPropertyID(int colourID)
Definition juce_Component.cpp:304
static void releaseAllCachedImageResources(Component &c)
Definition juce_Component.cpp:488
static PointOrRect convertFromParentSpace(const Component &comp, const PointOrRect pointInParentSpace)
Definition juce_Component.cpp:355
static PointOrRect convertCoordinate(const Component *target, const Component *source, PointOrRect p)
Definition juce_Component.cpp:414
static bool hitTest(Component &comp, Point< float > localPoint)
Definition juce_Component.cpp:327
static bool modalWouldBlockComponent(const Component &maybeBlocked, Component *modal)
Definition juce_Component.cpp:498
static void sendMouseEventToComponentsThatAreBlockedByModal(Component &modal, Function &&function)
Definition juce_Component.cpp:507
static bool clipObscuredRegions(const Component &comp, Graphics &g, const Rectangle< int > clipRect, Point< int > delta)
Definition juce_Component.cpp:446
static Rectangle< int > getParentOrMainMonitorBounds(const Component &comp)
Definition juce_Component.cpp:480
static PointOrRect localPositionToRawPeerPos(const Component &comp, PointOrRect pos) noexcept
Definition juce_Component.cpp:346
Definition juce_Component.cpp:158
bool shouldBailOut() const noexcept
Definition juce_Component.cpp:164
BailOutChecker2(Component::BailOutChecker &boc, Component *comp)
Definition juce_Component.cpp:159
Component::BailOutChecker & checker
Definition juce_Component.cpp:170
const WeakReference< Component > safePointer
Definition juce_Component.cpp:171
~FocusRestorer()
Definition juce_Component.cpp:184
WeakReference< Component > lastFocus
Definition juce_Component.cpp:192
FocusRestorer()
Definition juce_Component.cpp:182
Definition juce_MouseEvent.h:392
Definition juce_Component.cpp:199
static Point< int > addPosition(Point< int > p, const Component &c) noexcept
Definition juce_Component.cpp:270
static Point< float > subtractPosition(Point< float > p, const Component &c) noexcept
Definition juce_Component.cpp:276
static PointOrRect scaledScreenPosToUnscaled(float scale, PointOrRect pos) noexcept
Definition juce_Component.cpp:207
static Point< float > screenPosToLocalPos(Component &comp, Point< float > pos)
Definition juce_Component.cpp:279
static Rectangle< float > subtractPosition(Rectangle< float > p, const Component &c) noexcept
Definition juce_Component.cpp:277
static Rectangle< float > addPosition(Rectangle< float > p, const Component &c) noexcept
Definition juce_Component.cpp:273
static Rectangle< int > subtractPosition(Rectangle< int > p, const Component &c) noexcept
Definition juce_Component.cpp:275
static Rectangle< int > unscaledScreenPosToScaled(float scale, Rectangle< int > pos) noexcept
Definition juce_Component.cpp:214
static Rectangle< float > unscaledScreenPosToScaled(float scale, Rectangle< float > pos) noexcept
Definition juce_Component.cpp:230
static Rectangle< float > scaledScreenPosToUnscaled(float scale, Rectangle< float > pos) noexcept
Definition juce_Component.cpp:238
static PointOrRect scaledScreenPosToUnscaled(const Component &comp, PointOrRect pos) noexcept
Definition juce_Component.cpp:265
static PointOrRect unscaledScreenPosToScaled(float scale, PointOrRect pos) noexcept
Definition juce_Component.cpp:201
static Point< int > subtractPosition(Point< int > p, const Component &c) noexcept
Definition juce_Component.cpp:274
static Rectangle< int > scaledScreenPosToUnscaled(float scale, Rectangle< int > pos) noexcept
Definition juce_Component.cpp:222
static PointOrRect unscaledScreenPosToScaled(const Component &comp, PointOrRect pos) noexcept
Definition juce_Component.cpp:259
static Point< float > addPosition(Point< float > p, const Component &c) noexcept
Definition juce_Component.cpp:272
static Rectangle< int > addPosition(Rectangle< int > p, const Component &c) noexcept
Definition juce_Component.cpp:271
static PointOrRect unscaledScreenPosToScaled(PointOrRect pos) noexcept
Definition juce_Component.cpp:247
static PointOrRect scaledScreenPosToUnscaled(PointOrRect pos) noexcept
Definition juce_Component.cpp:253
Definition juce_Component.cpp:850
float scale
Definition juce_Component.cpp:905
bool invalidate(const Rectangle< int > &area) override
Definition juce_Component.cpp:898
StandardCachedComponentImage(Component &c) noexcept
Definition juce_Component.cpp:851
Component & owner
Definition juce_Component.cpp:904
void releaseResources() override
Definition juce_Component.cpp:899
bool invalidateAll() override
Definition juce_Component.cpp:897
Image image
Definition juce_Component.cpp:902
void paint(Graphics &g) override
Definition juce_Component.cpp:853
RectangleList< int > validArea
Definition juce_Component.cpp:903
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
int r
Definition crypt.c:458
uch h[RAND_HEAD_LEN]
Definition crypt.c:459
void handler(int signal)
Definition fileio.c:1632
ss
Definition zipinfo.c:2292
#define const
Definition zconf.h:137