PolyTexture.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * PolyTexture.h
  3. * TAU
  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 "PolyGlobals.h"
  12. #include "PolyResource.h"
  13. #include "PolyImage.h"
  14. namespace Polycode {
  15. class _PolyExport Texture : public Resource {
  16. public:
  17. Texture(unsigned int width, unsigned int height, char *textureData,bool clamp, int type=Image::IMAGE_RGBA);
  18. Texture(Image *image);
  19. virtual ~Texture();
  20. float scrollSpeedX;
  21. float scrollSpeedY;
  22. virtual void setTextureData(char *data) = 0;
  23. virtual void recreateFromImageData() = 0;
  24. float getScrollOffsetX();
  25. float getScrollOffsetY();
  26. void setImageData(Image *data);
  27. void updateScroll(int elapsed);
  28. void setResourcePath(string newPath);
  29. string getResourcePath();
  30. char *getTextureData() { return textureData;}
  31. int getWidth();
  32. int getHeight();
  33. bool clamp;
  34. protected:
  35. int pixelSize;
  36. int filteringMode;
  37. int width;
  38. int height;
  39. string resourcePath;
  40. char *textureData;
  41. float scrollOffsetX;
  42. float scrollOffsetY;
  43. };
  44. }