transform2.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "pch.h"
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Identity Transform2
  5. //
  6. //////////////////////////////////////////////////////////////////////////////
  7. class IdentityTransform2 : public Transform2 {
  8. public:
  9. IdentityTransform2() :
  10. Transform2()
  11. {
  12. GetValueInternal().SetIdentity();
  13. AddRef();
  14. }
  15. } g_identityTransform2;
  16. Transform2* GetIdentityTransform2()
  17. {
  18. return &g_identityTransform2;
  19. }
  20. //////////////////////////////////////////////////////////////////////////////
  21. //
  22. // Translate Transform2
  23. //
  24. //////////////////////////////////////////////////////////////////////////////
  25. TranslateTransform2::TranslateTransform2(PointValue* ppoint) :
  26. Transform2(ppoint)
  27. {
  28. }
  29. void TranslateTransform2::Evaluate()
  30. {
  31. GetValueInternal().SetTranslate(GetTranslate()->GetValue());
  32. }
  33. void TranslateTransform2::SetTranslate(PointValue* ppoint)
  34. {
  35. SetChild(0, ppoint);
  36. }
  37. void TranslateTransform2::SetTranslate(const Point& point)
  38. {
  39. SetTranslate(new PointValue(point));
  40. }
  41. //////////////////////////////////////////////////////////////////////////////
  42. //
  43. // Scale Transform2
  44. //
  45. //////////////////////////////////////////////////////////////////////////////
  46. ScaleTransform2::ScaleTransform2(PointValue* ppoint) :
  47. Transform2(ppoint)
  48. {
  49. }
  50. void ScaleTransform2::Evaluate()
  51. {
  52. GetValueInternal().SetScale(GetScale()->GetValue());
  53. }
  54. void ScaleTransform2::SetScale(PointValue* ppoint)
  55. {
  56. SetChild(0, ppoint);
  57. }
  58. void ScaleTransform2::SetScale(const Point& point)
  59. {
  60. SetScale(new PointValue(point));
  61. }
  62. //////////////////////////////////////////////////////////////////////////////
  63. //
  64. // Rotate Transform2
  65. //
  66. //////////////////////////////////////////////////////////////////////////////
  67. RotateTransform2::RotateTransform2(Number* pangle) :
  68. Transform2(pangle)
  69. {
  70. }
  71. void RotateTransform2::Evaluate()
  72. {
  73. GetValueInternal().SetRotate(GetAngle()->GetValue());
  74. }
  75. void RotateTransform2::SetAngle(Number* pangle)
  76. {
  77. SetChild(0, pangle);
  78. }
  79. void RotateTransform2::SetAngle(float angle)
  80. {
  81. SetAngle(new Number(angle));
  82. }