openshot-audio  0.1.5
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) 2015 - ROLI Ltd.
6 
7  Permission is granted to use this software under the terms of either:
8  a) the GPL v2 (or any later version)
9  b) the Affero GPL v3
10 
11  Details of these licenses can be found at: www.gnu.org/licenses
12 
13  JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15  A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 
17  ------------------------------------------------------------------------------
18 
19  To release a closed-source product which uses JUCE, commercial licenses are
20  available: visit www.juce.com for more information.
21 
22  ==============================================================================
23 */
24 
25 #ifndef JUCE_COMPONENT_H_INCLUDED
26 #define JUCE_COMPONENT_H_INCLUDED
27 
28 
29 //==============================================================================
34 {
35 public:
36  //==============================================================================
50 
63  virtual ~Component();
64 
65  //==============================================================================
69  explicit Component (const String& componentName) noexcept;
70 
74  const String& getName() const noexcept { return componentName; }
75 
83  virtual void setName (const String& newName);
84 
88  const String& getComponentID() const noexcept { return componentID; }
89 
94  void setComponentID (const String& newID);
95 
96  //==============================================================================
110  virtual void setVisible (bool shouldBeVisible);
111 
120  bool isVisible() const noexcept { return flags.visibleFlag; }
121 
125  virtual void visibilityChanged();
126 
132  bool isShowing() const;
133 
134  //==============================================================================
158  virtual void addToDesktop (int windowStyleFlags,
159  void* nativeWindowToAttachTo = nullptr);
160 
168  void removeFromDesktop();
169 
173  bool isOnDesktop() const noexcept;
174 
185  ComponentPeer* getPeer() const;
186 
194  virtual void userTriedToCloseWindow();
195 
200  virtual void minimisationStateChanged (bool isNowMinimised);
201 
209  virtual float getDesktopScaleFactor() const;
210 
211  //==============================================================================
222  void toFront (bool shouldAlsoGainFocus);
223 
231  void toBack();
232 
236  void toBehind (Component* other);
237 
241  void setAlwaysOnTop (bool shouldStayOnTop);
242 
246  bool isAlwaysOnTop() const noexcept;
247 
248  //==============================================================================
256  int getX() const noexcept { return bounds.getX(); }
257 
265  int getY() const noexcept { return bounds.getY(); }
266 
268  int getWidth() const noexcept { return bounds.getWidth(); }
269 
271  int getHeight() const noexcept { return bounds.getHeight(); }
272 
280  int getRight() const noexcept { return bounds.getRight(); }
281 
283  Point<int> getPosition() const noexcept { return bounds.getPosition(); }
284 
292  int getBottom() const noexcept { return bounds.getBottom(); }
293 
301  const Rectangle<int>& getBounds() const noexcept { return bounds; }
302 
307  Rectangle<int> getLocalBounds() const noexcept;
308 
316  Rectangle<int> getBoundsInParent() const noexcept;
317 
318  //==============================================================================
322  int getScreenX() const;
323 
327  int getScreenY() const;
328 
332  Point<int> getScreenPosition() const;
333 
337  Rectangle<int> getScreenBounds() const;
338 
345  Point<int> getLocalPoint (const Component* sourceComponent,
346  Point<int> pointRelativeToSourceComponent) const;
347 
354  Point<float> getLocalPoint (const Component* sourceComponent,
355  Point<float> pointRelativeToSourceComponent) const;
356 
367  Rectangle<int> getLocalArea (const Component* sourceComponent,
368  const Rectangle<int>& areaRelativeToSourceComponent) const;
369 
373  Point<int> localPointToGlobal (Point<int> localPoint) const;
374 
378  Point<float> localPointToGlobal (Point<float> localPoint) const;
379 
387  Rectangle<int> localAreaToGlobal (const Rectangle<int>& localArea) const;
388 
389  //==============================================================================
403  void setTopLeftPosition (int x, int y);
404 
418  void setTopLeftPosition (Point<int> newTopLeftPosition);
419 
431  void setTopRightPosition (int x, int y);
432 
441  void setSize (int newWidth, int newHeight);
442 
457  void setBounds (int x, int y, int width, int height);
458 
473  void setBounds (const Rectangle<int>& newBounds);
474 
488  void setBounds (const RelativeRectangle& newBounds);
489 
495  void setBounds (const String& newBoundsExpression);
496 
506  void setBoundsRelative (float proportionalX, float proportionalY,
507  float proportionalWidth, float proportionalHeight);
508 
516  void setBoundsInset (const BorderSize<int>& borders);
517 
532  void setBoundsToFit (int x, int y, int width, int height,
533  Justification justification,
534  bool onlyReduceInSize);
535 
543  void setCentrePosition (int x, int y);
544 
551  void setCentreRelative (float x, float y);
552 
559  void centreWithSize (int width, int height);
560 
561  //==============================================================================
579  void setTransform (const AffineTransform& transform);
580 
585  AffineTransform getTransform() const;
586 
591  bool isTransformed() const noexcept;
592 
593  //==============================================================================
597  int proportionOfWidth (float proportion) const noexcept;
598 
602  int proportionOfHeight (float proportion) const noexcept;
603 
609  int getParentWidth() const noexcept;
610 
616  int getParentHeight() const noexcept;
617 
624  Rectangle<int> getParentMonitorArea() const;
625 
626  //==============================================================================
631  int getNumChildComponents() const noexcept;
632 
642  Component* getChildComponent (int index) const noexcept;
643 
653  int getIndexOfChildComponent (const Component* child) const noexcept;
654 
658  Component* findChildWithID (StringRef componentID) const noexcept;
659 
676  void addChildComponent (Component* child, int zOrder = -1);
677 
694  void addChildComponent (Component& child, int zOrder = -1);
695 
701  void addAndMakeVisible (Component* child, int zOrder = -1);
702 
708  void addAndMakeVisible (Component& child, int zOrder = -1);
709 
713  void addChildAndSetID (Component* child, const String& componentID);
714 
726  void removeChildComponent (Component* childToRemove);
727 
739  Component* removeChildComponent (int childIndexToRemove);
740 
744  void removeAllChildren();
745 
755  void deleteAllChildren();
756 
762  Component* getParentComponent() const noexcept { return parentComponent; }
763 
770  template <class TargetClass>
771  TargetClass* findParentComponentOfClass() const
772  {
773  for (Component* p = parentComponent; p != nullptr; p = p->parentComponent)
774  if (TargetClass* const target = dynamic_cast<TargetClass*> (p))
775  return target;
776 
777  return nullptr;
778  }
779 
786  Component* getTopLevelComponent() const noexcept;
787 
793  bool isParentOf (const Component* possibleChild) const noexcept;
794 
795  //==============================================================================
806  virtual void parentHierarchyChanged();
807 
812  virtual void childrenChanged();
813 
814  //==============================================================================
851  virtual bool hitTest (int x, int y);
852 
870  void setInterceptsMouseClicks (bool allowClicksOnThisComponent,
871  bool allowClicksOnChildComponents) noexcept;
872 
880  void getInterceptsMouseClicks (bool& allowsClicksOnThisComponent,
881  bool& allowsClicksOnChildComponents) const noexcept;
882 
883 
895  bool contains (Point<int> localPoint);
896 
905  bool reallyContains (Point<int> localPoint, bool returnTrueIfWithinAChild);
906 
917  Component* getComponentAt (int x, int y);
918 
928  Component* getComponentAt (Point<int> position);
929 
930  //==============================================================================
948  void repaint();
949 
963  void repaint (int x, int y, int width, int height);
964 
978  void repaint (const Rectangle<int>& area);
979 
980  //==============================================================================
993  void setBufferedToImage (bool shouldBeBuffered);
994 
1010  Image createComponentSnapshot (const Rectangle<int>& areaToGrab,
1011  bool clipImageToComponentBounds = true,
1012  float scaleFactor = 1.0f);
1013 
1031  void paintEntireComponent (Graphics& context, bool ignoreAlphaLevel);
1032 
1045  void setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept;
1046 
1047  //==============================================================================
1061  void setComponentEffect (ImageEffectFilter* newEffect);
1062 
1066  ImageEffectFilter* getComponentEffect() const noexcept { return effect; }
1067 
1068  //==============================================================================
1077  LookAndFeel& getLookAndFeel() const noexcept;
1078 
1092  void setLookAndFeel (LookAndFeel* newLookAndFeel);
1093 
1104  virtual void lookAndFeelChanged();
1105 
1113  void sendLookAndFeelChange();
1114 
1115  //==============================================================================
1130  void setOpaque (bool shouldBeOpaque);
1131 
1137  bool isOpaque() const noexcept;
1138 
1139  //==============================================================================
1152  void setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept;
1153 
1157  bool isBroughtToFrontOnMouseClick() const noexcept;
1158 
1159  //==============================================================================
1160  // Keyboard focus methods
1161 
1172  void setWantsKeyboardFocus (bool wantsFocus) noexcept;
1173 
1181  bool getWantsKeyboardFocus() const noexcept;
1182 
1183  //==============================================================================
1190  void setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus);
1191 
1195  bool getMouseClickGrabsKeyboardFocus() const noexcept;
1196 
1197  //==============================================================================
1217  void grabKeyboardFocus();
1218 
1229  bool hasKeyboardFocus (bool trueIfChildIsFocused) const;
1230 
1234  static Component* JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept;
1235 
1237  static void JUCE_CALLTYPE unfocusAllComponents();
1238 
1239  //==============================================================================
1251  void moveKeyboardFocusToSibling (bool moveToNext);
1252 
1268  virtual KeyboardFocusTraverser* createFocusTraverser();
1269 
1284  int getExplicitFocusOrder() const;
1285 
1294  void setExplicitFocusOrder (int newFocusOrderIndex);
1295 
1308  void setFocusContainer (bool shouldBeFocusContainer) noexcept;
1309 
1316  bool isFocusContainer() const noexcept;
1317 
1318  //==============================================================================
1330  bool isEnabled() const noexcept;
1331 
1342  void setEnabled (bool shouldBeEnabled);
1343 
1354  virtual void enablementChanged();
1355 
1363  void setAlpha (float newAlpha);
1364 
1368  float getAlpha() const;
1369 
1370  //==============================================================================
1378  void setMouseCursor (const MouseCursor& cursorType);
1379 
1388  virtual MouseCursor getMouseCursor();
1389 
1400  void updateMouseCursor() const;
1401 
1402  //==============================================================================
1426  virtual void paint (Graphics& g);
1427 
1436  virtual void paintOverChildren (Graphics& g);
1437 
1438 
1439  //==============================================================================
1451  virtual void mouseMove (const MouseEvent& event) override;
1452 
1467  virtual void mouseEnter (const MouseEvent& event) override;
1468 
1482  virtual void mouseExit (const MouseEvent& event) override;
1483 
1497  virtual void mouseDown (const MouseEvent& event) override;
1498 
1509  virtual void mouseDrag (const MouseEvent& event) override;
1510 
1524  virtual void mouseUp (const MouseEvent& event) override;
1525 
1536  virtual void mouseDoubleClick (const MouseEvent& event) override;
1537 
1553  virtual void mouseWheelMove (const MouseEvent& event,
1554  const MouseWheelDetails& wheel) override;
1555 
1567  virtual void mouseMagnify (const MouseEvent& event, float scaleFactor);
1568 
1569  //==============================================================================
1585  static void JUCE_CALLTYPE beginDragAutoRepeat (int millisecondsBetweenCallbacks);
1586 
1598  void setRepaintsOnMouseActivity (bool shouldRepaint) noexcept;
1599 
1617  void addMouseListener (MouseListener* newListener,
1618  bool wantsEventsForAllNestedChildComponents);
1619 
1623  void removeMouseListener (MouseListener* listenerToRemove);
1624 
1625  //==============================================================================
1636  void addKeyListener (KeyListener* newListener);
1637 
1641  void removeKeyListener (KeyListener* listenerToRemove);
1642 
1659  virtual bool keyPressed (const KeyPress& key);
1660 
1683  virtual bool keyStateChanged (bool isKeyDown);
1684 
1698  virtual void modifierKeysChanged (const ModifierKeys& modifiers);
1699 
1700  //==============================================================================
1703  {
1706  focusChangedDirectly
1707  };
1708 
1712  virtual void focusGained (FocusChangeType cause);
1713 
1717  virtual void focusLost (FocusChangeType cause);
1718 
1730  virtual void focusOfChildComponentChanged (FocusChangeType cause);
1731 
1732  //==============================================================================
1748  bool isMouseOver (bool includeChildren = false) const;
1749 
1758  bool isMouseButtonDown() const;
1759 
1764  bool isMouseOverOrDragging() const;
1765 
1774  static bool JUCE_CALLTYPE isMouseButtonDownAnywhere() noexcept;
1775 
1779  Point<int> getMouseXYRelative() const;
1780 
1781  //==============================================================================
1797  virtual void resized();
1798 
1814  virtual void moved();
1815 
1823  virtual void childBoundsChanged (Component* child);
1824 
1832  virtual void parentSizeChanged();
1833 
1841  virtual void broughtToFront();
1842 
1852  void addComponentListener (ComponentListener* newListener);
1853 
1857  void removeComponentListener (ComponentListener* listenerToRemove);
1858 
1859  //==============================================================================
1871  void postCommandMessage (int commandId);
1872 
1880  virtual void handleCommandMessage (int commandId);
1881 
1882  //==============================================================================
1899  #if JUCE_MODAL_LOOPS_PERMITTED
1900  int runModalLoop();
1901  #endif
1902 
1924  void enterModalState (bool takeKeyboardFocus = true,
1925  ModalComponentManager::Callback* callback = nullptr,
1926  bool deleteWhenDismissed = false);
1927 
1935  void exitModalState (int returnValue);
1936 
1945  bool isCurrentlyModal() const noexcept;
1946 
1950  static int JUCE_CALLTYPE getNumCurrentlyModalComponents() noexcept;
1951 
1963  static Component* JUCE_CALLTYPE getCurrentlyModalComponent (int index = 0) noexcept;
1964 
1973  bool isCurrentlyBlockedByAnotherModalComponent() const;
1974 
1986  virtual bool canModalEventBeSentToComponent (const Component* targetComponent);
1987 
1999  virtual void inputAttemptWhenModal();
2000 
2001 
2002  //==============================================================================
2007  NamedValueSet& getProperties() noexcept { return properties; }
2008 
2013  const NamedValueSet& getProperties() const noexcept { return properties; }
2014 
2015  //==============================================================================
2029  Colour findColour (int colourId, bool inheritFromParent = false) const;
2030 
2041  void setColour (int colourId, Colour newColour);
2042 
2046  void removeColour (int colourId);
2047 
2051  bool isColourSpecified (int colourId) const;
2052 
2056  void copyAllExplicitColoursTo (Component& target) const;
2057 
2061  virtual void colourChanged();
2062 
2063  //==============================================================================
2069  virtual MarkerList* getMarkers (bool xAxis);
2070 
2071  //==============================================================================
2076  void* getWindowHandle() const;
2077 
2078  //==============================================================================
2091  template <class ComponentType>
2093  {
2094  public:
2096  SafePointer() noexcept {}
2097 
2099  SafePointer (ComponentType* component) : weakRef (component) {}
2100 
2102  SafePointer (const SafePointer& other) noexcept : weakRef (other.weakRef) {}
2103 
2105  SafePointer& operator= (const SafePointer& other) { weakRef = other.weakRef; return *this; }
2106 
2108  SafePointer& operator= (ComponentType* newComponent) { weakRef = newComponent; return *this; }
2109 
2111  ComponentType* getComponent() const noexcept { return dynamic_cast<ComponentType*> (weakRef.get()); }
2112 
2114  operator ComponentType*() const noexcept { return getComponent(); }
2115 
2117  ComponentType* operator->() noexcept { return getComponent(); }
2118 
2120  const ComponentType* operator->() const noexcept { return getComponent(); }
2121 
2123  void deleteAndZero() { delete getComponent(); }
2124 
2125  bool operator== (ComponentType* component) const noexcept { return weakRef == component; }
2126  bool operator!= (ComponentType* component) const noexcept { return weakRef != component; }
2127 
2128  private:
2129  WeakReference<Component> weakRef;
2130  };
2131 
2132  //==============================================================================
2140  {
2141  public:
2143  BailOutChecker (Component* component);
2144 
2146  bool shouldBailOut() const noexcept;
2147 
2148  private:
2149  const WeakReference<Component> safePointer;
2150 
2152  };
2153 
2154  //==============================================================================
2164  {
2165  public:
2167  explicit Positioner (Component& component) noexcept;
2169  virtual ~Positioner() {}
2170 
2172  Component& getComponent() const noexcept { return component; }
2173 
2179  virtual void applyNewBounds (const Rectangle<int>& newBounds) = 0;
2180 
2181  private:
2182  Component& component;
2183 
2185  };
2186 
2190  Positioner* getPositioner() const noexcept;
2191 
2198  void setPositioner (Positioner* newPositioner);
2199 
2205  void setCachedComponentImage (CachedComponentImage* newCachedImage);
2206 
2210  CachedComponentImage* getCachedComponentImage() const noexcept { return cachedImage; }
2211 
2212  //==============================================================================
2213  // These methods are deprecated - use localPointToGlobal, getLocalPoint, getLocalPoint, etc instead.
2214  JUCE_DEPRECATED (Point<int> relativePositionToGlobal (Point<int>) const);
2215  JUCE_DEPRECATED (Point<int> globalPositionToRelative (Point<int>) const);
2216  JUCE_DEPRECATED (Point<int> relativePositionToOtherComponent (const Component*, Point<int>) const);
2217 
2218 private:
2219  //==============================================================================
2220  friend class ComponentPeer;
2221  friend class MouseInputSource;
2223 
2224  #ifndef DOXYGEN
2225  static Component* currentlyFocusedComponent;
2226 
2227  //==============================================================================
2228  String componentName, componentID;
2229  Component* parentComponent;
2230  Rectangle<int> bounds;
2231  ScopedPointer<Positioner> positioner;
2232  ScopedPointer<AffineTransform> affineTransform;
2233  Array<Component*> childComponentList;
2234  LookAndFeel* lookAndFeel;
2235  MouseCursor cursor;
2236  ImageEffectFilter* effect;
2238 
2240  friend class MouseListenerList;
2242  ScopedPointer<MouseListenerList> mouseListeners;
2243  ScopedPointer<Array<KeyListener*> > keyListeners;
2244  ListenerList<ComponentListener> componentListeners;
2245  NamedValueSet properties;
2246 
2247  friend class WeakReference<Component>;
2248  WeakReference<Component>::Master masterReference;
2249 
2250  struct ComponentFlags
2251  {
2252  bool hasHeavyweightPeerFlag : 1;
2253  bool visibleFlag : 1;
2254  bool opaqueFlag : 1;
2255  bool ignoresMouseClicksFlag : 1;
2256  bool allowChildMouseClicksFlag : 1;
2257  bool wantsFocusFlag : 1;
2258  bool isFocusContainerFlag : 1;
2259  bool dontFocusOnMouseClickFlag : 1;
2260  bool alwaysOnTopFlag : 1;
2261  bool bufferToImageFlag : 1;
2262  bool bringToFrontOnClickFlag : 1;
2263  bool repaintOnMouseActivityFlag : 1;
2264  bool currentlyModalFlag : 1;
2265  bool isDisabledFlag : 1;
2266  bool childCompFocusedFlag : 1;
2267  bool dontClipGraphicsFlag : 1;
2268  bool mouseDownWasBlocked : 1;
2269  bool isMoveCallbackPending : 1;
2270  bool isResizeCallbackPending : 1;
2271  #if JUCE_DEBUG
2272  bool isInsidePaintCall : 1;
2273  #endif
2274  };
2275 
2276  union
2277  {
2279  ComponentFlags flags;
2280  };
2281 
2282  uint8 componentTransparency;
2283 
2284  //==============================================================================
2285  void internalMouseEnter (MouseInputSource, Point<float>, Time);
2286  void internalMouseExit (MouseInputSource, Point<float>, Time);
2287  void internalMouseDown (MouseInputSource, Point<float>, Time);
2288  void internalMouseUp (MouseInputSource, Point<float>, Time, const ModifierKeys oldModifiers);
2289  void internalMouseDrag (MouseInputSource, Point<float>, Time);
2290  void internalMouseMove (MouseInputSource, Point<float>, Time);
2291  void internalMouseWheel (MouseInputSource, Point<float>, Time, const MouseWheelDetails&);
2292  void internalMagnifyGesture (MouseInputSource, Point<float>, Time, float);
2293  void internalBroughtToFront();
2294  void internalFocusGain (FocusChangeType, const WeakReference<Component>&);
2295  void internalFocusGain (FocusChangeType);
2296  void internalFocusLoss (FocusChangeType);
2297  void internalChildFocusChange (FocusChangeType, const WeakReference<Component>&);
2298  void internalModalInputAttempt();
2299  void internalModifierKeysChanged();
2300  void internalChildrenChanged();
2301  void internalHierarchyChanged();
2302  void internalRepaint (Rectangle<int>);
2303  void internalRepaintUnchecked (Rectangle<int>, bool);
2304  Component* removeChildComponent (int index, bool sendParentEvents, bool sendChildEvents);
2305  void reorderChildInternal (int sourceIndex, int destIndex);
2306  void paintComponentAndChildren (Graphics&);
2307  void paintWithinParentContext (Graphics&);
2308  void sendMovedResizedMessages (bool wasMoved, bool wasResized);
2309  void sendMovedResizedMessagesIfPending();
2310  void repaintParent();
2311  void sendFakeMouseMove() const;
2312  void takeKeyboardFocus (const FocusChangeType);
2313  void grabFocusInternal (const FocusChangeType, bool canTryParent);
2314  static void giveAwayFocus (bool sendFocusLossEvent);
2315  void sendEnablementChangeMessage();
2316  void sendVisibilityChangeMessage();
2317 
2319  friend struct ComponentHelpers;
2320 
2321  /* Components aren't allowed to have copy constructors, as this would mess up parent hierarchies.
2322  You might need to give your subclasses a private dummy constructor to avoid compiler warnings.
2323  */
2325 
2326  //==============================================================================
2327  #if JUCE_CATCH_DEPRECATED_CODE_MISUSE
2328  // This is included here just to cause a compile error if your code is still handling
2329  // drag-and-drop with this method. If so, just update it to use the new FileDragAndDropTarget
2330  // class, which is easy (just make your class inherit from FileDragAndDropTarget, and
2331  // implement its methods instead of this Component method).
2332  virtual void filesDropped (const StringArray&, int, int) {}
2333 
2334  // This is included here to cause an error if you use or overload it - it has been deprecated in
2335  // favour of contains (Point<int>)
2336  void contains (int, int) JUCE_DELETED_FUNCTION;
2337  #endif
2338 
2339 protected:
2340  //==============================================================================
2342  virtual ComponentPeer* createNewPeer (int styleFlags, void* nativeWindowToAttachTo);
2343  #endif
2344 };
2345 
2346 
2347 #endif // JUCE_COMPONENT_H_INCLUDED
Definition: juce_ComponentListener.h:40
ComponentType * operator->() noexcept
Definition: juce_Component.h:2117
SafePointer() noexcept
Definition: juce_Component.h:2096
Definition: juce_MarkerList.h:36
const String & getName() const noexcept
Definition: juce_Component.h:74
Definition: juce_KeyPress.h:37
Definition: juce_MouseCursor.h:36
int getX() const noexcept
Definition: juce_Component.h:256
#define noexcept
Definition: juce_CompilerSupport.h:141
SafePointer(ComponentType *component)
Definition: juce_Component.h:2099
Definition: juce_Component.h:2092
Definition: juce_Time.h:41
int getWidth() const noexcept
Definition: juce_Component.h:268
Definition: juce_RelativeRectangle.h:37
Definition: juce_LookAndFeel.h:74
Definition: juce_Justification.h:38
FocusChangeType
Definition: juce_Component.h:1702
Definition: juce_ModifierKeys.h:38
virtual void mouseDown(const MouseEvent &event)
Definition: juce_MouseListener.cpp:27
ImageEffectFilter * getComponentEffect() const noexcept
Definition: juce_Component.h:1066
virtual void mouseDoubleClick(const MouseEvent &event)
Definition: juce_MouseListener.cpp:31
#define JUCE_CALLTYPE
Definition: juce_PlatformDefs.h:50
Definition: juce_ModalComponentManager.h:53
Definition: juce_String.h:43
Component * getParentComponent() const noexcept
Definition: juce_Component.h:762
Definition: juce_Component.h:2139
int getY() const noexcept
Definition: juce_Component.h:265
virtual void mouseWheelMove(const MouseEvent &event, const MouseWheelDetails &wheel)
Definition: juce_MouseListener.cpp:32
virtual void mouseExit(const MouseEvent &event)
Definition: juce_MouseListener.cpp:26
int getHeight() const noexcept
Definition: juce_Component.h:271
uint32 componentFlags
Definition: juce_Component.h:2278
#define JUCE_API
Definition: juce_StandardHeader.h:139
virtual void mouseMove(const MouseEvent &event)
Definition: juce_MouseListener.cpp:30
int getBottom() const noexcept
Definition: juce_Component.h:292
Definition: juce_Rectangle.h:36
const NamedValueSet & getProperties() const noexcept
Definition: juce_Component.h:2013
Definition: juce_NamedValueSet.h:39
unsigned int uint32
Definition: juce_MathsFunctions.h:51
Definition: juce_Component.h:2163
Definition: juce_Colour.h:35
Definition: juce_Component.cpp:254
virtual void mouseEnter(const MouseEvent &event)
Definition: juce_MouseListener.cpp:25
ComponentFlags flags
Definition: juce_Component.h:2279
virtual void mouseUp(const MouseEvent &event)
Definition: juce_MouseListener.cpp:28
Definition: juce_Component.h:1705
Definition: juce_KeyboardFocusTraverser.h:49
Definition: juce_Component.h:33
Definition: juce_ScopedPointer.h:70
#define JUCE_DELETED_FUNCTION
Definition: juce_CompilerSupport.h:133
Definition: juce_MouseEvent.h:329
Definition: juce_MouseListener.h:36
const Rectangle< int > & getBounds() const noexcept
Definition: juce_Component.h:301
Definition: juce_MouseInputSource.h:49
#define JUCE_DEPRECATED(functionDef)
Definition: juce_PlatformDefs.h:319
Definition: juce_StringArray.h:39
Definition: juce_MouseInputSource.cpp:25
bool operator==(const var &v1, const var &v2) noexcept
Definition: juce_Variant.cpp:565
Definition: juce_ContainerDeletePolicy.h:44
Definition: juce_Component.cpp:29
Definition: juce_KeyListener.h:38
int getRight() const noexcept
Definition: juce_Component.h:280
Definition: juce_Array.h:60
Definition: juce_BorderSize.h:39
void deleteAndZero()
Definition: juce_Component.h:2123
Component & getComponent() const noexcept
Definition: juce_Component.h:2172
const String & getComponentID() const noexcept
Definition: juce_Component.h:88
const ComponentType * operator->() const noexcept
Definition: juce_Component.h:2120
#define JUCE_DECLARE_NON_COPYABLE(className)
Definition: juce_PlatformDefs.h:191
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_GraphicsContext.h:42
Definition: juce_Image.h:54
ComponentType * getComponent() const noexcept
Definition: juce_Component.h:2111
virtual void mouseDrag(const MouseEvent &event)
Definition: juce_MouseListener.cpp:29
Definition: juce_AffineTransform.h:40
virtual ~Positioner()
Definition: juce_Component.h:2169
TargetClass * findParentComponentOfClass() const
Definition: juce_Component.h:771
CachedComponentImage * getCachedComponentImage() const noexcept
Definition: juce_Component.h:2210
bool isVisible() const noexcept
Definition: juce_Component.h:120
bool operator!=(const var &v1, const var &v2) noexcept
Definition: juce_Variant.cpp:566
unsigned char uint8
Definition: juce_MathsFunctions.h:43
Definition: juce_Component.h:1704
Point< int > getPosition() const noexcept
Definition: juce_Component.h:283
SafePointer(const SafePointer &other) noexcept
Definition: juce_Component.h:2102
Definition: juce_MouseEvent.h:36
Definition: juce_CachedComponentImage.h:39
Definition: juce_ComponentPeer.h:41
Definition: juce_ImageEffectFilter.h:40
Definition: juce_StringRef.h:65