|
CeresEngine 0.2.0
A game development framework
|
A view that arranges an array of views horizontally or vertically and updates their placement and sizing when the window size changes. More...
#include <CeresEngine/UI/UIStackView.hpp>
Public Types | |
| enum class | Orientation { Horizontal , Vertical } |
| enum class | Alignment { Leading , Center , Trailing } |
| enum class | Distribution { Fill , Fitting , Equal } |
| Determines how subviews are distributed in the stack view. More... | |
Public Member Functions | |
| UIStackView () | |
Creates a new UIStackView with default settings. | |
| ~UIStackView () override | |
Destroys the UIStackView and releases it's subviews. | |
| Orientation | getOrientation () const noexcept |
| The horizontal or vertical layout direction of the stack view. | |
| void | setOrientation (Orientation orientation) |
| The horizontal or vertical layout direction of the stack view. | |
| Alignment | getAlignment () const noexcept |
| The view alignment within the stack view. | |
| void | setAlignment (Alignment alignment) |
| The view alignment within the stack view. | |
| Distribution | getDistribution () const noexcept |
| void | setDistribution (Distribution distribution) |
| const UIEdgeInsets & | getEdgeInsets () const noexcept |
| The geometric padding, in points, inside the stack view, surrounding its views. | |
| void | setEdgeInsets (const UIEdgeInsets &edgeInsets) |
| The geometric padding, in points, inside the stack view, surrounding its views. | |
| double | getSpacing () const noexcept |
| The minimum spacing, in points, between adjacent views in the stack view. | |
| void | setSpacing (double spacing) |
| The minimum spacing, in points, between adjacent views in the stack view. | |
| UIView () | |
Initializes new UIView object with an empty frame rectangle. | |
| UIView (const String &name) | |
Initializes new UIView object with an empty frame rectangle and custom name. | |
| UIView (const UIRect &frame, const String &name="") | |
Initializes new UIView object with a frame rectangle. | |
| UIView (const UISize &size, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
| UIView (const UIPoint &origin, const UISize &size, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
| UIView (const double x, const double y, const double width, const double height, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
Public Member Functions inherited from CeresEngine::UIView | |
| UIView () | |
Initializes new UIView object with an empty frame rectangle. | |
| UIView (const String &name) | |
Initializes new UIView object with an empty frame rectangle and custom name. | |
| UIView (const UIRect &frame, const String &name="") | |
Initializes new UIView object with a frame rectangle. | |
| UIView (const UISize &size, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
| UIView (const UIPoint &origin, const UISize &size, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
| UIView (const double x, const double y, const double width, const double height, const String &name="") | |
Initializes new UIView object with an frame rectangle size. | |
| ~UIView () override | |
Destroys a UIView. | |
| UIView * | getSuperView () const |
| The view that is the parent of the current view. | |
| const Vector< UIView * > & | getSubViews () const |
| The list of views embedded in the current view. | |
| void | setSubViews (const Vector< UIView * > &subViews) |
| The list of views embedded in the current view. | |
| UInt32 | getSubViewCount () const noexcept |
| Gets the number of sub-views in the view. | |
| UIView * | getSubView (UInt32 index) const |
| Gets the sub-view at the given index. | |
| UInt32 | getSubViewIndex (const UIView *view) const |
| Gtes the sub-view index for the given sub-view, if it is a sub-view. | |
| void | addSubView (UIView *view) |
| Adds a view to the view's subviews so it's displayed above its siblings. | |
| void | addSubView (const UIViewPtr &view) |
| Adds a view to the view's subviews so it's displayed above its siblings. | |
| template<typename T , typename... Args> | |
| T * | addSubView (Args &&... args) |
| Adds a view to the view's subviews so it's displayed above its siblings. | |
| void | replaceSubView (UIView *view, UIView *replacement) |
| Replaces one of the view's subviews with another view. | |
| void | removeFromSuperview () |
| Unlinks the view from its superview and its window, removes it from the responder chain, and invalidates its cursor rectangles. | |
| bool | isDescendant (const UIView *view) const |
| Returns true if the view is a subview of a given view or if it's identical to that view; otherwise, it returns false. | |
| UIView * | getOpaqueAncestor () const |
| The view's closest opaque ancestor, which might be the view itself. | |
| virtual UIWindow * | getWindow () const |
| The view's window object, if it is installed in a window. | |
| UIRect | getFrame () const |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| virtual void | setFrame (const UIRect &frame) |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| void | setFrame (const UIPoint &point, const UISize &size) |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| void | setFrame (const UIPoint &point, const double width, const double height) |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| void | setFrame (const double x, const double y, const UISize &size) |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| void | setFrame (const double x, const double y, const double width, const double height) |
| The view's frame rectangle, which defines its position and size in its superview's coordinate system. | |
| void | setFrameOrigin (const UIPoint &point) |
| Sets the origin of the view's frame rectangle to the specified point, effectively repositioning it within its superview. | |
| void | setFrameOrigin (const double x, const double y) |
| Sets the origin of the view's frame rectangle to the specified point, effectively repositioning it within its superview. | |
| void | setFrameSize (const UISize &size) |
| Sets the size of the view's frame rectangle to the specified dimensions, resizing it within its superview without affecting its coordinate system. | |
| void | setFrameSize (const double width, const double height) |
| Sets the size of the view's frame rectangle to the specified dimensions, resizing it within its superview without affecting its coordinate system. | |
| UIRect | getBounds () const |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| virtual void | setBounds (const UIRect &bounds) |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| void | setBounds (const UIPoint &point, const UISize &size) |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| void | setBounds (const UIPoint &point, const double width, const double height) |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| void | setBounds (const double x, const double y, const UISize &size) |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| void | setBounds (const double x, const double y, const double width, const double height) |
| The view's bounds rectangle, which expresses its location and size in its own coordinate system. | |
| void | setBoundsOrigin (const UIPoint &point) |
| Sets the origin of the view's bounds rectangle to a specified point. | |
| void | setBoundsOrigin (const double x, const double y) |
| Sets the origin of the view's bounds rectangle to a specified point. | |
| void | setBoundsSize (const UISize &size) |
| Sets the size of the view's bounds rectangle to specified dimensions, inversely scaling its coordinate system relative to its frame rectangle. | |
| void | setBoundsSize (const double width, const double height) |
| Sets the size of the view's bounds rectangle to specified dimensions, inversely scaling its coordinate system relative to its frame rectangle. | |
| virtual bool | acceptsFirstMouse (const UIEvent &theEvent) |
Overridden by subclasses to return true if the view should call mouseDown() for an initial mouse-down event, false if not. | |
| UIView * | hitTest (UIPoint aPoint, const Optional< const UIEvent & > &event=nullopt) |
| Returns the farthest descendant of the view in the view hierarchy (including itself) that contains a specified point, or nil if that point lies completely outside the view. | |
| virtual bool | isPointInside (const UIPoint &point, const Optional< const UIEvent & > &event=nullopt) |
| Returns a Boolean value indicating whether the receiver contains the specified point. | |
| bool | isMousePoint (const UIPoint &aPoint, const UIRect &aRect) |
| Returns whether a region of the view contains a specified point, accounting for whether the view is flipped or not. | |
| virtual bool | getMouseDownCanMoveWindow () const |
| This property lets you determine the region by which a window can be moved. | |
| const UIAppearance & | getAppearance () const noexcept |
| The UI appearance to be used by the view. | |
| void | setAppearance (UIAppearance *appearance) |
| The UI appearance to be used by the view. | |
| UIColor | getTintColor () const |
| The first non-default tint color value in the view's hierarchy, ascending from and starting with the view itself. | |
| void | setTintColor (const UIColor &color) |
| The first non-default tint color value in the view's hierarchy, ascending from and starting with the view itself. | |
| void | clearTintColor () |
| Clears the tint color for the current view. | |
| const UIColor & | getBackgroundColor () const noexcept |
| The view's background color. | |
| void | setBackgroundColor (const UIColor &color) |
| The view's background color. | |
| const UICornerRadius & | getCornerRadius () const noexcept |
| The view's background corner radius. | |
| void | setCornerRadius (const UICornerRadius &color) |
| The view's background corner radius. | |
| double | getAlpha () const noexcept |
| This property contains the opacity value from the view's layer. | |
| void | setAlpha (double alpha) |
| This property contains the opacity value from the view's layer. | |
| bool | isOpaque () const noexcept |
| A Boolean value indicating whether the view fills its frame rectangle with opaque content. | |
| void | setOpaque (bool isOpaque) |
| A Boolean value indicating whether the view fills its frame rectangle with opaque content. | |
| UIRect | getVisibleRect () const |
| Visibility, as reflected by this property, does not account for whether other view or window objects overlap the current view or whether the current view is installed in a window at all. | |
| bool | isVisible () const |
| A Boolean value indicating whether the view is visible. | |
| void | setVisible (bool visible) |
| A Boolean value indicating whether the view is visible. | |
| bool | isHidden () const |
| A Boolean value indicating whether the view is hidden. | |
| void | setHidden (const bool hidden) |
| A Boolean value indicating whether the view is hidden. | |
| bool | isHiddenOrHasHiddenAncestor () const |
| A Boolean value indicating whether the view is hidden from sight because it, or one of its ancestors, is marked as hidden. | |
| bool | isActive () const |
| A Boolean value indicating whether the view is active. | |
| void | setActive (bool active) |
| A Boolean value indicating whether the view is active. | |
| bool | getAutoresizesSubViews () const |
| A Boolean value indicating whether the view applies the autoresizing behavior to its subviews when its frame size changes. | |
| void | setAutoresizesSubViews (bool state) |
| Generates a hash for the provided type. | |
| const UIViewAutoresizingMask & | getAutoresizingMask () const |
| The options that determine how the view is resized relative to its superview. | |
| void | setAutoresizingMask (const UIViewAutoresizingMask &autoresizingMask) |
| The options that determine how the view is resized relative to its superview. | |
| virtual void | resizeSubviews (const UISize &oldBoundsSize) |
| Informs the view's subviews that the view's bounds rectangle size has changed. | |
| virtual void | resize (const UISize &oldBoundsSize) |
| Informs the view that the bounds size of its superview has changed. | |
| virtual UISize | getIntrinsicContentSize () const |
| The natural size for the receiving view, considering only properties of the view itself. | |
| bool | getNeedsLayout () const |
| A Boolean value indicating whether the view needs a layout pass before it can be drawn. | |
| void | setNeedsLayout () |
| A Boolean value indicating whether the view needs a layout pass before it can be drawn. | |
| void | setNeedsLayout (bool state) |
| A Boolean value indicating whether the view needs a layout pass before it can be drawn. | |
| void | layout () |
| Perform layout in concert with the layout system. | |
| void | layoutIfNeeded () |
| Updates the layout of the receiving view and its subviews based on the current views and constraints. | |
| virtual void | layoutSubviews () |
| Lays out subviews. | |
| virtual UISize | calculateFittingLayoutSize (const UISize &targetSize) const |
| Returns the optimal size of the view based on its current constraints. | |
| UISize | calculateMinimumLayoutSize () const |
| Returns the minimum size of the view based on its current constraints. | |
| UISize | calculateMaximumLayoutSize () const |
| Returns the maximum size of the view based on its current constraints. | |
| bool | getNeedsUpdateConstraints () const |
| A Boolean value that determines whether the view’s constraints need updating. | |
| void | setNeedsUpdateConstraints () |
| A Boolean value that determines whether the view’s constraints need updating. | |
| void | setNeedsUpdateConstraints (bool state) |
| A Boolean value that determines whether the view’s constraints need updating. | |
| void | updateConstraintsIfNeeded () |
| Updates the constraints for the receiving view and its subviews. | |
| Span< const UILayoutConstraint > | getConstraints () const |
| Returns the constraints held by the view. | |
| void | setConstraints (Vector< UILayoutConstraint > &&constraints) |
| Returns the constraints held by the view. | |
| void | setConstraints (const Span< const UILayoutConstraint > &constraints) |
| Returns the constraints held by the view. | |
| void | addConstraint (const UILayoutConstraint &constraint) |
| Adds a constraint on the layout of the receiving view or its subviews. | |
| void | addConstraints (const Span< const UILayoutConstraint > &constraints) |
| Adds multiple constraints on the layout of the receiving view or its subviews. | |
| void | addConstraints (const InitializerList< UILayoutConstraint > constraints) |
| Adds multiple constraints on the layout of the receiving view or its subviews. | |
| void | removeConstraint (const UILayoutConstraint &constraint) |
| Removes the specified constraint from the view. | |
| void | removeConstraints (const Span< const UILayoutConstraint > &constraints) |
| Removes the specified constraints from the view. | |
| void | removeConstraints (const InitializerList< UILayoutConstraint > constraints) |
| Removes the specified constraints from the view. | |
| const UIEdgeInsets & | getLayoutMargins () const |
| The default spacing to use when laying out content in the view. | |
| void | setLayoutMargins (const UIEdgeInsets &layoutMargins) |
| The default spacing to use when laying out content in the view. | |
| double | getLayoutTopMargin () const |
| The default spacing to use when laying out content in the view. | |
| void | setTopLayoutMargin (double topLayoutMargin) |
| Generates a hash for the provided type. | |
| double | getBottomLayoutMargin () const |
| The default spacing to use when laying out content in the view. | |
| void | setBottomLayoutMargin (double bottomLayoutMargin) |
| The default spacing to use when laying out content in the view. | |
| double | getLeftLayoutMargin () const |
| The default spacing to use when laying out content in the view. | |
| void | setLeftLayoutMargin (double leftLayoutMargin) |
| The default spacing to use when laying out content in the view. | |
| double | getRightLayoutMargin () const |
| The default spacing to use when laying out content in the view. | |
| void | setRightLayoutMargin (double rightLayoutMargin) |
| The default spacing to use when laying out content in the view. | |
| void | setNeedsDisplay () |
| The displayIfNeeded methods check the value of this property to avoid unnecessary drawing, and all display methods set the value back to false when the view is up to date. | |
| void | setNeedsDisplay (const UIRect &invalidRect) |
| Marks the region of the view within the specified rectangle as needing display, increasing the view's existing invalid region to include it. | |
| bool | getNeedsDisplay () const |
| The displayIfNeeded methods check the value of this property to avoid unnecessary drawing, and all display methods set the value back to false when the view is up to date. | |
| void | display (UIGraphicsContext &context) |
| Displays the view and all its subviews if possible. | |
| void | display (UIGraphicsContext &context, const UIRect &aRect) |
Acts as display(), but confining drawing to a rectangular region of the view. | |
| void | displayIgnoringOpacity (UIGraphicsContext &context) |
| Displays the view but does not back up to the first opaque ancestor—it simply causes the view and its descendants to execute their drawing code. | |
| virtual void | displayIgnoringOpacity (UIGraphicsContext &context, const UIRect &aRect) |
| Displays the view but confines drawing to a specified region and does not back up to the first opaque ancestor—it simply causes the view and its descendants to execute their drawing code. | |
| void | displayIfNeeded (UIGraphicsContext &context) |
| Displays the view and all its subviews if any part of the view has been marked as needing display. | |
| void | displayIfNeeded (UIGraphicsContext &context, const UIRect &aRect) |
Acts as displayIfNeeded(), but confining drawing to a rectangular region of the view. | |
| void | displayIfNeededIgnoringOpacity (UIGraphicsContext &context) |
Acts as displayIfNeeded(), except that this method doesn’t back up to the first opaque ancestor—it simply causes the view and its descendants to execute their drawing code. | |
| void | displayIfNeededIgnoringOpacity (UIGraphicsContext &context, const UIRect &aRect) |
| Displays the view but confines drawing to a specified region and does not back up to the first opaque ancestor—it simply causes the view and its descendants to execute their drawing code. | |
| bool | canDraw () const |
| A Boolean value indicating whether drawing commands will produce any results. | |
| virtual void | draw (UIGraphicsContext &context, const UIRect &dirtyRect) |
| Overridden by subclasses to draw the view's texture within the specified rectangle. | |
| const Vector< UIRect > & | getRectsBeingDrawn () const |
Returns by a list of non-overlapping rectangles that define the area the view is being asked to draw in draw(). | |
| bool | needsToDraw (const UIRect &aRect) const noexcept |
| Returns a Boolean value indicating whether the specified rectangle intersects any part of the area that the view is being asked to draw. | |
| virtual bool | getClearsContextBeforeDrawing () const noexcept |
| A Boolean value that determines whether the view's bounds should be automatically cleared before drawing. | |
| virtual bool | getClipsToBounds () const |
| A Boolean value that determines whether subviews are confined to the bounds of the view. | |
| double | getContentScaleFactor () const |
| The scale factor applied to the view. | |
| void | setContentScaleFactor (const Optional< double > &contentScaleFactor) |
| The scale factor applied to the view. | |
| bool | isFirstResponder () const noexcept |
| Determines if this view is the current first responder. | |
| virtual UIScrollView * | getScrollView () const |
| Gets the closest parent scroll view to this view. | |
| virtual bool | canBecomeKeyView () const |
| When the value of this property is true, the view can become the key view. | |
| virtual bool | needsPanelToBecomeKey () const |
The default value of this property is false. | |
| UIView * | getNextKeyView () const |
| The view object that follows the current view in the key view loop. | |
| void | setNextKeyView (UIView *nextKeyView) |
| The view object that follows the current view in the key view loop. | |
| UIView * | getNextValidKeyView () const |
The value in this property is nullptr if there is no view that follows the current view and accepts the first responder status. | |
| UIView * | getPreviousKeyView () const |
The value in this property is nullptr if there is no view preceding the current view in the key view loop. | |
| UIView * | getPreviousValidKeyView () const |
The value in this property is nullptr if there is no view that precedes the current view and accepts the first responder status. | |
| AffineTransform | getTransformFrom (const UIView *aView=nullptr) const |
| const AffineTransform & | getTransformFromWindow () const |
| AffineTransform | getTransformFromSuperView () const |
| const AffineTransform & | getTransformFromBacking () const |
| AffineTransform | getTransformTo (const UIView *aView=nullptr) const |
| const AffineTransform & | getTransformToWindow () const |
| AffineTransform | getTransformToSuperView () const |
| const AffineTransform & | getTransformToBacking () const |
| UIPoint | convertFrom (const UIPoint &aPoint, const UIView *aView=nullptr) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UIPoint | convertFromWindow (const UIPoint &aPoint) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UIPoint | convertFromSuperView (const UIPoint &aPoint) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UIPoint | convertFromBacking (const UIPoint &aPoint) const |
| Converts a point from its pixel aligned backing store coordinate system to the view’s interior coordinate system. | |
| UIPoint | convertTo (const UIPoint &aPoint, const UIView *aView=nullptr) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UIPoint | convertToWindow (const UIPoint &aPoint) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UIPoint | convertToSuperView (const UIPoint &aPoint) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UIPoint | convertToBacking (const UIPoint &aPoint) const |
| Converts a point from the view’s interior coordinate system to its pixel aligned backing store coordinate system. | |
| UISize | convertFrom (const UISize &aSize, const UIView *aView=nullptr) const |
| Converts a size from another view's coordinate system to that of the view. | |
| UISize | convertFromWindow (const UISize &aSize) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UISize | convertFromSuperView (const UISize &aSize) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UISize | convertFromBacking (const UISize &aSize) const |
| Converts a size from its pixel aligned backing store coordinate system to the view’s interior coordinate system. | |
| UISize | convertTo (const UISize &aSize, const UIView *aView=nullptr) const |
| Converts a size from the view's coordinate system to that of another view. | |
| UISize | convertToWindow (const UISize &aSize) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UISize | convertToSuperView (const UISize &aSize) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UISize | convertToBacking (const UISize &aSize) const |
| Converts a size from the view’s interior coordinate system to its pixel aligned backing store coordinate system. | |
| UIRect | convertFrom (const UIRect &aRect, const UIView *aView=nullptr) const |
| Converts a rectangle from the coordinate system of another view to that of the view. | |
| UIRect | convertFromWindow (const UIRect &aRect) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UIRect | convertFromSuperView (const UIRect &aRect) const |
| Converts a point from the coordinate system of a given view to that of the view. | |
| UIRect | convertFromBacking (const UIRect &aRect) const |
| Converts a rectangle from its pixel aligned backing store coordinate system to the view’s interior coordinate system. | |
| UIRect | convertTo (const UIRect &aRect, const UIView *aView=nullptr) const |
| Converts a rectangle from the view's coordinate system to that of another view. | |
| UIRect | convertToWindow (const UIRect &aRect) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UIRect | convertToSuperView (const UIRect &aRect) const |
| Converts a point from the view's coordinate system to that of a given view. | |
| UIRect | convertToBacking (const UIRect &aRect) const |
| Converts a rectangle from the view’s interior coordinate system to its pixel aligned backing store coordinate system. | |
| UIViewController * | getViewController () const noexcept |
| The UIView controller, if any. | |
| const String & | getName () const |
| A human readable string that represents the view. | |
| void | setName (const String &name) |
| Generates a hash for the provided type. | |
| virtual StringView | getTypeName () const |
| A string that represents the view type. | |
| UIResponder * | getNextResponder () const final |
| The next responder after this one, or nil if it has none. | |
Public Member Functions inherited from CeresEngine::UIResponder | |
| virtual | ~UIResponder ()=default |
| virtual bool | acceptsFirstResponder () const |
| A Boolean value that indicates whether the responder accepts first responder status. | |
| virtual bool | becomeFirstResponder () |
| Notifies the receiver that it's about to become first responder in its window. | |
| virtual bool | resignFirstResponder () |
| Notifies the receiver that it's been asked to relinquish its status as first responder in its window. | |
| virtual void | mouseDown (const UIMouseEvent &event) |
| Informs the receiver that the user has pressed the left mouse button. | |
| virtual void | mouseDragged (const UIMouseEvent &event) |
| Informs the receiver that the user has moved the mouse with the left button pressed. | |
| virtual void | mouseUp (const UIMouseEvent &event) |
| Informs the receiver that the user has released the left mouse button. | |
| virtual void | mouseMoved (const UIMouseEvent &event) |
| Informs the receiver that the mouse has moved. | |
| virtual void | mouseEntered (const UIMouseEvent &event) |
| Informs the receiver that the cursor has entered a tracking rectangle. | |
| virtual void | mouseExited (const UIMouseEvent &event) |
| Informs the receiver that the cursor has exited a tracking rectangle. | |
| virtual void | rightMouseDown (const UIMouseEvent &event) |
| Informs the receiver that the user has pressed the right mouse button. | |
| virtual void | rightMouseDragged (const UIMouseEvent &event) |
| Informs the receiver that the user has moved the mouse with the right button pressed. | |
| virtual void | rightMouseUp (const UIMouseEvent &event) |
| Informs the receiver that the user has released the right mouse button. | |
| virtual void | otherMouseDown (const UIMouseEvent &event) |
| Informs the receiver that the user has pressed a mouse button other than the left or right one. | |
| virtual void | otherMouseDragged (const UIMouseEvent &event) |
| Informs the receiver that the user has moved the mouse with a button other than the left or right button pressed. | |
| virtual void | otherMouseUp (const UIMouseEvent &event) |
| Informs the receiver that the user has released a mouse button other than the left or right button. | |
| virtual void | scrollWheel (const UIMouseEvent &event) |
| Informs the receiver that the mouse's scroll wheel has moved. | |
| virtual void | keyDown (const UIKeyEvent &event) |
| Informs the receiver that the user has pressed a key. | |
| virtual void | keyUp (const UIKeyEvent &event) |
| Informs the receiver that the user has released a key. | |
| virtual void | interpretKeyEvents (const Vector< UIKeyEvent > &events) |
| Handles a series of key events. | |
| virtual bool | performKeyEquivalent (const UIKeyEvent &event) |
| Handle a key equivalent. | |
| virtual void | flushBufferedKeyEvents () |
| Clears any unprocessed key events when overridden by subclasses. | |
| virtual void | cursorUpdate (const UIEvent &event) |
| Informs the receiver that the mouse cursor has moved into a cursor rectangle. | |
| virtual void | flagsChanged (const UIEvent &event) |
| Informs the receiver that the user has pressed or released a modifier key (Shift, Control, and so on). | |
Public Member Functions inherited from CeresEngine::RefCounted< UIView, RefCounter< false > > | |
| RefCounted (Args &&... args) | |
Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it. | |
| void | retain () noexcept |
| Retains the object by increment it's reference count by one. | |
| bool | release () noexcept |
| Relases the object by decrementing it's reference count by one. | |
Protected Member Functions | |
| void | didAddSubview (UIView &view) override |
| Overridden by subclasses to perform additional actions when subviews are added to the view. | |
| void | didRemoveSubview (UIView &view) override |
| Overridden by subclasses to perform additional actions when subviews are removed to the view. | |
| void | updateConstraints () override |
| Updates constraints for the view. | |
Protected Member Functions inherited from CeresEngine::UIView | |
| virtual void | willRemoveSubview (UIView &view) |
| Overridden by subclasses to perform additional actions before subviews are removed from the view. | |
| virtual void | willMoveToSuperView (UIView *superView) |
| Informs the view that its superview is about to change to the specified superview (which may be nil). | |
| virtual void | didMoveToSuperView (UIView *superView) |
| Informs the view that its superview has changed (possibly to nil). | |
| virtual void | willMoveToWindow (UIWindow *window) |
| Informs the view that it's being added to the view hierarchy of the specified window object (which may be nil). | |
| virtual void | didMoveToWindow (UIWindow *window) |
| Informs the view that it has been added to a new view hierarchy. | |
| virtual void | didHide () |
| Invoked when the view is hidden, either directly, or in response to an ancestor being hidden. | |
| virtual void | didUnhide () |
| Invoked when the view is unhidden, either directly, or in response to an ancestor being unhidden. | |
| virtual void | willDraw () |
| Informs the view that it will be required to draw content. | |
| virtual void | tintColorDidChange () |
| Called by the system when the tintColor property changes. | |
| virtual void | didChangeFrame (const UIRect &oldFrame) |
Called whenever the view frame changes, either internally or programmatically by calls to setFrame. | |
| virtual void | didChangeBounds (const UIRect &oldBounds) |
Called whenever the view bounds changes, either internally or programmatically by calls to setBounds. | |
| void | invalidateIntrinsicContentSize () |
| Invalidates the view's intrinsic content size. | |
| void | updateIntrinsicContentSize () |
Private Types | |
| using | super = UIView |
Private Attributes | |
| Orientation | mOrientation = Orientation::Horizontal |
| The horizontal or vertical layout direction of the stack view. | |
| Alignment | mAlignment = Alignment::Center |
| The view alignment within the stack view. | |
| Distribution | mDistribution = Distribution::Fill |
| UIEdgeInsets | mEdgeInsets |
| The geometric padding, in points, inside the stack view, surrounding its views. | |
| double | mSpacing = 8.0 |
| The minimum spacing, in points, between adjacent views in the stack view. | |
| Vector< UILayoutConstraint > | mStackViewConstraints |
Additional Inherited Members | |
Static Public Member Functions inherited from CeresEngine::UIResponder | |
| static void | dispatch (UIResponder *const firstResponder, const UIEvent &event) |
Dispatches a UIEvent to the given first responder. | |
Public Attributes inherited from CeresEngine::UIView | |
| const UILayoutAnchor | left |
| The left side of the object's alignment rectangle. | |
| const UILayoutAnchor | right |
| The right side of the object's alignment rectangle. | |
| const UILayoutAnchor | top |
| The top of the object's alignment rectangle. | |
| const UILayoutAnchor | bottom |
| The bottom of the object's alignment rectangle. | |
| const UILayoutAnchor | width |
| The width of the object's alignment rectangle. | |
| const UILayoutAnchor | height |
| The height of the object's alignment rectangle. | |
| const UILayoutAnchor | centerX |
| The center along the x-axis of the object's alignment rectangle. | |
| const UILayoutAnchor | centerY |
| The center along the y-axis of the object's alignment rectangle. | |
| const UILayoutAnchor | lastBaseline |
| The object's baseline. | |
| const UILayoutAnchor | firstBaseline |
| The object's baseline. | |
| const UILayoutAnchor | leftMargin |
| The object's left margin. | |
| const UILayoutAnchor | rightMargin |
| The object's right margin. | |
| const UILayoutAnchor | topMargin |
| The object's top margin. | |
| const UILayoutAnchor | bottomMargin |
| The object's bottom margin. | |
| const UILayoutAnchor | centerXWithinMargins |
| The center along the x-axis between the object's left and right margin. | |
| const UILayoutAnchor | centerYWithinMargins |
| The center along the y-axis between the object's top and bottom margin. | |
Static Public Attributes inherited from CeresEngine::UIView | |
| static const double | kNoInstrinsicMetric |
| Used to indicate that a view has no intrinsic metric for a given numeric property. | |
| static const UISize | kNoIntrinsicSize |
| Used to indicate that a view has no intrinsic metric for a given size property. | |
| static const UInt32 | kInvalidViewIndex |
| Used to indicate that an invalid view index. | |
| static const UIRect | kDefaultFrame |
| A rectangle that represents the default frame set by a view without an explicit frame. | |
| static const UIColorAppearanceProperty | tintColorProperty |
Determines the default value for the tintColor property if not overridden by the view. | |
| static const UIPaintAppearanceProperty | labelPaintProperty |
| The primary color to use for text labels. | |
| static const UIPaintAppearanceProperty | secondaryLabelPaintProperty |
| The secondary color to use for text labels. | |
| static const UIPaintAppearanceProperty | tertiaryLabelPaintProperty |
| The tertiary color to use for text labels. | |
| static const UIPaintAppearanceProperty | quaternaryLabelPaintProperty |
| The quaternary color to use for text labels and separators. | |
| static const UIPaintAppearanceProperty | textPaintProperty |
| The color to use for text. | |
| static const UIPaintAppearanceProperty | placeholderTextPaintProperty |
| The color to use for placeholder text in controls or text views. | |
| static const UIPaintAppearanceProperty | selectedTextPaintProperty |
| The color to use for selected text. | |
| static const UIPaintAppearanceProperty | textBackgroundPaintProperty |
| The color to use for the background area behind text. | |
| static const UIPaintAppearanceProperty | selectedTextBackgroundPaintProperty |
| The color to use for the background of selected text. | |
| static const UIPaintAppearanceProperty | keyboardFocusIndicatorPaintProperty |
| The color to use for the keyboard focus ring around controls. | |
| static const UIPaintAppearanceProperty | unemphasizedSelectedTextPaintProperty |
| The color to use for selected text in an unemphasized context. | |
| static const UIPaintAppearanceProperty | unemphasizedSelectedTextBackgroundPaintProperty |
| The color to use for the text background in an unemphasized context. | |
| static const UIPaintAppearanceProperty | linkPaintProperty |
| The color to use for links. | |
| static const UIPaintAppearanceProperty | separatorPaintProperty |
| The color to use for separators between different sections of content. | |
| static const UIPaintAppearanceProperty | selectedContentBackgroundPaintProperty |
| The color to use for the background of selected and emphasized content. | |
| static const UIPaintAppearanceProperty | unemphasizedSelectedContentBackgroundPaintProperty |
| The color to use for selected and unemphasized content. | |
| static const UIPaintAppearanceProperty | selectedMenuItemTextPaintProperty |
| The color to use for the text in menu items. | |
| static const UIPaintAppearanceProperty | gridPaintProperty |
| The color to use for the optional gridlines, such as those in a table view. | |
| static const UIPaintAppearanceProperty | headerTextPaintProperty |
| The color to use for text in header cells in table views and outline views. | |
| static const UIPaintAppearanceProperty | alternatingContentBackgroundColorsProperty |
| The colors to use for alternating content, typically found in table views and collection views. | |
| static const UIPaintAppearanceProperty | controlAccentPaintProperty |
| The user's current accent color preference. | |
| static const UIPaintAppearanceProperty | controlPaintProperty |
| The color to use for the flat surfaces of a control. | |
| static const UIPaintAppearanceProperty | controlBackgroundPaintProperty |
| The color to use for the background of large controls, such as scroll views or table views. | |
| static const UIPaintAppearanceProperty | controlTextPaintProperty |
| The color to use for text on enabled controls. | |
| static const UIPaintAppearanceProperty | disabledControlTextPaintProperty |
| The color to use for text on disabled controls. | |
| static const UIPaintAppearanceProperty | currentControlTintProperty |
| The current system control tint color. | |
| static const UIPaintAppearanceProperty | selectedControlPaintProperty |
| The color to use for the face of a selected control—that is, a control that has been clicked or is being dragged. | |
| static const UIPaintAppearanceProperty | selectedControlTextPaintProperty |
| The color to use for text in a selected control—that is, a control being clicked or dragged. | |
| static const UIPaintAppearanceProperty | alternateSelectedControlTextPaintProperty |
| The color to use for text in a selected control. | |
| static const UIPaintAppearanceProperty | scrubberTexturedBackgroundPaintProperty |
| The patterned color to use for the background of a scrubber control. | |
| static const UIPaintAppearanceProperty | windowBackgroundPaintProperty |
| The color to use for the window background. | |
| static const UIPaintAppearanceProperty | windowFrameTextPaintProperty |
| The color to use for text in a window's frame. | |
| static const UIPaintAppearanceProperty | underPageBackgroundPaintProperty |
| The color to use in the area beneath your window's views. | |
| static const UIPaintAppearanceProperty | findHighlightPaintProperty |
| The highlight color to use for the bubble that shows inline search result values. | |
| static const UIPaintAppearanceProperty | highlightPaintProperty |
| The color to use as a virtual light source on the screen. | |
| static const UIPaintAppearanceProperty | shadowPaintProperty |
| The color to use for virtual shadows cast by raised objects on the screen. | |
| static const UIFontAppearanceProperty | fontProperty |
| The default font used by all UI elements. | |
| static const UIFloatAppearanceProperty | fontSizeProperty |
| The default font size used by all UI elements. | |
A view that arranges an array of views horizontally or vertically and updates their placement and sizing when the window size changes.
|
private |
| Enumerator | |
|---|---|
| Leading | Aligns subviews to the leading edge of the stack view. If orientation is |
| Center | Aligns subviews to the center of the stack view. |
| Trailing | Aligns subviews to the trailing edge of the stack view. If orientation is |
| CeresEngine::UIStackView::UIStackView | ( | ) |
Creates a new UIStackView with default settings.
|
override |
Destroys the UIStackView and releases it's subviews.
Overridden by subclasses to perform additional actions when subviews are added to the view.
Reimplemented from CeresEngine::UIView.
Overridden by subclasses to perform additional actions when subviews are removed to the view.
Reimplemented from CeresEngine::UIView.
|
inlinenoexcept |
The view alignment within the stack view.
|
inlinenoexcept |
|
inlinenoexcept |
The geometric padding, in points, inside the stack view, surrounding its views.
The default value is (0, 0, 0, 0). Edge insets remain as they are if you change the value of a stack view’s orientation property.
|
inlinenoexcept |
The horizontal or vertical layout direction of the stack view.
Default value is Orientation::Horizontal. For values that apply to this property, see Orientation.
|
inlinenoexcept |
The minimum spacing, in points, between adjacent views in the stack view.
A stack view uses this property to define the minimum distance between views within a gravity area and between neighboring views in adjacent gravity areas. The default value for the spacing property is 8.0 points.
The view alignment within the stack view.
| void CeresEngine::UIStackView::setDistribution | ( | Distribution | distribution | ) |
| void CeresEngine::UIStackView::setEdgeInsets | ( | const UIEdgeInsets & | edgeInsets | ) |
The geometric padding, in points, inside the stack view, surrounding its views.
The default value is (0, 0, 0, 0). Edge insets remain as they are if you change the value of a stack view’s orientation property.
| void CeresEngine::UIStackView::setOrientation | ( | Orientation | orientation | ) |
The horizontal or vertical layout direction of the stack view.
Default value is Orientation::Horizontal. For values that apply to this property, see Orientation.
The minimum spacing, in points, between adjacent views in the stack view.
A stack view uses this property to define the minimum distance between views within a gravity area and between neighboring views in adjacent gravity areas. The default value for the spacing property is 8.0 points.
| CeresEngine::UIView::UIView | ( | ) |
Initializes new UIView object with an empty frame rectangle.
|
inlineexplicit |
Initializes new UIView object with an frame rectangle size.
The view is placed at the origin.
| x | The frame rectangle origin x coordinate for the created view object. |
| y | The frame rectangle origin y coordinate for the created view object. |
| width | The frame rectangle width for the created view object. |
| height | The frame rectangle height for the created view object. |
Initializes new UIView object with an empty frame rectangle and custom name.
|
inlineexplicit |
Initializes new UIView object with an frame rectangle size.
The view is placed at the origin.
| origin | The frame rectangle origin for the created view object. |
| size | The frame rectangle size for the created view object. |
Initializes new UIView object with a frame rectangle.
| frame | The frame rectangle for the created view object. |
Initializes new UIView object with an frame rectangle size.
The view is placed at the origin.
| size | The frame rectangle size for the created view object. |
|
overrideprotectedvirtual |
Updates constraints for the view.
Override this method to optimize changes to your constraints.
It is almost always cleaner and easier to update a constraint immediately after the affecting change has occurred. For example, if you want to change a constraint in response to a button tap, make that change directly in the button’s action method. You should only override this method when changing constraints in place is too slow, or when a view is producing a number of redundant changes.
To schedule a change, call setNeedsUpdateConstraints on the view. The system then calls your implementation of updateConstraints before the layout occurs. This lets you verify that all necessary constraints for your content are in place at a time when your custom view’s properties are not changing. Your implementation must be as efficient as possible. Do not deactivate all your constraints, then reactivate the ones you need. Instead, your app must have some way of tracking your constraints, and validating them during each update pass. Only change items that need to be changed. During each update pass, you must ensure that you have the appropriate constraints for the app’s current state.
Do not call setNeedsUpdateConstraints inside your implementation. Calling setNeedsUpdateConstraints schedules another update pass, creating a feedback loop.
Call super as the final step in your implementation.
Reimplemented from CeresEngine::UIView.
|
private |
The view alignment within the stack view.
|
private |
|
private |
The geometric padding, in points, inside the stack view, surrounding its views.
The default value is (0, 0, 0, 0). Edge insets remain as they are if you change the value of a stack view’s orientation property.
|
private |
The horizontal or vertical layout direction of the stack view.
Default value is Orientation::Horizontal. For values that apply to this property, see Orientation.
|
private |
The minimum spacing, in points, between adjacent views in the stack view.
A stack view uses this property to define the minimum distance between views within a gravity area and between neighboring views in adjacent gravity areas. The default value for the spacing property is 8.0 points.
|
private |