iv Namespace Reference

Namespaces

 Defs
 
 interpolator
 
 priv
 
 runtime_id
 
 table_debug_context
 

Classes

struct  Activator
 
class  Activator_AnimNode
 
class  Align
 Container providing special behaviors related to relative alignment of its child. More...
 
class  AndroidAssetResourceProvider
 
class  AnimConnector
 
class  AnimHeap
 
class  AnimNode
 
class  AnimNodeI
 
class  AnimSystem
 
class  Attr
 
class  Attribute
 
class  AttributeEventProcessor
 
class  AttributeListener
 
class  BlockAll_InputNode
 
class  Border
 Container that adds margins around child, allowing wide variety of positioning options inside parent. More...
 
class  callback_client_ptr
 
class  callback_instance_ptr
 
class  Camera
 Abstract class that represents root of a scene graph and can render it. More...
 
struct  CameraState
 
class  Char_InputNode
 
class  CharListener
 
class  client_ptr
 
class  ClientMarker
 
class  ClientMarkerIds
 
struct  ColorTransform
 
class  ComponentAttr
 
class  ComponentAttr_Index
 
class  ConfigFileSystem
 
class  ConfigStream
 
class  Context
 
class  Cooldown_Connector
 
class  DataStream
 
class  DataStream_Resource
 
class  DataStream_Subprovider
 
class  DebugInstanceListener
 
class  DebugView
 
class  DefaultBinder
 
class  DefaultLumaStyles
 
class  DelayedLoad
 
class  DelayedLoader
 
class  DelayedLoadStatus
 
class  DelayedLoadSystem
 
class  Destination_AnimNode
 
class  Destination_Connector
 
class  Destination_ConnectorGI
 
class  DirtyAttr
 
class  DirtyAttr_I
 
class  Divider
 Container that divides its space between children according to their priorities. More...
 
class  DividerSlot
 A Slot that can be placed inside a Divider. More...
 
class  DVar
 
class  DVar_Field
 
class  DVarCloner
 
class  DVarId
 
class  DVarIdT
 
class  DVarListener
 
class  DVarListenerI
 
class  DVarManipulator
 
class  DVarProperty
 
class  DVarSystem
 
class  Elem
 
class  ElementRenderer
 
class  ElementSystem
 
struct  ExponentialTransform
 
class  Field
 
class  FieldI
 
class  FixedOrder_Camera
 Scene root that renders items in fixed order, no Z sorting. More...
 
class  FixedUpdateClient
 
class  FlatShader
 
class  FlatShader_Resource
 
class  FlatShader_Subprovider
 
class  Font
 
class  Font_Resource
 
class  FontMesh
 
class  FrameUpdateClient
 
class  FSResourceProvider
 
class  FunctorActivatorAttribute
 
class  FunctorActivatorField
 
class  FunctorField
 
class  Game
 
struct  GameIdentity
 
class  GenericListener
 
class  GenericListener_Index
 
class  GlfmRenderTarget
 
class  GlfmWindow
 
class  GlfwRenderTarget
 
class  GlfwWindow
 
class  GlInfo
 
class  GlListener
 
class  GlMesh
 
struct  GlMeshData
 
class  GlProgram
 
class  GlSystem
 
class  GlTexture
 
struct  has_interpolate
 
struct  has_interpolate< T, typename interpolator::to_void< typename T::interpolate >::type >
 
struct  hash
 
struct  hash< Enum, typename std::enable_if< std::is_enum< Enum >::value >::type >
 
struct  hash< iv::int2 >
 
struct  hash< iv::int3 >
 
struct  hash< Me, std::enable_if_t< std::is_base_of< iv::RuntimeId< Me >, Me >::value > >
 
struct  hash< std::pair< First, Second > >
 
struct  hash< std::tuple< TupleTypes... > >
 
class  Heap
 
class  I
 
class  Image
 Basic element that displays a texture. Has many optional configuration parameters. More...
 
struct  ImageLoader_Metadata
 
class  Input
 
class  InputBinder
 
class  InputBindingListener
 
class  InputBindingQuery
 
class  InputBindingSystem
 
class  InputEvent
 
class  InputId
 
class  InputNode
 
class  InputQuery
 
class  InputRoot
 
class  InputSource
 
class  InputSystem
 
class  Instance
 
class  instance_ptr
 
class  instance_ptr_interface
 
class  InstanceSystem
 
struct  int2_CompareByX
 
struct  int2_CompareByY
 
struct  Interpolator
 
struct  Interpolator< Float, std::enable_if_t< std::is_floating_point< Float >::value > >
 
struct  Interpolator< float3 >
 
struct  Interpolator< float4x4 >
 
struct  Interpolator< Int, std::enable_if_t< std::is_integral< Int >::value > >
 
struct  Interpolator< std::optional< T > >
 
struct  Interpolator< std::string >
 
class  JsonLex
 
class  Key_InputNode
 
class  Lambda_Connector
 
class  LambdaLogTrace
 
class  Lex
 
class  Lex_LogTrace
 
struct  LinearTransform
 
class  Link
 
class  Local_AEP
 
class  LogId
 
class  LogTrace
 
class  LumaButton
 Flexible base for variously styled buttons that needs to be supplied multiple textures. More...
 
class  LumaFrame
 A window-like scrollable frame that needs to be supplied a texture. More...
 
class  LumaListener
 
class  LumaScroller
 Vertical scroller with simple graphics. More...
 
struct  LumaStyle
 
class  LumaStyleId
 
class  LumaStyler
 
class  LumaSystem
 
class  LumaText
 Text with theme-defined font and color. More...
 
class  Mesh
 
class  Mesh_Resource
 
class  MulAgg
 
class  multiline_ostream
 
class  multiline_ostream_streambuf
 
class  OneChildElem
 
class  Ostream_TextDebugView
 
class  Pickable
 
class  PickableSlot
 
class  Plain_StreamResourceSubprovider
 
class  PlatformDefault_ResourceProvider
 
class  Position_InputNode
 
class  Pratt
 
class  Prefsize
 Container that can override preferred size of its child. More...
 
class  PrivAttr
 
class  PrivAttr_I
 
class  PrivAttr_Owner
 
class  PrivField
 
class  PrivField_Owner
 
class  PrivValAttr
 
class  PrivValAttr_I
 
class  PrivValAttr_Owner
 
class  ProtectedSlot
 
struct  QuickstepTransform
 
class  RandomGenerator
 
class  RandomId
 
class  RandomSystem
 
class  Rectangle_LumaButton
 Simple rectangular button. More...
 
class  Renderable
 
class  RenderTarget
 
class  Resource_LogTrace
 
class  ResourceAccess
 
class  ResourceManagementSystem
 
class  ResourcePath
 
class  ResourceProvider
 
class  ResourcesRoot
 
struct  reversed
 
class  RuntimeId
 
struct  RuntimeIdDictionary
 
class  Scroller
 
class  Shader
 
struct  ShaderScissor
 
class  SharedAttr
 
class  SharedAttr_I
 
class  SimpleDiagnostics
 
class  SimpleLogger
 
class  SimpleSplash
 Splash screen that is visible during loading times. More...
 
class  SingularResource
 
class  Slot
 Container that can put multiple SlotChild objects in one place. More...
 
class  SlotChild
 
struct  Smoothstep2Transform
 
struct  Smoothstep3Transform
 
class  Source_AnimNode
 
class  Source_Connector
 
class  SourceInputNode
 
class  SquareMesh
 
class  SquareMesh_Resource
 
class  SquareMesh_Subprovider
 
struct  SrcInfo
 
class  SS
 
class  State_AnimNode
 
class  StreamFont
 
class  StreamFont_Subprovider
 
class  StreamResource
 
class  StreamResourceProvider
 
class  StreamResourceSubprovider
 
class  StreamTexture
 
class  StreamTexture_Subprovider
 
struct  StringIO
 
struct  StringIO< Activator >
 
struct  StringIO< Attr< T > >
 
struct  StringIO< Attribute::ValueMode >
 
struct  StringIO< AttributeEventProcessor::Event >
 
struct  StringIO< Axis >
 
struct  StringIO< AxisDirection >
 
struct  StringIO< AxisOrder >
 
struct  StringIO< bool >
 
struct  StringIO< ClientMarker >
 
struct  StringIO< ClientMarker const * >
 
struct  StringIO< ColorSpace >
 
struct  StringIO< const char * >
 
struct  StringIO< DirtyAttr_I< T > >
 
struct  StringIO< Field< T > >
 
struct  StringIO< FieldI::Assignment >
 
struct  StringIO< FlatShader::FilteringStage >
 
struct  StringIO< FlatShader::FittingStage >
 
struct  StringIO< FlatShader::PixelizeStage >
 
struct  StringIO< FlatShader::ResizeStage >
 
struct  StringIO< Float, std::enable_if_t< std::is_floating_point< Float >::value > >
 
struct  StringIO< float4x4 >
 
struct  StringIO< floatQuat >
 
struct  StringIO< glm::tvec2< Type > >
 
struct  StringIO< glm::tvec3< Type > >
 
struct  StringIO< glm::tvec4< Type > >
 
struct  StringIO< Input::Key >
 
struct  StringIO< Input::Type >
 
struct  StringIO< MulAgg< Float > >
 
struct  StringIO< PixelFormat >
 
struct  StringIO< ResourcePath >
 
struct  StringIO< SimpleLogger::Flags >
 
struct  StringIO< std::any >
 
struct  StringIO< std::nullptr_t >
 
struct  StringIO< std::optional< T > >
 
struct  StringIO< std::pair< T, U > >
 
struct  StringIO< std::string >
 
struct  StringIO< SumAgg< Int > >
 
struct  StringIO< T * >
 
struct  StringIO< Texture::Filtering >
 
struct  StringIO< TypedRuntimeId, std::enable_if_t< std::is_base_of< RuntimeId< TypedRuntimeId >, TypedRuntimeId >::value > >
 
struct  StringIO_Table
 
struct  StringIOIndex
 
class  Sub
 
class  Sub_StructorFunctions
 
class  Sub_StructorFunctionsT
 
class  SubDirectory
 
class  SubId
 
class  SumAgg
 
class  System
 
class  SystemContainer
 
class  TableDebugView
 
class  TableId
 
class  TestGlfmWindow
 
class  Text
 Basic text element, needs to be supplied font path. More...
 
class  TextDebugView
 
class  TextLayout
 Container and layout manager for TextSegment objects. More...
 
class  TextOutput_ostream
 
class  TextOutput_streambuf
 
class  TextSegment
 
class  Texture
 
class  Texture_Resource
 
class  TimeId
 
class  TimeManipulator
 
class  TimeSystem
 
class  TimeTransform
 
class  TimeTransform_Connector
 
class  ToText_TableDebugView
 
class  Transform
 Container that allows us to directly modify model matrix of its child. Usable both in UI compositing and in world views. More...
 
class  Transform_ConnectorI
 
class  TranslucentElem
 
class  TreeDebugView
 
class  VectorChildrenElem
 
class  VirtualResourceProvider
 
class  VLink
 
class  volatile_set
 
class  Watch
 
class  Window
 
class  WindowListener
 
class  World
 
class  XcfInfo
 
class  XcfInfo_Resource
 
class  XcfInfo_Subprovider
 

Typedefs

using int2 = glm::tvec2< int >
 
using int3 = glm::tvec3< int >
 
using float2 = glm::tvec2< float >
 
using float3 = glm::vec3
 
using float4 = glm::tvec4< float >
 
using bool2 = glm::tvec2< bool >
 
using bool3 = glm::tvec3< bool >
 
using uchar = unsigned char
 
using uchar4 = glm::tvec4< unsigned char >
 
using float4x4 = glm::tmat4x4< float >
 
using floatQuat = glm::tquat< float >
 
using Interpolator_float = float
 
using Anim_float = Interpolator_float
 

Enumerations

enum  Axis { Axis::X, Axis::Y, Axis::Z, Axis::_Size }
 
enum  AxisOrder { AxisOrder::Incremental, AxisOrder::Decremental }
 
enum  AxisDirection {
  AxisDirection::X_Inc, AxisDirection::X_Dec, AxisDirection::Y_Inc, AxisDirection::Y_Dec,
  AxisDirection::Z_Inc, AxisDirection::Z_Dec
}
 
enum  GlMagFiltering { GlMagFiltering::Nearest = GL_NEAREST, GlMagFiltering::Linear = GL_LINEAR }
 
enum  GlMinFiltering {
  GlMinFiltering::Nearest = GL_NEAREST, GlMinFiltering::Linear = GL_LINEAR, GlMinFiltering::NearestMipmapNearest = GL_NEAREST_MIPMAP_NEAREST, GlMinFiltering::LinearMipmapNearest = GL_LINEAR_MIPMAP_NEAREST,
  GlMinFiltering::NearestMipmapLinear = GL_NEAREST_MIPMAP_LINEAR, GlMinFiltering::LinearMipmapLinear = GL_LINEAR_MIPMAP_LINEAR
}
 
enum  PixelFormat { PixelFormat::RGBA, PixelFormat::BGRA }
 
enum  ColorSpace { ColorSpace::sRGB, ColorSpace::Linear }
 

Functions

void ivorium_init ()
 
void ivorium_destroy ()
 
template<class Float >
Float mix_max (Float from, Float to, Float maxDist, std::enable_if_t< std::is_floating_point< Float >::value, std::nullptr_t >=nullptr)
 
template<class Float >
Float abs (Float val)
 
template<class Float >
Float clamp (Float val, Float min, Float max)
 
void RuntimeId_WarningIdDoesNotExist (Context *context, char const *type_name, char const *persistent_name)
 
template<class Me >
std::ostream & operator<< (std::ostream &out, RuntimeId< Me > const &id)
 
int sig_div (int a, unsigned b)
 
int2 sig_div (int2 a, unsigned b)
 
int sig_mul (int a, unsigned b)
 
int2 sig_mul (int2 a, unsigned b)
 
int sig_mod (int a, unsigned b)
 
int2 sig_mod (int2 a, unsigned b)
 
float sig_fmod (float val, float mod)
 
void startup_warning (SrcInfo info, const char *message)
 
void runtime_warning (SrcInfo info, const char *message)
 
template<class Type >
Type StringIO_Read (const char *source, Context const *context)
 
std::string StringIO_Write (char const *const &value, Context const *context)
 
template<class Type >
std::string StringIO_Write (Type const &value, Context const *context)
 
size_t utf8_size (std::string const &val)
 
size_t utf8_size (const char *)
 ‍** More...
 
bool utf8_is_first_byte (char)
 If char is a last byte in an utf8 character. More...
 
void string_explode (std::string const &s, char delim, std::vector< std::string > &result)
 
std::string string_trim (std::string const &s)
 
std::string string_ltrim (std::string const &s)
 
std::string string_rtrim (std::string const &s)
 
float & float3_Axis (float3 &vec, Axis axis)
 
const float & float3_Axis (float3 const &vec, Axis axis)
 
template<class Callable >
void foreach_axis (Callable c)
 
bool ImageLoader_Load (StreamResource *resource, PixelFormat, std::function< void(ImageLoader_Metadata const &, uint8_t *bytes, size_t bytes_count) > const &f)
 
void GlError_Check (Context const *logger, SrcInfo const &src_info)
 
std::ostream & operator<< (std::ostream &out, iv::ResourcePath const &path)
 

Variables

TextOutput_ostream TextOutput
 
TableId AnimNode_DebugTable = TableId::create( "AnimNode" )
 
iv::TableId TimeTransform_Connector_DebugTable = TableId::create( "TimeTransform_Connector" )
 

Typedef Documentation

◆ int2

using iv::int2 = typedef glm::tvec2< int >

Definition at line 18 of file glm_alias.hpp.

◆ int3

using iv::int3 = typedef glm::tvec3< int >

Definition at line 19 of file glm_alias.hpp.

◆ float2

using iv::float2 = typedef glm::tvec2< float >

Definition at line 21 of file glm_alias.hpp.

◆ float3

using iv::float3 = typedef glm::vec3

Definition at line 23 of file glm_alias.hpp.

◆ float4

using iv::float4 = typedef glm::tvec4< float >

Definition at line 24 of file glm_alias.hpp.

◆ bool2

using iv::bool2 = typedef glm::tvec2< bool >

Definition at line 26 of file glm_alias.hpp.

◆ bool3

using iv::bool3 = typedef glm::tvec3< bool >

Definition at line 27 of file glm_alias.hpp.

◆ uchar

using iv::uchar = typedef unsigned char

Definition at line 29 of file glm_alias.hpp.

◆ uchar4

using iv::uchar4 = typedef glm::tvec4< unsigned char >

Definition at line 30 of file glm_alias.hpp.

◆ float4x4

using iv::float4x4 = typedef glm::tmat4x4< float >

Definition at line 32 of file glm_alias.hpp.

◆ floatQuat

using iv::floatQuat = typedef glm::tquat< float >

Definition at line 34 of file glm_alias.hpp.

◆ Interpolator_float

using iv::Interpolator_float = typedef float

Definition at line 27 of file Interpolator.hpp.

◆ Anim_float

Definition at line 8 of file AnimConnector.hpp.

Enumeration Type Documentation

◆ Axis

enum iv::Axis
strong
Enumerator
_Size 

Definition at line 8 of file Axis.hpp.

◆ AxisOrder

enum iv::AxisOrder
strong
Enumerator
Incremental 
Decremental 

Definition at line 16 of file Axis.hpp.

◆ AxisDirection

enum iv::AxisDirection
strong
Enumerator
X_Inc 
X_Dec 
Y_Inc 
Y_Dec 
Z_Inc 
Z_Dec 

Definition at line 22 of file Axis.hpp.

◆ GlMagFiltering

enum iv::GlMagFiltering
strong
Enumerator
Nearest 
Linear 

Definition at line 11 of file GlTexture.hpp.

◆ GlMinFiltering

enum iv::GlMinFiltering
strong
Enumerator
Nearest 
Linear 
NearestMipmapNearest 
LinearMipmapNearest 
NearestMipmapLinear 
LinearMipmapLinear 

Definition at line 17 of file GlTexture.hpp.

◆ PixelFormat

enum iv::PixelFormat
strong
Enumerator
RGBA 
BGRA 

Definition at line 27 of file GlTexture.hpp.

◆ ColorSpace

enum iv::ColorSpace
strong
Enumerator
sRGB 
Linear 

Definition at line 33 of file GlTexture.hpp.

Function Documentation

◆ ivorium_init()

void iv::ivorium_init ( )

Initialises used libraries: GLFW, FreeImage. Registers resource basic types to ResourceManagementSystem.

Definition at line 27 of file ivorium.cpp.

◆ ivorium_destroy()

void iv::ivorium_destroy ( )

Definition at line 59 of file ivorium.cpp.

◆ mix_max()

template<class Float >
Float iv::mix_max ( Float  from,
Float  to,
Float  maxDist,
std::enable_if_t< std::is_floating_point< Float >::value, std::nullptr_t >  = nullptr 
)

Definition at line 7 of file math.hpp.

◆ abs()

template<class Float >
Float iv::abs ( Float  val)

Definition at line 27 of file math.hpp.

◆ clamp()

template<class Float >
Float iv::clamp ( Float  val,
Float  min,
Float  max 
)

Definition at line 33 of file math.hpp.

◆ RuntimeId_WarningIdDoesNotExist()

void iv::RuntimeId_WarningIdDoesNotExist ( Context context,
char const *  type_name,
char const *  persistent_name 
)

Definition at line 10 of file RuntimeId.cpp.

◆ operator<<() [1/2]

template<class Me >
std::ostream& iv::operator<< ( std::ostream &  out,
RuntimeId< Me > const &  id 
)

Definition at line 92 of file RuntimeId.inl.

◆ sig_div() [1/2]

int iv::sig_div ( int  a,
unsigned  b 
)
inline

Definition at line 8 of file sig_div.hpp.

◆ sig_div() [2/2]

int2 iv::sig_div ( int2  a,
unsigned  b 
)
inline

Definition at line 16 of file sig_div.hpp.

◆ sig_mul() [1/2]

int iv::sig_mul ( int  a,
unsigned  b 
)
inline

Definition at line 21 of file sig_div.hpp.

◆ sig_mul() [2/2]

int2 iv::sig_mul ( int2  a,
unsigned  b 
)
inline

Definition at line 26 of file sig_div.hpp.

◆ sig_mod() [1/2]

int iv::sig_mod ( int  a,
unsigned  b 
)
inline

Definition at line 31 of file sig_div.hpp.

◆ sig_mod() [2/2]

int2 iv::sig_mod ( int2  a,
unsigned  b 
)
inline

Definition at line 39 of file sig_div.hpp.

◆ sig_fmod()

float iv::sig_fmod ( float  val,
float  mod 
)
inline

Definition at line 44 of file sig_div.hpp.

◆ startup_warning()

void iv::startup_warning ( SrcInfo  info,
const char *  message 
)

Warnings in constructors of static instances, they run before main and are very deterministic.

Definition at line 11 of file static_warning.cpp.

◆ runtime_warning()

void iv::runtime_warning ( SrcInfo  info,
const char *  message 
)

Warnings in runtime that can not be easily associated with a ivorium::Context. Try to use this as rarely as possible since runtime warnings are sometimes unpredictable and it is easier to debug warnings reported to ivorium::Context.

Definition at line 22 of file static_warning.cpp.

◆ StringIO_Read()

template<class Type >
Type iv::StringIO_Read ( const char *  source,
Context const *  context 
)

Definition at line 20 of file StringIO.hpp.

◆ StringIO_Write() [1/2]

std::string iv::StringIO_Write ( char const *const &  value,
Context const *  context 
)
inline

Definition at line 25 of file StringIO.hpp.

◆ StringIO_Write() [2/2]

template<class Type >
std::string iv::StringIO_Write ( Type const &  value,
Context const *  context 
)

Definition at line 31 of file StringIO.hpp.

◆ utf8_size() [1/2]

size_t iv::utf8_size ( std::string const &  val)

Definition at line 8 of file utils.cpp.

◆ utf8_size() [2/2]

size_t iv::utf8_size ( const char *  val)

‍**

Definition at line 13 of file utils.cpp.

◆ utf8_is_first_byte()

bool iv::utf8_is_first_byte ( char  c)

If char is a last byte in an utf8 character.

Definition at line 27 of file utils.cpp.

◆ string_explode()

void iv::string_explode ( std::string const &  s,
char  delim,
std::vector< std::string > &  result 
)

Definition at line 32 of file utils.cpp.

◆ string_trim()

std::string iv::string_trim ( std::string const &  s)

Definition at line 42 of file utils.cpp.

◆ string_ltrim()

std::string iv::string_ltrim ( std::string const &  s)

Definition at line 62 of file utils.cpp.

◆ string_rtrim()

std::string iv::string_rtrim ( std::string const &  s)

Definition at line 79 of file utils.cpp.

◆ float3_Axis() [1/2]

float& iv::float3_Axis ( float3 vec,
Axis  axis 
)
inline

Definition at line 52 of file Axis.hpp.

◆ float3_Axis() [2/2]

const float& iv::float3_Axis ( float3 const &  vec,
Axis  axis 
)
inline

Definition at line 62 of file Axis.hpp.

◆ foreach_axis()

template<class Callable >
void iv::foreach_axis ( Callable  c)
inline

Definition at line 73 of file Axis.hpp.

◆ ImageLoader_Load()

bool iv::ImageLoader_Load ( StreamResource resource,
PixelFormat  format,
std::function< void(ImageLoader_Metadata const &, uint8_t *bytes, size_t bytes_count) > const &   
)

Name is only used optionaly to determine file type. All data are read from given istream. Given callback is not stored, it is called from within the ImageLoader_Load function call when loading succeeds. Logs all errors and warnings to given logger. Returns true if image was succesfully read and callback was called.

???? Should it be unloaded or is it automatically unloaded during conversion?

Definition at line 50 of file ImageLoader.cpp.

◆ GlError_Check()

void iv::GlError_Check ( Context const *  logger,
SrcInfo const &  src_info 
)

Definition at line 10 of file GlError.cpp.

◆ operator<<() [2/2]

std::ostream& iv::operator<< ( std::ostream &  out,
iv::ResourcePath const &  path 
)
inline

Definition at line 66 of file ResourcePath.hpp.

Variable Documentation

◆ TextOutput

TextOutput_ostream iv::TextOutput

Definition at line 12 of file TextOutput.cpp.

◆ AnimNode_DebugTable

TableId iv::AnimNode_DebugTable = TableId::create( "AnimNode" )

Definition at line 7 of file AnimNode.cpp.

◆ TimeTransform_Connector_DebugTable

iv::TableId iv::TimeTransform_Connector_DebugTable = TableId::create( "TimeTransform_Connector" )

Definition at line 6 of file TimeTransform_Connector.cpp.