LMMS
Loading...
Searching...
No Matches
juce_Component.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
36{
37public:
38 //==============================================================================
51 Component() noexcept;
52
65 ~Component() override;
66
67 //==============================================================================
71 explicit Component (const String& componentName) noexcept;
72
77
85 virtual void setName (const String& newName);
86
91
96 void setComponentID (const String& newID);
97
98 //==============================================================================
112 virtual void setVisible (bool shouldBeVisible);
113
122 bool isVisible() const noexcept { return flags.visibleFlag; }
123
127 virtual void visibilityChanged();
128
134 bool isShowing() const;
135
136 //==============================================================================
160 virtual void addToDesktop (int windowStyleFlags,
161 void* nativeWindowToAttachTo = nullptr);
162
170 void removeFromDesktop();
171
175 bool isOnDesktop() const noexcept;
176
187 ComponentPeer* getPeer() const;
188
196 virtual void userTriedToCloseWindow();
197
202 virtual void minimisationStateChanged (bool isNowMinimised);
203
211 virtual float getDesktopScaleFactor() const;
212
213 //==============================================================================
225 void toFront (bool shouldAlsoGainKeyboardFocus);
226
234 void toBack();
235
239 void toBehind (Component* other);
240
244 void setAlwaysOnTop (bool shouldStayOnTop);
245
249 bool isAlwaysOnTop() const noexcept;
250
251 //==============================================================================
259 int getX() const noexcept { return boundsRelativeToParent.getX(); }
260
268 int getY() const noexcept { return boundsRelativeToParent.getY(); }
269
271 int getWidth() const noexcept { return boundsRelativeToParent.getWidth(); }
272
274 int getHeight() const noexcept { return boundsRelativeToParent.getHeight(); }
275
283 int getRight() const noexcept { return boundsRelativeToParent.getRight(); }
284
287
295 int getBottom() const noexcept { return boundsRelativeToParent.getBottom(); }
296
305
310 Rectangle<int> getLocalBounds() const noexcept;
311
319 Rectangle<int> getBoundsInParent() const noexcept;
320
321 //==============================================================================
325 int getScreenX() const;
326
330 int getScreenY() const;
331
335 Point<int> getScreenPosition() const;
336
340 Rectangle<int> getScreenBounds() const;
341
348 Point<int> getLocalPoint (const Component* sourceComponent,
349 Point<int> pointRelativeToSourceComponent) const;
350
357 Point<float> getLocalPoint (const Component* sourceComponent,
358 Point<float> pointRelativeToSourceComponent) const;
359
370 Rectangle<int> getLocalArea (const Component* sourceComponent,
371 Rectangle<int> areaRelativeToSourceComponent) const;
372
383 Rectangle<float> getLocalArea (const Component* sourceComponent,
384 Rectangle<float> areaRelativeToSourceComponent) const;
385
389 Point<int> localPointToGlobal (Point<int> localPoint) const;
390
394 Point<float> localPointToGlobal (Point<float> localPoint) const;
395
403 Rectangle<int> localAreaToGlobal (Rectangle<int> localArea) const;
404
412 Rectangle<float> localAreaToGlobal (Rectangle<float> localArea) const;
413
414 //==============================================================================
428 void setTopLeftPosition (int x, int y);
429
443 void setTopLeftPosition (Point<int> newTopLeftPosition);
444
456 void setTopRightPosition (int x, int y);
457
466 void setSize (int newWidth, int newHeight);
467
482 void setBounds (int x, int y, int width, int height);
483
498 void setBounds (Rectangle<int> newBounds);
499
509 void setBoundsRelative (float proportionalX, float proportionalY,
510 float proportionalWidth, float proportionalHeight);
511
521 void setBoundsRelative (Rectangle<float> proportionalArea);
522
530 void setBoundsInset (BorderSize<int> borders);
531
546 void setBoundsToFit (Rectangle<int> targetArea,
547 Justification justification,
548 bool onlyReduceInSize);
549
557 void setCentrePosition (int x, int y);
558
566 void setCentrePosition (Point<int> newCentrePosition);
567
573 void setCentreRelative (float x, float y);
574
581 void centreWithSize (int width, int height);
582
583 //==============================================================================
601 void setTransform (const AffineTransform& transform);
602
607 AffineTransform getTransform() const;
608
613 bool isTransformed() const noexcept;
614
618 static float JUCE_CALLTYPE getApproximateScaleFactorForComponent (const Component* targetComponent);
619
620 //==============================================================================
624 int proportionOfWidth (float proportion) const noexcept;
625
629 int proportionOfHeight (float proportion) const noexcept;
630
636 int getParentWidth() const noexcept;
637
643 int getParentHeight() const noexcept;
644
651 Rectangle<int> getParentMonitorArea() const;
652
653 //==============================================================================
658 int getNumChildComponents() const noexcept;
659
669 Component* getChildComponent (int index) const noexcept;
670
680 int getIndexOfChildComponent (const Component* child) const noexcept;
681
686
690 Component* findChildWithID (StringRef componentID) const noexcept;
691
708 void addChildComponent (Component* child, int zOrder = -1);
709
726 void addChildComponent (Component& child, int zOrder = -1);
727
738 void addAndMakeVisible (Component* child, int zOrder = -1);
739
750 void addAndMakeVisible (Component& child, int zOrder = -1);
751
755 void addChildAndSetID (Component* child, const String& componentID);
756
768 void removeChildComponent (Component* childToRemove);
769
781 Component* removeChildComponent (int childIndexToRemove);
782
786 void removeAllChildren();
787
797 void deleteAllChildren();
798
805
812 template <class TargetClass>
813 TargetClass* findParentComponentOfClass() const
814 {
815 for (auto* p = parentComponent; p != nullptr; p = p->parentComponent)
816 if (auto* target = dynamic_cast<TargetClass*> (p))
817 return target;
818
819 return nullptr;
820 }
821
828 Component* getTopLevelComponent() const noexcept;
829
835 bool isParentOf (const Component* possibleChild) const noexcept;
836
837 //==============================================================================
848 virtual void parentHierarchyChanged();
849
854 virtual void childrenChanged();
855
856 //==============================================================================
893 virtual bool hitTest (int x, int y);
894
912 void setInterceptsMouseClicks (bool allowClicksOnThisComponent,
913 bool allowClicksOnChildComponents) noexcept;
914
922 void getInterceptsMouseClicks (bool& allowsClicksOnThisComponent,
923 bool& allowsClicksOnChildComponents) const noexcept;
924
925
937 bool contains (Point<int> localPoint);
938
950 bool contains (Point<float> localPoint);
951
960 bool reallyContains (Point<int> localPoint, bool returnTrueIfWithinAChild);
961
970 bool reallyContains (Point<float> localPoint, bool returnTrueIfWithinAChild);
971
982 Component* getComponentAt (int x, int y);
983
993 Component* getComponentAt (Point<int> position);
994
1004 Component* getComponentAt (Point<float> position);
1005
1006 //==============================================================================
1024 void repaint();
1025
1039 void repaint (int x, int y, int width, int height);
1040
1054 void repaint (Rectangle<int> area);
1055
1056 //==============================================================================
1069 void setBufferedToImage (bool shouldBeBuffered);
1070
1086 Image createComponentSnapshot (Rectangle<int> areaToGrab,
1087 bool clipImageToComponentBounds = true,
1088 float scaleFactor = 1.0f);
1089
1107 void paintEntireComponent (Graphics& context, bool ignoreAlphaLevel);
1108
1121 void setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept;
1122
1126 bool isPaintingUnclipped() const noexcept;
1127
1128 //==============================================================================
1142 void setComponentEffect (ImageEffectFilter* newEffect);
1143
1148
1149 //==============================================================================
1158 LookAndFeel& getLookAndFeel() const noexcept;
1159
1173 void setLookAndFeel (LookAndFeel* newLookAndFeel);
1174
1185 virtual void lookAndFeelChanged();
1186
1194 void sendLookAndFeelChange();
1195
1196 //==============================================================================
1211 void setOpaque (bool shouldBeOpaque);
1212
1218 bool isOpaque() const noexcept;
1219
1220 //==============================================================================
1233 void setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept;
1234
1238 bool isBroughtToFrontOnMouseClick() const noexcept;
1239
1240 //==============================================================================
1241 // Focus methods
1242
1253 void setExplicitFocusOrder (int newFocusOrderIndex);
1254
1262 int getExplicitFocusOrder() const;
1263
1277 {
1283 none,
1284
1295 focusContainer,
1296
1307 keyboardFocusContainer
1308 };
1309
1317 void setFocusContainerType (FocusContainerType containerType) noexcept;
1318
1323 bool isFocusContainer() const noexcept;
1324
1329 bool isKeyboardFocusContainer() const noexcept;
1330
1335 Component* findFocusContainer() const;
1336
1341 Component* findKeyboardFocusContainer() const;
1342
1343 //==============================================================================
1354 void setWantsKeyboardFocus (bool wantsFocus) noexcept;
1355
1363 bool getWantsKeyboardFocus() const noexcept;
1364
1371 void setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus);
1372
1377 bool getMouseClickGrabsKeyboardFocus() const noexcept;
1378
1404 void grabKeyboardFocus();
1405
1413 void giveAwayKeyboardFocus();
1414
1425 bool hasKeyboardFocus (bool trueIfChildIsFocused) const;
1426
1439 void moveKeyboardFocusToSibling (bool moveToNext);
1440
1445 static Component* JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept;
1446
1448 static void JUCE_CALLTYPE unfocusAllComponents();
1449
1450 //==============================================================================
1462 virtual std::unique_ptr<ComponentTraverser> createFocusTraverser();
1463
1476 virtual std::unique_ptr<ComponentTraverser> createKeyboardFocusTraverser();
1477
1487 void setHasFocusOutline (bool hasFocusOutline) noexcept { flags.hasFocusOutlineFlag = hasFocusOutline; }
1488
1493 bool hasFocusOutline() const noexcept { return flags.hasFocusOutlineFlag; }
1494
1495 //==============================================================================
1507 bool isEnabled() const noexcept;
1508
1519 void setEnabled (bool shouldBeEnabled);
1520
1531 virtual void enablementChanged();
1532
1533 //==============================================================================
1537 float getAlpha() const noexcept;
1538
1546 void setAlpha (float newAlpha);
1547
1552 virtual void alphaChanged();
1553
1554 //==============================================================================
1562 void setMouseCursor (const MouseCursor& cursorType);
1563
1572 virtual MouseCursor getMouseCursor();
1573
1584 void updateMouseCursor() const;
1585
1586 //==============================================================================
1610 virtual void paint (Graphics& g);
1611
1620 virtual void paintOverChildren (Graphics& g);
1621
1622
1623 //==============================================================================
1635 void mouseMove (const MouseEvent& event) override;
1636
1651 void mouseEnter (const MouseEvent& event) override;
1652
1666 void mouseExit (const MouseEvent& event) override;
1667
1681 void mouseDown (const MouseEvent& event) override;
1682
1693 void mouseDrag (const MouseEvent& event) override;
1694
1708 void mouseUp (const MouseEvent& event) override;
1709
1720 void mouseDoubleClick (const MouseEvent& event) override;
1721
1737 void mouseWheelMove (const MouseEvent& event,
1739
1751 void mouseMagnify (const MouseEvent& event, float scaleFactor) override;
1752
1753 //==============================================================================
1769 static void JUCE_CALLTYPE beginDragAutoRepeat (int millisecondsBetweenCallbacks);
1770
1782 void setRepaintsOnMouseActivity (bool shouldRepaint) noexcept;
1783
1801 void addMouseListener (MouseListener* newListener,
1802 bool wantsEventsForAllNestedChildComponents);
1803
1807 void removeMouseListener (MouseListener* listenerToRemove);
1808
1809 //==============================================================================
1820 void addKeyListener (KeyListener* newListener);
1821
1825 void removeKeyListener (KeyListener* listenerToRemove);
1826
1843 virtual bool keyPressed (const KeyPress& key);
1844
1867 virtual bool keyStateChanged (bool isKeyDown);
1868
1885 virtual void modifierKeysChanged (const ModifierKeys& modifiers);
1886
1887 //==============================================================================
1895
1899 virtual void focusGained (FocusChangeType cause);
1900
1904 virtual void focusLost (FocusChangeType cause);
1905
1917 virtual void focusOfChildComponentChanged (FocusChangeType cause);
1918
1919 //==============================================================================
1939 bool isMouseOver (bool includeChildren = false) const;
1940
1949 bool isMouseButtonDown (bool includeChildren = false) const;
1950
1955 bool isMouseOverOrDragging (bool includeChildren = false) const;
1956
1965 static bool JUCE_CALLTYPE isMouseButtonDownAnywhere() noexcept;
1966
1970 Point<int> getMouseXYRelative() const;
1971
1972 //==============================================================================
1988 virtual void resized();
1989
2005 virtual void moved();
2006
2014 virtual void childBoundsChanged (Component* child);
2015
2023 virtual void parentSizeChanged();
2024
2032 virtual void broughtToFront();
2033
2043 void addComponentListener (ComponentListener* newListener);
2044
2048 void removeComponentListener (ComponentListener* listenerToRemove);
2049
2050 //==============================================================================
2062 void postCommandMessage (int commandId);
2063
2071 virtual void handleCommandMessage (int commandId);
2072
2073 //==============================================================================
2074 #if JUCE_MODAL_LOOPS_PERMITTED
2100 int runModalLoop();
2101 #endif
2102
2124 void enterModalState (bool takeKeyboardFocus = true,
2126 bool deleteWhenDismissed = false);
2127
2135 void exitModalState (int returnValue);
2136
2147 bool isCurrentlyModal (bool onlyConsiderForemostModalComponent = true) const noexcept;
2148
2152 static int JUCE_CALLTYPE getNumCurrentlyModalComponents() noexcept;
2153
2165 static Component* JUCE_CALLTYPE getCurrentlyModalComponent (int index = 0) noexcept;
2166
2175 bool isCurrentlyBlockedByAnotherModalComponent() const;
2176
2188 virtual bool canModalEventBeSentToComponent (const Component* targetComponent);
2189
2201 virtual void inputAttemptWhenModal();
2202
2203
2204 //==============================================================================
2210
2216
2217 //==============================================================================
2231 Colour findColour (int colourID, bool inheritFromParent = false) const;
2232
2243 void setColour (int colourID, Colour newColour);
2244
2248 void removeColour (int colourID);
2249
2253 bool isColourSpecified (int colourID) const;
2254
2258 void copyAllExplicitColoursTo (Component& target) const;
2259
2263 virtual void colourChanged();
2264
2265 //==============================================================================
2270 void* getWindowHandle() const;
2271
2272 //==============================================================================
2285 template <class ComponentType>
2287 {
2288 public:
2290 SafePointer() = default;
2291
2293 SafePointer (ComponentType* component) : weakRef (component) {}
2294
2296 SafePointer (const SafePointer& other) noexcept : weakRef (other.weakRef) {}
2297
2299 SafePointer& operator= (const SafePointer& other) { weakRef = other.weakRef; return *this; }
2300
2302 SafePointer& operator= (ComponentType* newComponent) { weakRef = newComponent; return *this; }
2303
2305 ComponentType* getComponent() const noexcept { return dynamic_cast<ComponentType*> (weakRef.get()); }
2306
2308 operator ComponentType*() const noexcept { return getComponent(); }
2309
2311 ComponentType* operator->() const noexcept { return getComponent(); }
2312
2314 void deleteAndZero() { delete getComponent(); }
2315
2316 bool operator== (ComponentType* component) const noexcept { return weakRef == component; }
2317 bool operator!= (ComponentType* component) const noexcept { return weakRef != component; }
2318
2319 private:
2321 };
2322
2323 //==============================================================================
2331 {
2332 public:
2334 BailOutChecker (Component* component);
2335
2337 bool shouldBailOut() const noexcept;
2338
2339 private:
2341
2343 };
2344
2345 //==============================================================================
2355 {
2356 public:
2358 explicit Positioner (Component& component) noexcept;
2360 virtual ~Positioner() = default;
2361
2364
2369 virtual void applyNewBounds (const Rectangle<int>& newBounds) = 0;
2370
2371 private:
2373
2375 };
2376
2381
2388 void setPositioner (Positioner* newPositioner);
2389
2395 void setCachedComponentImage (CachedComponentImage* newCachedImage);
2396
2401
2406 void setViewportIgnoreDragFlag (bool ignoreDrag) noexcept { flags.viewportIgnoreDragFlag = ignoreDrag; }
2407
2411 bool getViewportIgnoreDragFlag() const noexcept { return flags.viewportIgnoreDragFlag; }
2412
2413 //==============================================================================
2419
2428 void setTitle (const String& newTitle);
2429
2435
2444 void setDescription (const String& newDescription);
2445
2451
2460 void setHelpText (const String& newHelpText);
2461
2471 void setAccessible (bool shouldBeAccessible);
2472
2477 bool isAccessible() const noexcept;
2478
2484 AccessibilityHandler* getAccessibilityHandler();
2485
2492 void invalidateAccessibilityHandler();
2493
2494 //==============================================================================
2495 #ifndef DOXYGEN
2496 [[deprecated ("Use the setFocusContainerType that takes a more descriptive enum.")]]
2497 void setFocusContainer (bool shouldBeFocusContainer) noexcept
2498 {
2501 }
2502
2503 [[deprecated ("Use the contains that takes a Point<int>.")]]
2504 void contains (int, int) = delete;
2505 #endif
2506
2507private:
2508 //==============================================================================
2524 virtual std::unique_ptr<AccessibilityHandler> createAccessibilityHandler();
2525
2526 //==============================================================================
2527 friend class ComponentPeer;
2529
2530 #ifndef DOXYGEN
2532
2533 //==============================================================================
2537 std::unique_ptr<Positioner> positioner;
2538 std::unique_ptr<AffineTransform> affineTransform;
2543 std::unique_ptr<CachedComponentImage> cachedImage;
2544
2545 class MouseListenerList;
2546 std::unique_ptr<MouseListenerList> mouseListeners;
2547 std::unique_ptr<Array<KeyListener*>> keyListeners;
2550
2551 friend class WeakReference<Component>;
2553
2554 std::unique_ptr<AccessibilityHandler> accessibilityHandler;
2555
2585
2586 union
2587 {
2590 };
2591
2593
2594 //==============================================================================
2598 void internalMouseUp (MouseInputSource, const PointerState&, Time, const ModifierKeys oldModifiers);
2614 Component* removeChildComponent (int index, bool sendParentEvents, bool sendChildEvents);
2615 void reorderChildInternal (int sourceIndex, int destIndex);
2618 void sendMovedResizedMessages (bool wasMoved, bool wasResized);
2620 void repaintParent();
2621 void sendFakeMouseMove() const;
2623 void grabKeyboardFocusInternal (FocusChangeType, bool canTryParent);
2624 void giveAwayKeyboardFocusInternal (bool sendFocusLossEvent);
2627
2628 struct ComponentHelpers;
2629 friend struct ComponentHelpers;
2630
2631 /* Components aren't allowed to have copy constructors, as this would mess up parent hierarchies.
2632 You might need to give your subclasses a private dummy constructor to avoid compiler warnings.
2633 */
2635
2636protected:
2637 //==============================================================================
2639 virtual ComponentPeer* createNewPeer (int styleFlags, void* nativeWindowToAttachTo);
2641 static std::unique_ptr<AccessibilityHandler> createIgnoredAccessibilityHandler (Component&);
2642 #endif
2643};
2644
2645} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
#define override
Definition DistrhoDefines.h:73
Definition juce_AccessibilityHandler.h:41
Definition juce_AffineTransform.h:43
Definition juce_Array.h:56
Definition juce_BorderSize.h:42
Definition juce_CachedComponentImage.h:42
Definition juce_Colour.h:38
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
Definition juce_Component.h:2355
Component & component
Definition juce_Component.h:2372
virtual ~Positioner()=default
virtual void applyNewBounds(const Rectangle< int > &newBounds)=0
Positioner(Component &component) noexcept
Definition juce_Component.cpp:2266
Component & getComponent() const noexcept
Definition juce_Component.h:2363
WeakReference< Component > weakRef
Definition juce_Component.h:2320
SafePointer(const SafePointer &other) noexcept
Definition juce_Component.h:2296
ComponentType * operator->() const noexcept
Definition juce_Component.h:2311
SafePointer(ComponentType *component)
Definition juce_Component.h:2293
void deleteAndZero()
Definition juce_Component.h:2314
ComponentType * getComponent() const noexcept
Definition juce_Component.h:2305
Definition juce_Component.h:36
ImageEffectFilter * effect
Definition juce_Component.h:2542
virtual ComponentPeer * createNewPeer(int styleFlags, void *nativeWindowToAttachTo)
Definition juce_linux_Windowing.cpp:574
void internalChildrenChanged()
Definition juce_Component.cpp:1694
void internalChildKeyboardFocusChange(FocusChangeType, const WeakReference< Component > &)
Definition juce_Component.cpp:2823
bool hasFocusOutline() const noexcept
Definition juce_Component.h:1493
std::unique_ptr< AffineTransform > affineTransform
Definition juce_Component.h:2538
void internalMouseEnter(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2404
void sendVisibilityChangeMessage()
Definition juce_Component.cpp:625
String componentTitle
Definition juce_Component.h:2534
WeakReference< LookAndFeel > lookAndFeel
Definition juce_Component.h:2540
virtual std::unique_ptr< AccessibilityHandler > createAccessibilityHandler()
Definition juce_Component.cpp:3287
void contains(int, int)=delete
void internalMagnifyGesture(MouseInputSource, Point< float >, Time, float)
Definition juce_Component.cpp:2698
void internalKeyboardFocusLoss(FocusChangeType)
Definition juce_Component.cpp:2808
NamedValueSet properties
Definition juce_Component.h:2549
ComponentFlags flags
Definition juce_Component.h:2589
String getTitle() const noexcept
Definition juce_Component.h:2418
void grabKeyboardFocusInternal(FocusChangeType, bool canTryParent)
Definition juce_Component.cpp:2965
bool isVisible() const noexcept
Definition juce_Component.h:122
Component * getParentComponent() const noexcept
Definition juce_Component.h:804
uint32 componentFlags
Definition juce_Component.h:2588
void takeKeyboardFocus(FocusChangeType)
Definition juce_Component.cpp:2932
String componentDescription
Definition juce_Component.h:2534
std::unique_ptr< MouseListenerList > mouseListeners
Definition juce_Component.h:2546
MouseCursor cursor
Definition juce_Component.h:2541
Component * parentComponent
Definition juce_Component.h:2535
int getBottom() const noexcept
Definition juce_Component.h:295
void setPositioner(Positioner *newPositioner)
Definition juce_Component.cpp:2275
void setFocusContainerType(FocusContainerType containerType) noexcept
Definition juce_Component.cpp:2862
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
ListenerList< ComponentListener > componentListeners
Definition juce_Component.h:2548
void sendFakeMouseMove() const
Definition juce_Component.cpp:2734
int getX() const noexcept
Definition juce_Component.h:259
void internalMouseUp(MouseInputSource, const PointerState &, Time, const ModifierKeys oldModifiers)
Definition juce_Component.cpp:2555
std::unique_ptr< AccessibilityHandler > accessibilityHandler
Definition juce_Component.h:2554
const NamedValueSet & getProperties() const noexcept
Definition juce_Component.h:2215
void giveAwayKeyboardFocusInternal(bool sendFocusLossEvent)
Definition juce_Component.cpp:3010
FocusChangeType
Definition juce_Component.h:1890
@ focusChangedByTabKey
Definition juce_Component.h:1892
@ focusChangedDirectly
Definition juce_Component.h:1893
@ focusChangedByMouseClick
Definition juce_Component.h:1891
Positioner * getPositioner() const noexcept
Definition juce_Component.cpp:2270
uint8 componentTransparency
Definition juce_Component.h:2592
String componentName
Definition juce_Component.h:2534
static Component * currentlyFocusedComponent
Definition juce_Component.h:2531
String getHelpText() const noexcept
Definition juce_Component.h:2450
Rectangle< int > getBounds() const noexcept
Definition juce_Component.h:304
void sendMovedResizedMessagesIfPending()
Definition juce_Component.cpp:1202
Component() noexcept
Definition juce_Component.cpp:517
FocusContainerType
Definition juce_Component.h:1277
@ none
Definition juce_Component.h:1283
@ keyboardFocusContainer
Definition juce_Component.h:1307
std::unique_ptr< Positioner > positioner
Definition juce_Component.h:2537
WeakReference< Component >::Master masterReference
Definition juce_Component.h:2552
NamedValueSet & getProperties() noexcept
Definition juce_Component.h:2209
void internalHierarchyChanged()
Definition juce_Component.cpp:1711
void internalMouseWheel(MouseInputSource, Point< float >, Time, const MouseWheelDetails &)
Definition juce_Component.cpp:2662
std::unique_ptr< Array< KeyListener * > > keyListeners
Definition juce_Component.h:2547
void reorderChildInternal(int sourceIndex, int destIndex)
Definition juce_Component.cpp:939
int getY() const noexcept
Definition juce_Component.h:268
void removeChildComponent(Component *childToRemove)
Definition juce_Component.cpp:1569
String getDescription() const noexcept
Definition juce_Component.h:2434
std::unique_ptr< CachedComponentImage > cachedImage
Definition juce_Component.h:2543
void setFocusContainer(bool shouldBeFocusContainer) noexcept
Definition juce_Component.h:2497
void internalMouseDrag(MouseInputSource, const PointerState &, Time)
Definition juce_Component.cpp:2601
String componentID
Definition juce_Component.h:2534
TargetClass * findParentComponentOfClass() const
Definition juce_Component.h:813
void setHasFocusOutline(bool hasFocusOutline) noexcept
Definition juce_Component.h:1487
Array< Component * > childComponentList
Definition juce_Component.h:2539
ImageEffectFilter * getComponentEffect() const noexcept
Definition juce_Component.h:1147
void internalMouseExit(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2440
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
void internalKeyboardFocusGain(FocusChangeType, const WeakReference< Component > &)
Definition juce_Component.cpp:2790
void internalMouseMove(MouseInputSource, Point< float >, Time)
Definition juce_Component.cpp:2628
CachedComponentImage * getCachedComponentImage() const noexcept
Definition juce_Component.h:2400
bool getViewportIgnoreDragFlag() const noexcept
Definition juce_Component.h:2411
void internalRepaintUnchecked(Rectangle< int >, bool)
Definition juce_Component.cpp:1946
void setViewportIgnoreDragFlag(bool ignoreDrag) noexcept
Definition juce_Component.h:2406
void internalModalInputAttempt()
Definition juce_Component.cpp:2354
friend class MouseInputSourceInternal
Definition juce_Component.h:2528
String componentHelpText
Definition juce_Component.h:2534
String getComponentID() const noexcept
Definition juce_Component.h:90
void sendMovedResizedMessages(bool wasMoved, bool wasResized)
Definition juce_Component.cpp:1216
void internalBroughtToFront()
Definition juce_Component.cpp:2755
void sendEnablementChangeMessage()
Definition juce_Component.cpp:3137
const Array< Component * > & getChildren() const noexcept
Definition juce_Component.h:685
friend class ComponentPeer
Definition juce_Component.h:2527
void internalRepaint(Rectangle< int >)
Definition juce_Component.cpp:1938
void internalModifierKeysChanged()
Definition juce_Component.cpp:3239
void repaintParent()
Definition juce_Component.cpp:1932
Rectangle< int > boundsRelativeToParent
Definition juce_Component.h:2536
int getRight() const noexcept
Definition juce_Component.h:283
void paintWithinParentContext(Graphics &)
Definition juce_Component.cpp:1996
void setCachedComponentImage(CachedComponentImage *newCachedImage)
Definition juce_Component.cpp:910
String getName() const noexcept
Definition juce_Component.h:76
Definition juce_ComponentListener.h:43
Definition juce_ComponentPeer.h:44
Definition juce_ComponentTraverser.h:42
Definition juce_GraphicsContext.h:45
Definition juce_ImageEffectFilter.h:43
Definition juce_Image.h:58
Definition juce_Justification.h:41
Definition juce_KeyListener.h:41
Definition juce_KeyPress.h:40
Definition juce_ListenerList.h:70
Definition juce_LookAndFeel.h:108
Definition juce_ModalComponentManager.h:56
Definition juce_ModifierKeys.h:41
Definition juce_MouseCursor.h:39
Definition juce_MouseEvent.h:39
Definition juce_MouseInputSource.h:52
Definition juce_MouseListener.h:39
Definition juce_NamedValueSet.h:35
Definition juce_Point.h:42
Definition juce_PointerState.h:32
Definition juce_Rectangle.h:67
Definition juce_String.h:53
Definition juce_StringRef.h:62
Definition juce_Time.h:37
Definition juce_WeakReference.h:150
Definition juce_WeakReference.h:78
int y
Definition inflate.c:1588
int g
Definition inflate.c:1573
unsigned x[BMAX+1]
Definition inflate.c:1586
unsigned f
Definition inflate.c:1572
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define JUCE_DECLARE_NON_COPYABLE(className)
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_CALLTYPE
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
unsigned int uint32
Definition juce_MathsFunctions.h:45
unsigned char uint8
Definition juce_MathsFunctions.h:37
Definition juce_Uuid.h:141
#define true
Definition ordinals.h:82
Definition juce_Component.h:2557
bool isResizeCallbackPending
Definition juce_Component.h:2577
bool dontClipGraphicsFlag
Definition juce_Component.h:2574
bool isFocusContainerFlag
Definition juce_Component.h:2564
bool allowChildMouseClicksFlag
Definition juce_Component.h:2562
bool cachedMouseInsideComponent
Definition juce_Component.h:2580
bool visibleFlag
Definition juce_Component.h:2559
bool viewportIgnoreDragFlag
Definition juce_Component.h:2578
bool bringToFrontOnClickFlag
Definition juce_Component.h:2571
bool wantsKeyboardFocusFlag
Definition juce_Component.h:2563
bool isMoveCallbackPending
Definition juce_Component.h:2576
bool alwaysOnTopFlag
Definition juce_Component.h:2569
bool hasFocusOutlineFlag
Definition juce_Component.h:2568
bool isDisabledFlag
Definition juce_Component.h:2573
bool hasHeavyweightPeerFlag
Definition juce_Component.h:2558
bool bufferToImageFlag
Definition juce_Component.h:2570
bool opaqueFlag
Definition juce_Component.h:2560
bool accessibilityIgnoredFlag
Definition juce_Component.h:2579
bool childKeyboardFocusedFlag
Definition juce_Component.h:2566
bool ignoresMouseClicksFlag
Definition juce_Component.h:2561
bool dontFocusOnMouseClickFlag
Definition juce_Component.h:2567
bool repaintOnMouseActivityFlag
Definition juce_Component.h:2572
bool isKeyboardFocusContainerFlag
Definition juce_Component.h:2565
bool mouseDownWasBlocked
Definition juce_Component.h:2575
Definition juce_Component.cpp:296
Definition juce_MouseEvent.h:392
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
uch * p
Definition crypt.c:594
ZCONST char * key
Definition crypt.c:587
#define const
Definition zconf.h:137