-
Notifications
You must be signed in to change notification settings - Fork 50
First Look UI
Ultraviolet’s UI subsystem is exposed through the IUltravioletUI
interface, which you can retrieve an instance of by calling UltravioletContext.GetUI()
. This interface allows you to define stacks of "screens" which contain your application's user interface elements.
Check out the reference documentation for a complete run-down what what the IUltravioletUI
interface is capable of. Here’s a brief overview of some of the important points.
You can retrieve the screen stack for a particular window by calling the GetScreens()
method.
This list is not exhaustive, but should be enough to get you started. Check out the reference documentation for more information.
The UIPanel
class represents a container for user interface components. You can draw a panel's contents directly by overriding its OnDrawingBackground()
, OnDrawingView()
, and OnDrawingForeground()
methods. Alternatively, if the panel has a view associated with it, the library which provided the view will contain its own rendering logic.
The UIScreen
class is a specialized type of UIPanel
. Screens can be placed onto a "screen stack" which is defined for each of your application's windows. When screens are pushed onto and popped off of the stack, the displayed interface for that window is changed, potentially triggering visual transitions.
The UIView
class provides a means by which external libraries, called view providers, can provide custom logic for defining and rendering user interface elements. Ultraviolet itself does not define any implementations of the UIView
class; you can either write your own to suit your purposes, or make use of the Ultraviolet Presentation Foundation (UPF).
- Contributing
- Dependencies
- Basic Concepts
- First Look- Platform
- First Look- Graphics
- First Look- Audio
- First Look- Input
- First Look- Content
- First Look- UI
- sRGB Color
- Customizing SpriteBatch
- Creating Fonts
- Creating Effects
- Creating Glyph Shaders
- FreeType2 Fonts
- Rendering 3D Models