00001 /* Orx - Portable Game Engine 00002 * 00003 * Copyright (c) 2008-2011 Orx-Project 00004 * 00005 * This software is provided 'as-is', without any express or implied 00006 * warranty. In no event will the authors be held liable for any damages 00007 * arising from the use of this software. 00008 * 00009 * Permission is granted to anyone to use this software for any purpose, 00010 * including commercial applications, and to alter it and redistribute it 00011 * freely, subject to the following restrictions: 00012 * 00013 * 1. The origin of this software must not be misrepresented; you must not 00014 * claim that you wrote the original software. If you use this software 00015 * in a product, an acknowledgment in the product documentation would be 00016 * appreciated but is not required. 00017 * 00018 * 2. Altered source versions must be plainly marked as such, and must not be 00019 * misrepresented as being the original software. 00020 * 00021 * 3. This notice may not be removed or altered from any source 00022 * distribution. 00023 */ 00024 00043 #ifndef _orxRENDER_H_ 00044 #define _orxRENDER_H_ 00045 00046 00047 #include "orxInclude.h" 00048 #include "plugin/orxPluginCore.h" 00049 00050 #include "object/orxFrame.h" 00051 #include "object/orxObject.h" 00052 00053 00056 #define orxRENDER_KZ_CONFIG_SECTION "Render" 00057 #define orxRENDER_KZ_CONFIG_SHOW_FPS "ShowFPS" 00058 #define orxRENDER_KZ_CONFIG_SHOW_PROFILER "ShowProfiler" 00059 #define orxRENDER_KZ_CONFIG_MIN_FREQUENCY "MinFrequency" 00060 00061 00064 typedef enum __orxRENDER_EVENT_t 00065 { 00066 orxRENDER_EVENT_START = 0, 00067 orxRENDER_EVENT_STOP, 00068 orxRENDER_EVENT_VIEWPORT_START, 00069 orxRENDER_EVENT_VIEWPORT_STOP, 00070 orxRENDER_EVENT_OBJECT_START, 00071 orxRENDER_EVENT_OBJECT_STOP, 00073 orxRENDER_EVENT_NUMBER, 00074 00075 orxRENDER_EVENT_NONE = orxENUM_NONE 00076 00077 } orxRENDER_EVENT; 00078 00081 typedef struct __orxRENDER_EVENT_OBJECT_PAYLOAD_t 00082 { 00083 orxBITMAP *pstRenderBitmap; 00084 orxFRAME *pstRenderFrame; 00086 } orxRENDER_EVENT_OBJECT_PAYLOAD; 00087 00088 00089 /*************************************************************************** 00090 * Functions directly implemented by orx core 00091 ***************************************************************************/ 00092 00095 extern orxDLLAPI void orxFASTCALL orxRender_Setup(); 00096 00097 00098 /*************************************************************************** 00099 * Functions extended by plugins 00100 ***************************************************************************/ 00101 00105 extern orxDLLAPI orxSTATUS orxFASTCALL orxRender_Init(); 00106 00109 extern orxDLLAPI void orxFASTCALL orxRender_Exit(); 00110 00116 extern orxDLLAPI orxVECTOR *orxFASTCALL orxRender_GetWorldPosition(const orxVECTOR *_pvScreenPosition, orxVECTOR *_pvWorldPosition); 00117 00118 #endif /* _orxRENDER_H_ */ 00119
1.5.6