BsEnums.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. namespace bs
  5. {
  6. /** @addtogroup Utility-Engine
  7. * @{
  8. */
  9. /** Available cursor types. */
  10. enum class CursorType
  11. {
  12. Arrow,
  13. ArrowDrag,
  14. ArrowLeftRight,
  15. Wait,
  16. IBeam,
  17. SizeNESW,
  18. SizeNS,
  19. SizeNWSE,
  20. SizeWE,
  21. Deny,
  22. // Keep at the end
  23. Count
  24. };
  25. /** Type of scaling modes for GUI images. */
  26. enum class TextureScaleMode
  27. {
  28. StretchToFit, /**< Image will stretch non-uniformly in all dimensions in order to cover the assigned area fully. */
  29. ScaleToFit, /**< Image will scale uniformly until one dimension is aligned with the assigned area. Remaining dimension might have empty space. */
  30. CropToFit, /**< Image will scale uniformly until both dimensions are larger or aligned with the assigned area. Remaining dimension might be cropped. */
  31. RepeatToFit /**< Image will keep its original size, but will repeat in order to fill the assigned area. */
  32. };
  33. /** Types of GUI meshes that can be output by GUI elements. */
  34. enum class GUIMeshType
  35. {
  36. /** Mesh containing a set of vertices as 2D position followed by 2D UV coordinates. */
  37. Triangle,
  38. /** Mesh containing a set of vertices as 2D position followed by vertex indices. */
  39. Line
  40. };
  41. /** @} */
  42. }