BsPlatformInfo.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsIReflectable.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Available platforms we can build for
  8. */
  9. enum class PlatformType
  10. {
  11. Windows,
  12. Count // Keep at end
  13. };
  14. /**
  15. * @brief Contains per-platform information used primarily for build purposes.
  16. */
  17. struct BS_ED_EXPORT PlatformInfo : public IReflectable
  18. {
  19. PlatformInfo();
  20. virtual ~PlatformInfo();
  21. PlatformType type; /**< Type of platform this object contains data for. */
  22. WString defines; /**< A set of semicolon separated defines to use when compiling scripts for this platform. */
  23. /************************************************************************/
  24. /* RTTI */
  25. /************************************************************************/
  26. public:
  27. friend class PlatformInfoRTTI;
  28. static RTTITypeBase* getRTTIStatic();
  29. virtual RTTITypeBase* getRTTI() const override;
  30. };
  31. /**
  32. * @brief Contains Windows specific per-platform information used
  33. * primarily for build purposes.
  34. */
  35. struct BS_ED_EXPORT WinPlatformInfo : public PlatformInfo
  36. {
  37. WinPlatformInfo();
  38. bool is32bit;
  39. HTexture icon16;
  40. HTexture icon32;
  41. HTexture icon48;
  42. HTexture icon64;
  43. HTexture icon96;
  44. HTexture icon128;
  45. HTexture icon192;
  46. HTexture icon256;
  47. /************************************************************************/
  48. /* RTTI */
  49. /************************************************************************/
  50. public:
  51. friend class WinPlatformInfoRTTI;
  52. static RTTITypeBase* getRTTIStatic();
  53. virtual RTTITypeBase* getRTTI() const override;
  54. };
  55. }