28 #ifndef _CEGUI_IrrlichtRenderer_h_
29 #define _CEGUI_IrrlichtRenderer_h_
31 #include "IrrlichtRendererDef.h"
32 #include "irrlichttexture.h"
33 #include "IrrlichtResourceProvider.h"
35 #include "CEGUIRenderer.h"
36 #include "CEGUIInputEvent.h"
44 # pragma warning(push)
45 # pragma warning(disable : 4251)
72 IrrlichtRenderer(irr::IrrlichtDevice* dev,
bool bWithIrrlichtResourceProvicer=
false);
84 bool OnEvent(
const irr::SEvent& event);
115 virtual void addQuad(
const Rect& dest_rect,
float z,
const Texture* tex,
128 virtual void doRender(
void);
138 virtual void clearRenderList(
void);
156 virtual void setQueueingEnabled(
bool setting);
167 virtual Texture* createTexture(
void);
207 virtual Texture* createTexture(
float size);
220 virtual void destroyTexture(
Texture* texture);
230 virtual void destroyAllTextures(
void);
240 virtual bool isQueueingEnabled(
void)
const;
250 virtual float getWidth(
void)
const;
260 virtual float getHeight(
void)
const;
270 virtual Size getSize(
void)
const;
281 virtual Rect getRect(
void)
const;
291 virtual uint getMaxTextureSize(
void)
const;
301 virtual uint getHorzScreenDPI(
void)
const;
311 virtual uint getVertScreenDPI(
void)
const;
327 void setDisplaySize(
const Size& sz);
332 irr::IrrlichtDevice* device;
334 irr::video::IVideoDriver* driver;
336 irr::core::dimension2d<irr::s32> resolution;
338 irr::core::dimension2d<irr::s32> screensize;
341 bool bQueuingEnabled;
345 bool bWithIrrlichtResourceProvicer;
352 RenderQuad(
float zVal,
353 const irr::core::rect<irr::s32>& target,
354 const irr::core::rect<irr::s32>& source,
356 :z(zVal),dst(target),src(source),colours(col){
361 irr::core::rect<irr::s32> dst;
362 irr::core::rect<irr::s32> src;
367 RenderQuad dummyQuad;
371 :
public std::binary_function<RenderQuad*, RenderQuad*, bool>
373 bool operator()(
const RenderQuad& _Left,
const RenderQuad& _Right)
const
374 {
return (_Left.z > _Right.z);}
378 std::vector<RenderQuad> renderlist;
381 std::vector<IrrlichtTexture*> textures;
387 void doRender(RenderQuad& quad);
390 void print(RenderQuad& quad);
393 inline irr::video::SColor toIrrlichtColor(CEGUI::ulong cecolor);
394 irr::video::SColor colors[4];
404 #if defined(_MSC_VER)
405 # pragma warning(pop)