59typedef struct __orxRGBA_t
73#define orx2RGBA(R, G, B, A) orxRGBA_Set((orxU8)(R), (orxU8)(G), (orxU8)(B), (orxU8)(A))
74#define orxRGBA_R(RGBA) RGBA.u8R
75#define orxRGBA_G(RGBA) RGBA.u8G
76#define orxRGBA_B(RGBA) RGBA.u8B
77#define orxRGBA_A(RGBA) RGBA.u8A
79#define orxCOLOR_NORMALIZER (orx2F(1.0f / 255.0f))
80#define orxCOLOR_DENORMALIZER (orx2F(255.0f))
87typedef enum __orxDISPLAY_ORIENTATION_t
103typedef struct __orxDISPLAY_VERTEX_t
113typedef struct __orxDISPLAY_TRANSFORM_t
125typedef enum __orxDISPLAY_PRIMITIVE_t
143typedef struct __orxDISPLAY_MESH_t
155typedef struct __orxDISPLAY_VIDEO_MODE_t
164typedef struct __orxCHARACTER_GLYPH_t
172typedef struct __orxCHARACTER_MAP_t
183typedef enum __orxDISPLAY_SMOOTHING_t
197typedef enum __orxDISPLAY_BLEND_MODE_t
212typedef struct __orxCOLOR_t
227#define orxDISPLAY_KZ_CONFIG_SECTION "Display"
228#define orxDISPLAY_KZ_CONFIG_WIDTH "ScreenWidth"
229#define orxDISPLAY_KZ_CONFIG_HEIGHT "ScreenHeight"
230#define orxDISPLAY_KZ_CONFIG_DEPTH "ScreenDepth"
231#define orxDISPLAY_KZ_CONFIG_POSITION "ScreenPosition"
232#define orxDISPLAY_KZ_CONFIG_REFRESH_RATE "RefreshRate"
233#define orxDISPLAY_KZ_CONFIG_FULLSCREEN "FullScreen"
234#define orxDISPLAY_KZ_CONFIG_ALLOW_RESIZE "AllowResize"
235#define orxDISPLAY_KZ_CONFIG_DECORATION "Decoration"
236#define orxDISPLAY_KZ_CONFIG_TITLE "Title"
237#define orxDISPLAY_KZ_CONFIG_SMOOTH "Smoothing"
238#define orxDISPLAY_KZ_CONFIG_VSYNC "VSync"
239#define orxDISPLAY_KZ_CONFIG_DEPTHBUFFER "DepthBuffer"
240#define orxDISPLAY_KZ_CONFIG_SHADER_VERSION "ShaderVersion"
241#define orxDISPLAY_KZ_CONFIG_SHADER_EXTENSION_LIST "ShaderExtensionList"
242#define orxDISPLAY_KZ_CONFIG_MONITOR "Monitor"
243#define orxDISPLAY_KZ_CONFIG_CURSOR "Cursor"
244#define orxDISPLAY_KZ_CONFIG_ICON_LIST "IconList"
245#define orxDISPLAY_KZ_CONFIG_FRAMEBUFFER_SIZE "FramebufferSize"
246#define orxDISPLAY_KZ_CONFIG_CONTENT_SCALE "ContentScale"
247#define orxDISPLAY_KZ_CONFIG_TEXTURE_UNIT_NUMBER "TextureUnitNumber"
248#define orxDISPLAY_KZ_CONFIG_DRAW_BUFFER_NUMBER "DrawBufferNumber"
249#define orxDISPLAY_KZ_CONFIG_MAX_TEXTURE_SIZE "MaxTextureSize"
250#define orxDISPLAY_KZ_CONFIG_DEBUG_OUTPUT "DebugOutput"
252#define orxCOLOR_KZ_CONFIG_SECTION "Color"
257#define orxDISPLAY_KZ_SHADER_SUFFIX_TOP "_top"
258#define orxDISPLAY_KZ_SHADER_SUFFIX_LEFT "_left"
259#define orxDISPLAY_KZ_SHADER_SUFFIX_BOTTOM "_bottom"
260#define orxDISPLAY_KZ_SHADER_SUFFIX_RIGHT "_right"
265#define orxDISPLAY_KC_SHADER_EXTENSION_ADD '+'
266#define orxDISPLAY_KC_SHADER_EXTENSION_REMOVE '-'
271typedef enum __orxDISPLAY_EVENT_t
284typedef struct __orxDISPLAY_EVENT_PAYLOAD_t
318#if defined(__orxIOS__) && defined(__orxOBJC__)
320#import <UIKit/UIKit.h>
321#import <OpenGLES/EAGL.h>
322#import <OpenGLES/ES1/gl.h>
323#import <OpenGLES/ES1/glext.h>
324#import <OpenGLES/ES2/gl.h>
325#import <OpenGLES/ES2/glext.h>
329@interface orxViewController : UIViewController
332 UIInterfaceOrientation eOrientation;
335@property UIInterfaceOrientation eOrientation;
341@interface orxView : UIView
344 EAGLContext *poMainContext, *poThreadContext;
345 GLuint uiRenderBuffer, uiDepthBuffer, uiScreenFrameBuffer, uiTextureFrameBuffer;
346 BOOL bShaderSupport, bCompressedTextureSupport;
349+ (orxView *) GetInstance;
352- (void) NotifyAcceleration:(UIAcceleration *)_poAcceleration;
354@property (nonatomic, retain) EAGLContext *poMainContext;
355@property (nonatomic, retain) EAGLContext *poThreadContext;
356@property BOOL bShaderSupport;
357@property BOOL bCompressedTextureSupport;
429 _pstColor->
fAlpha = _fAlpha;
468 _pstColor->
fAlpha = _fAlpha;
529 orxFLOAT fMin, fMax, fDelta, fR, fG, fB;
543 fDelta = fMax - fMin;
546 pstResult->
vHSL.
fL = orx2F(0.5f) * (fMax + fMin);
558 ? fDelta / (fMax + fMin)
559 : fDelta / (orx2F(2.0f) - fMax - fMin);
565 pstResult->
vHSL.
fH = orx2F(1.0f / 6.0f) * (fG - fB) / fDelta;
571 pstResult->
vHSL.
fH = orx2F(1.0f / 3.0f) + (orx2F(1.0f / 6.0f) * (fB - fR) / fDelta);
577 pstResult->
vHSL.
fH = orx2F(2.0f / 3.0f) + (orx2F(1.0f / 6.0f) * (fR - fG) / fDelta);
608#define orxCOLOR_GET_RGB_COMPONENT(RESULT, ALT, CHROMA, HUE) \
611 if(HUE < orx2F(1.0f / 6.0f)) \
613 RESULT = ALT + (orx2F(6.0f) * HUE * (CHROMA - ALT)); \
615 else if(HUE < orx2F(1.0f / 2.0f)) \
619 else if(HUE < orx2F(2.0f / 3.0f)) \
621 RESULT = ALT + (orx2F(6.0f) * (CHROMA - ALT) * (orx2F(2.0f / 3.0f) - HUE)); \
627 if(RESULT < orxMATH_KF_EPSILON) \
629 RESULT = orxFLOAT_0; \
631 else if(RESULT > orxFLOAT_1 - orxMATH_KF_EPSILON) \
633 RESULT = orxFLOAT_1; \
655 orxFLOAT fChroma, fIntermediate;
658 fChroma = (fL < orx2F(0.5f))
660 : fL + fS - (fL * fS);
663 fIntermediate = (orx2F(2.0f) * fL) - fChroma;
666 if(fH > orx2F(2.0f / 3.0f))
675 if(fH < orx2F(1.0f / 3.0f))
700 orxFLOAT fMin, fMax, fDelta, fR, fG, fB;
714 fDelta = fMax - fMin;
717 pstResult->
vHSL.
fV = fMax;
728 pstResult->
vHSL.
fS = fDelta / fMax;
734 pstResult->
vHSL.
fH = orx2F(1.0f / 6.0f) * (fG - fB) / fDelta;
740 pstResult->
vHSL.
fH = orx2F(1.0f / 3.0f) + (orx2F(1.0f / 6.0f) * (fB - fR) / fDelta);
746 pstResult->
vHSL.
fH = orx2F(2.0f / 3.0f) + (orx2F(1.0f / 6.0f) * (fR - fG) / fDelta);
794 orxFLOAT fFullHue, fSector, fIntermediate;
797 fIntermediate = fV * fS;
800 fFullHue = orx2F(6.0f) * fH;
811 pstResult->
vRGB.
fG = fV - (fIntermediate - (fIntermediate * (fFullHue - fSector)));
812 pstResult->
vRGB.
fB = fV - fIntermediate;
820 pstResult->
vRGB.
fR = fV - (fIntermediate * (fFullHue - fSector));
822 pstResult->
vRGB.
fB = fV - fIntermediate;
830 pstResult->
vRGB.
fR = fV - fIntermediate;
832 pstResult->
vRGB.
fB = fV - (fIntermediate - (fIntermediate * (fFullHue - fSector)));
840 pstResult->
vRGB.
fR = fV - fIntermediate;
841 pstResult->
vRGB.
fG = fV - (fIntermediate * (fFullHue - fSector));
850 pstResult->
vRGB.
fR = fV - (fIntermediate - (fIntermediate * (fFullHue - fSector)));
851 pstResult->
vRGB.
fG = fV - fIntermediate;
861 pstResult->
vRGB.
fG = fV - fIntermediate;
862 pstResult->
vRGB.
fB = fV - (fIntermediate * (fFullHue - fSector));
struct __orxBANK_t orxBANK
#define orxASSERT(TEST,...)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetShaderVector(orxHANDLE _hShader, orxS32 _s32ID, const orxVECTOR *_pvValue)
#define orxCOLOR_NORMALIZER
orxDLLAPI void orxFASTCALL orxDisplay_Exit()
orxDLLAPI orxBOOL orxFASTCALL orxDisplay_IsFullScreen()
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_GetScreenSize(orxFLOAT *_pfWidth, orxFLOAT *_pfHeight)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetTempBitmap(const orxBITMAP *_pstBitmap)
orxDLLAPI orxBITMAP *orxFASTCALL orxDisplay_CreateBitmap(orxU32 _u32Width, orxU32 _u32Height)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetBlendMode(orxDISPLAY_BLEND_MODE _eBlendMode)
static orxINLINE orxCOLOR * orxColor_Set(orxCOLOR *_pstColor, const orxVECTOR *_pvRGB, orxFLOAT _fAlpha)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetFullScreen(orxBOOL _bFullScreen)
orxDLLAPI void orxFASTCALL orxDisplay_DeleteShader(orxHANDLE _hShader)
static orxINLINE orxRGBA orxColor_ToRGBA(const orxCOLOR *_pstColor)
static orxINLINE orxCOLOR * orxColor_SetRGB(orxCOLOR *_pstColor, const orxVECTOR *_pvRGB)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawPolyline(const orxVECTOR *_avVertexList, orxU32 _u32VertexNumber, orxRGBA _stColor)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_ClearBitmap(orxBITMAP *_pstBitmap, orxRGBA _stColor)
#define orxCOLOR_DENORMALIZER
orxDLLAPI orxBOOL orxFASTCALL orxDisplay_IsVideoModeAvailable(const orxDISPLAY_VIDEO_MODE *_pstVideoMode)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawPolygon(const orxVECTOR *_avVertexList, orxU32 _u32VertexNumber, orxRGBA _stColor, orxBOOL _bFill)
static orxCOLOR *orxFASTCALL orxColor_FromHSLToRGB(orxCOLOR *_pstDst, const orxCOLOR *_pstSrc)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawMesh(const orxDISPLAY_MESH *_pstMesh, const orxBITMAP *_pstBitmap, orxDISPLAY_SMOOTHING _eSmoothing, orxDISPLAY_BLEND_MODE _eBlendMode)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetShaderFloat(orxHANDLE _hShader, orxS32 _s32ID, orxFLOAT _fValue)
static orxINLINE orxCOLOR * orxColor_Copy(orxCOLOR *_pstDst, const orxCOLOR *_pstSrc)
orxDLLAPI orxHANDLE orxFASTCALL orxDisplay_CreateShader(const orxSTRING *_azCodeList, orxU32 _u32Size, const orxLINKLIST *_pstParamList, orxBOOL _bUseCustomParam)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetBitmapClipping(orxBITMAP *_pstBitmap, orxU32 _u32TLX, orxU32 _u32TLY, orxU32 _u32BRX, orxU32 _u32BRY)
static orxCOLOR *orxFASTCALL orxColor_FromHSVToRGB(orxCOLOR *_pstDst, const orxCOLOR *_pstSrc)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_TransformText(const orxSTRING _zString, const orxBITMAP *_pstFont, const orxCHARACTER_MAP *_pstMap, const orxDISPLAY_TRANSFORM *_pstTransform, orxRGBA _stColor, orxDISPLAY_SMOOTHING _eSmoothing, orxDISPLAY_BLEND_MODE _eBlendMode)
static orxINLINE orxCOLOR * orxColor_SetAlpha(orxCOLOR *_pstColor, orxFLOAT _fAlpha)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_GetBitmapData(const orxBITMAP *_pstBitmap, orxU8 *_au8Data, orxU32 _u32ByteNumber)
orxDLLAPI void orxFASTCALL orxDisplay_Setup()
static orxCOLOR *orxFASTCALL orxColor_FromRGBToHSL(orxCOLOR *_pstDst, const orxCOLOR *_pstSrc)
orxDLLAPI orxBITMAP *orxFASTCALL orxDisplay_LoadFont(const orxSTRING _zFileName, const orxSTRING _zCharacterList, const orxVECTOR *_pvCharacterSize, const orxVECTOR *_pvCharacterSpacing, const orxVECTOR *_pvCharacterPadding, orxBOOL _bSDF, orxFLOAT *_afCharacterWidthList)
static orxINLINE orxRGBA orxRGBA_Set(orxU8 _u8R, orxU8 _u8G, orxU8 _u8B, orxU8 _u8A)
struct __orxBITMAP_t orxBITMAP
orxDLLAPI orxU32 orxFASTCALL orxDisplay_GetVideoModeCount()
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetVideoMode(const orxDISPLAY_VIDEO_MODE *_pstVideoMode)
orxDLLAPI orxU32 orxFASTCALL orxDisplay_GetBitmapID(const orxBITMAP *_pstBitmap)
orxDLLAPI orxDISPLAY_VIDEO_MODE *orxFASTCALL orxDisplay_GetVideoMode(orxU32 _u32Index, orxDISPLAY_VIDEO_MODE *_pstVideoMode)
orxDLLAPI const orxBITMAP *orxFASTCALL orxDisplay_GetTempBitmap()
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_StartShader(const orxHANDLE _hShader)
#define orx2RGBA(R, G, B, A)
orxDLLAPI orxU32 orxFASTCALL orxDisplay_GetShaderID(const orxHANDLE _hShader)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawLine(const orxVECTOR *_pvStart, const orxVECTOR *_pvEnd, orxRGBA _stColor)
orxDLLAPI orxBITMAP *orxFASTCALL orxDisplay_GetScreenBitmap()
orxDLLAPI orxS32 orxFASTCALL orxDisplay_GetParameterID(orxHANDLE _hShader, const orxSTRING _zParam, orxS32 _s32Index, orxBOOL _bIsTexture)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetPartialBitmapData(orxBITMAP *_pstBitmap, const orxU8 *_au8Data, orxU32 _u32X, orxU32 _u32Y, orxU32 _u32Width, orxU32 _u32Height)
static orxCOLOR *orxFASTCALL orxColor_FromRGBToHSV(orxCOLOR *_pstDst, const orxCOLOR *_pstSrc)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetDestinationBitmaps(orxBITMAP **_apstBitmapList, orxU32 _u32Number)
orxDLLAPI orxBOOL orxFASTCALL orxDisplay_HasShaderSupport()
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_TransformBitmap(const orxBITMAP *_pstSrc, const orxDISPLAY_TRANSFORM *_pstTransform, orxRGBA _stColor, orxDISPLAY_SMOOTHING _eSmoothing, orxDISPLAY_BLEND_MODE _eBlendMode)
orxDLLAPI orxBITMAP *orxFASTCALL orxDisplay_LoadBitmap(const orxSTRING _zFileName)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawOBox(const orxOBOX *_pstBox, orxRGBA _stColor, orxBOOL _bFill)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_GetBitmapSize(const orxBITMAP *_pstBitmap, orxFLOAT *_pfWidth, orxFLOAT *_pfHeight)
static orxINLINE orxCOLOR * orxColor_SetRGBA(orxCOLOR *_pstColor, orxRGBA _stRGBA)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_StopShader(const orxHANDLE _hShader)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetShaderBitmap(orxHANDLE _hShader, orxS32 _s32ID, const orxBITMAP *_pstValue)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SaveBitmap(const orxBITMAP *_pstBitmap, const orxSTRING _zFileName)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_DrawCircle(const orxVECTOR *_pvCenter, orxFLOAT _fRadius, orxRGBA _stColor, orxBOOL _bFill)
orxDLLAPI orxBOOL orxFASTCALL orxDisplay_IsVSyncEnabled()
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_Init()
orxDLLAPI void orxFASTCALL orxDisplay_DeleteBitmap(orxBITMAP *_pstBitmap)
orxDLLAPI orxDISPLAY_BLEND_MODE orxFASTCALL orxDisplay_GetBlendModeFromString(const orxSTRING _zBlendMode)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_EnableVSync(orxBOOL _bEnable)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_SetBitmapData(orxBITMAP *_pstBitmap, const orxU8 *_au8Data, orxU32 _u32ByteNumber)
orxDLLAPI orxSTATUS orxFASTCALL orxDisplay_Swap()
@ orxDISPLAY_SMOOTHING_ON
@ orxDISPLAY_SMOOTHING_NUMBER
@ orxDISPLAY_SMOOTHING_DEFAULT
@ orxDISPLAY_SMOOTHING_NONE
@ orxDISPLAY_SMOOTHING_OFF
@ orxDISPLAY_EVENT_LOAD_BITMAP
@ orxDISPLAY_EVENT_NUMBER
@ orxDISPLAY_EVENT_SET_VIDEO_MODE
@ orxDISPLAY_PRIMITIVE_TRIANGLE_FAN
@ orxDISPLAY_PRIMITIVE_TRIANGLE_STRIP
@ orxDISPLAY_PRIMITIVE_NUMBER
@ orxDISPLAY_PRIMITIVE_POINTS
@ orxDISPLAY_PRIMITIVE_LINE_STRIP
@ orxDISPLAY_PRIMITIVE_NONE
@ orxDISPLAY_PRIMITIVE_TRIANGLES
@ orxDISPLAY_PRIMITIVE_LINE_LOOP
@ orxDISPLAY_PRIMITIVE_LINES
@ orxDISPLAY_ORIENTATION_NONE
@ orxDISPLAY_ORIENTATION_DOWN
@ orxDISPLAY_ORIENTATION_RIGHT
@ orxDISPLAY_ORIENTATION_UP
@ orxDISPLAY_ORIENTATION_NUMBER
@ orxDISPLAY_ORIENTATION_LEFT
@ orxDISPLAY_BLEND_MODE_NONE
@ orxDISPLAY_BLEND_MODE_ALPHA
@ orxDISPLAY_BLEND_MODE_MULTIPLY
@ orxDISPLAY_BLEND_MODE_NUMBER
@ orxDISPLAY_BLEND_MODE_PREMUL
@ orxDISPLAY_BLEND_MODE_ADD
struct __orxHASHTABLE_t orxHASHTABLE
static orxINLINE orxFLOAT orxMath_Floor(orxFLOAT _fOp)
static orxINLINE orxFLOAT orxMath_Round(orxFLOAT _fOp)
#define orxCLAMP(V, MIN, MAX)
static orxINLINE void * orxMemory_Copy(void *_pDest, const void *_pSrc, orxU32 _u32Size)
static const orxFLOAT orxFLOAT_1
static const orxFLOAT orxFLOAT_0
static orxINLINE orxVECTOR * orxVector_Mulf(orxVECTOR *_pvRes, const orxVECTOR *_pvOp1, orxFLOAT _fOp2)
static orxINLINE orxVECTOR * orxVector_SetAll(orxVECTOR *_pvVec, orxFLOAT _fValue)
static orxINLINE orxVECTOR * orxVector_Copy(orxVECTOR *_pvDst, const orxVECTOR *_pvSrc)
static orxINLINE orxVECTOR * orxVector_Set(orxVECTOR *_pvVec, orxFLOAT _fX, orxFLOAT _fY, orxFLOAT _fZ)
static orxINLINE orxVECTOR * orxVector_Clamp(orxVECTOR *_pvRes, const orxVECTOR *_pvOp, const orxVECTOR *_pvMin, const orxVECTOR *_pvMax)
#define orxCOLOR_GET_RGB_COMPONENT(RESULT, ALT, CHROMA, HUE)
orxFLOAT fCharacterHeight
orxBANK * pstCharacterBank
orxHASHTABLE * pstCharacterTable
orxU32 u32PreviousRefreshRate
const orxSTRING zLocation
const orxDISPLAY_VERTEX * astVertexList
orxDISPLAY_PRIMITIVE ePrimitive
const orxU16 * au16IndexList
orxDISPLAY_ORIENTATION eOrientation