Tramway SDK
Classes | Namespaces | Functions | Variables
gui.cpp File Reference
#include <templates/stack.h>
#include <framework/gui.h>
#include <framework/system.h>
#include <framework/logging.h>
#include <framework/event.h>
#include <framework/language.h>
#include <render/api.h>
#include <render/vertices.h>
#include <render/sprite.h>
#include <render/material.h>
#include <cstring>

Classes

struct  tram::GUI::FrameObject
 

Namespaces

namespace  tram
 
namespace  tram::GUI
 

Functions

void tram::GUI::SetColor (vec3 color)
 
void tram::GUI::SetScaling (uint32_t scale)
 
uint32_t tram::GUI::GetScaling ()
 
void tram::GUI::Init ()
 Performs initialization of the GUI system. More...
 
void tram::GUI::UpdateDrawListFonts ()
 Submits registered fonts to the renderer. More...
 
void tram::GUI::Update ()
 Submits all of the glyphs for rendering. More...
 
font_t tram::GUI::RegisterFont (Render::Sprite *sprite)
 Registers a font. More...
 
void tram::GUI::SetGlyph (float x, float y, float z, float w, float h, float tex_x, float tex_y, float tex_w, float tex_h, const vec3 &color, font_t font)
 Adds a glyph to rendering list. More...
 
uint32_t tram::GUI::GlyphWidth (font_t font, glyph_t glyph)
 
uint32_t tram::GUI::GlyphHeight (font_t font, glyph_t glyph)
 
uint32_t tram::GUI::GlyphBorderV (font_t font, glyph_t glyph)
 
void tram::GUI::DrawGlyph (font_t font, glyph_t glyph, uint32_t x, uint32_t y, uint32_t w=0, uint32_t h=0)
 
void tram::GUI::Glyph (font_t font, glyph_t glyph)
 
void tram::GUI::DrawBox (font_t font, glyph_t glyph, uint32_t x, uint32_t y, uint32_t w, uint32_t h)
 Draws a glyph box. More...
 
uint32_t tram::GUI::TextWidth (font_t font, const char *text)
 
void tram::GUI::Text (font_t font, const char *text, uint32_t orientation)
 
void tram::GUI::DrawBoxHorizontal (font_t font, glyph_t glyph, uint32_t x, uint32_t y, uint32_t w)
 
void tram::GUI::PushFrame (uint32_t x, uint32_t y, uint32_t w, uint32_t h)
 
void tram::GUI::PushFrameRelative (uint32_t orientation, uint32_t offset)
 
void tram::GUI::PopFrame ()
 
bool tram::GUI::CursorOver (uint32_t x, uint32_t y, uint32_t w, uint32_t h)
 
bool tram::GUI::ClickHandled ()
 
bool tram::GUI::Clicked ()
 
bool tram::GUI::Button (const char *text, bool enabled, uint32_t width)
 
bool tram::GUI::RadioButton (uint32_t index, uint32_t &selected, const char *text, bool enabled)
 
bool tram::GUI::CheckBox (bool &selected, const char *text, bool enabled)
 
bool tram::GUI::Slider (float &value, bool enabled, uint32_t width)
 
void tram::GUI::NewLine (uint32_t line)
 
void tram::GUI::HorizontalDivider ()
 
void tram::GUI::FillFrame (font_t font, glyph_t glyph)
 
bool tram::GUI::TextBox (char *text, uint32_t length, bool enabled, uint32_t w, uint32_t h)
 
void tram::GUI::TextBox (const char *text, uint32_t w, uint32_t h)
 
void tram::GUI::Begin ()
 
void tram::GUI::End ()
 

Variables

Stack< FrameObject > tram::GUI::frame_stack ("GUI Frame stack", 100)
 
Render::Sprite * tram::GUI::fonts [16] = {nullptr}
 
Render::vertexarray_t tram::GUI::glyphvertices_vertex_array = {.generic = 0}
 
Render::drawlistentry_t tram::GUI::glyphvertices_entry
 
std::vector< Render::SpriteVertex > tram::GUI::glyphvertices
 
bool tram::GUI::mouse_click_not_handled = true