WebTexture2D.h 920 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <Atomic/Graphics/Texture2D.h>
  2. #include <Atomic/Graphics/Material.h>
  3. #include "WebRenderHandler.h"
  4. #pragma once
  5. namespace Atomic
  6. {
  7. class WebTexture2DPrivate;
  8. class ATOMIC_API WebTexture2D : public WebRenderHandler
  9. {
  10. friend class WebTexture2DPrivate;
  11. OBJECT(WebTexture2D);
  12. public:
  13. /// Construct.
  14. WebTexture2D(Context* context, int width = 1024, int height = 1024);
  15. /// Destruct.
  16. virtual ~WebTexture2D();
  17. virtual void SetCurrentWidth(unsigned width);
  18. virtual void SetCurrentHeight(unsigned height);
  19. virtual void SetMaxWidth(unsigned width);
  20. virtual void SetMaxHeight(unsigned height);
  21. CefRenderHandler* GetCEFRenderHandler();
  22. Texture2D* GetTexture2D() const { return texture_; }
  23. Material* GetMaterial() const { return material_; }
  24. private:
  25. SharedPtr<Texture2D> texture_;
  26. SharedPtr<Material> material_;
  27. WebTexture2DPrivate* d_;
  28. };
  29. }