CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::UIScrollView Class Reference

A view that displays a portion of a document view and provides scroll bars that allow the user to move the document view within the scroll view. More...

#include <CeresEngine/UI/UIScrollView.hpp>

Inheritance diagram for CeresEngine::UIScrollView:
CeresEngine::UIView CeresEngine::UIResponder CeresEngine::RefCounted< UIView, RefCounter< false > >

Public Member Functions

 UIScrollView ()
 Initializes new UIScrollView object with an empty frame rectangle.
 
 UIScrollView (const String &name)
 Initializes new UIScrollView object with an empty frame rectangle and custom name.
 
 UIScrollView (const UIRect &frame, const String &name="")
 Initializes new UIScrollView object with a frame rectangle.
 
 UIScrollView (const UISize &size, const String &name="")
 Initializes new UIScrollView object with an frame rectangle size.
 
 UIScrollView (const UIPoint &origin, const UISize &size, const String &name="")
 Initializes new UIScrollView object with an frame rectangle size.
 
 UIScrollView (const double x, const double y, const double width, const double height, const String &name="")
 Initializes new UIScrollView object with an frame rectangle size.
 
 ~UIScrollView () override
 Destroys a UIScrollView.
 
UIClipViewgetClipView () const noexcept
 The scroll view's clip view, the view that clips the document view.
 
UIViewgetDocumentView () const noexcept
 
void setDocumentView (UIView *documentView)
 
UIScrollergetHorizontalScroller () const noexcept
 The scroll view's horizontal scroller.
 
bool hasHorizontalScroller () const
 A boolean that indicates whether the scroll view has a horizontal scroller.
 
void setHasHorizontalScroller (bool hasHorizontalScroller)
 A boolean that indicates whether the scroll view has a horizontal scroller.
 
UIScrollergetVerticalScroller () const noexcept
 The scroll view's vertical scroller.
 
bool hasVerticalScroller () const noexcept
 A boolean that indicates whether the scroll view has a vertical scroller.
 
void setHasVerticalScroller (bool hasVerticalScroller)
 A boolean that indicates whether the scroll view has a vertical scroller.
 
bool autohidesScrollers () const noexcept
 A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.
 
void setAutohidesScrollers (bool autohidesScrollers)
 A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.
 
bool resizesIfScrollerDisabled () const noexcept
 A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.
 
void setResizesIfScrollerDisabled (bool resizesIfScrollerDisabled)
 A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.
 
double getHorizontalLineScroll () const noexcept
 The scroll view’s horizontal line by line scroll amount.
 
void setHorizontalLineScroll (double horizontalLineScroll)
 The scroll view’s horizontal line by line scroll amount.
 
double getVerticalLineScroll () const noexcept
 The scroll view’s vertical line by line scroll amount.
 
void setVerticalLineScroll (double verticalLineScroll)
 The scroll view’s vertical line by line scroll amount.
 
double getHorizontalPageScroll () const noexcept
 The amount of the document view kept visible when scrolling horizontally page by page.
 
void setHorizontalPageScroll (double horizontalPageScroll)
 The amount of the document view kept visible when scrolling horizontally page by page.
 
double getVerticalPageScroll () const noexcept
 The amount of the document view kept visible when scrolling vertically page by page.
 
void setVerticalPageScroll (double verticalPageScroll)
 The amount of the document view kept visible when scrolling vertically page by page.
 
bool isScrollsDynamically () const noexcept
 A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.
 
void setScrollsDynamically (bool scrollsDynamically)
 A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.
 
void reflectScrolledClipView ()
 Adjusts the receiver’s scrollers to reflect the size and positioning of its content view.
 
void layoutSubviews () override
 Lays out subviews.
 
UIScrollViewgetScrollView () const final
 Gets the closest parent scroll view to this view.
 
void draw (CeresEngine::UIGraphicsContext &context, const CeresEngine::UIRect &dirtyRect) override
 Overridden by subclasses to draw the view's texture within the specified rectangle.
 
UISize calculateFittingLayoutSize (const UISize &targetSize) const override
 Returns the optimal size of the view based on its current constraints.
 
void scrollWheel (const CeresEngine::UIMouseEvent &event) override
 Informs the receiver that the mouse's scroll wheel has moved.
 
- 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.
 
UIViewgetSuperView () 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.
 
UIViewgetSubView (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>
TaddSubView (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.
 
UIViewgetOpaqueAncestor () const
 The view's closest opaque ancestor, which might be the view itself.
 
virtual UIWindowgetWindow () 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.
 
UIViewhitTest (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 UIAppearancegetAppearance () 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 UIColorgetBackgroundColor () const noexcept
 The view's background color.
 
void setBackgroundColor (const UIColor &color)
 The view's background color.
 
const UICornerRadiusgetCornerRadius () 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 UIViewAutoresizingMaskgetAutoresizingMask () 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.
 
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.
 
virtual void updateConstraints ()
 Updates constraints for the view.
 
void updateConstraintsIfNeeded ()
 Updates the constraints for the receiving view and its subviews.
 
Span< const UILayoutConstraintgetConstraints () 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 UIEdgeInsetsgetLayoutMargins () 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.
 
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 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.
 
UIViewgetNextKeyView () 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.
 
UIViewgetNextValidKeyView () const
 The value in this property is nullptr if there is no view that follows the current view and accepts the first responder status.
 
UIViewgetPreviousKeyView () const
 The value in this property is nullptr if there is no view preceding the current view in the key view loop.
 
UIViewgetPreviousValidKeyView () 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.
 
UIViewControllergetViewController () const noexcept
 The UIView controller, if any.
 
const StringgetName () 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.
 
UIRespondergetNextResponder () 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 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

UIRect getInsetBounds () const
 Gets the inseted bounds of the scroll view.
 
virtual UIRect getVerticalScrollerFrame () const
 Calculates the vertical scroller view frame.
 
virtual UIRect getHorizontalScrollerFrame () const
 Calculates the horizontal scroller view frame.
 
virtual UIRect getClipViewFrame () const
 Calculates the clip view frame.
 
- Protected Member Functions inherited from CeresEngine::UIView
virtual void didAddSubview (UIView &view)
 Overridden by subclasses to perform additional actions when subviews are added to the view.
 
virtual void willRemoveSubview (UIView &view)
 Overridden by subclasses to perform additional actions before subviews are removed from the view.
 
virtual void didRemoveSubview (UIView &view)
 Overridden by subclasses to perform additional actions when subviews are removed to 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 Member Functions

void didScrollVertically ()
 An event called whenever the vertical scroller has changed position.
 
void didScrollHorizontally ()
 An event called whenever the horizontal scroller has changed position.
 

Private Attributes

UIClipViewmClipView = nullptr
 The scroll view's clip view, the view that clips the document view.
 
UIScrollermHorizontalScroller = nullptr
 The scroll view's horizontal scroller.
 
UIScrollermVerticalScroller = nullptr
 The scroll view's vertical scroller.
 
bool mAutohidesScrollers = false
 A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.
 
double mHorizontalLineScroll = 1.0
 The scroll view’s horizontal line by line scroll amount.
 
double mVerticalLineScroll = 1.0
 The scroll view’s vertical line by line scroll amount.
 
double mHorizontalPageScroll = 10.0
 The amount of the document view kept visible when scrolling horizontally page by page.
 
double mVerticalPageScroll = 10.0
 The amount of the document view kept visible when scrolling vertically page by page.
 
bool mScrollsDynamically = true
 A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.
 
bool mResizesIfScrollerDisabled = true
 A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.
 
EventConnection mHorizontalScrollerDidScrollConnection
 
EventConnection mVerticalScrollerDidScrollConnection
 

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.
 

Detailed Description

A view that displays a portion of a document view and provides scroll bars that allow the user to move the document view within the scroll view.

The NSScrollView class is the central coordinator for the framework's scrolling machinery, which is composed of this class, and the UIClipView and UIScroller classes.

When using an UIClipView object within a scroll view (the usual configuration), you should issue messages that control background drawing state to the scroll view directly, rather than messaging the clip view.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ UIScrollView() [1/6]

CeresEngine::UIScrollView::UIScrollView ( )

Initializes new UIScrollView object with an empty frame rectangle.

◆ UIScrollView() [2/6]

CeresEngine::UIScrollView::UIScrollView ( const String name)
explicit

Initializes new UIScrollView object with an empty frame rectangle and custom name.

◆ UIScrollView() [3/6]

CeresEngine::UIScrollView::UIScrollView ( const UIRect frame,
const String name = "" 
)
explicit

Initializes new UIScrollView object with a frame rectangle.

Parameters
frameThe frame rectangle for the created view object.

◆ UIScrollView() [4/6]

CeresEngine::UIScrollView::UIScrollView ( const UISize size,
const String name = "" 
)
inlineexplicit

Initializes new UIScrollView object with an frame rectangle size.

The view is placed at the origin.

Parameters
sizeThe frame rectangle size for the created view object.

◆ UIScrollView() [5/6]

CeresEngine::UIScrollView::UIScrollView ( const UIPoint origin,
const UISize size,
const String name = "" 
)
inlineexplicit

Initializes new UIScrollView object with an frame rectangle size.

The view is placed at the origin.

Parameters
originThe frame rectangle origin for the created view object.
sizeThe frame rectangle size for the created view object.

◆ UIScrollView() [6/6]

CeresEngine::UIScrollView::UIScrollView ( const double  x,
const double  y,
const double  width,
const double  height,
const String name = "" 
)
inlineexplicit

Initializes new UIScrollView object with an frame rectangle size.

The view is placed at the origin.

Parameters
xThe frame rectangle origin x coordinate for the created view object.
yThe frame rectangle origin y coordinate for the created view object.
widthThe frame rectangle width for the created view object.
heightThe frame rectangle height for the created view object.

◆ ~UIScrollView()

CeresEngine::UIScrollView::~UIScrollView ( )
override

Destroys a UIScrollView.

Member Function Documentation

◆ autohidesScrollers()

bool CeresEngine::UIScrollView::autohidesScrollers ( ) const
inlinenoexcept

A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.

The horizontal and vertical scroll bars are hidden independently of each other. When the value of this property is true and the content of the scroll view doesn't extend beyond the size of the clip view on a given axis, the scroller on that axis is removed to leave more room for the content.

◆ calculateFittingLayoutSize()

UISize CeresEngine::UIScrollView::calculateFittingLayoutSize ( const UISize targetSize) const
overridevirtual

Returns the optimal size of the view based on its current constraints.

Parameters
targetSizeThe size that you prefer for the view. To obtain a view that is as small as possible, specify the constant UILayoutFittingCompressedSize. To obtain a view that is as large as possible, specify the constant UILayoutFittingExpandedSize.
Note
This method returns a size value for the view that optimally satisfies the view's current constraints and is as close to the value in the targetSize parameter as possible. This method does not actually change the size of the view.
Returns
The optimal size for the view.

Reimplemented from CeresEngine::UIView.

◆ didScrollHorizontally()

void CeresEngine::UIScrollView::didScrollHorizontally ( )
private

An event called whenever the horizontal scroller has changed position.

◆ didScrollVertically()

void CeresEngine::UIScrollView::didScrollVertically ( )
private

An event called whenever the vertical scroller has changed position.

◆ draw()

void CeresEngine::UIScrollView::draw ( CeresEngine::UIGraphicsContext context,
const CeresEngine::UIRect dirtyRect 
)
overridevirtual

Overridden by subclasses to draw the view's texture within the specified rectangle.

Use this method to draw the specified portion of your view's content. Your implementation of this method should be as fast as possible and do as little work as possible. The dirtyRect parameter helps you achieve better performance by specifying the portion of the view that needs to be drawn. You should always limit drawing to the content inside this rectangle. For even better performance, you can call the getRectsBeingDrawn() method and use the list of rectangles returned by that method to limit drawing even further. You can also use the needsToDraw() method test whether objects in a particular rectangle need to be drawn.

The default implementation does nothing. Subclasses should override this method if they do custom drawing. Prior to calling this method, the framework creates an appropriate drawing context and configures it for drawing to the view; you do not need to configure the drawing context yourself.

If your custom view is a direct UIView subclass, you do not need to call super. For all other views, call super at some point in your implementation so that the parent class can perform any additional drawing.

Note
If the view's isOpaque property is true, the view must completely fill the dirtyRect rectangle with opaque content.
Parameters
dirtyRectA rectangle defining the portion of the view that requires redrawing. This rectangle usually represents the portion of the view that requires updating. When responsive scrolling is enabled, this rectangle can also represent a nonvisible portion of the view that frameworks wants to cache.

Reimplemented from CeresEngine::UIView.

◆ getClipView()

UIClipView * CeresEngine::UIScrollView::getClipView ( ) const
inlinenoexcept

The scroll view's clip view, the view that clips the document view.

◆ getClipViewFrame()

virtual UIRect CeresEngine::UIScrollView::getClipViewFrame ( ) const
protectedvirtual

Calculates the clip view frame.

◆ getDocumentView()

UIView * CeresEngine::UIScrollView::getDocumentView ( ) const
noexcept

◆ getHorizontalLineScroll()

double CeresEngine::UIScrollView::getHorizontalLineScroll ( ) const
inlinenoexcept

The scroll view’s horizontal line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself horizontally when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar without holding down a modifier key.

◆ getHorizontalPageScroll()

double CeresEngine::UIScrollView::getHorizontalPageScroll ( ) const
inlinenoexcept

The amount of the document view kept visible when scrolling horizontally page by page.

The value of this property is the amount of the document view kept visible when scrolling horizontally page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

◆ getHorizontalScroller()

UIScroller * CeresEngine::UIScrollView::getHorizontalScroller ( ) const
inlinenoexcept

The scroll view's horizontal scroller.

The value of this property is nullptr if the scroll view has no horizontal scroller. You can access the horizontal scroller using this property even if the scroll view isn't currently displaying it. To make sure the scroller is visible, set hasHorizontalScroller to true.

◆ getHorizontalScrollerFrame()

virtual UIRect CeresEngine::UIScrollView::getHorizontalScrollerFrame ( ) const
protectedvirtual

Calculates the horizontal scroller view frame.

◆ getInsetBounds()

UIRect CeresEngine::UIScrollView::getInsetBounds ( ) const
protected

Gets the inseted bounds of the scroll view.

◆ getScrollView()

UIScrollView * CeresEngine::UIScrollView::getScrollView ( ) const
inlinefinalvirtual

Gets the closest parent scroll view to this view.

Reimplemented from CeresEngine::UIView.

◆ getVerticalLineScroll()

double CeresEngine::UIScrollView::getVerticalLineScroll ( ) const
inlinenoexcept

The scroll view’s vertical line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself vertically when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar without holding down a modifier key.

◆ getVerticalPageScroll()

double CeresEngine::UIScrollView::getVerticalPageScroll ( ) const
inlinenoexcept

The amount of the document view kept visible when scrolling vertically page by page.

The value of this property is the amount of the document view kept visible when scrolling vertically page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

◆ getVerticalScroller()

UIScroller * CeresEngine::UIScrollView::getVerticalScroller ( ) const
inlinenoexcept

The scroll view's vertical scroller.

The value of this property is nil if the scroll view has no vertical scroller. You can access the vertical scroller using this property even if the scroll view isn't currently displaying it. To make sure the scroller is visible, set hasVerticalScroller to true.

◆ getVerticalScrollerFrame()

virtual UIRect CeresEngine::UIScrollView::getVerticalScrollerFrame ( ) const
protectedvirtual

Calculates the vertical scroller view frame.

◆ hasHorizontalScroller()

bool CeresEngine::UIScrollView::hasHorizontalScroller ( ) const
inline

A boolean that indicates whether the scroll view has a horizontal scroller.

When the value of this property is true, the scroll view allocates and displays a horizontal scroller as needed. The default value of this property is false.

◆ hasVerticalScroller()

bool CeresEngine::UIScrollView::hasVerticalScroller ( ) const
inlinenoexcept

A boolean that indicates whether the scroll view has a vertical scroller.

When the value of this property is true, the scroll view allocates and displays a vertical scroller as needed. The default value of this property is false.

◆ isScrollsDynamically()

bool CeresEngine::UIScrollView::isScrollsDynamically ( ) const
inlinenoexcept

A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.

When the value of this property is true, the scroll view redraws its document view while scrolling. When the value of this property is false, the scroll view redraws only when the scroller knob is released. The default value of this property is true.

◆ layoutSubviews()

void CeresEngine::UIScrollView::layoutSubviews ( )
overridevirtual

Lays out subviews.

Subclasses can override this method as needed to perform more precise layout of their subviews. You should override this method only if the autoresizing behavior of the subviews do not offer the behavior you want. You can use your implementation to set the frame rectangles of your subviews directly.

You should not call this method directly. If you want to force a layout update, call the setNeedsLayout() method instead to do so prior to the next drawing update. If you want to update the layout of your views immediately, call the layoutIfNeeded() method.

Reimplemented from CeresEngine::UIView.

◆ reflectScrolledClipView()

void CeresEngine::UIScrollView::reflectScrolledClipView ( )

Adjusts the receiver’s scrollers to reflect the size and positioning of its content view.

This method is invoked automatically during scrolling and when an UIClipView object’s relationship to its document view changes; you should rarely need to invoke it yourself, but may wish to override it for custom updating or other behavior. If you override this method, be sure to call the superclass implementation. If you do not, other controls (such as the current scrollers) may not be updated properly.

◆ resizesIfScrollerDisabled()

bool CeresEngine::UIScrollView::resizesIfScrollerDisabled ( ) const
inlinenoexcept

A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.

◆ scrollWheel()

void CeresEngine::UIScrollView::scrollWheel ( const CeresEngine::UIMouseEvent event)
overridevirtual

Informs the receiver that the mouse's scroll wheel has moved.

Reimplemented from CeresEngine::UIResponder.

◆ setAutohidesScrollers()

void CeresEngine::UIScrollView::setAutohidesScrollers ( bool  autohidesScrollers)

A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.

The horizontal and vertical scroll bars are hidden independently of each other. When the value of this property is true and the content of the scroll view doesn't extend beyond the size of the clip view on a given axis, the scroller on that axis is removed to leave more room for the content.

◆ setDocumentView()

void CeresEngine::UIScrollView::setDocumentView ( UIView documentView)

◆ setHasHorizontalScroller()

void CeresEngine::UIScrollView::setHasHorizontalScroller ( bool  hasHorizontalScroller)

A boolean that indicates whether the scroll view has a horizontal scroller.

When the value of this property is true, the scroll view allocates and displays a horizontal scroller as needed. The default value of this property is false.

◆ setHasVerticalScroller()

void CeresEngine::UIScrollView::setHasVerticalScroller ( bool  hasVerticalScroller)

A boolean that indicates whether the scroll view has a vertical scroller.

When the value of this property is true, the scroll view allocates and displays a vertical scroller as needed. The default value of this property is false.

◆ setHorizontalLineScroll()

void CeresEngine::UIScrollView::setHorizontalLineScroll ( double  horizontalLineScroll)

The scroll view’s horizontal line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself horizontally when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar without holding down a modifier key.

◆ setHorizontalPageScroll()

void CeresEngine::UIScrollView::setHorizontalPageScroll ( double  horizontalPageScroll)

The amount of the document view kept visible when scrolling horizontally page by page.

The value of this property is the amount of the document view kept visible when scrolling horizontally page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

◆ setResizesIfScrollerDisabled()

void CeresEngine::UIScrollView::setResizesIfScrollerDisabled ( bool  resizesIfScrollerDisabled)

A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.

◆ setScrollsDynamically()

void CeresEngine::UIScrollView::setScrollsDynamically ( bool  scrollsDynamically)

A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.

When the value of this property is true, the scroll view redraws its document view while scrolling. When the value of this property is false, the scroll view redraws only when the scroller knob is released. The default value of this property is true.

◆ setVerticalLineScroll()

void CeresEngine::UIScrollView::setVerticalLineScroll ( double  verticalLineScroll)

The scroll view’s vertical line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself vertically when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar without holding down a modifier key.

◆ setVerticalPageScroll()

void CeresEngine::UIScrollView::setVerticalPageScroll ( double  verticalPageScroll)

The amount of the document view kept visible when scrolling vertically page by page.

The value of this property is the amount of the document view kept visible when scrolling vertically page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

Member Data Documentation

◆ mAutohidesScrollers

bool CeresEngine::UIScrollView::mAutohidesScrollers = false
private

A Boolean that indicates whether the scroll view automatically hides its scroll bars when they are not needed.

The horizontal and vertical scroll bars are hidden independently of each other. When the value of this property is true and the content of the scroll view doesn't extend beyond the size of the clip view on a given axis, the scroller on that axis is removed to leave more room for the content.

◆ mClipView

UIClipView* CeresEngine::UIScrollView::mClipView = nullptr
private

The scroll view's clip view, the view that clips the document view.

◆ mHorizontalLineScroll

double CeresEngine::UIScrollView::mHorizontalLineScroll = 1.0
private

The scroll view’s horizontal line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself horizontally when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar without holding down a modifier key.

◆ mHorizontalPageScroll

double CeresEngine::UIScrollView::mHorizontalPageScroll = 10.0
private

The amount of the document view kept visible when scrolling horizontally page by page.

The value of this property is the amount of the document view kept visible when scrolling horizontally page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the horizontal scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

◆ mHorizontalScroller

UIScroller* CeresEngine::UIScrollView::mHorizontalScroller = nullptr
private

The scroll view's horizontal scroller.

The value of this property is nullptr if the scroll view has no horizontal scroller. You can access the horizontal scroller using this property even if the scroll view isn't currently displaying it. To make sure the scroller is visible, set hasHorizontalScroller to true.

◆ mHorizontalScrollerDidScrollConnection

EventConnection CeresEngine::UIScrollView::mHorizontalScrollerDidScrollConnection
private

◆ mResizesIfScrollerDisabled

bool CeresEngine::UIScrollView::mResizesIfScrollerDisabled = true
private

A boolean that indicates whether the scroll view resizes the document view frame width if the horizontal scroll bar is disabled or the height if the vertical scroller is disabled.

◆ mScrollsDynamically

bool CeresEngine::UIScrollView::mScrollsDynamically = true
private

A Boolean that indicates whether the scroll view redraws its document view while scrolling continuously.

When the value of this property is true, the scroll view redraws its document view while scrolling. When the value of this property is false, the scroll view redraws only when the scroller knob is released. The default value of this property is true.

◆ mVerticalLineScroll

double CeresEngine::UIScrollView::mVerticalLineScroll = 1.0
private

The scroll view’s vertical line by line scroll amount.

The value of this property is the amount by which the scroll view scrolls itself vertically when scrolling line by line, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar without holding down a modifier key.

◆ mVerticalPageScroll

double CeresEngine::UIScrollView::mVerticalPageScroll = 10.0
private

The amount of the document view kept visible when scrolling vertically page by page.

The value of this property is the amount of the document view kept visible when scrolling vertically page by page, expressed in the clip view’s coordinate system. This value is used when the user clicks the scroll arrows on the vertical scroll bar while holding down the Option key.

This amount expresses the context that remains when the receiver scrolls by one page, allowing the user to orient to the new display. It differs from the line scroll amount, which indicates how far the document view moves. The page scroll amount is the amount common to the clip view before and after the document view is scrolled by one page. Thus, setting the page scroll amount to 0.0 implies that the entire visible portion of the document view is replaced when a page scroll occurs.

◆ mVerticalScroller

UIScroller* CeresEngine::UIScrollView::mVerticalScroller = nullptr
private

The scroll view's vertical scroller.

The value of this property is nil if the scroll view has no vertical scroller. You can access the vertical scroller using this property even if the scroll view isn't currently displaying it. To make sure the scroller is visible, set hasVerticalScroller to true.

◆ mVerticalScrollerDidScrollConnection

EventConnection CeresEngine::UIScrollView::mVerticalScrollerDidScrollConnection
private

The documentation for this class was generated from the following file: