dsrc isn't necessary for this repo
[client-tools.git] / src / external / 3rd / application / UiBuilder / UIDirect3DTextureCanvas.h
blob44325aebdb96f617b0f378d44dc75592ce91ab76
1 #ifndef __UIDIRECT3DTEXTURECANVS_H__
2 #define __UIDIRECT3DTEXTURECANVS_H__
4 #include "UIDirectDrawCanvas.h"
6 #include <ddraw.h>
8 class UIDirect3DPrimaryCanvas;
10 //----------------------------------------------------------------------
12 class UIDirect3DTextureCanvas :
13 public UIDirectDrawCanvas
15 public:
17 static const char * TypeName;
19 UIDirect3DTextureCanvas( const UISize &, const bool InSystemMemory = false );
20 virtual ~UIDirect3DTextureCanvas();
22 virtual bool IsA (const UITypeID) const;
23 virtual UIBaseObject * Clone () const;
25 // SetRenderDevice must be called before Generate is called so that we
26 // use a valid pixel format.
27 virtual void SetRenderCanvas (UIDirect3DPrimaryCanvas *);
28 virtual UIDirect3DPrimaryCanvas *GetRenderCanvas () const;
30 virtual void NotifyRenderCanvasChanged ();
32 virtual bool Generate () const;
33 virtual bool CreateFromSurfaceDescription (LPDDSURFACEDESC2);
35 void SetHasShader (bool b);
36 bool GetHasShader () const;
38 private:
41 UIDirect3DTextureCanvas & operator= (const UIDirect3DTextureCanvas &);
42 UIDirect3DTextureCanvas (const UIDirect3DTextureCanvas &);
44 UIDirect3DPrimaryCanvas *mRenderCanvas;
45 bool mInSystemMemory;
46 bool mHasShader;
49 //----------------------------------------------------------------------
51 inline bool UIDirect3DTextureCanvas::GetHasShader () const
53 return mHasShader;
56 //----------------------------------------------------------------------
58 #endif // __UIDIRECT3DTEXTURECANVS_H__