mirror of
https://github.com/Relintai/sfw.git
synced 2024-12-20 21:06:49 +01:00
1251 lines
21 KiB
HTML
1251 lines
21 KiB
HTML
<meta charset="utf-8">
|
|
**SFW Docs**
|
|
|
|
what it is, notes
|
|
|
|
|
|
Compile
|
|
------------------------------------------------------------------
|
|
|
|
|
|
License
|
|
------------------------------------------------------------------
|
|
|
|
|
|
|
|
CORE
|
|
====================================================================================
|
|
|
|
Use <code lang=C++>SFWCore::setup();</code> to initialize the library.
|
|
This is necessary as some components (Like PoolVector, and StringNames.) need additional setup.
|
|
|
|
Use <code lang=C++>SFWCore::cleanup();</code> to de-initialize the library.
|
|
|
|
Note that if you use the Application class, it's constructor will do this for you automatically.
|
|
|
|
Also note that if you don't use classes that doens't rely on this you can get away by not calling it.
|
|
|
|
|
|
Initialization
|
|
------------------------------------------------------------------
|
|
|
|
<a name="CLASS_SFWCore"></a>
|
|
<details><summary>SFWCore</summary>
|
|
|
|
|||CLASS_SFWCore|||
|
|
|
|
</details>
|
|
|
|
Enums
|
|
------------------------------------------------------------------
|
|
|
|
Errors
|
|
|
|
<a name="ENUM_Error"></a>
|
|
<details><summary>Error</summary>
|
|
|
|
|||ENUM_Error|||
|
|
|
|
</details>
|
|
|
|
Keys
|
|
|
|
<a name="ENUM_KeyList"></a>
|
|
<details><summary>KeyList</summary>
|
|
|
|
|||ENUM_KeyList|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_KeyModifierMask"></a>
|
|
<details><summary>KeyModifierMask</summary>
|
|
|
|
|||ENUM_KeyModifierMask|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_ButtonList"></a>
|
|
<details><summary>ButtonList</summary>
|
|
|
|
|||ENUM_ButtonList|||
|
|
|
|
</details>
|
|
|
|
Other
|
|
|
|
<a name="ENUM_ClockDirection"></a>
|
|
<details><summary>ClockDirection</summary>
|
|
|
|
|||ENUM_ClockDirection|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_Orientation"></a>
|
|
<details><summary>Orientation</summary>
|
|
|
|
|||ENUM_Orientation|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_HAlign"></a>
|
|
<details><summary>HAlign</summary>
|
|
|
|
|||ENUM_HAlign|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_VAlign"></a>
|
|
<details><summary>VAlign</summary>
|
|
|
|
|||ENUM_VAlign|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_Margin"></a>
|
|
<details><summary>Margin</summary>
|
|
|
|
|||ENUM_Margin|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_Side"></a>
|
|
<details><summary>Side</summary>
|
|
|
|
|||ENUM_Side|||
|
|
|
|
</details>
|
|
|
|
<a name="ENUM_Corner"></a>
|
|
<details><summary>Corner</summary>
|
|
|
|
|||ENUM_Corner|||
|
|
|
|
</details>
|
|
|
|
Errors and Logging
|
|
------------------------------------------------------------------
|
|
|
|
<a name="LOGGING_MACROS"></a>
|
|
<details><summary>Logging</summary>
|
|
|
|
Use the provided macros:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
|
|
#define PRINT_TRACE(str)
|
|
#define LOG_TRACE(...)
|
|
|
|
#define PRINT_MSG(str)
|
|
#define LOG_MSG(...)
|
|
|
|
#define PRINT_WARN(str)
|
|
#define LOG_WARN(...)
|
|
|
|
#define PRINT_ERR(str)
|
|
#define ERR_PRINT(str)
|
|
#define LOG_ERR(...)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
</details>
|
|
|
|
<a name="ERROR_MACROS"></a>
|
|
<details><summary>Error</summary>
|
|
|
|
Uses these macros:
|
|
|
|
Note that the library itself does not use exceptions, it uses these macros exclusively.
|
|
|
|
Also note that you are not prevented you from using exceptions if you want to in your own code.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
|
|
#define ERR_FAIL_MSG(msg)
|
|
|
|
#define ERR_FAIL_V(val)
|
|
|
|
#define ERR_FAIL_V_MSG(val, msg)
|
|
|
|
#define ERR_FAIL_INDEX(index, size)
|
|
#define ERR_FAIL_INDEX_MSG(index, size, msg)
|
|
|
|
#define ERR_FAIL_INDEX_V(index, size, val)
|
|
#define ERR_FAIL_INDEX_V_MSG(index, size, val, msg)
|
|
|
|
#define ERR_FAIL_COND(cond)
|
|
#define ERR_FAIL_COND_MSG(cond, msg)
|
|
|
|
#define ERR_FAIL_COND_V(cond, val)
|
|
#define ERR_FAIL_COND_V_MSG(cond, val, msg)
|
|
|
|
#define ERR_CONTINUE(cond)
|
|
#define ERR_CONTINUE_MSG(cond, msg)
|
|
|
|
#define ERR_CONTINUE_ACTION(cond, action)
|
|
#define ERR_CONTINUE_ACTION_MSG(cond, action, msg)
|
|
|
|
#define CRASH_INDEX(index, size)
|
|
#define CRASH_BAD_INDEX(index, size)
|
|
#define CRASH_BAD_UNSIGNED_INDEX(index, size)
|
|
|
|
#define CRASH_COND(cond)
|
|
#define CRASH_COND_MSG(cond, msg)
|
|
|
|
#define CRASH_MSG(msg)
|
|
#define CRASH_NOW(msg)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
</details>
|
|
|
|
<a name="ASSERTION_MACROS"></a>
|
|
<details><summary>Asserts</summary>
|
|
|
|
Use the provided macros:
|
|
|
|
These should be 'free' checks for program flow and should not be needed in any releases, only used when the DEV_ENABLED define is set.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
|
|
#define DEV_CHECK(m_cond)
|
|
#define DEV_CHECK_ONCE(m_cond)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
</details>
|
|
|
|
Math
|
|
------------------------------------------------------------------
|
|
|
|
<a name="CLASS_Math"></a>
|
|
<details><summary>Math</summary>
|
|
|
|
|||CLASS_Math|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector2"></a>
|
|
<details><summary>Vector2</summary>
|
|
|
|
|||STRUCT_Vector2|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector2i"></a>
|
|
<details><summary>Vector2i</summary>
|
|
|
|
|||STRUCT_Vector2i|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector3"></a>
|
|
<details><summary>Vector3</summary>
|
|
|
|
|||STRUCT_Vector3|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector3i"></a>
|
|
<details><summary>Vector3i</summary>
|
|
|
|
|||STRUCT_Vector3i|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector4"></a>
|
|
<details><summary>Vector4</summary>
|
|
|
|
|||STRUCT_Vector4|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Vector4i"></a>
|
|
<details><summary>Vector4i</summary>
|
|
|
|
|||STRUCT_Vector4i|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Color"></a>
|
|
<details><summary>Color</summary>
|
|
|
|
|||STRUCT_Color|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Rect2"></a>
|
|
<details><summary>Rect2</summary>
|
|
|
|
|||STRUCT_Rect2|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Rect2i"></a>
|
|
<details><summary>Rect2i</summary>
|
|
|
|
|||STRUCT_Rect2i|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Plane"></a>
|
|
<details><summary>Plane</summary>
|
|
|
|
|||STRUCT_Plane|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_AABB"></a>
|
|
<details><summary>AABB</summary>
|
|
|
|
|||STRUCT_AABB|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Face3"></a>
|
|
<details><summary>Face3</summary>
|
|
|
|
|||STRUCT_Face3|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Transform2D"></a>
|
|
<details><summary>Transform2D</summary>
|
|
|
|
|||STRUCT_Transform2D|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Quaternion"></a>
|
|
<details><summary>Quaternion</summary>
|
|
|
|
|||STRUCT_Quaternion|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Basis"></a>
|
|
<details><summary>Basis</summary>
|
|
|
|
|||STRUCT_Basis|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Transform"></a>
|
|
<details><summary>Transform</summary>
|
|
|
|
|||STRUCT_Transform|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Projection"></a>
|
|
<details><summary>Projection</summary>
|
|
|
|
|||STRUCT_Projection|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_RandomPCG"></a>
|
|
<details><summary>RandomPCG</summary>
|
|
|
|
|||CLASS_RandomPCG|||
|
|
|
|
</details>
|
|
|
|
String
|
|
------------------------------------------------------------------
|
|
|
|
Helper Structs
|
|
|
|
<a name="STRUCT_CharRange"></a>
|
|
<details><summary>CharRange</summary>
|
|
|
|
|||STRUCT_CharRange|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_StrRange"></a>
|
|
<details><summary>StrRange</summary>
|
|
|
|
|||STRUCT_StrRange|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_NoCaseComparator"></a>
|
|
<details><summary>NoCaseComparator</summary>
|
|
|
|
|||STRUCT_NoCaseComparator|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_NaturalNoCaseComparator"></a>
|
|
<details><summary>NaturalNoCaseComparator</summary>
|
|
|
|
|||STRUCT_NaturalNoCaseComparator|||
|
|
|
|
</details>
|
|
|
|
Character Strings
|
|
|
|
<a name="STRUCT_StaticCString"></a>
|
|
<details><summary>StaticCString</summary>
|
|
|
|
You can statically store a C string with this.
|
|
|
|
|||STRUCT_StaticCString|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_Char16String"></a>
|
|
<details><summary>Char16String</summary>
|
|
|
|
16 bit (wide char) char string.
|
|
|
|
|||CLASS_Char16String|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_CharString"></a>
|
|
<details><summary>CharString</summary>
|
|
|
|
8 bit char string.
|
|
|
|
|||CLASS_CharString|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_CharProxy"></a>
|
|
<details><summary>CharProxy</summary>
|
|
|
|
Properly stores a reference to an element in a String.
|
|
|
|
|||CLASS_CharProxy|||
|
|
|
|
</details>
|
|
|
|
Main
|
|
|
|
<a name="CLASS_String"></a>
|
|
<details><summary>String</summary>
|
|
|
|
Main String class. This is what you normally use. Stores characters as 32 bit variables. It's COW (Copy on Write).
|
|
|
|
If you want to convert this to a char* use it's utf8() method.
|
|
|
|
|||CLASS_String|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_StringName"></a>
|
|
<details><summary>StringName</summary>
|
|
|
|
A String that is optimized for comparisons using ==.
|
|
|
|
|||CLASS_StringName|||
|
|
|
|
</details>
|
|
|
|
Containers
|
|
------------------------------------------------------------------
|
|
|
|
Helper Structs
|
|
|
|
<a name="STRUCT_Pair"></a>
|
|
<details><summary>Pair</summary>
|
|
|
|
|||STRUCT_Pair|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_KeyValue"></a>
|
|
<details><summary>KeyValue</summary>
|
|
|
|
|||STRUCT_KeyValue|||
|
|
|
|
</details>
|
|
|
|
<a name="STRUCT_Comparator"></a>
|
|
<details><summary>Comparator</summary>
|
|
|
|
|||STRUCT_Comparator|||
|
|
|
|
</details>
|
|
|
|
Helper Classes
|
|
|
|
<a name="CLASS_CowData"></a>
|
|
<details><summary>CowData</summary>
|
|
|
|
A helper class that implements COW (Copy-on-Write) functionality.
|
|
|
|
|||CLASS_CowData|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_VectorWriteProxy"></a>
|
|
<details><summary>VectorWriteProxy</summary>
|
|
|
|
|||CLASS_VectorWriteProxy|||
|
|
|
|
</details>
|
|
|
|
Lists
|
|
|
|
<a name="CLASS_List"></a>
|
|
<details><summary>List</summary>
|
|
|
|
|||CLASS_List|||
|
|
|
|
</details>
|
|
|
|
Vectors
|
|
|
|
<a name="CLASS_Vector"></a>
|
|
<details><summary>Vector</summary>
|
|
|
|
Vector with COW support.
|
|
|
|
|||CLASS_Vector|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_PoolVector"></a>
|
|
<details><summary>PoolVector</summary>
|
|
|
|
Vector that does not fragment memory.
|
|
|
|
|||CLASS_PoolVector|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_LocalVector"></a>
|
|
<details><summary>LocalVector</summary>
|
|
|
|
Simple vector. Uses unsigned ints as indexes.
|
|
|
|
Saves on allocation calls by overallocating memory.
|
|
|
|
This is the most similar to std::vector.
|
|
|
|
|||CLASS_LocalVector|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_LocalVectori"></a>
|
|
<details><summary>LocalVectori</summary>
|
|
|
|
Simple vector. Uses signed ints as indexes.
|
|
|
|
Saves on allocation calls by overallocating memory.
|
|
|
|
|||CLASS_LocalVectori|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TightLocalVector"></a>
|
|
<details><summary>TightLocalVector</summary>
|
|
|
|
Simple vector. Uses unsigned ints as indexes.
|
|
|
|
Unlike LocalVector it always only allocates the space it needs.
|
|
|
|
|||CLASS_TightLocalVector|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TightLocalVectori"></a>
|
|
<details><summary>TightLocalVectori</summary>
|
|
|
|
Simple vector. Uses signed ints as indexes.
|
|
|
|
Unlike LocalVector it always only allocates the space it needs.
|
|
|
|
|||CLASS_TightLocalVectori|||
|
|
|
|
</details>
|
|
|
|
Sets
|
|
|
|
<a name="CLASS_RBSet"></a>
|
|
<details><summary>RBSet</summary>
|
|
|
|
|||CLASS_RBSet|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_VSet"></a>
|
|
<details><summary>VSet</summary>
|
|
|
|
|||CLASS_VSet|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_HashSet"></a>
|
|
<details><summary>HashSet</summary>
|
|
|
|
|||CLASS_HashSet|||
|
|
|
|
</details>
|
|
|
|
Maps
|
|
|
|
<a name="CLASS_RBMap"></a>
|
|
<details><summary>RBMap</summary>
|
|
|
|
|||CLASS_RBMap|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_VMap"></a>
|
|
<details><summary>VMap</summary>
|
|
|
|
|||CLASS_VMap|||
|
|
|
|
</details>
|
|
|
|
HashMaps
|
|
|
|
<a name="CLASS_OGHashMap"></a>
|
|
<details><summary>OGHashMap</summary>
|
|
|
|
Simple HashMap implementation.
|
|
|
|
|||CLASS_OGHashMap|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_HashMap"></a>
|
|
<details><summary>HashMap</summary>
|
|
|
|
HashMap implementation that uses open addressing with Robin Hood hashing.
|
|
|
|
Use this by default.
|
|
|
|
|||CLASS_HashMap|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_OrderedHashMap"></a>
|
|
<details><summary>OrderedHashMap</summary>
|
|
|
|
HashMap implementation that keeps the order of it's elements.
|
|
|
|
|||CLASS_OrderedHashMap|||
|
|
|
|
</details>
|
|
|
|
Special
|
|
|
|
<a name="CLASS_SortArray"></a>
|
|
<details><summary>SortArray</summary>
|
|
|
|
|||CLASS_SortArray|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_RingBuffer"></a>
|
|
<details><summary>RingBuffer</summary>
|
|
|
|
|||CLASS_RingBuffer|||
|
|
|
|
</details>
|
|
|
|
|
|
Files
|
|
------------------------------------------------------------------
|
|
|
|
<a name="CLASS_FileAccess"></a>
|
|
<details><summary>FileAccess</summary>
|
|
|
|
|||CLASS_FileAccess|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_DirAccess"></a>
|
|
<details><summary>DirAccess</summary>
|
|
|
|
|||CLASS_DirAccess|||
|
|
|
|
</details>
|
|
|
|
Time
|
|
------------------------------------------------------------------
|
|
|
|
<a name="CLASS_STime"></a>
|
|
<details><summary>STime</summary>
|
|
|
|
|||CLASS_STime|||
|
|
|
|
</details>
|
|
|
|
Threading
|
|
------------------------------------------------------------------
|
|
|
|
Thread
|
|
|
|
<a name="CLASS_Thread"></a>
|
|
<details><summary>Thread</summary>
|
|
|
|
|||CLASS_Thread|||
|
|
|
|
</details>
|
|
|
|
Atomics
|
|
|
|
<a name="CLASS_SafeNumeric"></a>
|
|
<details><summary>SafeNumeric</summary>
|
|
|
|
|||CLASS_SafeNumeric|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_SafeFlag"></a>
|
|
<details><summary>SafeFlag</summary>
|
|
|
|
|||CLASS_SafeFlag|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_SafeRefCount"></a>
|
|
<details><summary>SafeRefCount</summary>
|
|
|
|
|||CLASS_SafeRefCount|||
|
|
|
|
</details>
|
|
|
|
Mutex
|
|
|
|
<a name="CLASS_MutexImpl"></a>
|
|
<details><summary>Mutex</summary>
|
|
|
|
Typedefined to Mutex.
|
|
|
|
|||CLASS_MutexImpl|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_MutexLock"></a>
|
|
<details><summary>MutexLock</summary>
|
|
|
|
Helper class to lock and automatically release it on leaving scope.
|
|
|
|
|||CLASS_MutexLock|||
|
|
|
|
</details>
|
|
|
|
RWLock
|
|
|
|
<a name="CLASS_RWLock"></a>
|
|
<details><summary>RWLock</summary>
|
|
|
|
|||CLASS_RWLock|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_RWLockRead"></a>
|
|
<details><summary>RWLockRead</summary>
|
|
|
|
|||CLASS_RWLockRead|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_RWLockWrite"></a>
|
|
<details><summary>RWLockWrite</summary>
|
|
|
|
|||CLASS_RWLockWrite|||
|
|
|
|
</details>
|
|
|
|
SpinLock
|
|
|
|
<a name="CLASS_SpinLock"></a>
|
|
<details><summary>SpinLock</summary>
|
|
|
|
|||CLASS_SpinLock|||
|
|
|
|
</details>
|
|
|
|
OBJECT
|
|
====================================================================================
|
|
|
|
Object
|
|
|
|
<a name="CLASS_Object"></a>
|
|
<details><summary>Object</summary>
|
|
|
|
|||CLASS_Object|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_ObjectDB"></a>
|
|
<details><summary>ObjectDB</summary>
|
|
|
|
|||CLASS_ObjectDB|||
|
|
|
|
</details>
|
|
|
|
Reference
|
|
|
|
<a name="CLASS_Reference"></a>
|
|
<details><summary>Reference</summary>
|
|
|
|
|||CLASS_Reference|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_Ref"></a>
|
|
<details><summary>Ref</summary>
|
|
|
|
|||CLASS_Ref|||
|
|
|
|
</details>
|
|
|
|
Resource
|
|
|
|
<a name="CLASS_Resource"></a>
|
|
<details><summary>Resource</summary>
|
|
|
|
|||CLASS_Resource|||
|
|
|
|
</details>
|
|
|
|
Variant
|
|
|
|
<a name="CLASS_Variant"></a>
|
|
<details><summary>Variant</summary>
|
|
|
|
|||CLASS_Variant|||
|
|
|
|
</details>
|
|
|
|
|
|
Variant Containers
|
|
|
|
<a name="CLASS_Array"></a>
|
|
<details><summary>Array</summary>
|
|
|
|
|||CLASS_Array|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_Dictionary"></a>
|
|
<details><summary>Dictionary</summary>
|
|
|
|
|||CLASS_Dictionary|||
|
|
|
|
</details>
|
|
|
|
Utilities
|
|
|
|
<a name="CLASS_Signal"></a>
|
|
<details><summary>Signal</summary>
|
|
|
|
|||CLASS_Signal|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_CoreStringNames"></a>
|
|
<details><summary>CoreStringNames</summary>
|
|
|
|
|||CLASS_CoreStringNames|||
|
|
|
|
</details>
|
|
|
|
RENDER CORE
|
|
====================================================================================
|
|
|
|
Application
|
|
------------------------------------------------------------------
|
|
|
|
<a name="CLASS_Application"></a>
|
|
<details><summary>Application</summary>
|
|
|
|
|||CLASS_Application|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_Scene"></a>
|
|
<details><summary>Scene</summary>
|
|
|
|
|||CLASS_Scene|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_AppWindow"></a>
|
|
<details><summary>AppWindow</summary>
|
|
|
|
|||CLASS_AppWindow|||
|
|
|
|
</details>
|
|
|
|
Input
|
|
------------------------------------------------------------------
|
|
|
|
Singletons
|
|
|
|
<a name="CLASS_Input"></a>
|
|
<details><summary>Input</summary>
|
|
|
|
|||CLASS_Input|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputMap"></a>
|
|
<details><summary>InputMap</summary>
|
|
|
|
|||CLASS_InputMap|||
|
|
|
|
</details>
|
|
|
|
Events
|
|
|
|
<a name="CLASS_InputEvent"></a>
|
|
<details><summary>InputEvent</summary>
|
|
|
|
|||CLASS_InputEvent|||
|
|
|
|
</details>
|
|
|
|
|
|
<a name="CLASS_InputEventWithModifiers"></a>
|
|
<details><summary>InputEventWithModifiers</summary>
|
|
|
|
|||CLASS_InputEventWithModifiers|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventKey"></a>
|
|
<details><summary>InputEventKey</summary>
|
|
|
|
|||CLASS_InputEventKey|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventMouse"></a>
|
|
<details><summary>InputEventMouse</summary>
|
|
|
|
|||CLASS_InputEventMouse|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventMouseButton"></a>
|
|
<details><summary>InputEventMouseButton</summary>
|
|
|
|
|||CLASS_InputEventMouseButton|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventMouseMotion"></a>
|
|
<details><summary>InputEventMouseMotion</summary>
|
|
|
|
|||CLASS_InputEventMouseMotion|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventAction"></a>
|
|
<details><summary>InputEventAction</summary>
|
|
|
|
|||CLASS_InputEventAction|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_InputEventShortCut"></a>
|
|
<details><summary>InputEventShortCut</summary>
|
|
|
|
|||CLASS_InputEventShortCut|||
|
|
|
|
</details>
|
|
|
|
Utility
|
|
|
|
<a name="CLASS_ShortCut"></a>
|
|
<details><summary>ShortCut</summary>
|
|
|
|
|||CLASS_ShortCut|||
|
|
|
|
</details>
|
|
|
|
Rendering
|
|
------------------------------------------------------------------
|
|
|
|
Images
|
|
|
|
<a name="CLASS_Image"></a>
|
|
<details><summary>Image</summary>
|
|
|
|
|||CLASS_Image|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_Texture"></a>
|
|
<details><summary>Texture</summary>
|
|
|
|
|||CLASS_Texture|||
|
|
|
|
</details>
|
|
|
|
Meshes
|
|
|
|
<a name="CLASS_Mesh"></a>
|
|
<details><summary>Mesh</summary>
|
|
|
|
|||CLASS_Mesh|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_MeshUtils"></a>
|
|
<details><summary>MeshUtils</summary>
|
|
|
|
|||CLASS_MeshUtils|||
|
|
|
|
</details>
|
|
|
|
Shaders
|
|
|
|
<a name="CLASS_Shader"></a>
|
|
<details><summary>Shader</summary>
|
|
|
|
|||CLASS_Shader|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_ShaderCache"></a>
|
|
<details><summary>ShaderCache</summary>
|
|
|
|
|||CLASS_ShaderCache|||
|
|
|
|
</details>
|
|
|
|
Fonts
|
|
|
|
<a name="CLASS_Font"></a>
|
|
<details><summary>Font</summary>
|
|
|
|
|||CLASS_Font|||
|
|
|
|
</details>
|
|
|
|
Materials
|
|
|
|
<a name="CLASS_Material"></a>
|
|
<details><summary>Material</summary>
|
|
|
|
|||CLASS_Material|||
|
|
|
|
</details>
|
|
|
|
Text Materials
|
|
|
|
<a name="CLASS_FontMaterial"></a>
|
|
<details><summary>FontMaterial</summary>
|
|
|
|
|||CLASS_FontMaterial|||
|
|
|
|
</details>
|
|
|
|
2D Materials
|
|
|
|
<a name="CLASS_ColorMaterial2D"></a>
|
|
<details><summary>ColorMaterial2D</summary>
|
|
|
|
|||CLASS_ColorMaterial2D|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TextureMaterial2D"></a>
|
|
<details><summary>TextureMaterial2D</summary>
|
|
|
|
|||CLASS_TextureMaterial2D|||
|
|
|
|
</details>
|
|
|
|
3D Materials
|
|
|
|
<a name="CLASS_ColorMaterial"></a>
|
|
<details><summary>ColorMaterial</summary>
|
|
|
|
|||CLASS_ColorMaterial|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TextureMaterial"></a>
|
|
<details><summary>TextureMaterial</summary>
|
|
|
|
|||CLASS_TextureMaterial|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_ColoredMaterial"></a>
|
|
<details><summary>ColoredMaterial</summary>
|
|
|
|
|||CLASS_ColoredMaterial|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TransparentTextureMaterial"></a>
|
|
<details><summary>TransparentTextureMaterial</summary>
|
|
|
|
|||CLASS_TransparentTextureMaterial|||
|
|
|
|
</details>
|
|
|
|
State
|
|
|
|
<a name="CLASS_RenderState"></a>
|
|
<details><summary>RenderState</summary>
|
|
|
|
|||CLASS_RenderState|||
|
|
|
|
</details>
|
|
|
|
Coordinate System
|
|
|
|
3D TODO doube check z
|
|
|
|
******************************************************************
|
|
*
|
|
* +x
|
|
* *--->--------. .------------.
|
|
* | | | |
|
|
* v +y | | |
|
|
* | | +y ^ ^ +z |
|
|
* | | |/ |
|
|
* '------------' *--->--------'
|
|
* / +x
|
|
* -z
|
|
* 2D 3D
|
|
******************************************************************
|
|
|
|
|
|
RENDER IMMEDIATE
|
|
====================================================================================
|
|
|
|
|
|
<a name="CLASS_Renderer"></a>
|
|
<details><summary>Renderer</summary>
|
|
|
|
|||CLASS_Renderer|||
|
|
|
|
</details>
|
|
|
|
|
|
RENDER OBJECTS
|
|
====================================================================================
|
|
|
|
Text
|
|
------------------------------------------------------------------
|
|
|
|
Base
|
|
|
|
<a name="CLASS_Text2D"></a>
|
|
<details><summary>Text2D</summary>
|
|
|
|
|||CLASS_Text2D|||
|
|
|
|
</details>
|
|
|
|
2D
|
|
------------------------------------------------------------------
|
|
|
|
Base
|
|
|
|
<a name="CLASS_Object2D"></a>
|
|
<details><summary>Object2D</summary>
|
|
|
|
|||CLASS_Object2D|||
|
|
|
|
</details>
|
|
|
|
Camera
|
|
|
|
<a name="CLASS_Camera2D"></a>
|
|
<details><summary>Camera2D</summary>
|
|
|
|
|||CLASS_Camera2D|||
|
|
|
|
</details>
|
|
|
|
Objects
|
|
|
|
<a name="CLASS_Sprite"></a>
|
|
<details><summary>Sprite</summary>
|
|
|
|
|||CLASS_Sprite|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_TileMap"></a>
|
|
<details><summary>TileMap</summary>
|
|
|
|
|||CLASS_TileMap|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_MeshInstance2D"></a>
|
|
<details><summary>MeshInstance2D</summary>
|
|
|
|
|||CLASS_MeshInstance2D|||
|
|
|
|
</details>
|
|
|
|
|
|
3D
|
|
------------------------------------------------------------------
|
|
|
|
Base
|
|
|
|
<a name="CLASS_Object3D"></a>
|
|
<details><summary>Object3D</summary>
|
|
|
|
|||CLASS_Object3D|||
|
|
|
|
</details>
|
|
|
|
Camera
|
|
|
|
<a name="CLASS_Camera3D"></a>
|
|
<details><summary>Camera3D</summary>
|
|
|
|
|||CLASS_Camera3D|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_OrthographicCamera"></a>
|
|
<details><summary>OrthographicCamera</summary>
|
|
|
|
|||CLASS_OrthographicCamera|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_PerspectiveCamera"></a>
|
|
<details><summary>PerspectiveCamera</summary>
|
|
|
|
|||CLASS_PerspectiveCamera|||
|
|
|
|
</details>
|
|
|
|
<a name="CLASS_FrustumCamera"></a>
|
|
<details><summary>FrustumCamera</summary>
|
|
|
|
|||CLASS_FrustumCamera|||
|
|
|
|
</details>
|
|
|
|
Objects
|
|
|
|
<a name="CLASS_MeshInstance3D"></a>
|
|
<details><summary>MeshInstance3D</summary>
|
|
|
|
|||CLASS_MeshInstance3D|||
|
|
|
|
</details>
|
|
|
|
|
|
ADVANCED
|
|
====================================================================================
|
|
|
|
There are a few remaining classes that were omitted from this document (Like allocators, hashers etc.),
|
|
as you will normally won't need them. (If you do, you will likely just need to rread the source anyway.)
|
|
|
|
WHERE TO GO NEXT
|
|
====================================================================================
|
|
|
|
TODO link a bunch of cool projects.
|
|
|
|
<script>markdeepOptions = {tocStyle:'long', definitionStyle:'long', linkAPIDefinitions: true};</script>
|
|
<link rel="stylesheet" href="slate.css">
|
|
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js?"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
|
|
|