27 #ifndef _CEGUIDirect3D9Renderer_h_ 
   28 #define _CEGUIDirect3D9Renderer_h_ 
   30 #include "../../Base.h" 
   31 #include "../../Renderer.h" 
   32 #include "../../Size.h" 
   33 #include "../../Vector.h" 
   39 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC) 
   40 #   ifdef CEGUIDIRECT3D9RENDERER_EXPORTS 
   41 #       define DIRECT3D9_GUIRENDERER_API __declspec(dllexport) 
   43 #       define DIRECT3D9_GUIRENDERER_API __declspec(dllimport) 
   46 #   define DIRECT3D9_GUIRENDERER_API 
   50 #   pragma warning(push) 
   51 #   pragma warning(disable : 4251) 
   57 class Direct3D9Texture;
 
   58 class Direct3D9GeometryBuffer;
 
   88                                               const int abi = CEGUI_VERSION_ABI);
 
  105     static void destroySystem();
 
  112                                      const int abi = CEGUI_VERSION_ABI);
 
  147     LPDIRECT3DDEVICE9 getDevice() 
const;
 
  150     Texture& createTexture(
const String& name, LPDIRECT3DTEXTURE9 tex);
 
  153     bool supportsNonSquareTexture();
 
  156     bool supportsNPOTTextures();
 
  162     void setupRenderingBlendMode(
const BlendMode mode,
 
  163                                  const bool force = 
false);
 
  169     void destroyAllGeometryBuffers();
 
  172     void destroyAllTextureTargets();
 
  176                            const String& resourceGroup);
 
  178     void destroyTexture(
Texture& texture);
 
  179     void destroyTexture(
const String& name);
 
  180     void destroyAllTextures();
 
  182     bool isTextureDefined(
const String& name) 
const;
 
  183     void beginRendering();
 
  185     void setDisplaySize(
const Sizef& sz);
 
  186     const Sizef& getDisplaySize() 
const;
 
  187     const Vector2f& getDisplayDPI() 
const;
 
  188     uint getMaxTextureSize() 
const;
 
  189     const String& getIdentifierString() 
const;
 
  199     void throwIfNameExists(
const String& name) 
const;
 
  201     static void logTextureCreation(
const String& name);
 
  203     static void logTextureDestruction(
const String& name);
 
  206     Sizef getViewportSize();
 
  208     float getSizeNextPOT(
float sz) 
const;
 
  211     static String d_rendererID;
 
  213     LPDIRECT3DDEVICE9 d_device;
 
  221     typedef std::vector<TextureTarget*> TextureTargetList;
 
  223     TextureTargetList d_textureTargets;
 
  225     typedef std::vector<Direct3D9GeometryBuffer*> GeometryBufferList;
 
  227     GeometryBufferList d_geometryBuffers;
 
  230                      CEGUI_MAP_ALLOC(String, Direct3D9Texture*)> TextureMap;
 
  232     TextureMap d_textures;
 
  234     uint d_maxTextureSize;
 
  236     bool d_supportNPOTTex;
 
  238     bool d_supportNonSquareTex;
 
  245 #if defined(_MSC_VER) 
  246 #   pragma warning(pop) 
  249 #endif // end of guard _CEGUIDirect3D9Renderer_h_ 
Functor that can be used as comparator in a std::map with String keys. It's faster than using the def...
Definition: String.h:5579
Main namespace for Crazy Eddie's GUI Library. 
Definition: arch_overview.dox:1
Abstract class defining the interface for objects that buffer geometry for later rendering. 
Definition: GeometryBuffer.h:42
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: TextureTarget.h:40
Renderer class to interface with Direct3D 9. 
Definition: RendererModules/Direct3D9/Renderer.h:64
bool isTexCoordSystemFlipped() const 
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coor...
Definition: RendererModules/Direct3D9/Renderer.h:138
Texture implementation for the Direct3D9Renderer. 
Definition: RendererModules/Direct3D9/Texture.h:44
Abstract base class specifying the required interface for Texture objects. 
Definition: Texture.h:52
Abstract class defining the basic required interface for Renderer objects. 
Definition: Renderer.h:82
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: Renderer.h:61
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:57
String class used within the GUI system. 
Definition: String.h:62