MaskedSprite.h 780 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "oxygine-include.h"
  3. #include "Sprite.h"
  4. namespace oxygine
  5. {
  6. DECLARE_SMART(MaskedSprite, spMaskedSprite);
  7. class MaskedSprite: public Sprite
  8. {
  9. INHERITED(Sprite);
  10. public:
  11. DECLARE_COPYCLONE_NEW(MaskedSprite);
  12. MaskedSprite();
  13. ~MaskedSprite();
  14. spSprite getMask() const;
  15. bool getUseRChannel() const;
  16. void setMask(spSprite, bool useRChannel = false);
  17. void serialize(serializedata* data);
  18. void deserialize(const deserializedata* data);
  19. void deserializeLink(const deserializeLinkData*);
  20. protected:
  21. void render(const RenderState& parentRS);
  22. private:
  23. spSprite _mask;
  24. bool _useRChannel;
  25. };
  26. }
  27. EDITOR_INCLUDE(MaskedSprite);