AUI Framework
master
Cross-platform module-based framework for developing C++20 desktop applications
|
Represents a window with customizable caption bar. More...
Represents a window with customizable caption bar.
ACustomCaptionWindow implements a fully custom window with customizable caption (title) bar. The way it's done is platform dependent. The goal is to implement a customizable caption bar yet preserve native system caption bar look and feel.
Use getCaptionContainer to fill up window caption.
Use getContentContainer to fill up the window contents.
Depending on the platform, AUI provides following ASS classes to customize:
Since Windows does not provide APIs to the customize caption, AUI implements and renders caption by itself, including window icon, title and buttons.
Public Member Functions | |
ACustomCaptionWindow (const AString &name, int width, int height, bool stacked=false) | |
const _< AViewContainer > & | getCaptionContainer () const |
const _< AViewContainer > & | getContentContainer () const |
Public Member Functions inherited from ACustomWindow | |
ACustomWindow (const AString &name, int width, int height) | |
void | setTitleHeight (uint32_t height) |
void | onPointerPressed (const APointerPressedEvent &event) override |
Called on pointer (mouse) released event. More... | |
void | onPointerReleased (const APointerReleasedEvent &event) override |
Called on pointer (mouse) released event. More... | |
virtual bool | isCaptionAt (const glm::ivec2 &pos) |
void | setSize (glm::ivec2 size) override |
Public Member Functions inherited from AWindow | |
AWindow (const AString &name="My window", int width=854_dp, int height=500_dp, AWindow *parent=nullptr, WindowStyle ws=WindowStyle::DEFAULT) | |
unsigned | frameMillis () const noexcept override |
Returns previous frame's rendering duration in millis. More... | |
void | redraw () |
void | blockUserInput (bool blockUserInput=true) override |
Enables or disables user input for this window. More... | |
void | setIcon (const AImage &image) |
void | quit () |
Removes window from AWindowManager. | |
void | setWindowStyle (WindowStyle ws) |
void | minimize () |
Minimizes window (hide window to the taskbar, iconifies) | |
bool | isMinimized () const |
void | maximize () |
Maximizes window (makes window fullscreen) | |
bool | isMaximized () const |
void | restore () |
Restores window (shows window from taskbar) | |
void | flagRedraw () override |
void | show () |
void | close () |
void | hide () |
bool | isClosed () const noexcept |
AWindowNativePtr | getNativeHandle () |
auto | nativeHandle () const |
const AString & | getWindowTitle () const |
glm::ivec2 | getWindowPosition () const |
void | setPosition (glm::ivec2 position) override |
void | setSize (glm::ivec2 size) override |
void | setGeometry (int x, int y, int width, int height) override |
void | onFocusAcquired () override |
void | onFocusLost () override |
void | onKeyDown (AInput::Key key) override |
void | onKeyRepeat (AInput::Key key) override |
void | setFocusNextViewOnTab (bool value) |
glm::ivec2 | mapPositionTo (const glm::ivec2 &position, _< AWindow > other) |
Translates coordinates from the coordinate space of this window to the coordinate space of another window. More... | |
glm::ivec2 | unmapPosition (const glm::ivec2 &position) |
Translates coordinates from the coordinate space of this window to the coordinate space of the monitor. More... | |
glm::ivec2 | mapPosition (const glm::ivec2 &position) |
Translates coordinates from the monitor's coordinate space to the coordinate space of this window. More... | |
_< AOverlappingSurface > | createOverlappingSurfaceImpl (const glm::ivec2 &position, const glm::ivec2 &size) override |
void | closeOverlappingSurfaceImpl (AOverlappingSurface *surface) override |
virtual void | onCloseButtonClicked () |
void | forceUpdateCursor () override |
Updates cursor by triggering onPointerMove on the same position (mMousePos). More... | |
void | showTouchscreenKeyboardImpl () override |
void | hideTouchscreenKeyboardImpl () override |
void | moveToCenter () |
Moves the window to the center of monitor. More... | |
void | setMobileScreenOrientation (AScreenOrientation screenOrientation) |
Controls mobile device's screen orientation when this window is on the foreground. More... | |
bool | consumesClick (const glm::ivec2 &pos) override |
Determines whether this AView processes this click or passes it thru. More... | |
void | onPointerMove (glm::vec2 pos, const APointerMoveEvent &event) override |
Handles pointer hover events. More... | |
Public Member Functions inherited from AWindowBase | |
void | preventClickOnPointerRelease () |
Prevents click action on upcoming pointer release. More... | |
bool | isPreventingClickOnPointerRelease () const noexcept |
template<aui::invocable< const _< AView > & > Callback> | |
void | iterateOverFocusChain (Callback &&callback) |
Iterates over focus chain, from parent to child. | |
const _unique< IRenderingContext > & | getRenderingContext () const |
BeforeFrameQueue & | beforeFrameQueue () noexcept |
void | updateDpi () |
float | getDpiRatio () |
Returns current dpi ratio. More... | |
_< AView > | getFocusedView () const |
void | setFocusedView (const _< AView > &view) |
void | updateFocusChain () |
void | onPointerPressed (const APointerPressedEvent &event) override |
Called on pointer (mouse) released event. More... | |
void | onPointerMove (glm::vec2 pos, const APointerMoveEvent &event) override |
Handles pointer hover events. More... | |
void | closeOverlappingSurfacesOnClick () |
bool | isFocused () const |
const glm::ivec2 & | getMousePos () const |
void | onKeyDown (AInput::Key key) override |
virtual void | focusNextView () |
void | makeCurrent () |
_< AOverlappingSurface > | createOverlappingSurface (const glm::ivec2 &position, const glm::ivec2 &size, bool closeOnClick=true) |
_< AOverlappingSurface > | createOverlappingSurface (const std::function< AOptional< glm::ivec2 >(unsigned)> &positionFactory, const glm::ivec2 &size, bool closeOnClick=true) |
void | closeOverlappingSurface (AOverlappingSurface *surface) |
void | onFocusLost () override |
void | render (ARenderContext context) override |
Draws this AView. Noone should call this function except rendering routine. More... | |
void | applyGeometryToChildren () override |
void | onPointerReleased (const APointerReleasedEvent &event) override |
Called on pointer (mouse) released event. More... | |
virtual bool | onDragEnter (const ADragNDrop::EnterEvent &event) |
Called when the user holds a drag-n-drop object over the window. More... | |
virtual void | onDragLeave () |
virtual void | onDragDrop (const ADragNDrop::DropEvent &event) |
void | requestShowTouchscreenKeyboard () |
On a mobile touchscreen device, requests system virtual keyboard. | |
void | requestHideTouchscreenKeyboard () |
On a mobile touchscreen device, requests hiding system virtual keyboard. | |
bool | shouldDisplayHoverAnimations () const |
Determines whether views should display hover animations. More... | |
void | onScroll (const AScrollEvent &event) override |
bool | onGesture (const glm::ivec2 &origin, const AGestureEvent &event) override |
size_t | getFps () |
void | setTouchscreenKeyboardPolicy (ATouchscreenKeyboardPolicy policy) noexcept |
void | setScalingParams (ScalingParams params) |
Sets scaling params. More... | |
Profiling & | profiling () |
Get profiling settings (mutable). | |
void | markMinContentSizeInvalid () override |
Public Member Functions inherited from AViewContainer | |
void | addView (const _< AView > &view) |
Add view to the container. | |
void | addView (size_t index, const _< AView > &view) |
Add view at specific index to the container. | |
void | addViews (AVector< _< AView > > views) |
Add all views from vector. | |
void | addViewCustomLayout (const _< AView > &view) |
Adds view to container without exposing it to the layout manager. More... | |
void | removeView (const _< AView > &view) |
Remove view from the container. | |
void | removeView (AView *view) |
Remove view from the container. | |
void | removeView (size_t index) |
Remove view from the container at specified index. | |
void | removeAllViews () |
Remove all views from container. | |
void | setViews (AVector< _< AView > > views) |
Replace views. | |
void | setContents (const _< AViewContainer > &container) |
Moves (like via std::move) all children and layout of the specified container to this container. More... | |
const _unique< ALayout > & | getLayout () const noexcept |
Get layout manager of the container. | |
void | setLayout (_unique< ALayout > layout) |
Set new layout manager for this AViewContainerBase. DESTROYS OLD LAYOUT MANAGER WITH ITS VIEWS!!! | |
Public Member Functions inherited from AViewContainerBase | |
void | render (ARenderContext context) override |
Draws this AView. Noone should call this function except rendering routine. More... | |
void | onMouseEnter () override |
void | onPointerMove (glm::vec2 pos, const APointerMoveEvent &event) override |
Handles pointer hover events. More... | |
void | onMouseLeave () override |
void | onDpiChanged () override |
void | onClickPrevented () override |
Called on AWindowBase::preventClickOnPointerRelease. More... | |
int | getContentMinimumWidth () override |
int | getContentMinimumHeight () override |
void | onPointerPressed (const APointerPressedEvent &event) override |
Called on pointer (mouse) released event. More... | |
void | onPointerDoubleClicked (const APointerPressedEvent &event) override |
void | onPointerReleased (const APointerReleasedEvent &event) override |
Called on pointer (mouse) released event. More... | |
void | onScroll (const AScrollEvent &event) override |
bool | onGesture (const glm::ivec2 &origin, const AGestureEvent &event) override |
bool | consumesClick (const glm::ivec2 &pos) override |
Determines whether this AView processes this click or passes it thru. More... | |
void | setSize (glm::ivec2 size) override |
void | setEnabled (bool enabled=true) override |
auto | begin () const |
auto | end () const |
const AVector< _< AView > > & | getViews () const |
Get all views of the container. | |
const _unique< ALayout > & | getLayout () const noexcept |
Get layout manager of the container. | |
virtual _< AView > | getViewAt (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) const noexcept |
Finds first direct child view under position. More... | |
_< AView > | getViewAtRecursive (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) const noexcept |
Acts as AViewContainerBase::getViewAt but recursively (may include non-direct child). More... | |
template<aui::predicate< _< AView > > Callback> | |
bool | getViewAtRecursive (glm::ivec2 pos, const Callback &callback, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
Acts as AViewContainerBase::getViewAtRecursive but calls a callback instead of returning value. More... | |
template<aui::predicate< _< AView > > Callback> | |
bool | visitsViewRecursive (Callback &&callback, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
template<typename T > | |
_< T > | getViewAtRecursiveOfType (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
Acts as AViewContainerBase::getViewAtRecursive but finds a view castable to specified template type. More... | |
void | setFocusChainTarget (_weak< AView > target) |
Set focus chain target. More... | |
_< AView > | focusChainTarget () |
void | applyGeometryToChildrenIfNecessary () |
void | onKeyDown (AInput::Key key) override |
void | onKeyRepeat (AInput::Key key) override |
void | onKeyUp (AInput::Key key) override |
void | onCharEntered (char16_t c) override |
bool | capturesFocus () override |
const ASmallVector< PointerEventsMapping, 1 > & | pointerEventsMapping () const noexcept |
void | forceUpdateLayoutRecursively () override |
void | markMinContentSizeInvalid () override |
void | markPixelDataInvalid (ARect< int > invalidArea) override |
A view requests to redraw it and passes it's coords relative to this. More... | |
Public Member Functions inherited from AView | |
void | redraw () |
Request window manager to redraw this AView. | |
AWindowBase * | getWindow () const |
Determines window which this AView belongs to. More... | |
virtual void | drawStencilMask (ARenderContext ctx) |
virtual void | postRender (ARenderContext ctx) |
Performs post-draw routines of this AView. Noone should call this function except rendering routine. More... | |
void | popStencilIfNeeded (ARenderContext ctx) |
const AVector< AString > & | getAssNames () const noexcept |
glm::ivec2 | getPosition () const noexcept |
Top left corner's position relative to top left corner's position of the parent AView. | |
glm::ivec2 | getCenterPointInWindow () const noexcept |
The center point position of the view relatively to top left corner of the window. More... | |
glm::ivec2 | getSize () const noexcept |
Size, including content area, border and padding. | |
glm::ivec2 | getMinSize () const noexcept |
void | setMinSize (glm::ivec2 minSize) noexcept |
void | setExtraStylesheet (_< AStylesheet > extraStylesheet) |
void | setExtraStylesheet (AStylesheet &&extraStylesheet) |
const _< AStylesheet > & | extraStylesheet () const noexcept |
AOverflow | getOverflow () const |
Determines whether display graphics that go out of the bounds of this AView or not. | |
void | setOverflow (AOverflow overflow) |
AOverflowMask | getOverflowMask () const |
Controls how does the overflow (stencil) mask is produced. | |
void | setOverflowMask (AOverflowMask overflow) |
float | getBorderRadius () const |
border-radius, specified in ASS. | |
void | setBorderRadius (float radius) |
int | getWidth () const |
int | getHeight () const |
int | getTotalOccupiedWidth () const |
int | getTotalOccupiedHeight () const |
glm::ivec2 | getMinimumSizePlusMargin () |
const ABoxFields & | getMargin () |
Returns the margin. More... | |
void | setMargin (const ABoxFields &margin) |
Sets the margin. More... | |
const ABoxFields & | getPadding () |
Returns the padding. More... | |
void | setPadding (const ABoxFields &padding) |
Sets the padding. More... | |
virtual AString | debugString () const |
String which helps to identify this object in debug string output (i.e., for logging) | |
int | getTotalFieldHorizontal () const |
int | getTotalFieldVertical () const |
glm::ivec2 | getTotalFieldSize () const |
AViewContainerBase * | getParent () const |
Parent AView. | |
const AOptional< ACursor > & | getCursor () const |
Determines shape which should pointer take when it's above this AView. | |
void | setCursor (AOptional< ACursor > cursor) |
glm::ivec2 | getContentMinimumSize () noexcept |
bool | isContentMinimumSizeInvalidated () noexcept |
bool | hasFocus () const |
virtual int | getMinimumWidth () |
virtual int | getMinimumHeight () |
glm::ivec2 | getMinimumSize () |
void | setMaxSize (const glm::ivec2 &maxSize) |
const glm::ivec2 & | getMaxSize () const |
int | getContentWidth () const |
int | getContentHeight () const |
const glm::ivec2 & | getExpanding () const |
void | setExpanding (glm::ivec2 expanding) |
Changes the expanding of view. More... | |
void | setExpanding (int expanding) |
Changes the expanding of view. More... | |
void | setExpanding () |
const _< AAnimator > & | getAnimator () const |
void | setAnimator (const _< AAnimator > &animator) |
void | getTransform (glm::mat4 &transform) const |
int | getExpandingHorizontal () const |
int | getExpandingVertical () const |
aui::float_within_0_1 | getOpacity () const |
void | setOpacity (aui::float_within_0_1 opacity) |
void | setSizeForced (glm::ivec2 size) |
void | setGeometry (const glm::ivec2 &position, const glm::ivec2 &size) |
bool | isBlockClicksWhenPressed () const noexcept |
void | setBlockClicksWhenPressed (bool value) noexcept |
const glm::ivec2 & | getFixedSize () |
Fixed size. More... | |
void | setFixedSize (glm::ivec2 size) |
bool | isMouseHover () const noexcept |
bool | isPressed () const noexcept |
bool | isPressed (APointerIndex index) const noexcept |
bool | isEnabled () const noexcept |
bool | isFocused () const |
bool | isMouseEntered () const |
Visibility | getVisibility () const |
Visibility | getVisibilityRecursive () const |
void | setVisibility (Visibility visibility) noexcept |
void | setVisible (bool visible) noexcept |
MouseCollisionPolicy | getMouseCollisionPolicy () const |
void | setMouseCollisionPolicy (MouseCollisionPolicy mouseCollisionPolicy) |
void | click () |
void | pack () |
Sets minimal size. | |
void | focus (bool needFocusChainUpdate=true) |
Requests focus for this AView. More... | |
bool | hasIndirectParent (const _< AView > &v) |
Checks if the specified view is an indirect parent of this view. | |
glm::ivec2 | getPositionInWindow () const |
void | addAssName (const AString &assName) |
Adds an ASS class to this AView. More... | |
void | removeAssName (const AString &assName) |
Removes an ASS class to this AView. More... | |
AView & | operator<< (const AString &assName) |
const _< AAssHelper > & | getAssHelper () const |
const ass::PropertyListRecursive & | getCustomAss () const |
void | setCustomStyle (ass::PropertyListRecursive rule) |
void | ensureAssUpdated () |
_< AView > | sharedPtr () |
_weak< AView > | weakPtr () |
virtual bool | handlesNonMouseNavigation () |
void | setDisabled (bool disabled=true) |
void | updateEnableState () |
void | enable () |
void | disable () |
void | operator+ (ass::PropertyListRecursive rule) |
Helper function for kAUI.h:with_style. | |
void | invalidateStateStyles () |
Updates state selectors for ASS. More... | |
virtual bool | wantsTouchscreenKeyboard () |
Returns true if view is textfield-like view which requires touchscreen keyboard when clicked. | |
void | setSkipUntilLayoutUpdate (bool skipUntilLayoutUpdate) |
void | setFloating (AFloat f) noexcept |
Set floating value for AText. | |
AFloat | getFloating () const noexcept |
Floating value for AText. | |
Public Member Functions inherited from AObject | |
_< AObject > | sharedPtr () |
_weak< AObject > | weakPtr () |
void | clearSignals () noexcept |
template<AAnySignal Signal, ACompatibleSlotFor< Signal > Function> | |
void | connect (Signal &signal, Function &&function) |
void | setSignalsEnabled (bool enabled) |
bool | isSignalsEnabled () const noexcept |
template<ASignalInvokable T> | |
void | operator^ (T &&t) |
_< AAbstractThread > | getThread () const |
bool | isSlotsCallsOnlyOnMyThread () const noexcept |
void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) |
Public Member Functions inherited from aui::noncopyable | |
noncopyable (const noncopyable &)=delete | |
noncopyable & | operator= (const noncopyable &)=delete |
Protected Member Functions | |
bool | isCustomCaptionMaximized () override |
Protected Member Functions inherited from AWindow | |
virtual void | doDrawWindow () |
virtual void | onClosed () |
void | windowNativePreInit (const AString &name, int width, int height, AWindow *parent, WindowStyle ws) |
void | allowDragNDrop () |
Enables drag-n-drop for this window. | |
AWindow (std::nullptr_t) | |
Constructor for custom initialization logic. More... | |
void | createDevtoolsWindow () override |
float | fetchDpiFromSystem () const override |
Protected Member Functions inherited from AWindowBase | |
void | markPixelDataInvalid (ARect< int > invalidArea) override |
A view requests to redraw it and passes it's coords relative to this. More... | |
Protected Member Functions inherited from AViewContainerBase | |
void | drawView (const _< AView > &view, ARenderContext contextOfTheContainer) |
template<typename Iterator > | |
void | drawViews (Iterator begin, Iterator end, ARenderContext contextPassedToContainer) |
void | invalidateAllStyles () override |
Invalidates all styles, causing to iterate over all rules in global and parent stylesheets. More... | |
void | onViewGraphSubtreeChanged () override |
Called when direct or indirect parent has changed. More... | |
void | invalidateAssHelper () override |
Resets mAssHelper. More... | |
void | setViews (AVector< _< AView > > views) |
Replace views. | |
void | addViewCustomLayout (const _< AView > &view) |
Adds view to container without exposing it to the layout manager. More... | |
void | addViews (AVector< _< AView > > views) |
Add all views from vector. | |
void | addView (const _< AView > &view) |
Add view to the container. | |
void | addView (size_t index, const _< AView > &view) |
Add view at specific index to the container. | |
void | removeView (const _< AView > &view) |
Remove view from the container. | |
void | removeView (AView *view) |
Remove view from the container. | |
void | removeView (size_t index) |
Remove view from the container at specified index. | |
void | removeAllViews () |
Remove all views from container. | |
void | setContents (const _< AViewContainer > &container) |
Moves (like via std::move) all children and layout of the specified container to this container. More... | |
void | setLayout (_unique< ALayout > layout) |
Set new layout manager for this AViewContainerBase. DESTROYS OLD LAYOUT MANAGER WITH ITS VIEWS!!! | |
void | renderChildren (ARenderContext contextPassedToContainer) |
Protected Member Functions inherited from AView | |
bool | transformGestureEventsToDesktop (const glm::ivec2 &origin, const AGestureEvent &event) |
Converts touch screen events to desktop. More... | |
void | applyAssRule (const ass::PropertyList &propertyList) |
void | applyAssRule (const ass::PropertyListRecursive &propertyList) |
virtual AMenuModel | composeContextMenu () |
Produce context (right click) menu. More... | |
virtual void | commitStyle () |
Protected Member Functions inherited from AObject | |
void | setThread (_< AAbstractThread > thread) |
Set thread of the object. | |
Additional Inherited Members | |
Public Types inherited from AWindowBase | |
using | BeforeFrameQueue = AMessageQueue< AFakeMutex, IRenderer & > |
Static Public Member Functions inherited from AWindow | |
static bool | isRedrawWillBeEfficient () |
Checks whether last monitor frame is displayed and redraw will be efficient. If some object often updates UI thread for displaying some data it may cause extra CPU and GPU overload. AUI throttles window redraws and FPS does not go above 60 FPS but UI views may also cause extra CPU and GPU overload that does not have visual difference. More... | |
static _< AWindow > | wrapViewToWindow (const _< AView > &view, const AString &title, int width=854_dp, int height=500_dp, AWindow *parent=nullptr, WindowStyle ws=WindowStyle::DEFAULT) |
static AWindowBase * | current () |
Static Public Member Functions inherited from AWindowBase | |
static AWindowManager & | getWindowManager () |
template<typename WindowManager , typename... Args> | |
static void | setWindowManager (Args &&... args) |
static void | destroyWindowManager () |
Static Public Member Functions inherited from AObject | |
static void | disconnect () |
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function> | |
static void | connect (Signal &signal, Object *object, Function &&function) |
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function> | |
static void | connect (Signal &signal, Object &object, Function &&function) |
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function> | |
static void | connect (Signal &signal, _< Object > object, Function &&function) |
static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) |
Signals and public fields inherited from ACustomWindow | |
emits< glm::ivec2 > | dragBegin |
emits | dragEnd |
Signals and public fields inherited from AWindow | |
emits | closed |
emits | shown |
emits< glm::vec2 > | moving |
Window is moving. More... | |
emits | maximized |
Window is maximized. | |
emits | minimized |
Window is minimized (hidden to the taskbar, iconified). | |
emits | restored |
Window is restored (shown from the taskbar, deiconified). | |
Signals and public fields inherited from AWindowBase | |
emits | dpiChanged |
emits< glm::ivec2 > | mouseMove |
emits< AInput::Key > | keyDown |
emits | redrawn |
emits | touchscreenKeyboardShown |
On touch screen keyboard show. | |
emits | touchscreenKeyboardHidden |
On touch screen keyboard hide. | |
Signals and public fields inherited from AViewContainerBase | |
emits | childrenChanged |
Emitted when addView(s)/removeView/setLayout was called. | |
Signals and public fields inherited from AView | |
emits | viewGraphSubtreeChanged |
emits< bool > | hoveredState |
emits | mouseEnter |
emits | mouseLeave |
emits< bool, APointerIndex > | pressedState |
emits< APointerIndex > | pressed |
emits< APointerIndex > | released |
emits< bool > | enabledState |
emits | enabled |
emits | disabled |
emits< APointerIndex > | clickedButton |
Some mouse button clicked. | |
emits | clicked |
Left mouse button clicked. | |
emits< glm::ivec2 > | positionChanged |
Position changed. | |
emits< glm::ivec2 > | sizeChanged |
Size changed. | |
emits< glm::ivec2, glm::ivec2 > | geometryChanged |
Geometry (position and size) changed. | |
emits< glm::ivec2 > | expandingChanged |
Expanding changed. | |
emits< Visibility > | visibilityChanged |
Visibility changed. | |
emits< glm::ivec2 > | scrolled |
Scroll event. | |
emits< AInput::Key > | keyPressed |
Keyboard key pressed. | |
emits< AInput::Key > | keyReleased |
Keyboard key released. | |
emits | clickedRight |
Right mouse button clicked. | |
emits | clickedRightOrLongPressed |
Right mouse button clicked or long press gesture applied. | |
emits< APointerIndex > | doubleClicked |
emits | customCssPropertyChanged |
emits< bool > | focusState |
Focus state changed. More... | |
emits | focusAcquired |
emits | focusLost |
emits< _< AView > > | childFocused |
Static Public Attributes inherited from AWindowBase | |
static constexpr std::chrono::milliseconds | DOUBLECLICK_MAX_DURATION = std::chrono::milliseconds(500) |
double click will be captured only if time elapsed since the previous click is less than DOUBLECLICK_MAX_DURATION | |
Static Protected Member Functions inherited from AWindowBase | |
static AWindowBase *& | currentWindowStorage () |
static _unique< AWindowManager > & | getWindowManagerImpl () |
Protected Attributes inherited from AWindow | |
AWindowNativePtr | mHandle = 0 |
WindowStyle | mWindowStyle = WindowStyle::DEFAULT |
bool | mFocusNextViewOnTab = false |
defines if the next view must be focused on tab button pressed | |
Protected Attributes inherited from AWindowBase | |
bool | mIsFocused = true |
AOptional< bool > | mPreventClickOnPointerRelease |
bool | mForceUpdateCursorGuard = false |
If true, AWindowBase::forceUpdateCursor takes no action. | |
bool | mPerformDoubleClickOnPointerRelease = false |
std::chrono::milliseconds | mLastButtonPressedTime = std::chrono::milliseconds::zero() |
AOptional< APointerIndex > | mLastButtonPressed |
glm::vec2 | mLastPosition = {0, 0} |
_unique< IRenderingContext > | mRenderingContext |
Protected Attributes inherited from AViewContainerBase | |
AVector< _< AView > > | mViews |
bool | mWantsLayoutUpdate = true |
glm::ivec2 | mLastLayoutUpdateSize {0, 0} |
Protected Attributes inherited from AView | |
AViewContainerBase * | mParent = nullptr |
Parent AView. | |
std::array< ass::prop::IPropertyBase *, int(ass::prop::PropertySlot::COUNT)> | mAss |
Drawing list, or baking drawing commands so that you don't have to parse the ASS every time. | |
ass::PropertyListRecursive | mCustomStyleRule |
Custom ASS Rules. | |
AOptional< ACursor > | mCursor = ACursor::DEFAULT |
Determines shape which should pointer take when it's above this AView. | |
glm::ivec2 | mPosition = { 0, 0 } |
Top left corner's position relative to top left corner's position of the parent AView. | |
glm::ivec2 | mSize = { 20, 20 } |
Size, including content area, border and padding. | |
glm::ivec2 | mExpanding = {0, 0} |
Expansion coefficient. Hints layout manager how much this AView should be extended relative to other AViews in the same container. More... | |
AOptional< glm::ivec2 > | mCachedMinContentSize |
bool | mMarkedMinContentSizeInvalid = false |
bool | mRedrawRequested = false |
Redraw requested flag for this particular view/. More... | |
glm::ivec2 | mMinSize = {0, 0} |
Minimal size. | |
glm::ivec2 | mMaxSize = {0x7fffffff, 0x7fffffff} |
Maximal size. | |
glm::ivec2 | mFixedSize = {0, 0} |
Fixed size. | |
ABoxFields | mMargin |
Margin, which defines the spacing around this AView. Processed by the layout manager. | |
ABoxFields | mPadding |
Padding, which defines the spacing around content area inside the view. Processed by AView implementation. | |
AVector< AString > | mAssNames |
ASS class names. More... | |
bool | mSkipUntilLayoutUpdate = true |
If set to true, AViewContainer is obligated ignore this view. This value is set to false by AView::setGeometry. More... | |
|
inline |
|
inline |
|
overrideprotectedvirtual |
Implements CustomCaptionWindowImplWin32.
#include <AUI/Platform/ACustomCaptionWindow.h>