         2drop Vector4 (struct)
     ] [ invalid-vector-length ] if ; inline
 
+! Matrix type (OpenGL style 4x4 - right handed, column major)
+STRUCT: Matrix
+    { m0 float } { m4 float } { m8 float } { m12 float }
+    { m1 float } { m5 float } { m9 float } { m13 float }
+    { m2 float } { m6 float } { m10 float } { m14 float }
+    { m3 float } { m7 float } { m11 float } { m15 float } ;
+
+STRUCT: Color
+    { r uchar }
+    { g uchar }
+    { b uchar }
+    { a uchar } ;
+
 STRUCT: Rectangle
     { x float }
     { y float }

    { rotation float }    ! Camera rotation in degrees
    { zoom float } ;      ! Camera zoom (scaling), should be 1.0f by default
TYPEDEF: Camera3D Camera  ! Default to 3D Camera

STRUCT: BoundingBox
    { min Vector3 }       ! Minimum vertex box-corner
    { max Vector3 } ;     ! Maximum vertex box-corner

STRUCT: Mesh
    { vertexCount int }   ! Number of vertices stored in arrays

    {  FLAG_WINDOW_HIDDEN        128   }
    {  FLAG_MSAA_4X_HINT          32   }   !  Set to try enabling MSAA 4X
    {  FLAG_VSYNC_HINT            64   } ; !  Set to try enabling V-Sync on GPU

ENUM: TraceLogType
    LOG_ALL
    LOG_TRACE
    LOG_DEBUG
    LOG_INFO
    LOG_WARNING
    LOG_ERROR
    LOG_FATAL
    LOG_NONE ;
    
ENUM: KeyboardFunctionKeys
    {  KEY_SPACE            32 } 
