Gamedev Framework (gf)  0.17.0
A C++14 framework for 2D games
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
gf Namespace Reference

The namespace for gf classes. More...

Namespaces

 literals
 The namespace for literals.
 

Classes

class  Action
 An action that can be triggered by different controls. More...
 
class  ActionContainer
 A set of actions. More...
 
class  Activity
 A game activity. 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...
 
struct  AnyType
 Semantic type to represent "any". 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  BasicSprite
 A basic sprite. More...
 
class  BasicText
 A basic text. More...
 
class  BetterGradientNoise2D
 Better gradient 2D noise. More...
 
class  BitmapConsoleFont
 A bitmap console font. More...
 
class  BlackoutSegueEffect
 A fade to black segue effect. More...
 
struct  BlendMode
 Blending modes for drawing. More...
 
class  BlockAllocator
 
class  Bresenham
 State for the Bresenham's line algorithm. More...
 
class  BufferedGeometry
 A drawable for buffers. More...
 
class  BufferInputStream
 Buffer input stream. More...
 
class  BufferOutputStream
 Buffer output stream. More...
 
class  BufferRef
 A reference to a modifiable buffer and its size. More...
 
class  CallbackActivity
 An activity for calling a function once. More...
 
class  CheckerboardSegueEffect
 A checkerboard segue effect. More...
 
class  ChoiceSpriteWidget
 A choice sprite widget. More...
 
struct  Circ
 Utility class for manipulating circles. More...
 
class  CircleGeometry
 A circle physics geometry. More...
 
class  CircleSegueEffect
 A circle segue effect. More...
 
class  CircleShape
 Specialized shape representing a circle. More...
 
class  Clipboard
 gf::Clipboard provides an interface for getting and setting the contents of the system clipboard. More...
 
class  Clock
 Utility class that measures the elapsed time. More...
 
class  CloseControl
 A close control. More...
 
struct  CodepointRange
 A range over a sequence of codepoints in UTF-8. More...
 
class  ColorActivity
 An activity for a change of color. More...
 
struct  ColorBase
 Predefined colors and utilities. More...
 
class  ColorBlindEffect
 Simulation of color blindness. More...
 
class  ColoredConsoleFont
 A colored console font. More...
 
class  ColorEffect
 Simple color effects. More...
 
class  ColorMatrixEffect
 Generic color matrix effect. More...
 
struct  ColorRampBase
 A color ramp. More...
 
class  CompoundCurve
 A compound curve. More...
 
class  CompressedInputStream
 Compressed input stream. More...
 
class  CompressedOutputStream
 Compressed output stream. More...
 
class  Console
 A virtual console. More...
 
struct  ConsoleChar
 Named console characters. More...
 
class  ConsoleEffect
 A console effect on the background color. More...
 
class  ConsoleFont
 A console font. More...
 
struct  ConsoleFontElement
 A console font element. More...
 
struct  ConsoleFontFormat
 A console font format. More...
 
class  Control
 A physical control. More...
 
class  ConvexShape
 Specialized shape representing a convex polygon. More...
 
class  Coordinates
 Helper to compute coordinates in HUD. More...
 
class  CubicBezierCurve
 A cubic Bézier curve. More...
 
class  Cursor
 A mouse cursor. More...
 
class  Curve
 A curve is a one dimension object. More...
 
class  DefaultEffect
 Default effect. More...
 
class  DelayActivity
 An activity to wait for a predefined duration. More...
 
class  Deserializer
 A deserializer from a binary file. More...
 
class  Dice
 A set of dice that can be rolled. More...
 
class  Drawable
 Abstract base class for objects that can be drawn to a render window. More...
 
class  DynamicTree
 An implementation of dynamic tree. More...
 
class  Ease
 Predefined easing functions. More...
 
class  EdgeEffect
 Edge detector. More...
 
class  EdgeRef
 A reference to an edge (two points) 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  FadeSegueEffect
 A fade segue effect. More...
 
class  FileInputStream
 File based input stream. More...
 
class  FileOutputStream
 File based output stream. More...
 
class  FillView
 Fill view. More...
 
class  FitView
 Fit view. More...
 
class  FixedTimestepModel
 Fixed timestep model. 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...
 
class  GamepadTracker
 A tracker for the connection/disconnection of gamepads. More...
 
class  GlitchSegueEffect
 A glitch segue effect. More...
 
struct  Glyph
 A glyph. More...
 
class  GradientNoise2D
 Gradient 2D noise. More...
 
class  GradientNoise3D
 Gradient 3D noise. More...
 
class  GraphicsHandle
 A GL handle. More...
 
class  GraphicsInfo
 A class for graphics info. More...
 
struct  GraphicsTrait
 
struct  GraphicsTrait< GraphicsTag::Buffer >
 
struct  GraphicsTrait< GraphicsTag::Framebuffer >
 
struct  GraphicsTrait< GraphicsTag::Texture >
 
class  Handle
 
class  Heightmap
 A heightmap. More...
 
class  HeteroTerrain2D
 Hetero Terrain 2D noise. More...
 
class  HexagonGrid
 A hexagonal grid. More...
 
class  HexagonHelper
 A helper for computing coordinates in a hexagonal map. More...
 
class  HybridMultifractal2D
 Hybrid Multifractal 2D noise. More...
 
class  Image
 Class for loading, manipulating and saving images. More...
 
class  Index2D
 A two-dimensional array with no data. 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  KonamiGamepadControl
 The Konami code control for gamepad. More...
 
class  KonamiKeyboardControl
 The Konami code control for keyboard. More...
 
class  Library
 A class to represent the library. More...
 
class  LightSystem
 
class  Line
 A line. More...
 
class  LockedView
 Locked view. More...
 
class  Log
 Logging functions. More...
 
class  Logo
 The gf logo. 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...
 
class  MemoryOutputStream
 Memory based output 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  MoveToActivity
 An activity for a change of position. More...
 
class  Multifractal2D
 Multi Fractal 2D noise. More...
 
struct  NeighborDiamondRange
 A 2D range. More...
 
struct  NeighborSquareRange
 A 2D range. More...
 
class  NinePatch
 A nine-patch. More...
 
class  Noise2D
 2D A noise function More...
 
class  Noise3D
 3D A noise function More...
 
class  Noise3DTo2DAdapter
 An adapter that make a 2D noise from a 3D noise. More...
 
struct  NoneType
 Semantic type to represent "none". More...
 
class  OpenSimplexNoise2D
 OpenSimplex 2D noise. More...
 
class  OpenSimplexNoise3D
 OpenSimplex3D noise. More...
 
class  OutputStream
 Abstract class for custom file output streams. More...
 
struct  Packet
 A packet of bytes. More...
 
class  ParallelActivity
 An activity to run several activities in parallel. More...
 
struct  Paths
 Special paths. More...
 
struct  Penetration
 Data about the collision between two objects. More...
 
class  PerlinNoise2D
 Perlin 2D noise. More...
 
class  PerlinNoise3D
 Perlin 3D noise. More...
 
class  PhysicsBody
 A physics body. More...
 
class  PhysicsGeometry
 The geometry of a physics body. More...
 
class  PhysicsModel
 A model for physics simulation. More...
 
class  Pie
 
class  PixelateSegueEffect
 A pixelate segue effect. More...
 
class  PointParticles
 A class to display a high number of points. More...
 
class  Polygon
 A convex polygon. More...
 
class  PolygonGeometry
 A polygon physics geometry. More...
 
class  Polyline
 A polyline. More...
 
struct  PositionRange
 A 2D range. More...
 
class  PostProcessing
 A post-processing drawable. More...
 
struct  PredefinedConsoleFontFormat
 Predefined console font formats. More...
 
class  QuadraticBezierCurve
 A quadratic Bézier curve. More...
 
class  Quadtree
 An implementation of quadtree. More...
 
class  Queue
 A simple concurrent queue. More...
 
class  RadialSegueEffect
 A radial segue effect. More...
 
class  Random
 A random engine. More...
 
class  RandomBinaryTree
 A random binary space partionning tree. 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  Ref
 A reference wrapper. More...
 
struct  Region
 A region of a window. More...
 
struct  RenderAttributeInfo
 
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  RepeatActivity
 An activity to run an activity several times. More...
 
class  RepeatedSequenceActivity
 A repeated sequence activity. More...
 
class  ResourceCache
 A generic cache for resources. More...
 
class  ResourceManager
 A resource manager. More...
 
class  RidgedMultifractal2D
 Ridged Multifractal 2D noise. More...
 
class  RotateToActivity
 An activity for a change of angle. More...
 
struct  Rotation
 A rotation. More...
 
class  RoundedRectangleShape
 Specialized shape representing a rounded rectangle. More...
 
class  RStarTree
 An implemntation of a R* tree. More...
 
struct  Rune
 A character encoded in UTF-8. More...
 
class  ScancodeKeyControl
 A key control based on scancode. More...
 
class  Scene
 A scene in the game. More...
 
class  SceneManager
 A scene manager. More...
 
class  ScreenView
 Screen view. More...
 
struct  Segment
 
class  Segue
 A transition between two scenes. More...
 
class  SegueEffect
 A segue effect. More...
 
class  SequenceActivity
 An activity to run several activities sequentially. More...
 
class  Serializer
 A serializer to a binary file. More...
 
class  Shader
 An OpenGL vertex and/or fragment shader. More...
 
class  Shape
 Base class for textured shapes with outline. More...
 
class  ShapeParticles
 A class to display a high number of small simple shapes. More...
 
class  SharedGraphics
 A shared OpenGL context with the main thread. More...
 
class  SimpleSpatialIndex
 An very simple spatial index. 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  SlideSegueEffect
 A slide segue effect. More...
 
class  Socket
 A network socket. More...
 
class  SocketAddress
 A socket address. More...
 
struct  SocketDataResult
 The result of a socket operation. More...
 
class  SocketGuard
 A guard to handle library initialization. More...
 
class  SocketSelector
 A socket selector. More...
 
struct  SpatialStructure
 A spatial structure. More...
 
class  SplineCurve
 A Catmull–Rom spline. More...
 
class  Sprite
 A drawable representation of a texture, with its own transformations, color, etc. More...
 
class  SpriteBatch
 A sprite batch. More...
 
class  SpriteParticles
 A class to display a high number of sprites. More...
 
class  SpriteWidget
 A widget with a set of sprites. More...
 
class  SquareGrid
 A square grid. More...
 
class  SquareMap
 A square map. More...
 
class  StaggerHelper
 A helper for computing coordinates in a staggered map. 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  TcpListener
 A TCP listener. More...
 
class  TcpSocket
 A TCP socket. More...
 
class  Text
 Graphical text that can be drawn to a render target. More...
 
class  TextButtonWidget
 A text within a rounded rectangle widget. More...
 
class  Texture
 A texture for colored images. More...
 
class  TextureAtlas
 A collection of sub-texture. More...
 
class  TextWidget
 A simple text widget. More...
 
class  TileLayer
 A tile layer. More...
 
class  Tileset
 A tileset. More...
 
class  Time
 Represents a time value. More...
 
struct  TmxAnimation
 A tile animation. More...
 
struct  TmxCell
 A cell in a tile layer. More...
 
struct  TmxChunk
 A chunk in a tile layer (for infinite maps) More...
 
struct  TmxEllipse
 An ellipse object. More...
 
struct  TmxFrame
 A frame in a tile animation. More...
 
struct  TmxGroupLayer
 A layer with other layers. More...
 
struct  TmxImage
 A reference to an image. More...
 
struct  TmxImageLayer
 A layer with an image. More...
 
struct  TmxLayer
 A layer in the whole map. More...
 
struct  TmxLayers
 A TMX map. More...
 
struct  TmxObject
 A geometrical object. More...
 
struct  TmxObjectLayer
 A layer with objects. More...
 
struct  TmxPoint
 A point object. More...
 
struct  TmxPolygon
 A polygon object. More...
 
struct  TmxPolyline
 A polyline object. More...
 
class  TmxProperties
 The properties for TMX entities. More...
 
struct  TmxRectangle
 A rectangle object. More...
 
struct  TmxTerrain
 A description of a kind of terrain on the map. More...
 
struct  TmxText
 A text object. More...
 
struct  TmxTile
 A rectangular part of a tileset. More...
 
struct  TmxTileLayer
 A layer with tiles in cells. More...
 
struct  TmxTileObject
 An image put in the map identified by its global id. More...
 
struct  TmxTileset
 A set of tiles in a single file (image or TSX file) More...
 
class  TmxVisitor
 A visitor for layers in the visitor pattern. More...
 
struct  Transform
 A simple transformation (rotation then translation) More...
 
class  Transformable
 Decomposed transform defined by a position, a rotation and a scale. More...
 
class  TransitionEffect
 
struct  Translation
 A translation. More...
 
class  TriangleRef
 A reference to a triangle (three points) More...
 
class  Tween
 An interpolation between two values. More...
 
class  UdpSocket
 A UDP socket. More...
 
class  UI
 Context for an immediate mode graphical interface. More...
 
struct  UIBrowser
 Data for file selector. More...
 
class  UICharBuffer
 A character buffer for edition. More...
 
struct  UIEditType
 Predefined flags for edit. More...
 
class  ValueActivity
 An activity for a simple float value. 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 framebuffer More...
 
class  ViewContainer
 A container of views. More...
 
class  WaveletNoise3D
 Wavelet 3D noise. More...
 
class  Widget
 The widgets abstract class. More...
 
class  WidgetContainer
 A collection of widgets. More...
 
class  Window
 An OS window. More...
 
class  WorleyNoise2D
 Worley 2D noise. More...
 
struct  ZeroType
 Semantic type to represent "zero". More...
 
class  ZoomBlurSegueEffect
 A zoom blur segue effect. More...
 
class  ZoomingViewAdaptor
 A view adaptor for zooming/moving with the mouse. More...
 

Typedefs

using CircF = Circ< float >
 A float circle. More...
 
using CircD = Circ< double >
 A double 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 ColorF = ColorBase< float >
 Instantiation of ColoBase for float More...
 
using ColorD = ColorBase< double >
 Instantiation of ColoBase for double More...
 
using Color = ColorF
 Instantiation of ColorBase for float More...
 
using ColorRampF = ColorRampBase< float >
 Instantiation of ColoRampBase for float More...
 
using ColorRampD = ColorRampBase< double >
 Instantiation of ColoRampBase for double More...
 
using ColorRamp = ColorRampF
 Instantiation of ColoRampBase for float More...
 
using ConsoleColorControl = char
 A type for color controls in a console. More...
 
using Easing = float(*)(float)
 An easing function. More...
 
using SegmentF = Segment< float >
 
using SegmentD = Segment< double >
 
using SegmentI = Segment< int >
 
using Id = uint64_t
 An identifier. 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 Matrix2d = Matrix< double, 2, 2 >
 A double square matrix of size 2. More...
 
using Matrix3f = Matrix< float, 3, 3 >
 A float square matrix of size 3. More...
 
using Matrix3d = Matrix< double, 3, 3 >
 A double square matrix of size 3. More...
 
using Matrix4f = Matrix< float, 4, 4 >
 A float square matrix of size 4. More...
 
using Matrix4d = Matrix< double, 4, 4 >
 A double 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 Path = boost::filesystem::path
 A path in the filesystem. 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 RectD = Rect< double >
 A double 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 SocketHandle = implementation-defined
 A native socket handle. More...
 
using SpatialQueryCallback = std::function< void(Handle)>
 A callback for spatial query. More...
 
using UIScroll = Vector2u
 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...
 
template<typename T >
using Color3 = Vector< T, 3 >
 A color vector with 3 components. More...
 
template<typename T >
using Color4 = Vector< T, 4 >
 A color vector with 4 components. More...
 
using Color3f = Color3< float >
 A float color vector with 3 components. More...
 
using Color4f = Color4< float >
 A float color vector with 4 components. More...
 
using Color3d = Color3< double >
 A double color vector with 3 components. More...
 
using Color4d = Color4< double >
 A double color vector with 4 components. More...
 
using Color3u = Color3< uint8_t >
 A uint8_t color vector with 3 components. More...
 
using Color4u = Color4< uint8_t >
 A uint8_t color vector with 4 components. More...
 
template<typename T , std::size_t N>
using Distance = T(*)(Vector< T, N >, 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...
 

Enumerations

enum  ActivityStatus {
  ActivityStatus::Running,
  ActivityStatus::Finished
}
 Status of an activity. More...
 
enum  Alignment {
  Alignment::None,
  Alignment::Left,
  Alignment::Right,
  Alignment::Center,
  Alignment::Justify
}
 The alignement of a text. More...
 
enum  Anchor {
  Anchor::TopLeft,
  Anchor::TopCenter,
  Anchor::TopRight,
  Anchor::CenterLeft,
  Anchor::Center,
  Anchor::CenterRight,
  Anchor::BottomLeft,
  Anchor::BottomCenter,
  Anchor::BottomRight
}
 An anchor of a box. 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  ConsoleAlignment {
  ConsoleAlignment::Left,
  ConsoleAlignment::Center,
  ConsoleAlignment::Right
}
 The alignment of the text in the console. 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,
  EventType::TextEntered,
  EventType::TouchBegan,
  EventType::TouchMoved,
  EventType::TouchEnded
}
 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  GraphicsTag {
  GraphicsTag::Buffer,
  GraphicsTag::Framebuffer,
  GraphicsTag::Texture
}
 
enum  PixelFormat {
  Rgba32,
  Rgb24
}
 Pixel format. 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  CellProperty : uint8_t {
  CellProperty::Transparent = 0x01,
  CellProperty::Walkable = 0x02,
  CellProperty::Visible = 0x10,
  CellProperty::Explored = 0x20
}
 A property of a cell. More...
 
enum  FieldOfVision { FieldOfVision::Basic }
 Algorithm for computing a field of vision. More...
 
enum  FieldOfVisionLimit {
  FieldOfVisionLimit::Included,
  FieldOfVisionLimit::Excluded
}
 Constant to indicate if the limit is part of the field of vision. More...
 
enum  Route {
  Route::AStar,
  Route::Dijkstra
}
 Algorithm for computing a route. More...
 
enum  MapCellIndex {
  MapCellIndex::Odd,
  MapCellIndex::Even
}
 Map cell index in a map celled or hexagonal map. More...
 
enum  MapCellAxis {
  MapCellAxis::X,
  MapCellAxis::Y
}
 Map cell axis in a map celled. More...
 
enum  MessageStatus {
  MessageStatus::Keep,
  MessageStatus::Die
}
 A message status. More...
 
enum  MouseButton {
  MouseButton::Left,
  MouseButton::Middle,
  MouseButton::Right,
  MouseButton::XButton1,
  MouseButton::XButton2,
  MouseButton::Other
}
 Mouse buttons. More...
 
enum  AngularMove : uint8_t {
  AngularMove::None,
  AngularMove::Left,
  AngularMove::Right
}
 An angular move. More...
 
enum  LinearMove : uint8_t {
  LinearMove::None,
  LinearMove::Forward,
  LinearMove::Backward
}
 A linear move. 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  Quarter {
  UpperLeft,
  UpperRight,
  LowerRight,
  LowerLeft
}
 A quarter in a square. More...
 
enum  RenderAttributeType {
  RenderAttributeType::Byte = 0x1400,
  RenderAttributeType::UByte = 0x1401,
  RenderAttributeType::Short = 0x1402,
  RenderAttributeType::UShort = 0x1403,
  RenderAttributeType::Float = 0x1406
}
 
enum  SocketStatus {
  SocketStatus::Data,
  SocketStatus::Block,
  SocketStatus::Close,
  Error
}
 The status of a socket operation. More...
 
enum  SocketFamily : int {
  SocketFamily::Unspec = AF_UNSPEC,
  SocketFamily::IPv4 = AF_INET,
  SocketFamily::IPv6 = AF_INET6
}
 A socket family. More...
 
enum  SocketAddressFormat {
  SocketAddressFormat::Unrestricted,
  SocketAddressFormat::Numeric
}
 A socket address format. More...
 
enum  SocketSelectorStatus {
  Event,
  Timeout,
  Error,
  Error
}
 The status of the selector. More...
 
enum  SpatialId : std::size_t
 A spatial id. More...
 
enum  SpatialStructureType {
  SpatialStructureType::Object,
  SpatialStructureType::Node
}
 A type of spatial structure. More...
 
enum  SpatialQuery {
  SpatialQuery::Contain,
  SpatialQuery::Intersect
}
 A kind of spatial query. More...
 
enum  TileOrientation : uint8_t {
  TileOrientation::Unknown = 0x00,
  TileOrientation::Orthogonal = 0x01,
  TileOrientation::Isometric = 0x02,
  TileOrientation::Staggered = 0x03,
  TileOrientation::Hexagonal = 0x04
}
 The orientation of the tile. More...
 
enum  Flip : uint8_t {
  Flip::Horizontally = 0x01,
  Flip::Vertically = 0x02,
  Flip::Diagonally = 0x04
}
 A flag to indicate how to flip a tile. More...
 
enum  TmxRenderOrder {
  TmxRenderOrder::RightDown,
  TmxRenderOrder::RightUp,
  TmxRenderOrder::LeftDown,
  TmxRenderOrder::LeftUp
}
 the render order of the tiles. More...
 
enum  TmxDrawOrder {
  TmxDrawOrder::TopDown,
  TmxDrawOrder::Index
}
 The draw order of the objects. 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,
  UIWindow::ScaleLeft = 0x0200,
  UIWindow::NoInput = 0x0400
}
 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  UIEdit : uint32_t {
  UIEdit::Default = 0x0000,
  UIEdit::ReadOnly = 0x0001,
  UIEdit::AutoSelect = 0x0002,
  UIEdit::SigEnter = 0x0004,
  UIEdit::AllowTab = 0x0008,
  UIEdit::NoCursor = 0x0010,
  UIEdit::Selectable = 0x0020,
  UIEdit::Clipboard = 0x0040,
  UIEdit::CtrlEnterNewline = 0x0080,
  UIEdit::NoHorizontalScroll = 0x0100,
  UIEdit::AlwaysInsertMode = 0x0200,
  UIEdit::Multiline = 0x0400,
  UIEdit::GotoEndOnActivate = 0x0800
}
 Properties for edit widgets. More...
 
enum  UIEditEvent : uint32_t {
  UIEditEvent::Active = 0x0001,
  UIEditEvent::Inactive = 0x0002,
  UIEditEvent::Activated = 0x0004,
  UIEditEvent::Deactivated = 0x0008,
  UIEditEvent::Commited = 0x0010
}
 Properties for edit events. More...
 
enum  UIEditFilter {
  UIEditFilter::Default,
  UIEditFilter::Ascii,
  UIEditFilter::Float,
  UIEditFilter::Decimal,
  UIEditFilter::Hex,
  UIEditFilter::Oct,
  UIEditFilter::Binary
}
 Filters for edit. 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  WidgetState {
  WidgetState::Disabled,
  WidgetState::Default,
  WidgetState::Selected
}
 State of a widget. More...
 
enum  Winding {
  Winding::Clockwise,
  Winding::Counterclockwise
}
 The direction of a polygon's rotation. More...
 
enum  WindowHints : uint32_t {
  WindowHints::Resizable = 0x0001,
  WindowHints::Visible = 0x0002,
  WindowHints::Decorated = 0x0004
}
 Hints for window creation. More...
 

Functions

template<typename T >
constexpr ArrayRef< T > array (const T *data, std::size_t size)
 Create a constant reference to an array. More...
 
template<typename T >
constexpr BufferRef< T > buffer (T *data, std::size_t size)
 Create a reference to a buffer. More...
 
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...
 
std::vector< Vector2igenerateLine (Vector2i p0, Vector2i p1)
 Generate a line between two positions. More...
 
std::vector< Vector2fmidpointDisplacement1D (Vector2f p0, Vector2f p1, Random &random, unsigned iterations, Vector2f direction, float initialFactor=1.0f, float reductionFactor=0.5f)
 1D midpoint displacement More...
 
std::vector< Vector2fmidpointDisplacement1D (Vector2f p0, Vector2f p1, Random &random, unsigned iterations, float initialFactor=1.0f, float reductionFactor=0.5f)
 1D midpoint displacement More...
 
Heightmap midpointDisplacement2D (Vector2i size, Random &random, ArrayRef< double > initialValues=nullptr)
 2D midpoint displacement More...
 
Heightmap diamondSquare2D (Vector2i size, Random &random, ArrayRef< double > initialValues=nullptr)
 2D diamond square More...
 
Polygon convexHull (ArrayRef< Vector2f > points)
 Compute the convex hull of a set of points. More...
 
std::vector< Vector2fsimplifyPoints (ArrayRef< Vector2f > points, float distance=Epsilon)
 Simplify a sequence of points. More...
 
std::vector< PolylinebuildLines (ArrayRef< SegmentI > segments)
 Build a set of lines from a set of segments. More...
 
constexpr Id hash (const char *str, std::size_t sz)
 Get an identifier from a string. More...
 
constexpr Id hash (StringRef str)
 Get an idenfitier from a string. More...
 
template<typename T >
constexpr T pi ()
 Templated value of \( \pi \). More...
 
template<typename T >
constexpr bool almostEquals (T a, T b, T epsilon=std::numeric_limits< T >::epsilon())
 Compare two floats. More...
 
template<typename T >
constexpr T degreesToRadians (T degrees)
 Convert degrees to radians. More...
 
template<typename T >
constexpr T radiansToDegrees (T radians)
 Convert radians to degrees. 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 >
cosineStep (T t)
 Cosine step. More...
 
template<typename T , typename U >
constexpr 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...
 
template<typename T >
constexpr T cube (T val)
 Cube function. More...
 
template<typename T >
constexpr int sign (T val)
 Sign function. More...
 
template<typename T >
constexpr T absdiff (T lhs, T rhs)
 Absolute difference of two values. More...
 
float angularFactor (AngularMove move)
 Get the angular factor from the angular move. More...
 
float linearFactor (LinearMove move)
 Get the linear factor from the linear move. 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 orientation (float angle)
 Get an orientation from an angle. 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...
 
template<typename T >
constexpr Rect< T > computeBoxQuarter (const Rect< T > &other, Quarter quarter)
 Divide a rectangle in quarters. More...
 
void sleep (Time duration)
 Make the current thread sleep for a given duration. More...
 
std::string niceNum (float num, float precision)
 Create a string representation of a floating point number. More...
 
std::string formatString (const char *fmt,...)
 Format a string like printf. More...
 
std::string formatString (const char *fmt, va_list ap)
 Format a string like vprintf. More...
 
std::string escapeString (StringRef str)
 Escape a string. More...
 
std::vector< StringRefsplitInParagraphs (StringRef str)
 Split a string in multiples paragraphs. More...
 
std::vector< StringRefsplitInWords (StringRef str)
 Split a string in multiples words. More...
 
constexpr CodepointRange codepoints (StringRef ref)
 Create a range over codepoints from a string. More...
 
TileLayer makeTileLayer (const TmxLayers &map, const TmxTileLayer &layer, ResourceManager &resources)
 
constexpr 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...
 
std::vector< TriangleRef< const Vector2f > > triangulation (ArrayRef< Vector2f > points)
 Compute a Delaunay triangulation of a set of points. More...
 
template<typename... Args>
constexpr void unused (Args &&...)
 A simple way to avoid warnings about unused variables. 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 ConsoleColorControl ConsoleColorControl1 = '\x01'
 The constant for color control #1. More...
 
constexpr ConsoleColorControl ConsoleColorControl2 = '\x02'
 The constant for color control #2. More...
 
constexpr ConsoleColorControl ConsoleColorControl3 = '\x03'
 The constant for color control #3. More...
 
constexpr ConsoleColorControl ConsoleColorControl4 = '\x04'
 The constant for color control #4. More...
 
constexpr ConsoleColorControl ConsoleColorControl5 = '\x05'
 The constant for color control #5. More...
 
constexpr ConsoleColorControl ConsoleColorControlStop = '\x06'
 The constant for color control stop. More...
 
constexpr GamepadId AnyGamepad = static_cast<GamepadId>(INT32_C(-1))
 A special identifier for all gamepads. More...
 
constexpr Id InvalidId = 0
 The invalid id (which is 0) More...
 
constexpr Flags< CellPropertyEmptyCell = combineFlags(CellProperty::Transparent, CellProperty::Walkable)
 An empty cell. More...
 
constexpr float Pi = pi<float>()
 The \( \pi \) constant. More...
 
constexpr float Pi2 = Pi / 2
 The \( \frac{\pi}{2} \) constant. More...
 
constexpr float Pi3 = Pi / 3
 The \( \frac{\pi}{3} \) constant. More...
 
constexpr float Pi4 = Pi / 4
 The \( \frac{\pi}{4} \) constant. More...
 
constexpr float Pi6 = Pi / 6
 The \( \frac{\pi}{6} \) 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 float Sqrt3 = 1.7320508075688772935f
 The \( \sqrt{3} \) constant. More...
 
constexpr float Epsilon = std::numeric_limits<float>::epsilon()
 Machine epsilon. More...
 
constexpr SocketHandle InvalidSocketHandle = implemetation-defined
 An invalid socket handle. More...
 
constexpr std::size_t NullIndex = -1
 
constexpr NoneType None = { }
 Constant to represent "none". More...
 
constexpr AllType All = { }
 Constant to represent "all". More...
 
constexpr AnyType Any = { }
 Constant to represent "any". More...
 
constexpr ZeroType Zero = { }
 Constant to represent "zero". More...
 

Detailed Description

The namespace for gf classes.

Typedef Documentation

◆ SegmentD

using gf::SegmentD = typedef Segment<double>

◆ SegmentF

using gf::SegmentF = typedef Segment<float>

◆ SegmentI

using gf::SegmentI = typedef Segment<int>

Enumeration Type Documentation

◆ GraphicsTag

enum gf::GraphicsTag
strong
Enumerator
Buffer 
Framebuffer 
Texture 

◆ RenderAttributeType

Enumerator
Byte 
UByte 
Short 
UShort 
Float 

Function Documentation

◆ makeTileLayer()

TileLayer gf::makeTileLayer ( const TmxLayers map,
const TmxTileLayer layer,
ResourceManager resources 
)

Variable Documentation

◆ NullIndex

constexpr std::size_t gf::NullIndex = -1