AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
aui::views

Graphical User Interface library. More...

Detailed Description

Graphical User Interface library.

AUI's flagship module which provides modern declarative ways to create graphical user interfaces.

Modules

 Aui Style Sheets
 CSS-like styling system.
 
 Layout Managers
 Layout manager is an object that manages placement and size of views inside containers.
 
 Views
 All views that ready to use.
 

Namespaces

namespace  ADesktop
 Desktop-specific functions.
 

Classes

class  APointerIndex
 Wrapper class that stores either mouse button index or finger index. More...
 
class  ACursor
 Represents cursor type. More...
 
class  ACustomCaptionWindow
 Represents a window with customizable caption bar. More...
 
class  ACustomWindow
 Represents a window without native caption but still draggable by top side. More...
 
class  ADragNDrop
 Utility class for creating and processing drag-n-drop events. More...
 
struct  ARenderingContextOptions
 Defines rendering API priority and options for your application. More...
 
class  AWindow
 Represents a window in the underlying windowing system. More...
 
class  ADBus
 IPC on freedesktop linux. More...
 
class  IRenderer
 Base class for rendering. More...
 
class  AAngleRadians
 Strong type used to store angle in radians. More...
 
class  AMetric
 Stores dimensions in scalable units (dp, pt, etc...). More...
 
class  AMimedData
 Mime-type data associated storage. More...
 
class  AStubWindowManager
 Window manager used to stub the default window manager. More...
 

Enumerations

enum class  AOverflow { AOverflow::VISIBLE , AOverflow::HIDDEN , AOverflow::HIDDEN_FROM_THIS }
 Controls visibility of the overflowed contents of AView with AView::drawStencilMask. More...
 
enum class  ATextOverflow { NONE , ELLIPSIS , CLIP }
 Controls behavior of the overflowed text. Relevant to AAbstractLabel and its derivatives only.
 
enum class  ATextInputActionIcon {
  ATextInputActionIcon::DEFAULT , ATextInputActionIcon::DONE , ATextInputActionIcon::GO , ATextInputActionIcon::SEND ,
  ATextInputActionIcon::SEARCH , ATextInputActionIcon::NEXT
}
 Controls icons representing IME text input action the user is requested to perform. More...
 
enum class  ATextInputType {
  ATextInputType::DEFAULT , ATextInputType::EMAIL , ATextInputType::MULTILINE , ATextInputType::NUMBER ,
  ATextInputType::URL
}
 Controls IME text input type of the text field. More...
 
enum class  ImageRendering { PIXELATED , SMOOTH }
 Controls the image rendering type.
 
enum class  TextTransform { NONE , UPPERCASE , LOWERCASE }
 Controls the text transform of AView.
 
enum class  FontRendering { NEAREST = 0 , ANTIALIASING = 1 , SUBPIXEL = 2 }
 Controls the expanding of AView.
 

Functions

 AUI_ENUM_VALUES (ATextOverflow, ATextOverflow::ELLIPSIS, ATextOverflow::CLIP) enum class AOverflowMask
 Controls the behaviour of the default AView::drawStencilMask() implementation. More...
 
 AUI_ENUM_FLAG (Visibility)
 Controls the visibility of AView. More...
 

Enumeration Type Documentation

◆ AOverflow

enum class AOverflow
strong

Controls visibility of the overflowed contents of AView with AView::drawStencilMask.

Enumerator
VISIBLE 

Overflowed contents are visible.

HIDDEN 

Overflowed contents are hidden. Suitable for lists with scroll.

Note
On GPU accelerated renderer, HIDDEN does 2 extra draw calls thus decreasing performance a little bit. Prefer VISIBLE if possible.
HIDDEN_FROM_THIS 

Like HIDDEN, but view's ASS-styled background is also affected by mask.

◆ ATextInputActionIcon

enum class ATextInputActionIcon
strong

Controls icons representing IME text input action the user is requested to perform.

Each action configures soft keyboard to display the certain kind of operation. The visual appearance of the action button might differ depending on the target platform, it's version, and the keyboard implementation (especially on Android).

It's up to developer to handle the action accordingly.

Enumerator
DEFAULT 

There's no concrete input action. Let the OS decide which action is the most appropriate.

Android
Corresponds to IME_ACTION_UNSPECIFIED. "Done" button or "Return" key will be likely displayed.
iOS
Corresponds to UIReturnKeyDefault. The title displayed in the action button is "Return".
DONE 

The user is done providing input to a group of inputs (in a form). Finalization behaviour should now take place.

Android
Corresponds to IME_ACTION_DONE. The OS displays completion action, e.g., "Done", checkmark, arrow.
iOS
Corresponds to UIReturnKeyDone. The title displayed in the action button is "Done".
GO 

The user has entered some kind of destination, e.g., street address. The "Go" button is intended to take the user to the target of the text they typed.

Android
Corresponds to IME_ACTION_GO. The OS displays a button that represents going to the target location, e.g., "Go", right-facing arrow.
iOS
Corresponds to UIReturnKeyGo. The title displayed in the action button is "Go".
SEND 

The user has composed some kind of message and intends to send it.

Android
Corresponds to IME_ACTION_SEND. The OS displays a button that represents sending something, e.g., "Send", paper plane.
iOS
Corresponds to UIReturnKeySend. The title displayed in the action button is "Send".
SEARCH 

Execute a search query, i.e., taking the user to the results of searching for the data they provided.

Android
Corresponds to IME_ACTION_SEARCH. The OS displays a button that represents seacrhing action, e.g., "Search", magnifying glass.
iOS
Corresponds to UIReturnKeySearch. The title displayed in the action button is "Search".
NEXT 

The user has done working with the current input source ands wants to move to the next one.

Android
Corresponds to IME_ACTION_NEXT. The OS displays a button that represents moving forward, e.g., "Next", right-facing arrow.
iOS
Corresponds to UIReturnKeyNext. The title displayed in the action button is "Next".

◆ ATextInputType

enum class ATextInputType
strong

Controls IME text input type of the text field.

The type of information for which to optimize the text input control.

On Android, behavior may vary across device and keyboard provider.

Enumerator
DEFAULT 

Optimize for textual information.

EMAIL 

Optimize for email addresses.

MULTILINE 

Optimize for multiline textual information.

NUMBER 

Optimize for unsigned numerical information without a decimal point.

URL 

Optimize for URLs.

Function Documentation

◆ AUI_ENUM_FLAG()

AUI_ENUM_FLAG ( Visibility  )

Controls the visibility of AView.

If set, content of view is shown

If set, view interacts to the mouse

If set, view occupies space in layout

AView is visible and active

AView is invisible but still interacting to the mouse

AView is visible but not interacting to the mouse

AView is invisible, do not interacts to the mouse, but occupy some space in layout

AView is invisible and does not interact with the mouse

◆ AUI_ENUM_VALUES()

AUI_ENUM_VALUES ( ATextOverflow  ,
ATextOverflow::ELLIPSIS  ,
ATextOverflow::CLIP   
)

Controls the behaviour of the default AView::drawStencilMask() implementation.

Controls how does the overflow mask is produced.

Analogous to the -webkit-background-clip CSS rule.

Mask is produced from the (rounded) rect of the AView. The default value.

Mask is produced from the alpha channel of the BackgroundImage.

Helps in creating custom-shaped gradients, textures and effects.

Collaboration diagram for aui::views: