OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
myguitexture.hpp
Go to the documentation of this file.
1 #ifndef OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUITEXTURE_H
2 #define OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUITEXTURE_H
3 
4 #include <MyGUI_ITexture.h>
5 
6 #include <osg/ref_ptr>
7 
8 namespace osg
9 {
10  class Image;
11  class Texture2D;
12 }
13 
14 namespace Resource
15 {
16  class ImageManager;
17 }
18 
19 namespace osgMyGUI
20 {
21 
22  class OSGTexture : public MyGUI::ITexture {
23  std::string mName;
25 
26  osg::ref_ptr<osg::Image> mLockedImage;
27  osg::ref_ptr<osg::Texture2D> mTexture;
28  MyGUI::PixelFormat mFormat;
29  MyGUI::TextureUsage mUsage;
30  size_t mNumElemBytes;
31 
32  int mWidth;
33  int mHeight;
34 
35  public:
36  OSGTexture(const std::string &name, Resource::ImageManager* imageManager);
37  OSGTexture(osg::Texture2D* texture);
38  virtual ~OSGTexture();
39 
40  virtual const std::string& getName() const { return mName; }
41 
42  virtual void createManual(int width, int height, MyGUI::TextureUsage usage, MyGUI::PixelFormat format);
43  virtual void loadFromFile(const std::string &fname);
44  virtual void saveToFile(const std::string &fname);
45 
46  virtual void destroy();
47 
48  virtual void* lock(MyGUI::TextureUsage access);
49  virtual void unlock();
50  virtual bool isLocked();
51 
52  virtual int getWidth();
53  virtual int getHeight();
54 
55  virtual MyGUI::PixelFormat getFormat() { return mFormat; }
56  virtual MyGUI::TextureUsage getUsage() { return mUsage; }
57  virtual size_t getNumElemBytes() { return mNumElemBytes; }
58 
59  virtual MyGUI::IRenderTarget *getRenderTarget();
60 
61  /*internal:*/
62  osg::Texture2D *getTexture() const { return mTexture.get(); }
63  };
64 
65 }
66 
67 #endif
MyGUI::TextureUsage mUsage
Definition: myguitexture.hpp:29
virtual ~OSGTexture()
Definition: myguitexture.cpp:36
int mWidth
Definition: myguitexture.hpp:32
Resource::ImageManager * mImageManager
Definition: myguitexture.hpp:24
int mHeight
Definition: myguitexture.hpp:33
virtual int getHeight()
Definition: myguitexture.cpp:124
osg::ref_ptr< osg::Texture2D > mTexture
Definition: myguitexture.hpp:27
Handles loading/caching of Images.
Definition: imagemanager.hpp:23
MyGUI::PixelFormat mFormat
Definition: myguitexture.hpp:28
virtual void saveToFile(const std::string &fname)
Definition: myguitexture.cpp:114
virtual MyGUI::TextureUsage getUsage()
Definition: myguitexture.hpp:56
virtual void destroy()
Definition: myguitexture.cpp:84
osg::ref_ptr< osg::Image > mLockedImage
Definition: myguitexture.hpp:26
Definition: myguitexture.hpp:22
virtual MyGUI::IRenderTarget * getRenderTarget()
Definition: myguitexture.cpp:177
virtual void loadFromFile(const std::string &fname)
Definition: myguitexture.cpp:94
virtual void unlock()
Definition: myguitexture.cpp:145
std::string mName
Definition: myguitexture.hpp:23
virtual void createManual(int width, int height, MyGUI::TextureUsage usage, MyGUI::PixelFormat format)
Definition: myguitexture.cpp:40
virtual MyGUI::PixelFormat getFormat()
Definition: myguitexture.hpp:55
virtual size_t getNumElemBytes()
Definition: myguitexture.hpp:57
virtual int getWidth()
Definition: myguitexture.cpp:119
virtual void * lock(MyGUI::TextureUsage access)
Definition: myguitexture.cpp:129
virtual const std::string & getName() const
Definition: myguitexture.hpp:40
size_t mNumElemBytes
Definition: myguitexture.hpp:30
virtual bool isLocked()
Definition: myguitexture.cpp:171
OSGTexture(const std::string &name, Resource::ImageManager *imageManager)
Definition: myguitexture.cpp:14
osg::Texture2D * getTexture() const
Definition: myguitexture.hpp:62
const char * name
Definition: crashcatcher.cpp:67