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

The namespace for gf classes. More...

Namespaces

namespace  activity
 
namespace  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  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
 An allocator of objects referenced by an index. More...
 
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  CallbackActivity
 An activity for calling a function once. More...
 
class  Cells
 The properties of cells. More...
 
class  CheckerboardSegueEffect
 A checkerboard segue effect. More...
 
class  ChoiceSpriteWidget
 A choice sprite widget. More...
 
struct  Circ
 Utility class for manipulating circles. More...
 
class  CircleSegueEffect
 A circle segue effect. More...
 
class  CircleShape
 Specialized shape representing a circle. More...
 
class  Clipboard
 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...
 
struct  ConsoleStyle
 A console style. 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...
 
struct  GameManager
 A game manager. More...
 
class  Gamepad
 Some gamepad related functions. More...
 
class  GamepadAxisControl
 A gamepad axis control. More...
 
struct  GamepadAxisEvent
 Gamepad axis event parameters (EventType::GamepadAxisMoved) More...
 
class  GamepadButtonControl
 A gamepad button control. More...
 
struct  GamepadButtonEvent
 Gamepad button event parameters (EventType::GamepadButtonPressed, EventType::GamepadButtonReleased) More...
 
struct  GamepadConnectionEvent
 Gamepad connection event parameters (EventType::GamepadConnected) More...
 
struct  GamepadDisconnectionEvent
 Gamepad disconnection event parameters (EventType::GamepadDisconnected) More...
 
class  GamepadTracker
 A tracker for the connection/disconnection of gamepads. More...
 
class  GamepadValues
 
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
 A trait to handle creation and deletion of GPU resources. More...
 
struct  GraphicsTrait< GraphicsTag::Buffer >
 Trait for buffer. More...
 
struct  GraphicsTrait< GraphicsTag::Framebuffer >
 Trait for framebuffer. More...
 
struct  GraphicsTrait< GraphicsTag::Texture >
 Trait for texture. More...
 
class  Grid
 A grid of cells. More...
 
class  Handle
 A handle to an object or an id. More...
 
class  Heightmap
 A heightmap. More...
 
class  HeteroTerrain2D
 Hetero Terrain 2D noise. More...
 
class  HexagonalCells
 Hexagonal cells. 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...
 
struct  KeyEvent
 Keyboard event parameters (EventType::KeyPressed, EventType::KeyReleased, EventType::KeyRepeated) 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  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...
 
struct  MouseButtonEvent
 Mouse button event parameters (EventType::MouseButtonPressed, EventType::MouseButtonReleased) More...
 
struct  MouseCursorEvent
 Mouse cursor move event parameters (EventType::MouseMoved) More...
 
class  MouseValues
 
struct  MouseWheelEvent
 Mouse wheel event parameters (EventType::MouseWheelScrolled) 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  OrthogonalCells
 Orthogonal cells. 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  Pie
 
class  PixelateSegueEffect
 A pixelate segue effect. More...
 
class  PointParticles
 A class to display a high number of points. More...
 
class  PointSequence
 A sequence of points. More...
 
class  Polygon
 A convex polygon. 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 set of random utilities. More...
 
class  RandomBinaryTree
 A random binary space partionning tree. More...
 
class  RandomEngine
 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  Ref
 A reference wrapper. More...
 
struct  Region
 A region of a window. More...
 
struct  RenderAttributeInfo
 Attribute info. 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  RepeatActivity
 An activity to run an activity several times. More...
 
struct  ResizeEvent
 Resize event parameters (EventType::Resized) 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
 A segment with two points. More...
 
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...
 
class  Span
 A span. 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  SquareMap
 A square map. More...
 
class  StaggeredCells
 Staggered cells. More...
 
class  StarShape
 Specialized shape representing a star. More...
 
class  StaticSpan
 A static span. More...
 
class  StretchView
 Stretch view. 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...
 
struct  TextEvent
 Text event parameters (EventType::TextEntered) 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  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  TmxWangColor
 A wang color. More...
 
struct  TmxWangSet
 A wang set. More...
 
struct  TmxWangTile
 A wang tile. More...
 
struct  TouchEvent
 Touch event parameters (EventType::TouchBegan, EventType::TouchMoved, EventType::TouchEnded) More...
 
struct  Transform
 A simple transformation (rotation then translation) More...
 
class  Transformable
 Decomposed transform defined by a position, a rotation and a scale. More...
 
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  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...
 
struct  WindowEvent
 Window event parameters (EventType::Closed, EventType::FocusGained, EventType::FocusLost, EventType::Shown, EventType::Hidden, EventType::Exposed, EventType::Minimized, EventType::Maximized, EventType::Restored) 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 >
 A segment with float vectors. More...
 
using SegmentD = Segment< double >
 A segment with double vectors. More...
 
using SegmentI = Segment< int >
 A segment with int vectors. More...
 
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 = std::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 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 class  ActivityFinish {
  Any ,
  All
}
 The type of finish for the activity. More...
 
enum class  ActivityStatus {
  ActivityStatus::Running ,
  ActivityStatus::Finished
}
 Status of an activity. More...
 
enum class  Alignment {
  Alignment::None ,
  Alignment::Left ,
  Alignment::Right ,
  Alignment::Center ,
  Alignment::Justify
}
 The alignement of a text. More...
 
enum class  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 class  BlendEquation {
  Add ,
  Substract ,
  ReverseSubstract
}
 Enumeration of the blending equations. More...
 
enum class  BlendFactor {
  Zero ,
  One ,
  SrcColor ,
  OneMinusSrcColor ,
  DstColor ,
  OneMinusDstColor ,
  SrcAlpha ,
  OneMinusSrcAlpha ,
  DstAlpha ,
  OneMinusDstAlpha
}
 Enumeration of the blending factors. More...
 
enum class  CellNeighborQuery {
  CellNeighborQuery::Valid = 0x01 ,
  CellNeighborQuery::Diagonal = 0x02
}
 Specification of the query of neighborhood. More...
 
enum class  CellIndex {
  CellIndex::Odd ,
  CellIndex::Even
}
 Cell index for staggered or hexagonal maps. More...
 
enum class  CellAxis {
  CellAxis::X ,
  CellAxis::Y
}
 Cell axis for staggered or hexagonal maps. More...
 
enum class  CellOrientation : uint8_t {
  CellOrientation::Unknown = 0x00 ,
  CellOrientation::Orthogonal = 0x01 ,
  CellOrientation::Isometric = 0x02 ,
  CellOrientation::Staggered = 0x03 ,
  CellOrientation::Hexagonal = 0x04
}
 The orientation of the cells. More...
 
enum class  Flip : uint8_t {
  Flip::Horizontally = 0x01 ,
  Flip::Vertically = 0x02 ,
  Flip::Diagonally = 0x04 ,
  Flip::Rotation60 = 0x04 ,
  Flip::Rotation120 = 0x08
}
 A flag to indicate how to flip a tile. More...
 
enum class  ConsoleAlignment {
  ConsoleAlignment::Left ,
  ConsoleAlignment::Center ,
  ConsoleAlignment::Right
}
 The alignment of the text in the console. More...
 
enum class  Direction : int8_t {
  Direction::Center = -1 ,
  Direction::Up = 0 ,
  Direction::Right = 1 ,
  Direction::Down = 2 ,
  Direction::Left = 3
}
 Main four directions. More...
 
enum class  EventType {
  EventType::Quit ,
  EventType::Resized ,
  EventType::Closed ,
  EventType::FocusGained ,
  EventType::FocusLost ,
  EventType::Shown ,
  EventType::Hidden ,
  EventType::Exposed ,
  EventType::Minimized ,
  EventType::Maximized ,
  EventType::Restored ,
  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 class  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 class  GamepadAxis {
  GamepadAxis::Invalid ,
  GamepadAxis::LeftX ,
  GamepadAxis::LeftY ,
  GamepadAxis::RightX ,
  GamepadAxis::RightY ,
  GamepadAxis::TriggerLeft ,
  GamepadAxis::TriggerRight
}
 The gamepad axis. More...
 
enum class  GamepadAxisDirection {
  GamepadAxisDirection::Positive ,
  GamepadAxisDirection::Negative
}
 A gamepad axis direction. More...
 
enum class  GamepadHwId : int
 A gamepad hardware identifier. More...
 
enum class  GamepadId : int32_t
 A gamepad identifier. More...
 
enum class  GraphicsTag {
  GraphicsTag::Buffer ,
  GraphicsTag::Framebuffer ,
  GraphicsTag::Texture
}
 A tag to represent various GPU resources. More...
 
enum  PixelFormat {
  Rgba32 ,
  Rgb24
}
 Pixel format. More...
 
enum class  Mod : unsigned {
  Mod::Shift = 0x0001 ,
  Mod::Control = 0x0002 ,
  Mod::Alt = 0x0004 ,
  Mod::Super = 0x0008
}
 Modifier enumeration. More...
 
enum class  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 class  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 class  CellProperty : uint8_t {
  CellProperty::Transparent = 0x01 ,
  CellProperty::Walkable = 0x02 ,
  CellProperty::Visible = 0x10 ,
  CellProperty::Explored = 0x20
}
 A property of a cell. More...
 
enum class  FieldOfVision { FieldOfVision::Basic }
 Algorithm for computing a field of vision. More...
 
enum class  FieldOfVisionLimit {
  FieldOfVisionLimit::Included ,
  FieldOfVisionLimit::Excluded
}
 Constant to indicate if the limit is part of the field of vision. More...
 
enum class  Route {
  Route::AStar ,
  Route::Dijkstra
}
 Algorithm for computing a route. More...
 
enum class  MessageStatus {
  MessageStatus::Keep ,
  MessageStatus::Die
}
 A message status. More...
 
enum class  MouseButton {
  MouseButton::Left ,
  MouseButton::Middle ,
  MouseButton::Right ,
  MouseButton::XButton1 ,
  MouseButton::XButton2 ,
  MouseButton::Other
}
 Mouse buttons. More...
 
enum class  AngularMove : uint8_t {
  AngularMove::None ,
  AngularMove::Left ,
  AngularMove::Right
}
 An angular move. More...
 
enum class  LinearMove : uint8_t {
  LinearMove::None ,
  LinearMove::Forward ,
  LinearMove::Backward
}
 A linear move. More...
 
enum class  OpenSimplexType {
  Super ,
  Fast
}
 
enum class  OpenSimplex2DVariant {
  Classic ,
  XBeforeY
}
 
enum class  OpenSimplex3DVariant {
  Classic ,
  XYBeforeZ ,
  XZBeforeY
}
 
enum class  Orientation : int8_t {
  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 class  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 class  RenderAttributeType {
  RenderAttributeType::Byte = 0x1400 ,
  RenderAttributeType::UByte = 0x1401 ,
  RenderAttributeType::Short = 0x1402 ,
  RenderAttributeType::UShort = 0x1403 ,
  RenderAttributeType::Float = 0x1406
}
 The type of an attribute. More...
 
enum class  SocketFamily : int {
  SocketFamily::Unspec = AF_UNSPEC ,
  SocketFamily::IPv4 = AF_INET ,
  SocketFamily::IPv6 = AF_INET6
}
 A socket family. More...
 
enum class  SocketAddressFormat {
  SocketAddressFormat::Unrestricted ,
  SocketAddressFormat::Numeric
}
 A socket address format. More...
 
enum class  SocketStatus {
  SocketStatus::Data ,
  SocketStatus::Block ,
  SocketStatus::Close ,
  SocketStatus::Error
}
 The status of a socket operation. More...
 
enum class  SocketSelectorStatus {
  SocketSelectorStatus::Event ,
  SocketSelectorStatus::Timeout ,
  SocketSelectorStatus::Error
}
 The status of the selector. More...
 
enum  SpatialId : std::size_t
 A spatial id. More...
 
enum class  SpatialStructureType {
  SpatialStructureType::Object ,
  SpatialStructureType::Node
}
 A type of spatial structure. More...
 
enum class  SpatialQuery {
  SpatialQuery::Contain ,
  SpatialQuery::Intersect
}
 A kind of spatial query. More...
 
enum class  TmxRenderOrder {
  TmxRenderOrder::RightDown ,
  TmxRenderOrder::RightUp ,
  TmxRenderOrder::LeftDown ,
  TmxRenderOrder::LeftUp
}
 the render order of the tiles. More...
 
enum class  TmxDrawOrder {
  TmxDrawOrder::TopDown ,
  TmxDrawOrder::Index
}
 The draw order of the objects. More...
 
enum class  WidgetState {
  WidgetState::Disabled ,
  WidgetState::Default ,
  WidgetState::Selected
}
 State of a widget. More...
 
enum class  Winding {
  Winding::None ,
  Winding::Clockwise ,
  Winding::Counterclockwise
}
 The direction of a polygon's rotation. More...
 
enum class  WindowHints : uint32_t {
  WindowHints::Resizable = 0x0001 ,
  WindowHints::Visible = 0x0002 ,
  WindowHints::Decorated = 0x0004
}
 Hints for window creation. More...
 
enum class  EventFilter {
  EventFilter::TouchAsMouse = 0x0001 ,
  EventFilter::AnyWindow = 0x0002
}
 Filter for events. More...
 

Functions

GF_CORE_API Vector2f unit (Direction direction)
 Get a unit vector from a direction. More...
 
GF_CORE_API Vector2i displacement (Direction direction)
 Get a vector from a direction. More...
 
GF_CORE_API float angle (Direction direction)
 Get an angle from a direction. More...
 
GF_CORE_API Direction opposite (Direction direction)
 Get the opposite direction. More...
 
GF_CORE_API Direction orthogonalCW (Direction direction)
 Get the orthogonal direction clockwise. More...
 
GF_CORE_API Direction orthogonalCCW (Direction direction)
 Get the orthogonal direction counter-clockwise. More...
 
GF_CORE_API Direction nextCW (Direction direction)
 Get the next direction clockwise. More...
 
GF_CORE_API Direction nextCCW (Direction direction)
 Get the next direction counter-clockwise. More...
 
GF_CORE_API std::vector< Vector2igenerateLine (Vector2i p0, Vector2i p1)
 Generate a line between two positions. More...
 
GF_CORE_API 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...
 
GF_CORE_API std::vector< Vector2fmidpointDisplacement1D (Vector2f p0, Vector2f p1, Random &random, unsigned iterations, float initialFactor=1.0f, float reductionFactor=0.5f)
 1D midpoint displacement More...
 
GF_CORE_API Heightmap midpointDisplacement2D (Vector2i size, Random &random, Span< const double > initialValues=nullptr)
 2D midpoint displacement More...
 
GF_CORE_API Heightmap diamondSquare2D (Vector2i size, Random &random, Span< const double > initialValues=nullptr)
 2D diamond square More...
 
GF_CORE_API Polygon convexHull (Span< const Vector2f > points)
 Compute the convex hull of a set of points. More...
 
GF_CORE_API std::vector< Vector2fsimplifyPoints (Span< const Vector2f > points, float distance=Epsilon)
 Simplify a sequence of points. More...
 
GF_CORE_API std::vector< PolylinebuildLines (Span< const 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 (std::string_view 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...
 
GF_CORE_API float angularFactor (AngularMove move)
 Get the angular factor from the angular move. More...
 
GF_CORE_API float linearFactor (LinearMove move)
 Get the linear factor from the linear move. More...
 
GF_CORE_API Vector2f unit (Orientation orientation)
 Get a unit vector from an orientation. More...
 
GF_CORE_API Vector2i displacement (Orientation orientation)
 Get a vector from an orientation. More...
 
GF_CORE_API float angle (Orientation orientation)
 Get an angle from a orientation. More...
 
GF_CORE_API Orientation orientation (float angle)
 Get an orientation from an angle. More...
 
GF_CORE_API Orientation opposite (Orientation orientation)
 Get the opposite orientation. More...
 
GF_CORE_API Orientation orthogonalCW (Orientation orientation)
 Get the orthogonal orientation clockwise. More...
 
GF_CORE_API Orientation orthogonalCCW (Orientation orientation)
 Get the orthogonal orientation counter-clockwise. More...
 
GF_CORE_API Orientation nextCW (Orientation orientation)
 Get the next orientation clockwise. More...
 
GF_CORE_API 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...
 
GF_CORE_API void sleep (Time duration)
 Make the current thread sleep for a given duration. More...
 
template<typename T >
constexpr Span< T > span (T *data, std::size_t size)
 
template<typename T , std::size_t N>
constexpr StaticSpan< T, N > span (T(&data)[N])
 
GF_CORE_API std::string niceNum (float num, float precision)
 Create a string representation of a floating point number. More...
 
GF_CORE_API std::string formatString (const char *fmt,...)
 Format a string like printf. More...
 
GF_CORE_API std::string formatString (const char *fmt, va_list ap)
 Format a string like vprintf. More...
 
GF_CORE_API std::string escapeString (std::string_view str)
 Escape a string. More...
 
GF_CORE_API std::vector< std::string_view > splitInParagraphs (std::string_view str)
 Split a string in multiples paragraphs. More...
 
GF_CORE_API std::vector< std::string_view > splitInWords (std::string_view str)
 Split a string in multiples words. More...
 
GF_GRAPHICS_API TileLayer makeTileLayer (const TmxLayers &map, const TmxTileLayer &layer, ResourceManager &resources)
 Create a tile layer object from a TMX tile layer. More...
 
constexpr Vector2f transform (const Matrix3f &mat, Vector2f point)
 Apply an affine transformation to a 2D point. More...
 
GF_CORE_API 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...
 
GF_CORE_API 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...
 
GF_CORE_API void rotate (Matrix3f &mat, float angle)
 Combine the current transform with a rotation. More...
 
GF_CORE_API 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...
 
GF_CORE_API void scale (Matrix3f &mat, Vector2f factor)
 Combine the current transform with a scaling. More...
 
GF_CORE_API void scale (Matrix3f &mat, Vector2f factor, Vector2f center)
 Combine the current transform with a scaling. More...
 
GF_CORE_API std::vector< TriangleRef< const Vector2f > > triangulation (Span< const Vector2f > points)
 Compute a Delaunay triangulation of a set of points. More...
 

Variables

template class GF_CORE_API Index2D< unsigned >
 
template class GF_CORE_API Index2D< int >
 
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 std::size_t NullIndex = static_cast<std::size_t>(-1)
 A null index in a block allocator. More...
 
template struct GF_CORE_API Circ< float >
 
template struct GF_CORE_API Circ< double >
 
template struct GF_CORE_API Circ< int >
 
template struct GF_CORE_API Circ< unsigned >
 
template struct GF_CORE_API ColorRampBase< float >
 
template struct GF_CORE_API ColorRampBase< double >
 
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...
 
template struct GF_CORE_API Matrix< float, 2, 2 >
 
template struct GF_CORE_API Matrix< float, 3, 3 >
 
template struct GF_CORE_API Matrix< float, 4, 4 >
 
template struct GF_CORE_API Matrix< double, 2, 2 >
 
template struct GF_CORE_API Matrix< double, 3, 3 >
 
template struct GF_CORE_API Matrix< double, 4, 4 >
 
template struct GF_CORE_API Range< float >
 
template struct GF_CORE_API Range< int >
 
template struct GF_CORE_API Range< unsigned >
 
template struct GF_CORE_API Rect< float >
 
template struct GF_CORE_API Rect< double >
 
template struct GF_CORE_API Rect< int >
 
template struct GF_CORE_API Rect< unsigned >
 
constexpr SocketHandle InvalidSocketHandle = implemetation-defined
 An invalid socket handle. More...
 
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...
 
template struct GF_CORE_API Vector< float, 2 >
 
template struct GF_CORE_API Vector< float, 3 >
 
template struct GF_CORE_API Vector< float, 4 >
 
template struct GF_CORE_API Vector< double, 2 >
 
template struct GF_CORE_API Vector< double, 3 >
 
template struct GF_CORE_API Vector< double, 4 >
 
template struct GF_CORE_API Vector< int, 2 >
 
template struct GF_CORE_API Vector< int, 3 >
 
template struct GF_CORE_API Vector< int, 4 >
 
template struct GF_CORE_API Vector< unsigned, 2 >
 
template struct GF_CORE_API Vector< unsigned, 3 >
 
template struct GF_CORE_API Vector< unsigned, 4 >
 
template struct GF_CORE_API Vector< bool, 2 >
 
template struct GF_CORE_API Vector< bool, 3 >
 
template struct GF_CORE_API Vector< bool, 4 >
 
template struct GF_CORE_API Vector< uint8_t, 3 >
 
template struct GF_CORE_API Vector< uint8_t, 4 >
 

Detailed Description

The namespace for gf classes.

Enumeration Type Documentation

◆ ActivityFinish

enum class gf::ActivityFinish
strong

The type of finish for the activity.

Enumerator
Any 

If any of the activities ends.

All 

If all of the activities ends.

◆ BlendEquation

enum class gf::BlendEquation
strong

Enumeration of the blending equations.

The equations are mapped directly to their OpenGL equivalents, specified by glBlendEquation() or glBlendEquationSeparate().

See also
gf::BlendMode
Enumerator
Add 

Pixel = Src * SrcFactor + Dst * DstFactor.

Substract 

Pixel = Src * SrcFactor - Dst * DstFactor.

ReverseSubstract 

Pixel = Dst * DstFactor - Src * SrcFactor.

◆ BlendFactor

enum class gf::BlendFactor
strong

Enumeration of the blending factors.

The factors are mapped directly to their OpenGL equivalents, specified by glBlendFunc() or glBlendFuncSeparate().

See also
gf::BlendMode
Enumerator
Zero 

(0, 0, 0, 0)

One 

(1, 1, 1, 1)

SrcColor 

(src.r, src.g, src.b, src.a)

OneMinusSrcColor 

(1, 1, 1, 1) - (src.r, src.g, src.b, src.a)

DstColor 

(dst.r, dst.g, dst.b, dst.a)

OneMinusDstColor 

(1, 1, 1, 1) - (dst.r, dst.g, dst.b, dst.a)

SrcAlpha 

(src.a, src.a, src.a, src.a)

OneMinusSrcAlpha 

(1, 1, 1, 1) - (src.a, src.a, src.a, src.a)

DstAlpha 

(dst.a, dst.a, dst.a, dst.a)

OneMinusDstAlpha 

(1, 1, 1, 1) - (dst.a, dst.a, dst.a, dst.a)

◆ OpenSimplex2DVariant

enum class gf::OpenSimplex2DVariant
strong
Enumerator
Classic 
XBeforeY 

◆ OpenSimplex3DVariant

enum class gf::OpenSimplex3DVariant
strong
Enumerator
Classic 
XYBeforeZ 
XZBeforeY 

◆ OpenSimplexType

enum class gf::OpenSimplexType
strong
Enumerator
Super 
Fast 

Function Documentation

◆ span() [1/2]

template<typename T >
constexpr Span< T > gf::span ( T *  data,
std::size_t  size 
)
constexpr

◆ span() [2/2]

template<typename T , std::size_t N>
constexpr StaticSpan< T, N > gf::span ( T(&)  data[N])
constexpr

Variable Documentation

◆ BlendAdd

constexpr BlendMode gf::BlendAdd
constexpr

Additive blend mode.

Add source to dest.

See also
gf::BlendMode

◆ BlendAlpha

constexpr BlendMode gf::BlendAlpha
constexpr

Alpha blend mode.

Blend source and dest according to dest alpha. Also known as alpha blending.

See also
gf::BlendMode

◆ BlendMultiply

constexpr BlendMode gf::BlendMultiply
constexpr

Multiplicative blend mode.

Multiply source and dest.

See also
gf::BlendMode

◆ BlendNone

constexpr BlendMode gf::BlendNone
constexpr

No blend mode.

Overwrite dest with source.

See also
gf::BlendMode

◆ Circ< double >

template struct GF_CORE_API gf::Circ< double >
extern

◆ Circ< float >

template struct GF_CORE_API gf::Circ< float >
extern

◆ Circ< int >

template struct GF_CORE_API gf::Circ< int >
extern

◆ Circ< unsigned >

template struct GF_CORE_API gf::Circ< unsigned >
extern

◆ ColorRampBase< double >

template struct GF_CORE_API gf::ColorRampBase< double >
extern

◆ ColorRampBase< float >

template struct GF_CORE_API gf::ColorRampBase< float >
extern

◆ Index2D< int >

template class GF_CORE_API gf::Index2D< int >
extern

◆ Index2D< unsigned >

template class GF_CORE_API gf::Index2D< unsigned >
extern

◆ Matrix< double, 2, 2 >

template struct GF_CORE_API gf::Matrix< double, 2, 2 >
extern

◆ Matrix< double, 3, 3 >

template struct GF_CORE_API gf::Matrix< double, 3, 3 >
extern

◆ Matrix< double, 4, 4 >

template struct GF_CORE_API gf::Matrix< double, 4, 4 >
extern

◆ Matrix< float, 2, 2 >

template struct GF_CORE_API gf::Matrix< float, 2, 2 >
extern

◆ Matrix< float, 3, 3 >

template struct GF_CORE_API gf::Matrix< float, 3, 3 >
extern

◆ Matrix< float, 4, 4 >

template struct GF_CORE_API gf::Matrix< float, 4, 4 >
extern

◆ Range< float >

template struct GF_CORE_API gf::Range< float >
extern

◆ Range< int >

template struct GF_CORE_API gf::Range< int >
extern

◆ Range< unsigned >

template struct GF_CORE_API gf::Range< unsigned >
extern

◆ Rect< double >

template struct GF_CORE_API gf::Rect< double >
extern

◆ Rect< float >

template struct GF_CORE_API gf::Rect< float >
extern

◆ Rect< int >

template struct GF_CORE_API gf::Rect< int >
extern

◆ Rect< unsigned >

template struct GF_CORE_API gf::Rect< unsigned >
extern

◆ Vector< bool, 2 >

template struct GF_CORE_API gf::Vector< bool, 2 >
extern

◆ Vector< bool, 3 >

template struct GF_CORE_API gf::Vector< bool, 3 >
extern

◆ Vector< bool, 4 >

template struct GF_CORE_API gf::Vector< bool, 4 >
extern

◆ Vector< double, 2 >

template struct GF_CORE_API gf::Vector< double, 2 >
extern

◆ Vector< double, 3 >

template struct GF_CORE_API gf::Vector< double, 3 >
extern

◆ Vector< double, 4 >

template struct GF_CORE_API gf::Vector< double, 4 >
extern

◆ Vector< float, 2 >

template struct GF_CORE_API gf::Vector< float, 2 >
extern

◆ Vector< float, 3 >

template struct GF_CORE_API gf::Vector< float, 3 >
extern

◆ Vector< float, 4 >

template struct GF_CORE_API gf::Vector< float, 4 >
extern

◆ Vector< int, 2 >

template struct GF_CORE_API gf::Vector< int, 2 >
extern

◆ Vector< int, 3 >

template struct GF_CORE_API gf::Vector< int, 3 >
extern

◆ Vector< int, 4 >

template struct GF_CORE_API gf::Vector< int, 4 >
extern

◆ Vector< uint8_t, 3 >

template struct GF_CORE_API gf::Vector< uint8_t, 3 >
extern

◆ Vector< uint8_t, 4 >

template struct GF_CORE_API gf::Vector< uint8_t, 4 >
extern

◆ Vector< unsigned, 2 >

template struct GF_CORE_API gf::Vector< unsigned, 2 >
extern

◆ Vector< unsigned, 3 >

template struct GF_CORE_API gf::Vector< unsigned, 3 >
extern

◆ Vector< unsigned, 4 >

template struct GF_CORE_API gf::Vector< unsigned, 4 >
extern