-
Notifications
You must be signed in to change notification settings - Fork 3
Gem Gui

A library to render GUI controls in Monogame applications.
To configure a GUI, you must first declare an instance of GemGui
GemGui(Game game,
int targetResolutionWidth,
int targetResolutionHeight,
AggregationTarget aggregationTarget = AggregationTarget.All,
TargetPlatform controlTarget = TargetPlatform.Windows,
IConfigurationResolver configuration = null)
You can use that instance of GemGui to initialize controls, configure GuiHosts, manage screens, and even customize how your GUI will scale when resolution changes.
The default scale calculator is
gui.Settings.ScaleCalculator = resolution =>
resolution / TargetResolution;
where TargetResolution is the resolution specified upon GemGui's initialization.
All controls inherit from AControl. That makes it easy to add custom behavior to a control.
There are several controls defined. They can be instantiated using the Control Factory.
The Fluent Builder is an easy and readable way to setup your controls
Controls can be grouped into GuiHosts and then organize them using the GemGui's internal screen management system.
A get started Gist that previews some basic features.