93 Colour getBackgroundColour()
const noexcept;
110 void setBackgroundColour (
Colour newColour);
121 void setResizable (
bool shouldBeResizable,
122 bool useBottomRightCornerResizer);
127 bool isResizable()
const noexcept;
140 void setResizeLimits (
int newMinimumWidth,
141 int newMinimumHeight,
143 int newMaximumHeight)
noexcept;
146 void setDraggable (
bool shouldBeDraggable)
noexcept;
176 bool isFullScreen()
const;
185 void setFullScreen (
bool shouldBeFullScreen);
190 bool isMinimised()
const;
199 void setMinimised (
bool shouldMinimise);
204 bool isKioskMode()
const;
217 String getWindowStateAsString();
228 bool restoreWindowStateFromString (
const String& previousState);
257 void setContentOwned (
Component* newContentComponent,
258 bool resizeToFitWhenContentChangesSize);
276 void setContentNonOwned (
Component* newContentComponent,
277 bool resizeToFitWhenContentChangesSize);
283 void clearContentComponent();
290 void setContentComponentSize (
int width,
int height);
312 backgroundColourId = 0x1005700,
317 [[deprecated (
"use setContentOwned and setContentNonOwned instead.")]]
318 void setContentComponent (
Component* newContentComponent,
319 bool deleteOldOne =
true,
320 bool resizeToFit =
false);
323 using TopLevelWindow::addToDesktop;
334 virtual void drawCornerResizer (
Graphics&,
int w,
int h,
bool isMouseOver,
bool isMouseDragging) = 0;
345 void moved()
override;
347 void resized()
override;
355 void lookAndFeelChanged()
override;
357 void childBoundsChanged (
Component*)
override;
359 void parentSizeChanged()
override;
361 void visibilityChanged()
override;
363 void activeWindowStatusChanged()
override;
365 int getDesktopWindowStyleFlags()
const override;
374 void addChildComponent (
Component*,
int zOrder = -1);
381 void addAndMakeVisible (
Component*,
int zOrder = -1);
389 void getBorderThickness (
int& left,
int& top,
int& right,
int& bottom);
390 void getContentComponentBorder (
int& left,
int& top,
int& right,
int& bottom);
395 bool ownsContentComponent =
false, resizeToFitContent =
false, fullscreen =
false, canDrag =
true, dragStarted =
false;
401 bool hasBeenResized =
false;
404 void initialise (
bool addToDesktop);
405 void updateLastPosIfNotFullScreen();
406 void updateLastPosIfShowing();
407 void setContent (
Component*,
bool takeOwnership,
bool resizeToFit);
408 void updatePeerConstrainer();
Specifies a set of gaps to be left around the sides of a rectangle.
Represents a colour, also including a transparency value.
A class that imposes restrictions on a Component's size or position.
An object to take care of the logic for dragging components around with the mouse.
Holds a pointer to some type of Component, which automatically becomes null if the component is delet...
The base class for all JUCE user-interface objects.
A graphics context, used for drawing a component or image.
Contains position and status information about a mouse event.
Manages a rectangle and allows geometric operations to be performed on it.
A base class for top-level windows that can be dragged around and resized.
bool isDraggable() const noexcept
Returns true if the window can be dragged around by the user.
ColourIds
A set of colour IDs to use to change the colour of various aspects of the window.
ComponentBoundsConstrainer * getConstrainer() noexcept
Returns the bounds constrainer object that this window is using.
Component * getContentComponent() const noexcept
Returns the current content component.
A base class for top-level windows.
This abstract base class is implemented by LookAndFeel classes to provide window drawing functionalit...