@ElmMaterial.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class ElmMaterial : ElmData
  4. {
  5. enum FLAG
  6. {
  7. USES_TEX_ALPHA =1<<0,
  8. USES_TEX_BUMP =1<<1,
  9. USES_TEX_GLOW =1<<2,
  10. TEX_QUALITY_IOS=1<<3,
  11. };
  12. UID base_0_tex, base_1_tex, detail_tex, macro_tex, reflection_tex, light_tex;
  13. byte downsize_tex_mobile, flag;
  14. // get
  15. bool equal(C ElmMaterial &src)C;
  16. bool newer(C ElmMaterial &src)C;
  17. bool usesTexAlpha ()C; void usesTexAlpha (bool on);
  18. bool usesTexBump ()C; void usesTexBump (bool on);
  19. bool usesTexGlow ()C; void usesTexGlow (bool on);
  20. bool texQualityiOS()C; void texQualityiOS(bool on);
  21. virtual bool mayContain (C UID &id)C override;
  22. virtual bool containsTex(C UID &id, bool test_merged)C override;
  23. virtual void listTexs(MemPtr<UID> texs)C override;
  24. // operations
  25. void from(C EditMaterial &src);
  26. uint undo(C ElmMaterial &src); // don't undo 'downsize_tex_mobile', 'flag' because they should be set only in 'from'
  27. uint sync(C ElmMaterial &src); // don't sync 'downsize_tex_mobile', 'flag' because they should be set only in 'from'
  28. // io
  29. virtual bool save(File &f)C override;
  30. virtual bool load(File &f)override;
  31. virtual void save(MemPtr<TextNode> nodes)C override;
  32. virtual void load(C MemPtr<TextNode> &nodes)override;
  33. public:
  34. ElmMaterial();
  35. };
  36. /******************************************************************************/
  37. /******************************************************************************/
  38. /******************************************************************************/