BsEditorSettings.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsDegree.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_ED_EXPORT EditorSettings
  7. {
  8. public:
  9. bool getMoveHandleSnapActive() const { return mMoveSnapActive; }
  10. bool getRotateHandleSnapActive() const { return mRotateSnapActive; }
  11. bool getScaleHandleSnapActive() const { return mScaleSnapActive; }
  12. float getMoveHandleSnap() const { return mMoveSnap; }
  13. Degree getRotationHandleSnap() const { return mRotationSnap; }
  14. float getScaleHandleSnap() const { return mScaleSnap; }
  15. UINT32 getGridSize() const { return mGridSize; }
  16. float getGridSpacing() const { return mGridAxisSpacing; }
  17. UINT32 getGridMajorAxisSpacing() const { return mGridMajorAxisSpacing; }
  18. UINT32 getGridAxisMarkerSpacing() const { return mGridAxisMarkerSpacing; }
  19. float getHandleSize() const { return mHandleSize; }
  20. void setMoveHandleSnapActive(bool snapActive) { mMoveSnapActive = snapActive; markAsDirty(); }
  21. void setRotateHandleSnapActive(bool snapActive) { mRotateSnapActive = snapActive; markAsDirty(); }
  22. void setScaleHandleSnapActive(bool snapActive) { mScaleSnapActive = snapActive; markAsDirty(); }
  23. void setMoveHandleSnap(float value) { mMoveSnap = value; markAsDirty(); }
  24. void setRotationHandleSnap(Degree value) { mRotationSnap = value; markAsDirty(); }
  25. void setScaleHandleSnap(float value) { mScaleSnap = value; markAsDirty(); }
  26. void setGridSize(UINT32 value) { mGridSize = value; markAsDirty(); }
  27. void setGridSpacing(float value) { mGridAxisSpacing = value; markAsDirty(); }
  28. void setGridMajorAxisSpacing(UINT32 value) { mGridMajorAxisSpacing = value; markAsDirty(); }
  29. void setGridAxisMarkerSpacing(UINT32 value) { mGridMajorAxisSpacing = value; markAsDirty(); }
  30. void setHandleSize(float value) { mHandleSize = value; markAsDirty(); }
  31. UINT32 getHash() const { return mHash; }
  32. private:
  33. void markAsDirty() const { mHash++; }
  34. bool mMoveSnapActive = false;
  35. bool mRotateSnapActive = false;
  36. bool mScaleSnapActive = false;
  37. float mMoveSnap = 0.1f;
  38. Degree mRotationSnap = Degree(20.0f);
  39. float mScaleSnap = 0.1f;
  40. UINT32 mGridSize = 256;
  41. float mGridAxisSpacing = 1.0f;
  42. UINT32 mGridMajorAxisSpacing = 10;
  43. UINT32 mGridAxisMarkerSpacing = 25;
  44. float mHandleSize = 20.0f;
  45. mutable UINT32 mHash = 0;
  46. };
  47. }