PolyTexture.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * PolyTexture.h
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 3/13/08.
  6. * Copyright 2008 __MyCompanyName__. All rights reserved.
  7. *
  8. */
  9. // @package Materials
  10. #pragma once
  11. #include "PolyString.h"
  12. #include "PolyGlobals.h"
  13. #include "PolyResource.h"
  14. #include "PolyImage.h"
  15. namespace Polycode {
  16. class _PolyExport Texture : public Resource {
  17. public:
  18. Texture(unsigned int width, unsigned int height, char *textureData,bool clamp, int type=Image::IMAGE_RGBA);
  19. Texture(Image *image);
  20. virtual ~Texture();
  21. Number scrollSpeedX;
  22. Number scrollSpeedY;
  23. virtual void setTextureData(char *data) = 0;
  24. virtual void recreateFromImageData() = 0;
  25. Number getScrollOffsetX();
  26. Number getScrollOffsetY();
  27. void setImageData(Image *data);
  28. void updateScroll(int elapsed);
  29. void setResourcePath(String newPath);
  30. String getResourcePath();
  31. char *getTextureData() { return textureData;}
  32. int getWidth();
  33. int getHeight();
  34. bool clamp;
  35. protected:
  36. int pixelSize;
  37. int filteringMode;
  38. int width;
  39. int height;
  40. String resourcePath;
  41. char *textureData;
  42. Number scrollOffsetX;
  43. Number scrollOffsetY;
  44. };
  45. }