Gamedev Framework (gf)
0.3.0
A C++11 framework for 2D games
|
Namespaces | |
literals | |
Classes | |
class | Action |
An action that can be triggered by different controls. More... | |
class | ActionContainer |
A set of actions. More... | |
class | AdaptativeView |
Adaptative view. More... | |
struct | AllType |
Semantic type to represent "all". More... | |
class | AlphaTexture |
A texture with a single alpha channel. More... | |
class | AnimatedSprite |
An animated sprite. More... | |
class | Animation |
An animation. More... | |
class | AntiAliasingEffect |
Anti-aliasing effect. More... | |
class | Array2D |
A two-dimensional array. More... | |
class | ArrayRef |
A constant reference to an array and its size. More... | |
class | AssetManager |
An asset manager. More... | |
class | BareTexture |
An image that lives in the graphic memory that can be used for drawing. More... | |
class | BetterGradientNoise2D |
Better gradient 2D noise. More... | |
struct | BlendMode |
Blending modes for drawing. More... | |
class | BufferedGeometry |
A drawable for buffers. More... | |
struct | Circ |
Utility class for manipulating circles. More... | |
class | CircleShape |
Specialized shape representing a circle. More... | |
class | Clock |
Utility class that measures the elapsed time. More... | |
class | CloseControl |
A close control. More... | |
struct | Color |
Predefined colors. More... | |
class | ColorBlindEffect |
Simulation of color blindness. More... | |
class | ColorEffect |
Simple color effects. More... | |
class | ColorMatrixEffect |
Generic color matrix effect. More... | |
struct | ColorRamp |
A color ramp. More... | |
class | CompoundCurve |
A compound curve. More... | |
class | Control |
A physical control. More... | |
class | ConvexShape |
Specialized shape representing a convex polygon. More... | |
class | CubicBezierCurve |
A cubic Bézier curve. More... | |
class | Curve |
A curve is a one dimension object. More... | |
class | DefaultEffect |
Default effect. More... | |
class | Drawable |
Abstract base class for objects that can be drawn to a render window. More... | |
class | EdgeEffect |
Edge detector. More... | |
class | Effect |
A post-processing effect. More... | |
class | Entity |
A game entity. More... | |
class | EntityContainer |
A collection of entities. More... | |
struct | Event |
Defines a system event and its parameters. More... | |
class | ExtendView |
Extend view. More... | |
class | FileInputStream |
File based input stream. More... | |
class | FillView |
Fill view. More... | |
class | FitView |
Fit view. More... | |
class | Flags |
Bitfield relying on an enumeration. More... | |
class | Font |
A character font. More... | |
class | FractalNoise2D |
Fractal 2D noise. More... | |
class | FractalNoise3D |
Fractal 3D noise. More... | |
class | Gamepad |
Some gamepad related functions. More... | |
class | GamepadAxisControl |
A gamepad axis control. More... | |
class | GamepadButtonControl |
A gamepad button control. More... | |
struct | Glyph |
A glyph. More... | |
class | GradientNoise2D |
Gradient 2D noise. More... | |
class | GradientNoise3D |
Gradient 3D noise. More... | |
class | HeteroTerrain2D |
Hetero Terrain 2D noise. More... | |
class | HybridMultifractal2D |
Hybrid Multifractal 2D noise. More... | |
class | Image |
Class for loading, manipulating and saving images. More... | |
class | InputStream |
Abstract class for custom file input streams. More... | |
struct | Keyboard |
Some keyboard related functions. More... | |
class | KeycodeKeyControl |
A key control based on keycode. More... | |
class | Library |
A class to represent the library. More... | |
class | Line |
A line. More... | |
class | Log |
Logging functions. More... | |
struct | Matrix |
General purpose math matrix. More... | |
struct | Matrix< T, 2, 2 > |
A 2x2 matrix. More... | |
struct | Matrix< T, 3, 3 > |
A 3x3 matrix. More... | |
struct | Matrix< T, 4, 4 > |
A 4x4 matrix. More... | |
class | MemoryInputStream |
Memory based input stream. More... | |
struct | Message |
The base class for all messages. More... | |
class | MessageManager |
A message manager. More... | |
class | Model |
A game object that can be updated. More... | |
class | ModelContainer |
A collection of models. More... | |
class | Monitor |
A monitor. More... | |
class | MouseButtonControl |
A mouse button control. More... | |
class | Multifractal2D |
Multi Fractal 2D noise. More... | |
class | NinePatch |
A nine-patch. More... | |
class | Noise2D |
2D A noise function More... | |
class | Noise3D |
3D A noise function More... | |
struct | NoneType |
Semantic type to represent "none". More... | |
class | OpenSimplexNoise2D |
OpenSimplex 2D noise. More... | |
class | OpenSimplexNoise3D |
OpenSimplex3D noise. More... | |
struct | Penetration |
Data about the collision between two objects. More... | |
class | PerlinNoise2D |
Perlin 2D noise. More... | |
class | PerlinNoise3D |
Perlin 3D noise. More... | |
class | Polygon |
A convex polygon. More... | |
class | PostProcessing |
A post-processing drawable. More... | |
class | QuadraticBezierCurve |
A quadratic Bézier curve. More... | |
class | Queue |
A simple concurrent queue. More... | |
class | Random |
A random engine. More... | |
struct | Range |
A half-open range of values. More... | |
struct | Rect |
Utility class for manipulating 2D axis aligned rectangles. More... | |
class | RectangleShape |
Specialized shape representing a rectangle. More... | |
class | RenderPipeline |
A render pipeline. More... | |
struct | RenderStates |
Define the states used for drawing to a RenderTarget. More... | |
class | RenderTarget |
Base class for all render targets (window, texture, ...) More... | |
class | RenderTexture |
Target for off-screen 2D rendering into a texture. More... | |
class | RenderWindow |
A window that can serve as a target for 2D drawing. More... | |
class | ResourceCache |
A generic cache for resources. More... | |
class | ResourceManager |
A resource manager. More... | |
class | RidgedMultifractal2D |
Ridged Multifractal 2D noise. More... | |
class | RoundedRectangleShape |
Specialized shape representing a rounded rectangle. More... | |
class | ScancodeKeyControl |
A key control based on scancode. More... | |
class | ScreenView |
Screen view. More... | |
class | Shader |
An OpenGL vertex and/or fragment shader. More... | |
class | Shape |
Base class for textured shapes with outline. More... | |
class | SimplexNoise2D |
Simplex 2D noise. More... | |
class | Singleton |
A singleton that wraps a pointer provided by a storage. More... | |
class | SingletonStorage |
A storage for a singleton. More... | |
class | Sprite |
A drawable representation of a texture, with its own transformations, color, etc. More... | |
class | SpriteBatch |
A sprite batch. More... | |
class | StarShape |
Specialized shape representing a star. More... | |
class | StretchView |
Stretch view. More... | |
class | StringRef |
A constant reference to a string and its size. More... | |
class | SystemInfo |
A class for system info. More... | |
class | Text |
Graphical text that can be drawn to a render target. More... | |
class | Texture |
A texture for colored images. More... | |
class | TextureAtlas |
A collection of sub-texture. More... | |
class | TileLayer |
A tile layer. More... | |
class | Time |
Represents a time value. More... | |
class | Transformable |
Decomposed transform defined by a position, a rotation and a scale. More... | |
class | UI |
Context for an immediate mode graphical interface. More... | |
class | ValueNoise2D |
Value 2D noise. More... | |
struct | Vector |
General purpose math vector. More... | |
struct | Vector< T, 2 > |
A 2D vector. More... | |
struct | Vector< T, 3 > |
A 3D vector. More... | |
struct | Vector< T, 4 > |
A 4D vector. More... | |
struct | Vertex |
A point associated with a color and a texture coordinate. More... | |
class | VertexArray |
A set of primitives. More... | |
class | VertexBuffer |
Data in the graphics memory. More... | |
struct | VideoMode |
A video mode. More... | |
class | View |
2D camera that defines what region is shown on screen More... | |
class | ViewContainer |
A container of views. More... | |
class | WaveletNoise3D |
Wavelet 3D noise. More... | |
class | Window |
An OS window. More... | |
class | WindowGeometryTracker |
A window geometry tracker. More... | |
class | WorleyNoise2D |
Worley 2D noise. More... | |
Typedefs | |
using | CircF = Circ< float > |
A float circle. More... | |
using | CircI = Circ< int > |
A int circle. More... | |
using | CircU = Circ< unsigned > |
A unsigned circle. More... | |
using | CircZ = Circ< std::size_t > |
A std::size_t circle. More... | |
using | Path = boost::filesystem::path |
A path in the filesystem. More... | |
using | Id = uint64_t |
An identifier. More... | |
using | Modifiers = Flags< Mod > |
Keyboard modifiers. More... | |
template<typename T > | |
using | Step = T(*)(T) |
A step is a function with special features. More... | |
using | Matrix2f = Matrix< float, 2, 2 > |
A float square matrix of size 2. More... | |
using | Matrix3f = Matrix< float, 3, 3 > |
A float square matrix of size 3. More... | |
using | Matrix4f = Matrix< float, 4, 4 > |
A float square matrix of size 4. More... | |
using | MessageHandler = std::function< MessageStatus(Id, Message *)> |
A message handler. More... | |
using | MessageHandlerId = uint64_t |
An identifier for a message handler. More... | |
using | RangeF = Range< float > |
A float range. More... | |
using | RangeI = Range< int > |
A int range. More... | |
using | RangeU = Range< unsigned > |
A unsigned range. More... | |
using | RangeZ = Range< std::size_t > |
A std::size_t range. More... | |
using | RectF = Rect< float > |
A float rectangle. More... | |
using | RectI = Rect< int > |
A int rectangle. More... | |
using | RectU = Rect< unsigned > |
A unsigned rectangle. More... | |
using | RectZ = Rect< std::size_t > |
A std::size_t rectangle. More... | |
using | UIWindowFlags = Flags< UIWindow > |
Flags composed of window properties. More... | |
using | UIScroll = Vector< unsigned short, 2 > |
State for scrollbar in groups. More... | |
using | Vector2f = Vector< float, 2 > |
A float vector with 2 components. More... | |
using | Vector3f = Vector< float, 3 > |
A float vector with 3 components. More... | |
using | Vector4f = Vector< float, 4 > |
A float vector with 4 components. More... | |
using | Vector2d = Vector< double, 2 > |
A double vector with 2 components. More... | |
using | Vector3d = Vector< double, 3 > |
A double vector with 3 components. More... | |
using | Vector4d = Vector< double, 4 > |
A double vector with 4 components. More... | |
using | Vector2i = Vector< int, 2 > |
A int vector with 2 components. More... | |
using | Vector3i = Vector< int, 3 > |
A int vector with 3 components. More... | |
using | Vector4i = Vector< int, 4 > |
A int vector with 4 components. More... | |
using | Vector2u = Vector< unsigned, 2 > |
A unsigned vector with 2 components. More... | |
using | Vector3u = Vector< unsigned, 3 > |
A unsigned vector with 3 components. More... | |
using | Vector4u = Vector< unsigned, 4 > |
A unsigned vector with 4 components. More... | |
using | Vector2z = Vector< std::size_t, 2 > |
A std::size_t vector with 2 components. More... | |
using | Vector3z = Vector< std::size_t, 3 > |
A std::size_t vector with 3 components. More... | |
using | Vector4z = Vector< std::size_t, 4 > |
A std::size_t vector with 4 components. More... | |
using | Vector2b = Vector< bool, 2 > |
A bool vector with 2 components. More... | |
using | Vector3b = Vector< bool, 3 > |
A bool vector with 3 components. More... | |
using | Vector4b = Vector< bool, 4 > |
A bool vector with 4 components. More... | |
using | Color3f = Vector< float, 3 > |
A float color vector with 3 components. More... | |
using | Color4f = Vector< float, 4 > |
A float color vector with 4 components. More... | |
using | Color3u = Vector< uint8_t, 3 > |
A uint8_t color vector with 3 components. More... | |
using | Color4u = Vector< uint8_t, 4 > |
A uint8_t color vector with 4 components. More... | |
template<typename T , std::size_t N> | |
using | Distance = T(*)(const Vector< T, N > &, const Vector< T, N > &) |
A distance function. More... | |
template<typename T > | |
using | Distance2 = Distance< T, 2 > |
A distance function for 2D vectors. More... | |
template<typename T > | |
using | Distance3 = Distance< T, 3 > |
A distance function for 3D vectors. More... | |
using | WindowFlags = Flags< WindowHints > |
Flags for window creation. More... | |
Enumerations | |
enum | Alignment { Alignment::None, Alignment::Left, Alignment::Right, Alignment::Center, Alignment::Justify } |
The alignement of a text. More... | |
enum | BlendEquation { BlendEquation::Add, BlendEquation::Substract, BlendEquation::ReverseSubstract } |
Enumeration of the blending equations. More... | |
enum | BlendFactor { BlendFactor::Zero, BlendFactor::One, BlendFactor::SrcColor, BlendFactor::OneMinusSrcColor, BlendFactor::DstColor, BlendFactor::OneMinusDstColor, BlendFactor::SrcAlpha, BlendFactor::OneMinusSrcAlpha, BlendFactor::DstAlpha, BlendFactor::OneMinusDstAlpha } |
Enumeration of the blending factors. More... | |
enum | Direction : int { Direction::Center = -1, Direction::Up = 0, Direction::Right = 1, Direction::Down = 2, Direction::Left = 3 } |
Main four directions. More... | |
enum | EventType { EventType::Resized, EventType::Closed, EventType::FocusGained, EventType::FocusLost, EventType::KeyPressed, EventType::KeyRepeated, EventType::KeyReleased, EventType::MouseWheelScrolled, EventType::MouseButtonPressed, EventType::MouseButtonReleased, EventType::MouseMoved, EventType::MouseEntered, EventType::MouseLeft, EventType::GamepadButtonPressed, EventType::GamepadButtonReleased, EventType::GamepadAxisMoved, EventType::GamepadConnected, EventType::GamepadDisconnected } |
Enumeration of the different types of events. More... | |
enum | GamepadButton { GamepadButton::Invalid, GamepadButton::A, GamepadButton::B, GamepadButton::X, GamepadButton::Y, GamepadButton::Back, GamepadButton::Guide, GamepadButton::Start, GamepadButton::LeftStick, GamepadButton::RightStick, GamepadButton::LeftBumper, GamepadButton::RightBumper, GamepadButton::DPadUp, GamepadButton::DPadDown, GamepadButton::DPadLeft, GamepadButton::DPadRight } |
The gamepad buttons. More... | |
enum | GamepadAxis { GamepadAxis::Invalid, GamepadAxis::LeftX, GamepadAxis::LeftY, GamepadAxis::RightX, GamepadAxis::RightY, GamepadAxis::TriggerLeft, GamepadAxis::TriggerRight } |
The gamepad axis. More... | |
enum | GamepadAxisDirection { GamepadAxisDirection::Positive, GamepadAxisDirection::Negative } |
A gamepad axis direction. More... | |
enum | GamepadHwId : int |
A gamepad hardware identifier. More... | |
enum | GamepadId : int32_t |
A gamepad identifier. More... | |
enum | Mod : unsigned { Mod::Shift = 0x0001, Mod::Control = 0x0002, Mod::Alt = 0x0004, Mod::Super = 0x0008 } |
Modifier enumeration. More... | |
enum | Scancode : int { Scancode::Unknown = 0, Scancode::A = 4, Scancode::B = 5, Scancode::C = 6, Scancode::D = 7, Scancode::E = 8, Scancode::F = 9, Scancode::G = 10, Scancode::H = 11, Scancode::I = 12, Scancode::J = 13, Scancode::K = 14, Scancode::L = 15, Scancode::M = 16, Scancode::N = 17, Scancode::O = 18, Scancode::P = 19, Scancode::Q = 20, Scancode::R = 21, Scancode::S = 22, Scancode::T = 23, Scancode::U = 24, Scancode::V = 25, Scancode::W = 26, Scancode::X = 27, Scancode::Y = 28, Scancode::Z = 29, Scancode::Num1 = 30, Scancode::Num2 = 31, Scancode::Num3 = 32, Scancode::Num4 = 33, Scancode::Num5 = 34, Scancode::Num6 = 35, Scancode::Num7 = 36, Scancode::Num8 = 37, Scancode::Num9 = 38, Scancode::Num0 = 39, Scancode::Return = 40, Scancode::Escape = 41, Scancode::Backspace = 42, Scancode::Tab = 43, Scancode::Space = 44, Scancode::Minus = 45, Scancode::Equals = 46, Scancode::LeftBracket = 47, Scancode::RightBracket = 48, Scancode::Backslash = 49, Scancode::NonUsHash = 50, Scancode::Semicolon = 51, Scancode::Apostrophe = 52, Scancode::Grave = 53, Scancode::Comma = 54, Scancode::Period = 55, Scancode::Slash = 56, Scancode::CapsLock = 57, Scancode::F1 = 58, Scancode::F2 = 59, Scancode::F3 = 60, Scancode::F4 = 61, Scancode::F5 = 62, Scancode::F6 = 63, Scancode::F7 = 64, Scancode::F8 = 65, Scancode::F9 = 66, Scancode::F10 = 67, Scancode::F11 = 68, Scancode::F12 = 69, Scancode::PrintScreen = 70, Scancode::ScrollLock = 71, Scancode::Pause = 72, Scancode::Insert = 73, Scancode::Home = 74, Scancode::PageUp = 75, Scancode::Delete = 76, Scancode::End = 77, Scancode::PageDown = 78, Scancode::Right = 79, Scancode::Left = 80, Scancode::Down = 81, Scancode::Up = 82, Scancode::NumLockClear = 83, Scancode::NumpadDivide = 84, Scancode::NumpadMultiply = 85, Scancode::NumpadMinus = 86, Scancode::NumpadPlus = 87, Scancode::NumpadEnter = 88, Scancode::Numpad1 = 89, Scancode::Numpad2 = 90, Scancode::Numpad3 = 91, Scancode::Numpad4 = 92, Scancode::Numpad5 = 93, Scancode::Numpad6 = 94, Scancode::Numpad7 = 95, Scancode::Numpad8 = 96, Scancode::Numpad9 = 97, Scancode::Numpad0 = 98, Scancode::NumpadPeriod = 99, Scancode::NonUsBackslash = 100, Scancode::Application = 101, Scancode::Power = 102, Scancode::NumpadEquals = 103, Scancode::F13 = 104, Scancode::F14 = 105, Scancode::F15 = 106, Scancode::F16 = 107, Scancode::F17 = 108, Scancode::F18 = 109, Scancode::F19 = 110, Scancode::F20 = 111, Scancode::F21 = 112, Scancode::F22 = 113, Scancode::F23 = 114, Scancode::F24 = 115, Scancode::Execute = 116, Scancode::Help = 117, Scancode::Menu = 118, Scancode::Select = 119, Scancode::Stop = 120, Scancode::Again = 121, Scancode::Undo = 122, Scancode::Cut = 123, Scancode::Copy = 124, Scancode::Paste = 125, Scancode::Find = 126, Scancode::Mute = 127, Scancode::VolumeUp = 128, Scancode::VolumeDown = 129, Scancode::NumpadComma = 133, Scancode::NumpadEqualsAs400 = 134, Scancode::International1 = 135, Scancode::International2 = 136, Scancode::International3 = 137, Scancode::International4 = 138, Scancode::International5 = 139, Scancode::International6 = 140, Scancode::International7 = 141, Scancode::International8 = 142, Scancode::International9 = 143, Scancode::Lang1 = 144, Scancode::Lang2 = 145, Scancode::Lang3 = 146, Scancode::Lang4 = 147, Scancode::Lang5 = 148, Scancode::Lang6 = 149, Scancode::Lang7 = 150, Scancode::Lang8 = 151, Scancode::Lang9 = 152, Scancode::AltErase = 153, Scancode::SysReq = 154, Scancode::Cancel = 155, Scancode::Clear = 156, Scancode::Prior = 157, Scancode::Return2 = 158, Scancode::Separator = 159, Scancode::Out = 160, Scancode::Oper = 161, Scancode::ClearAgain = 162, Scancode::CrSel = 163, Scancode::ExSel = 164, Scancode::Numpad00 = 176, Scancode::Numpad000 = 177, Scancode::ThousandsSeparator = 178, Scancode::DecimalSeparator = 179, Scancode::CurrencyUnit = 180, Scancode::CurrencySubUnit = 181, Scancode::NumpadLeftParen = 182, Scancode::NumpadRightParen = 183, Scancode::NumpadLeftBrace = 184, Scancode::NumpadRightBrace = 185, Scancode::NumpadTab = 186, Scancode::NumpadBackspace = 187, Scancode::NumpadA = 188, Scancode::NumpadB = 189, Scancode::NumpadC = 190, Scancode::NumpadD = 191, Scancode::NumpadE = 192, Scancode::NumpadF = 193, Scancode::NumpadXor = 194, Scancode::NumpadPower = 195, Scancode::NumpadPercent = 196, Scancode::NumpadLess = 197, Scancode::NumpadGreater = 198, Scancode::NumpadAmpersand = 199, Scancode::NumpadDblAmpersand = 200, Scancode::NumpadVerticalBar = 201, Scancode::NumpadDblVerticalBar = 202, Scancode::NumpadColon = 203, Scancode::NumpadHash = 204, Scancode::NumpadSpace = 205, Scancode::NumpadAt = 206, Scancode::NumpadExclam = 207, Scancode::NumpadMemStore = 208, Scancode::NumpadMemRecall = 209, Scancode::NumpadMemClear = 210, Scancode::NumpadMemAdd = 211, Scancode::NumpadMemSubtract = 212, Scancode::NumpadMemMultiply = 213, Scancode::NumpadMemDivide = 214, Scancode::NumpadPlusMinus = 215, Scancode::NumpadClear = 216, Scancode::NumpadClearEntry = 217, Scancode::NumpadBinary = 218, Scancode::NumpadOctal = 219, Scancode::NumpadDecimal = 220, Scancode::NumpadHexadecimal = 221, Scancode::LeftCtrl = 224, Scancode::LeftShift = 225, Scancode::LeftAlt = 226, Scancode::LeftGui = 227, Scancode::RightCtrl = 228, Scancode::RightShift = 229, Scancode::RightAlt = 230, Scancode::RightGui = 231, Scancode::Mode = 257 } |
Scancodes. More... | |
enum | Keycode : int { Keycode::Unknown = 0, Keycode::Return = '\r', Keycode::Escape = '\033', Keycode::Backspace = '\b', Keycode::Tab = '\t', Keycode::Space = ' ', Keycode::Exclaim = '!', Keycode::QuoteDbl = '"', Keycode::Hash = '#', Keycode::Percent = '', Keycode::Dollar = '$', Keycode::Ampersand = '&', Keycode::Quote = '\'', Keycode::LeftParen = '(', Keycode::RightParen = ')', Keycode::Asterisk = '*', Keycode::Plus = '+', Keycode::Comma = ',', Keycode::Minus = '-', Keycode::Period = '.', Keycode::Slash = '/', Keycode::Num0 = '0', Keycode::Num1 = '1', Keycode::Num2 = '2', Keycode::Num3 = '3', Keycode::Num4 = '4', Keycode::Num5 = '5', Keycode::Num6 = '6', Keycode::Num7 = '7', Keycode::Num8 = '8', Keycode::Num9 = '9', Keycode::Colon = ':', Keycode::SemiColon = ';', Keycode::Less = '<', Keycode::Equals = '=', Keycode::Greater = '>', Keycode::Question = '?', Keycode::At = '@', Keycode::LeftBracket = '[', Keycode::Backslash = '\\', Keycode::RightBracket = ']', Keycode::Caret = '^', Keycode::Underscore = '_', Keycode::Backquote = '`', Keycode::A = 'a', Keycode::B = 'b', Keycode::C = 'c', Keycode::D = 'd', Keycode::E = 'e', Keycode::F = 'f', Keycode::G = 'g', Keycode::H = 'h', Keycode::I = 'i', Keycode::J = 'j', Keycode::K = 'k', Keycode::L = 'l', Keycode::M = 'm', Keycode::N = 'n', Keycode::O = 'o', Keycode::P = 'p', Keycode::Q = 'q', Keycode::R = 'r', Keycode::S = 's', Keycode::T = 't', Keycode::U = 'u', Keycode::V = 'v', Keycode::W = 'w', Keycode::X = 'x', Keycode::Y = 'y', Keycode::Z = 'z', Keycode::CapsLock = getKeycodeFromScancode(Scancode::CapsLock), Keycode::F1 = getKeycodeFromScancode(Scancode::F1), Keycode::F2 = getKeycodeFromScancode(Scancode::F2), Keycode::F3 = getKeycodeFromScancode(Scancode::F3), Keycode::F4 = getKeycodeFromScancode(Scancode::F4), Keycode::F5 = getKeycodeFromScancode(Scancode::F5), Keycode::F6 = getKeycodeFromScancode(Scancode::F6), Keycode::F7 = getKeycodeFromScancode(Scancode::F7), Keycode::F8 = getKeycodeFromScancode(Scancode::F8), Keycode::F9 = getKeycodeFromScancode(Scancode::F9), Keycode::F10 = getKeycodeFromScancode(Scancode::F10), Keycode::F11 = getKeycodeFromScancode(Scancode::F11), Keycode::F12 = getKeycodeFromScancode(Scancode::F12), Keycode::PrintScreen = getKeycodeFromScancode(Scancode::PrintScreen), Keycode::ScrollLock = getKeycodeFromScancode(Scancode::ScrollLock), Keycode::Pause = getKeycodeFromScancode(Scancode::Pause), Keycode::Insert = getKeycodeFromScancode(Scancode::Insert), Keycode::Home = getKeycodeFromScancode(Scancode::Home), Keycode::PageUp = getKeycodeFromScancode(Scancode::PageUp), Keycode::Delete = '\177', Keycode::End = getKeycodeFromScancode(Scancode::End), Keycode::PageDown = getKeycodeFromScancode(Scancode::PageDown), Keycode::Right = getKeycodeFromScancode(Scancode::Right), Keycode::Left = getKeycodeFromScancode(Scancode::Left), Keycode::Down = getKeycodeFromScancode(Scancode::Down), Keycode::Up = getKeycodeFromScancode(Scancode::Up), Keycode::NumLockClear = getKeycodeFromScancode(Scancode::NumLockClear), Keycode::NumpadDivide = getKeycodeFromScancode(Scancode::NumpadDivide), Keycode::NumpadMultiply = getKeycodeFromScancode(Scancode::NumpadMultiply), Keycode::NumpadMinus = getKeycodeFromScancode(Scancode::NumpadMinus), Keycode::NumpadPlus = getKeycodeFromScancode(Scancode::NumpadPlus), Keycode::NumpadEnter = getKeycodeFromScancode(Scancode::NumpadEnter), Keycode::Numpad1 = getKeycodeFromScancode(Scancode::Numpad1), Keycode::Numpad2 = getKeycodeFromScancode(Scancode::Numpad2), Keycode::Numpad3 = getKeycodeFromScancode(Scancode::Numpad3), Keycode::Numpad4 = getKeycodeFromScancode(Scancode::Numpad4), Keycode::Numpad5 = getKeycodeFromScancode(Scancode::Numpad5), Keycode::Numpad6 = getKeycodeFromScancode(Scancode::Numpad6), Keycode::Numpad7 = getKeycodeFromScancode(Scancode::Numpad7), Keycode::Numpad8 = getKeycodeFromScancode(Scancode::Numpad8), Keycode::Numpad9 = getKeycodeFromScancode(Scancode::Numpad9), Keycode::Numpad0 = getKeycodeFromScancode(Scancode::Numpad0), Keycode::NumpadPeriod = getKeycodeFromScancode(Scancode::NumpadPeriod), Keycode::Application = getKeycodeFromScancode(Scancode::Application), Keycode::Power = getKeycodeFromScancode(Scancode::Power), Keycode::NumpadEquals = getKeycodeFromScancode(Scancode::NumpadEquals), Keycode::F13 = getKeycodeFromScancode(Scancode::F13), Keycode::F14 = getKeycodeFromScancode(Scancode::F14), Keycode::F15 = getKeycodeFromScancode(Scancode::F15), Keycode::F16 = getKeycodeFromScancode(Scancode::F16), Keycode::F17 = getKeycodeFromScancode(Scancode::F17), Keycode::F18 = getKeycodeFromScancode(Scancode::F18), Keycode::F19 = getKeycodeFromScancode(Scancode::F19), Keycode::F20 = getKeycodeFromScancode(Scancode::F20), Keycode::F21 = getKeycodeFromScancode(Scancode::F21), Keycode::F22 = getKeycodeFromScancode(Scancode::F22), Keycode::F23 = getKeycodeFromScancode(Scancode::F23), Keycode::F24 = getKeycodeFromScancode(Scancode::F24), Keycode::Execute = getKeycodeFromScancode(Scancode::Execute), Keycode::Help = getKeycodeFromScancode(Scancode::Help), Keycode::Menu = getKeycodeFromScancode(Scancode::Menu), Keycode::Select = getKeycodeFromScancode(Scancode::Select), Keycode::Stop = getKeycodeFromScancode(Scancode::Stop), Keycode::Again = getKeycodeFromScancode(Scancode::Again), Keycode::Undo = getKeycodeFromScancode(Scancode::Undo), Keycode::Cut = getKeycodeFromScancode(Scancode::Cut), Keycode::Copy = getKeycodeFromScancode(Scancode::Copy), Keycode::Paste = getKeycodeFromScancode(Scancode::Paste), Keycode::Find = getKeycodeFromScancode(Scancode::Find), Keycode::Mute = getKeycodeFromScancode(Scancode::Mute), Keycode::VolumeUp = getKeycodeFromScancode(Scancode::VolumeUp), Keycode::VolumeDown = getKeycodeFromScancode(Scancode::VolumeDown), Keycode::NumpadComma = getKeycodeFromScancode(Scancode::NumpadComma), Keycode::NumpadEqualsAs400 = getKeycodeFromScancode(Scancode::NumpadEqualsAs400), Keycode::AltErase = getKeycodeFromScancode(Scancode::AltErase), Keycode::SysReq = getKeycodeFromScancode(Scancode::SysReq), Keycode::Cancel = getKeycodeFromScancode(Scancode::Cancel), Keycode::Clear = getKeycodeFromScancode(Scancode::Clear), Keycode::Prior = getKeycodeFromScancode(Scancode::Prior), Keycode::Return2 = getKeycodeFromScancode(Scancode::Return2), Keycode::Separator = getKeycodeFromScancode(Scancode::Separator), Keycode::Out = getKeycodeFromScancode(Scancode::Out), Keycode::Oper = getKeycodeFromScancode(Scancode::Oper), Keycode::ClearAgain = getKeycodeFromScancode(Scancode::ClearAgain), Keycode::CrSel = getKeycodeFromScancode(Scancode::CrSel), Keycode::ExSel = getKeycodeFromScancode(Scancode::ExSel), Keycode::Numpad00 = getKeycodeFromScancode(Scancode::Numpad00), Keycode::Numpad000 = getKeycodeFromScancode(Scancode::Numpad000), Keycode::ThousandsSeparator = getKeycodeFromScancode(Scancode::ThousandsSeparator), Keycode::DecimalSeparator = getKeycodeFromScancode(Scancode::DecimalSeparator), Keycode::CurrencyUnit = getKeycodeFromScancode(Scancode::CurrencyUnit), Keycode::CurrencySubUnit = getKeycodeFromScancode(Scancode::CurrencySubUnit), Keycode::NumpadLeftParen = getKeycodeFromScancode(Scancode::NumpadLeftParen), Keycode::NumpadRightParen = getKeycodeFromScancode(Scancode::NumpadRightParen), Keycode::NumpadLeftBrace = getKeycodeFromScancode(Scancode::NumpadLeftBrace), Keycode::NumpadRightBrace = getKeycodeFromScancode(Scancode::NumpadRightBrace), Keycode::NumpadTab = getKeycodeFromScancode(Scancode::NumpadTab), Keycode::NumpadBackspace = getKeycodeFromScancode(Scancode::NumpadBackspace), Keycode::NumpadA = getKeycodeFromScancode(Scancode::NumpadA), Keycode::NumpadB = getKeycodeFromScancode(Scancode::NumpadB), Keycode::NumpadC = getKeycodeFromScancode(Scancode::NumpadC), Keycode::NumpadD = getKeycodeFromScancode(Scancode::NumpadD), Keycode::NumpadE = getKeycodeFromScancode(Scancode::NumpadE), Keycode::NumpadF = getKeycodeFromScancode(Scancode::NumpadF), Keycode::NumpadXor = getKeycodeFromScancode(Scancode::NumpadXor), Keycode::NumpadPower = getKeycodeFromScancode(Scancode::NumpadPower), Keycode::NumpadPercent = getKeycodeFromScancode(Scancode::NumpadPercent), Keycode::NumpadLess = getKeycodeFromScancode(Scancode::NumpadLess), Keycode::NumpadGreater = getKeycodeFromScancode(Scancode::NumpadGreater), Keycode::NumpadAmpersand = getKeycodeFromScancode(Scancode::NumpadAmpersand), Keycode::NumpadDblAmpersand = getKeycodeFromScancode(Scancode::NumpadDblAmpersand), Keycode::NumpadVerticalBar = getKeycodeFromScancode(Scancode::NumpadVerticalBar), Keycode::NumpadDblVerticalbar = getKeycodeFromScancode(Scancode::NumpadDblVerticalBar), Keycode::NumpadColon = getKeycodeFromScancode(Scancode::NumpadColon), Keycode::NumpadHash = getKeycodeFromScancode(Scancode::NumpadHash), Keycode::NumpadSpace = getKeycodeFromScancode(Scancode::NumpadSpace), Keycode::NumpadAt = getKeycodeFromScancode(Scancode::NumpadAt), Keycode::NumpadExclam = getKeycodeFromScancode(Scancode::NumpadExclam), Keycode::NumpadMemStore = getKeycodeFromScancode(Scancode::NumpadMemStore), Keycode::NumpadMemRecall = getKeycodeFromScancode(Scancode::NumpadMemRecall), Keycode::NumpadMemClear = getKeycodeFromScancode(Scancode::NumpadMemClear), Keycode::NumpadMemAdd = getKeycodeFromScancode(Scancode::NumpadMemAdd), Keycode::NumpadMemSubtract = getKeycodeFromScancode(Scancode::NumpadMemSubtract), Keycode::NumpadMemMultiply = getKeycodeFromScancode(Scancode::NumpadMemMultiply), Keycode::NumpadMemDivide = getKeycodeFromScancode(Scancode::NumpadMemDivide), Keycode::NumpadPlusMinus = getKeycodeFromScancode(Scancode::NumpadPlusMinus), Keycode::NumpadClear = getKeycodeFromScancode(Scancode::NumpadClear), Keycode::NumpadClearEntry = getKeycodeFromScancode(Scancode::NumpadClearEntry), Keycode::NumpadBinary = getKeycodeFromScancode(Scancode::NumpadBinary), Keycode::NumpadOctal = getKeycodeFromScancode(Scancode::NumpadOctal), Keycode::NumpadDecimal = getKeycodeFromScancode(Scancode::NumpadDecimal), Keycode::NumpadHexadecimal = getKeycodeFromScancode(Scancode::NumpadHexadecimal), Keycode::LeftCtrl = getKeycodeFromScancode(Scancode::LeftCtrl), Keycode::LeftShift = getKeycodeFromScancode(Scancode::LeftShift), Keycode::LeftAlt = getKeycodeFromScancode(Scancode::LeftAlt), Keycode::LeftGui = getKeycodeFromScancode(Scancode::LeftGui), Keycode::RightCtrl = getKeycodeFromScancode(Scancode::RightCtrl), Keycode::RightShift = getKeycodeFromScancode(Scancode::RightShift), Keycode::RightAlt = getKeycodeFromScancode(Scancode::RightAlt), Keycode::RightGui = getKeycodeFromScancode(Scancode::RightGui), Keycode::Mode = getKeycodeFromScancode(Scancode::Mode) } |
Keycodes. More... | |
enum | MessageStatus { MessageStatus::Keep, MessageStatus::Die } |
A message status. More... | |
enum | MouseButton { MouseButton::Left, MouseButton::Middle, MouseButton::Right, MouseButton::XButton1, MouseButton::XButton2 } |
Mouse buttons. More... | |
enum | Orientation : int { Orientation::Center = -1, Orientation::North = 0, Orientation::NorthEast = 1, Orientation::East = 2, Orientation::SouthEast = 3, Orientation::South = 4, Orientation::SouthWest = 5, Orientation::West = 6, Orientation::NorthWest = 7 } |
Cardinal and ordinal orientation. More... | |
enum | PrimitiveType { PrimitiveType::Points, PrimitiveType::LineStrip, PrimitiveType::LineLoop, PrimitiveType::Lines, PrimitiveType::TriangleStrip, PrimitiveType::TriangleFan, PrimitiveType::Triangles } |
Kind of primitives to render. More... | |
enum | Anchor { Anchor::TopLeft, Anchor::TopCenter, Anchor::TopRight, Anchor::CenterLeft, Anchor::Center, Anchor::CenterRight, Anchor::BottomLeft, Anchor::BottomCenter, Anchor::BottomRight } |
The origin anchor of the transformable object. More... | |
enum | UIWindow : uint32_t { UIWindow::Border = 0x0001, UIWindow::Movable = 0x0002, UIWindow::Scalable = 0x0004, UIWindow::Closable = 0x0008, UIWindow::Minimizable = 0x0010, UIWindow::NoScrollbar = 0x0020, UIWindow::Title = 0x0040, UIWindow::ScrollAutoHide = 0x0080, UIWindow::Background = 0x0100 } |
Properties for windows and window-like elements. More... | |
enum | UICollapse : bool { UICollapse::Minimized = false, UICollapse::Maximized = true } |
Collapse property of a tree. More... | |
enum | UILayout { UILayout::Dynamic = 0, UILayout::Static = 1 } |
Layout property for rows. More... | |
enum | UITree { UITree::Node = 0, UITree::Tab = 1 } |
The type of tree. More... | |
enum | UIAlignment { UIAlignment::Left = 0x10 | 0x01, UIAlignment::Center = 0x10 | 0x02, UIAlignment::Right = 0x10 | 0x04 } |
The alignment of the text. More... | |
enum | UIButtonBehavior { UIButtonBehavior::Default = 0, UIButtonBehavior::Repeater = 1 } |
Behavior for buttons. More... | |
enum | UIProgress : bool { UIProgress::Fixed = false, UIProgress::Modifyable = true } |
State of the progress bar. More... | |
enum | UISymbol { UISymbol::None, UISymbol::X, UISymbol::Underscore, UISymbol::CircleSolid, UISymbol::CircleOutline, UISymbol::RectSolid, UISymbol::RectOutline, UISymbol::TriangleUp, UISymbol::TriangleDown, UISymbol::TriangleLeft, UISymbol::TriangleRight, UISymbol::Plus, UISymbol::Minus } |
A representative symbol. More... | |
enum | UIPopup { UIPopup::Static = 0, UIPopup::Dynamic = 1 } |
Type of popup. More... | |
enum | UIPredefinedStyle { UIPredefinedStyle::Default, UIPredefinedStyle::White, UIPredefinedStyle::Red, UIPredefinedStyle::Blue, UIPredefinedStyle::Dark } |
A predefined style. More... | |
enum | WindowHints : uint32_t { WindowHints::Resizable = 0x0001, WindowHints::Visible = 0x0002, WindowHints::Decorated = 0x0004 } |
Hints for window creation. More... | |
Functions | |
Vector2f | unit (Direction direction) |
Get a unit vector from a direction. More... | |
Vector2i | displacement (Direction direction) |
Get a vector from a direction. More... | |
float | angle (Direction direction) |
Get an angle from a direction. More... | |
Direction | opposite (Direction direction) |
Get the opposite direction. More... | |
Direction | orthogonalCW (Direction direction) |
Get the orthogonal direction clockwise. More... | |
Direction | orthogonalCCW (Direction direction) |
Get the orthogonal direction counter-clockwise. More... | |
Direction | nextCW (Direction direction) |
Get the next direction clockwise. More... | |
Direction | nextCCW (Direction direction) |
Get the next direction counter-clockwise. More... | |
constexpr Id | hash (const char *str, std::size_t sz) |
Get an identifier from a string. More... | |
Id | hash (const std::string &str) |
Get an idenfitier from a string. More... | |
template<typename T > | |
constexpr T | linearStep (T t) |
Linear step. More... | |
template<typename T > | |
constexpr T | cubicStep (T t) |
Cubic step (smoothstep) More... | |
template<typename T > | |
constexpr T | quinticStep (T t) |
Quintic step (smootherstep) More... | |
template<typename T > | |
T | cosineStep (T t) |
Cosine step. More... | |
template<typename T , typename U > | |
T | lerp (T lhs, T rhs, U t) |
Linear interpolation function. More... | |
template<typename T > | |
constexpr T | clamp (T val, T lo, T hi) |
Clamping function. More... | |
template<typename T > | |
constexpr T | square (T val) |
Square function. More... | |
Vector2f | unit (Orientation orientation) |
Get a unit vector from an orientation. More... | |
Vector2i | displacement (Orientation orientation) |
Get a vector from an orientation. More... | |
float | angle (Orientation orientation) |
Get an angle from a orientation. More... | |
Orientation | opposite (Orientation orientation) |
Get the opposite orientation. More... | |
Orientation | orthogonalCW (Orientation orientation) |
Get the orthogonal orientation clockwise. More... | |
Orientation | orthogonalCCW (Orientation orientation) |
Get the orthogonal orientation counter-clockwise. More... | |
Orientation | nextCW (Orientation orientation) |
Get the next orientation clockwise. More... | |
Orientation | nextCCW (Orientation orientation) |
Get the next orientation counter-clockwise. More... | |
Vector2f | transform (const Matrix3f &mat, Vector2f point) |
Apply an affine transformation to a 2D point. More... | |
RectF | transform (const Matrix3f &mat, const RectF &rect) |
Apply an affine transformaton to a rectangle. More... | |
constexpr Matrix3f | identityTransform () |
Identity transform. More... | |
Matrix3f | translation (Vector2f offset) |
Get a translation matrix. More... | |
void | translate (Matrix3f &mat, Vector2f offset) |
Combine the current transform with a translation. More... | |
Matrix3f | rotation (float angle) |
Get a rotation matrix. More... | |
Matrix3f | rotation (float angle, Vector2f center) |
Get a rotation matrix. More... | |
void | rotate (Matrix3f &mat, float angle) |
Combine the current transform with a rotation. More... | |
void | rotate (Matrix3f &mat, float angle, Vector2f center) |
Combine the current transform with a rotation. More... | |
Matrix3f | scaling (Vector2f factor) |
Get a scaling matrix. More... | |
Matrix3f | scaling (Vector2f factor, Vector2f center) |
Get a scaling matrix. More... | |
void | scale (Matrix3f &mat, Vector2f factor) |
Combine the current transform with a scaling. More... | |
void | scale (Matrix3f &mat, Vector2f factor, Vector2f center) |
Combine the current transform with a scaling. More... | |
Variables | |
constexpr BlendMode | BlendAlpha |
Alpha blend mode. More... | |
constexpr BlendMode | BlendAdd |
Additive blend mode. More... | |
constexpr BlendMode | BlendMultiply |
Multiplicative blend mode. More... | |
constexpr BlendMode | BlendNone |
No blend mode. More... | |
constexpr Id | InvalidId = 0 |
The invalid id (which is 0) More... | |
constexpr float | Pi = 3.14159265358979323846f |
The \( \pi \) constant. More... | |
constexpr float | Pi2 = Pi / 2 |
The \( \frac{\pi}{2} \) constant. More... | |
constexpr float | Pi4 = Pi / 4 |
The \( \frac{\pi}{4} \) constant. More... | |
constexpr float | Sqrt2 = 1.41421356237309504880f |
The \( \sqrt{2} \) constant. More... | |
constexpr float | InvSqrt2 = 1 / Sqrt2 |
The \( \frac{1}{\sqrt{2}} \) constant. More... | |
constexpr NoneType | None = { } |
Constant to represent "none". More... | |
constexpr AllType | All = { } |
Constant to represent "all". More... | |