Gorgon Game Engine
SimpleGenerator Class Reference

This class generates very simple templates. More...

Inheritance diagram for SimpleGenerator:
[legend]

Classes

struct  BackgroundInfo
 
struct  BorderInfo
 
struct  FocusInfo
 
struct  ForecolorInfo
 

Public Member Functions

 SimpleGenerator ()
 Creates a non-working simple generator. More...
 
 SimpleGenerator (int fontsize, std::string fontname="", bool activate=true, float density=7.5)
 Initializes the generator. Density controls the spacing between elements. More...
 
virtual ~SimpleGenerator ()
 
Graphics::BitmapRectangleProviderAltStraightBG ()
 
virtual UI::Template BlankLayerbox () override
 
virtual UI::Template BlankPanel () override
 
virtual UI::Template BottomPanel () override
 
virtual UI::Template Button () override
 Generates a button template. More...
 
virtual UI::Template Checkbox () override
 
virtual UI::Template CheckboxButton () override
 
Graphics::BitmapRectangleProviderDisabledBG ()
 
Graphics::BitmapRectangleProviderDisabledBorder ()
 
Graphics::BitmapRectangleProviderDisabledRBG ()
 
Graphics::BitmapRectangleProviderDisabledStraightBG ()
 
Graphics::BitmapRectangleProviderDownBG ()
 
Graphics::BitmapRectangleProviderDownBorder ()
 
Graphics::BitmapRectangleProviderDownRBG ()
 
Graphics::BitmapRectangleProviderDownStraightBG ()
 
virtual UI::Template Dropdown () override
 
virtual UI::Template ErrorLabel () override
 
Graphics::RectangleProviderFocusBorder ()
 
virtual int GetEmSize () const override
 
virtual int GetSpacing () const override
 
Graphics::BitmapRectangleProviderGrooveBG ()
 
Graphics::BitmapRectangleProviderGrooveBorder ()
 
Graphics::BitmapRectangleProviderHoverBG ()
 
Graphics::BitmapRectangleProviderHoverBorder ()
 
Graphics::BitmapRectangleProviderHoverEditBorder ()
 
Graphics::BitmapRectangleProviderHoverRBG ()
 
Graphics::BitmapRectangleProviderHoverStraightBG ()
 
virtual UI::Template HScrollbar () override
 
virtual UI::Template IconButton (Geometry::Size iconsize={-1, -1}) override
 Generates a button template with the given default size. More...
 
void Init (int fontsize=14, std::string fontname="")
 Initializes the generator. More...
 
Graphics::MaskedObjectProviderInnerObjectShape ()
 
virtual UI::Template Inputbox () override
 
virtual UI::Template Label () override
 
virtual UI::Template Layerbox () override
 
virtual UI::Template LeftPanel () override
 
virtual UI::Template Listbox () override
 
Graphics::BitmapRectangleProviderNormalBG ()
 
Graphics::BitmapRectangleProviderNormalBorder ()
 
Graphics::BitmapRectangleProviderNormalEditBorder ()
 
Graphics::BitmapRectangleProviderNormalEmptyBorder ()
 
Graphics::BitmapRectangleProviderNormalRBG ()
 
Graphics::BitmapRectangleProviderNormalStraightBG ()
 
Graphics::BitmapRectangleProviderObjectShape ()
 
virtual UI::Template Panel () override
 
Graphics::BitmapRectangleProviderPanelBorder (int missingedge=0)
 
virtual UI::Template Progressbar () override
 
virtual UI::Template RadioButton () override
 
Graphics::BitmapRectangleProviderReadonlyBorder ()
 
virtual UI::Template RightPanel () override
 
virtual UI::Template TopPanel () override
 
void UpdateBorders (bool smooth=true)
 This function will update default widget borders depending on the font size. More...
 
void UpdateDimensions ()
 This function will update default widget dimensions. More...
 
virtual UI::Template VScrollbar () override
 
- Public Member Functions inherited from Generator
 Generator (bool activate=true)
 
virtual ~Generator ()
 
- Public Member Functions inherited from Registry
 Registry (bool activate=false)
 Default constructor. More...
 
virtual ~Registry ()
 Destroys all stored templates. More...
 
void Activate ()
 Activates this registry to be used to provide templates. More...
 
const UI::Templateoperator[] (TemplateType type)
 Returns the template for the requested type. More...
 

Public Attributes

struct Gorgon::Widgets::SimpleGenerator::BackgroundInfo Background
 
struct Gorgon::Widgets::SimpleGenerator::BorderInfo Border
 
int BorderedWidgetHeight
 This is the height of a bordered widget. More...
 
Graphics::StyledRenderer CenteredFont
 
float Density
 This controls the automatic spacing. More...
 
struct Gorgon::Widgets::SimpleGenerator::FocusInfo Focus
 
struct Gorgon::Widgets::SimpleGenerator::ForecolorInfo Forecolor
 
int ObjectBorder
 
int ObjectHeight
 
Graphics::StyledRenderer RegularFont
 
float ShapeBorder
 
int Spacing
 
int WidgetHeight
 This is the height of a non-bordered widget. More...
 
int WidgetWidth
 This is the width of a one cell widget. More...
 

Additional Inherited Members

- Public Types inherited from Registry
enum  TemplateType {
  Button_Regular, Button_Icon, Label_Regular, Label_Error,
  Checkbox_Regular, Checkbox_Button, Radio_Regular, Inputbox_Regular,
  Panel_Regular, Panel_Blank, Panel_Top, Panel_Left,
  Panel_Bottom, Panel_Right, Progress_Regular, Layerbox_Regular,
  Layerbox_Blank, Scrollbar_Horizontal, Scrollbar_Vertical, Listbox_Regular,
  Dropdown_Regular, Max
}
 This enum lists all possible template types. More...
 
- Static Public Member Functions inherited from Registry
static RegistryActive ()
 
- Protected Member Functions inherited from Generator
virtual UI::Templategenerate (Gorgon::Widgets::Registry::TemplateType type) override
 This function should return a template for the given type. More...
 
- Protected Attributes inherited from Registry
std::array< UI::Template *, Maxtemplates
 Stores the templates. Mutable to allow late loading. More...
 

Detailed Description

This class generates very simple templates.

Hover and down states are marked with simple fore and background color changes. For background, hover and down state colors are blended with the regular color. Font is shared, thus any changes to it will effect existing templates too. Most graphics are generated immediately upon creating and will not be modified if they are already created

Constructor & Destructor Documentation

◆ SimpleGenerator() [1/2]

SimpleGenerator ( int  fontsize,
std::string  fontname = "",
bool  activate = true,
float  density = 7.5 
)
explicit

Initializes the generator. Density controls the spacing between elements.

References SimpleGenerator::Init().

◆ SimpleGenerator() [2/2]

Creates a non-working simple generator.

Calls to any function other than Init is undefined behaviour.

◆ ~SimpleGenerator()

~SimpleGenerator ( )
virtual

Member Function Documentation

◆ AltStraightBG()

◆ BlankLayerbox()

◆ BlankPanel()

◆ BottomPanel()

UI::Template BottomPanel ( )
overridevirtual

Implements Generator.

◆ Button()

◆ Checkbox()

◆ CheckboxButton()

◆ DisabledBG()

◆ DisabledBorder()

◆ DisabledRBG()

◆ DisabledStraightBG()

◆ DownBG()

◆ DownBorder()

◆ DownRBG()

◆ DownStraightBG()

◆ Dropdown()

UI::Template Dropdown ( )
overridevirtual

Implements Generator.

References ComponentTemplate::Absolute, Template::AddContainer(), Template::AddGraphics(), ContainerTemplate::AddIndex(), Template::AddPlaceholder(), Template::AddTextholder(), Gorgon::UI::Always, ComponentTemplate::Automatic, RGBA::BlendWith(), SimpleGenerator::Border, SimpleGenerator::BorderedWidgetHeight, Bitmap::Clear(), GraphicsTemplate::Content, Gorgon::UI::Disabled, SimpleGenerator::ForecolorInfo::Disabled, SimpleGenerator::DisabledBorder(), Gorgon::Input::Keyboard::Keycodes::Down, SimpleGenerator::ForecolorInfo::Down, SimpleGenerator::DownBorder(), ComponentTemplate::Fixed, SimpleGenerator::Focus, Gorgon::UI::Focused, SimpleGenerator::Forecolor, Gorgon::UI::Hover, SimpleGenerator::ForecolorInfo::Hover, SimpleGenerator::HoverBorder(), Registry::Listbox_Regular, ComponentTemplate::ListTag, Gorgon::UI::MiddleLeft, Gorgon::UI::MiddleRight, Gorgon::Input::Mouse::None, SimpleGenerator::NormalBorder(), SimpleGenerator::ObjectBorder, SimpleGenerator::ObjectHeight, Gorgon::UI::Opened, Dimension::Percent, Gorgon::CGI::Polyfill(), SimpleGenerator::BorderInfo::Radius, SimpleGenerator::ForecolorInfo::Regular, SimpleGenerator::RegularFont, Gorgon::UI::Reversed, VisualProvider::SetAnimation(), ComponentTemplate::SetClip(), TextholderTemplate::SetRenderer(), Template::SetSize(), ComponentTemplate::SetSize(), PlaceholderTemplate::SetTemplate(), SimpleGenerator::Spacing, SimpleGenerator::FocusInfo::Spacing, ComponentTemplate::Text, and SimpleGenerator::BorderInfo::Width.

◆ ErrorLabel()

◆ FocusBorder()

Graphics::RectangleProvider & FocusBorder ( )

◆ GetEmSize()

virtual int GetEmSize ( ) const
overridevirtual

Implements Registry.

◆ GetSpacing()

virtual int GetSpacing ( ) const
overridevirtual

Implements Registry.

References SimpleGenerator::Spacing.

◆ GrooveBG()

◆ GrooveBorder()

◆ HoverBG()

◆ HoverBorder()

◆ HoverEditBorder()

◆ HoverRBG()

◆ HoverStraightBG()

◆ HScrollbar()

◆ IconButton()

◆ Init()

◆ InnerObjectShape()

◆ Inputbox()

UI::Template Inputbox ( )
overridevirtual

Implements Generator.

References RGBA::A, ComponentTemplate::Absolute, Template::AddContainer(), Template::AddGraphics(), ContainerTemplate::AddIndex(), Template::AddTextholder(), Gorgon::UI::Always, RGBA::B, SimpleGenerator::Background, RGBA::BlendWith(), SimpleGenerator::Border, SimpleGenerator::BorderedWidgetHeight, Bitmap::Clear(), SimpleGenerator::BorderInfo::Color, GraphicsTemplate::Content, ComponentTemplate::ContentsTag, Gorgon::UI::Disabled, SimpleGenerator::ForecolorInfo::Disabled, SimpleGenerator::DisabledBorder(), Gorgon::Input::Keyboard::Keycodes::Down, SimpleGenerator::ForecolorInfo::Down, ComponentTemplate::Fixed, SimpleGenerator::Focus, Gorgon::UI::Focused, Bitmap::ForAllPixels(), SimpleGenerator::Forecolor, RGBA::G, StyledRenderer::GetGlyphRenderer(), GlyphRenderer::GetHeight(), Gorgon::UI::Hover, SimpleGenerator::ForecolorInfo::Hover, SimpleGenerator::HoverEditBorder(), Gorgon::UI::MiddleCenter, Gorgon::UI::MiddleLeft, Gorgon::UI::MiddleRight, Gorgon::Input::Mouse::None, SimpleGenerator::NormalBorder(), SimpleGenerator::NormalEditBorder(), SimpleGenerator::ObjectHeight, Dimension::Percent, Dimension::Pixel, RGBA::R, SimpleGenerator::BorderInfo::Radius, Gorgon::UI::Readonly, SimpleGenerator::ForecolorInfo::Regular, SimpleGenerator::RegularFont, SimpleGenerator::BackgroundInfo::Selected, VisualProvider::SetAnimation(), ComponentTemplate::SetClip(), VisualProvider::SetDrawable(), TextholderTemplate::SetRenderer(), Template::SetSize(), ComponentTemplate::SetSize(), Template::SetSpacing(), SimpleGenerator::Spacing, SimpleGenerator::FocusInfo::Spacing, ComponentTemplate::Text, ComponentTemplate::ViewPortTag, SimpleGenerator::WidgetWidth, SimpleGenerator::FocusInfo::Width, and SimpleGenerator::BorderInfo::Width.

◆ Label()

◆ Layerbox()

◆ LeftPanel()

UI::Template LeftPanel ( )
overridevirtual

Implements Generator.

◆ Listbox()

UI::Template Listbox ( )
overridevirtual

Implements Generator.

References ComponentTemplate::Absolute, Template::AddContainer(), Template::AddGraphics(), ContainerTemplate::AddIndex(), Template::AddPlaceholder(), Template::AddTextholder(), SimpleGenerator::AltStraightBG(), Gorgon::UI::Always, ComponentTemplate::Automatic, SimpleGenerator::Background, RGBA::BlendWith(), SimpleGenerator::Border, SimpleGenerator::BorderedWidgetHeight, ComponentTemplate::ContentsTag, Gorgon::UI::Disabled, SimpleGenerator::ForecolorInfo::Disabled, SimpleGenerator::DisabledStraightBG(), Gorgon::Input::Keyboard::Keycodes::Down, SimpleGenerator::ForecolorInfo::Down, SimpleGenerator::DownStraightBG(), Gorgon::UI::Even, ComponentTemplate::Fixed, SimpleGenerator::Focus, Gorgon::UI::Focused, SimpleGenerator::Forecolor, Gorgon::UI::Hover, SimpleGenerator::ForecolorInfo::Hover, SimpleGenerator::HoverStraightBG(), ComponentTemplate::Icon1, Gorgon::UI::Icon1IsSet, ComponentTemplate::ItemTag, Gorgon::UI::MiddleLeft, Gorgon::UI::MiddleRight, ComponentTemplate::ModifyAlpha, Gorgon::Input::Mouse::None, SimpleGenerator::NormalBG(), SimpleGenerator::NormalEmptyBorder(), Registry::operator[](), Dimension::Percent, SimpleGenerator::BorderInfo::Radius, SimpleGenerator::ForecolorInfo::Regular, SimpleGenerator::RegularFont, Registry::Scrollbar_Vertical, SimpleGenerator::BackgroundInfo::Selected, ComponentTemplate::SetClip(), ComponentTemplate::SetMargin(), TextholderTemplate::SetRenderer(), Template::SetSize(), ComponentTemplate::SetSize(), Template::SetSpacing(), ComponentTemplate::SetTag(), PlaceholderTemplate::SetTemplate(), SimpleGenerator::Spacing, SimpleGenerator::FocusInfo::Spacing, Gorgon::UI::State2, ComponentTemplate::Text, Gorgon::UI::TopLeft, Gorgon::UI::TopRight, ComponentTemplate::UseTransition, Gorgon::UI::VScroll, ComponentTemplate::VScrollTag, SimpleGenerator::WidgetHeight, SimpleGenerator::WidgetWidth, basic_Size< T_ >::Width, SimpleGenerator::FocusInfo::Width, and SimpleGenerator::BorderInfo::Width.

◆ NormalBG()

◆ NormalBorder()

◆ NormalEditBorder()

◆ NormalEmptyBorder()

◆ NormalRBG()

◆ NormalStraightBG()

◆ ObjectShape()

◆ Panel()

UI::Template Panel ( )
overridevirtual

Implements Generator.

◆ PanelBorder()

◆ Progressbar()

◆ RadioButton()

◆ ReadonlyBorder()

◆ RightPanel()

UI::Template RightPanel ( )
overridevirtual

Implements Generator.

◆ TopPanel()

UI::Template TopPanel ( )
overridevirtual

Implements Generator.

◆ UpdateBorders()

◆ UpdateDimensions()

◆ VScrollbar()

Member Data Documentation

◆ Background

◆ Border

◆ BorderedWidgetHeight

int BorderedWidgetHeight

This is the height of a bordered widget.

◆ CenteredFont

◆ Density

float Density

This controls the automatic spacing.

After chaning this member you need to call UpdateDimensions to get the desired effect.

◆ Focus

◆ Forecolor

◆ ObjectBorder

int ObjectBorder

◆ ObjectHeight

int ObjectHeight

◆ RegularFont

◆ ShapeBorder

float ShapeBorder

◆ Spacing

int Spacing

◆ WidgetHeight

int WidgetHeight

This is the height of a non-bordered widget.

◆ WidgetWidth

int WidgetWidth

This is the width of a one cell widget.


The documentation for this class was generated from the following files: