Aether
SDL2 based UI Framework for NX
|
Base namespace for all Aether related classes and functions. More...
Classes | |
class | Animation |
An animation is an element containing a list of textures which are changed through to create the animation. Frames are managed by using *Element calls. More... | |
class | AsyncItem |
Abstract class which handles rendering child elements asynchronously based on the position of the element itself. Before/after the element comes into view the textures will be created/destroyed respectively. This can be set by overriding renderThreshold(). More... | |
class | BaseProgress |
Base element for progress bars that handles the value. More... | |
class | BaseText |
BaseText is an abstract class storing relevant information to render a text element. More... | |
class | BorderButton |
The BorderButton element looks similar to the unfilled buttons seen within Horizon. More... | |
class | Box |
Element for rendering a 'box' (rectangle with no fill). More... | |
class | Colour |
Stores RGBA values representing a colour. Each component can be within the range 0 to 255 (inclusive). More... | |
class | Container |
A container is an element that contains other elements. It implements the required behaviour to navigate between children. More... | |
class | ControlBar |
A container holding control elements (and nothing else) which automatically arranges them at the bottom of the screen. More... | |
class | ControlItem |
An item used by and updated by the ControlBar element. It shows a button icon and label. More... | |
class | DateTime |
The DateTime overlay is used to get the user to select a date/time. It must be passed a tm struct on creation which has it's value changed in place when closed (not updated when closed by pressing B!) More... | |
class | Drawable |
Stores either a surface or texture which can be drawn on screen by providing a renderer to render(). More... | |
class | Element |
Element is the base class to be inherited to form all other types of elements. More... | |
class | Ellipse |
Element for rendering an ellipse. More... | |
class | FilledButton |
A FilledButton is exactly that. The text/rectangle are resized/repositioned to be centered on any resizes. More... | |
class | FontCache |
Caches SDL_ttf font objects + surfaces to reduce rendering. This class is not thread-safe, all operations should be protected from the outside by a mutex. More... | |
class | GlyphMetrics |
Class storing metrics for a font's character. Designed to be read-only as it is only able to return values passed at construction. More... | |
class | HelpButton |
HelpButton is a round button displaying a question mark as seen in Horizon. More... | |
class | Image |
Element for rendering an image, either from memory or a file system. More... | |
class | ImageData |
Represents an object containing the raw pixel data for an image/texture as an array, along with required metadata such as width and height. More... | |
class | InputEvent |
A class that represents an Aether input event. More... | |
class | List |
A list is a scrollable with some values changed to match how a list functions within Horizon. More... | |
class | ListButton |
A ListButton is similar to what appears in Horizon's lists. It has a string and should be used to open something else. More... | |
class | ListComment |
A ListComment is a sentence/paragraph usually found under an option describing what it does. More... | |
class | ListHeading |
A ListHeading is a small rectangle with text alongside, usually used in a list. More... | |
class | ListHeadingHelp |
A ListHeading but with a help icon that's right aligned. More... | |
class | ListOption |
A ListOption is similar to what appears in Horizon's lists. It has a string and value, as well as a function which is called when selected. More... | |
class | ListSeparator |
ListSeparator is simply a blank element. It has a default height which matches Horizon's but can be changed if necessary using setH() More... | |
class | LRUCache |
A basic LRU (least recently used) cache implementation. Also supports a custom callback for when an item is removed. More... | |
class | Menu |
A menu is simply a scrollable object that sets some values on creation in order to appear like Horizon's menu. More... | |
class | MenuOption |
A MenuOption is a combination of elements which looks like and functions similar to Horizon's. All children are handled internally. More... | |
class | MenuSeparator |
A MenuSeparator contains a rectangle with some padding above/below. It is not selectable. More... | |
class | MessageBox |
A "MessageBox" is a box presented in the middle of the screen, usually containing a few yes/no/cancel buttons and some text. Buttons are set up using the provided functions whereas the "body" of the box is set by giving an element containing the desired elements. More... | |
class | Overlay |
An object representing an overlay. More... | |
class | PopupList |
A "PopupList" is an overlay at the bottom of the screen containing a list of items to select from. A handler must be specified for each item, and the overlay is closed when any item is selected. More... | |
class | ProgressBar |
ProgressBar looks similar to Horizon's progress bar shown in data management. More... | |
class | Rectangle |
A rectangle is a texture containing either a normal or rounded rectangle. More... | |
class | Renderer |
Aether's main renderer instance. It provides all methods relating to drawing directly to the screen, rendering graphics to memory as well as measuring resource usage (with respect to textures). More... | |
class | RoundProgressBar |
A RoundProgressBar is a completely filled progress bar rounded at either end. More... | |
class | Screen |
A class that represents a screen layout Stores all screen elements for a specific screen. More... | |
class | Scrollable |
A scrollable element arranges all of it's children as a list. It's children are rendered and 'cut off' outside the dimensions of the scrollable object. Note that added elements will have their width changed to match the list! Also note that elements are placed directly below the previous element (in terms of y-coords)! More... | |
class | Spinner |
A Spinner contains a number which can be increased/decreased by pressing the associated up/down buttons or the dpad. More... | |
class | Text |
Element for rendering a single line of text. It can optionally scroll when overflowing. More... | |
class | TextBlock |
Element for rendering a multi-line block of text. More... | |
class | Texture |
A Texture is an element that stores a texture to render in the window. It can't be instantiated alone as it's essentially a 'container' element, but is inherited by classes such as Text and Image which generate the texture. This class provides common getter methods and handles rendering texture asynchronously. More... | |
struct | Theme_T |
Struct for UI Theme. More... | |
class | ThreadPool |
Basic Thread Pool implemented as a singleton. More... | |
class | Tick |
A Tick is an element that looks the same as the tick shown in Horizon - a coloured circle with a tick on top. More... | |
class | Timer |
Small utility class to measure time. More... | |
class | Window |
The Window is the root element, which initializes Aether and contains all of the screens/elements to render. It also handles received events and passes them down the tree. More... | |
Enumerations | |
enum | Render { Render::Sync, Render::Async, Render::Wait } |
Supported "on create" texture rendering options. More... | |
enum | DTFlag { DTFlag::DateTime = 0b00111111, DTFlag::Date = 0b00111000, DTFlag::Time = 0b00000111, DTFlag::Day = 0b00100000, DTFlag::Month = 0b00010000, DTFlag::Year = 0b00001000, DTFlag::Hour = 0b00000100, DTFlag::Min = 0b00000010, DTFlag::Sec = 0b00000001 } |
Spinners to show (create custom by passing bitwise OR of multiple flags!) Each bit represents in the order - 0b00DMYHMS (Day / Month / Year / Hour / Minute / Second) More... | |
enum | EventType { ButtonPressed, ButtonReleased, TouchPressed, TouchMoved, TouchReleased } |
Enum class that contains all events types supported by Aether for handling. More... | |
enum | Button { A, B, X, Y, LSTICK, RSTICK, L, R, ZL, ZR, PLUS, MINUS, DPAD_LEFT, DPAD_UP, DPAD_RIGHT, DPAD_DOWN, LSTICK_LEFT, LSTICK_UP, LSTICK_RIGHT, LSTICK_DOWN, RSTICK_LEFT, RSTICK_UP, RSTICK_RIGHT, RSTICK_DOWN, SL_LEFT, SR_LEFT, SL_RIGHT, SR_RIGHT, NO_BUTTON } |
Enum class for buttons Avoids confusion with SDL/libnx names. More... | |
enum | Padding { Padding::Default, Padding::FitScrollbar, Padding::None } |
Enum class for amount of padding in a scrollable. More... | |
Functions | |
DTFlag | operator| (DTFlag a, DTFlag b) |
Bitwise OR operator for DTFlag. More... | |
Base namespace for all Aether related classes and functions.
enum Aether::Button |
Enum class for buttons Avoids confusion with SDL/libnx names.
|
strong |
Spinners to show (create custom by passing bitwise OR of multiple flags!) Each bit represents in the order - 0b00DMYHMS (Day / Month / Year / Hour / Minute / Second)
Enumerator | |
---|---|
DateTime | Shows all date and time |
Date | Shows all date |
Time | Shows all time |
Day | Shows day |
Month | Shows month |
Year | Shows year |
Hour | Shows hour |
Min | Shows minute |
Sec | Shows second |
enum Aether::EventType |
Enum class that contains all events types supported by Aether for handling.
Enumerator | |
---|---|
ButtonPressed | Button press event |
ButtonReleased | Button release event |
TouchPressed | Touch press event |
TouchMoved | Touch move event |
TouchReleased | Touch release event |
|
strong |
|
strong |