00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MYGUI_ROTATING_SKIN_H__
00024 #define __MYGUI_ROTATING_SKIN_H__
00025
00026 #include "MyGUI_Prerequest.h"
00027 #include "MyGUI_XmlDocument.h"
00028 #include "MyGUI_Types.h"
00029 #include "MyGUI_ICroppedRectangle.h"
00030 #include "MyGUI_SubSkin.h"
00031
00032 namespace MyGUI
00033 {
00034
00035 class MYGUI_EXPORT RotatingSkin : public SubSkin
00036 {
00037 MYGUI_RTTI_DERIVED( RotatingSkin )
00038
00039 public:
00040 RotatingSkin();
00041 virtual ~RotatingSkin();
00042
00044 void setAngle(float _angle);
00046 float getAngle() const { return mAngle; }
00047
00052 void setCenter(const IntPoint &_center, bool _local = true);
00054 IntPoint getCenter(bool _local = true) const;
00055
00056
00057 virtual void doRender();
00058
00059 protected:
00060 void recalculateAngles();
00061
00062 private:
00063 float mAngle;
00064 IntPoint mCenterPos;
00065 bool mLocalCenter;
00066
00067
00068
00069
00070
00071 float mBaseAngles[4];
00072 float mBaseDistances[4];
00073 };
00074
00075 }
00076
00077 #endif // __MYGUI_ROTATING_SKIN_H__