52 #ifndef _MGNCS_ROTATESWITCHPIECE_H
53 #define _MGNCS_ROTATESWITCHPIECE_H
55 #include <mgplus/mgplus.h>
56 #include <mgeff/mgeff.h>
62 enum mRotateSwitchPieceState {
63 NCSN_ROTATESWITCHPIECE_OFF = (USER_PIECE_EVENT_BEGIN + 0x200),
64 NCSN_ROTATESWITCHPIECE_ON,
67 enum mRotateSwitchPieceProps {
68 NCSP_ROTATESWITCH_RADIUS = USER_PIECE_PROP_BEGIN + 0x100,
71 typedef struct _mRotateSwitchPiece mRotateSwitchPiece;
72 typedef struct _mRotateSwitchPieceClass mRotateSwitchPieceClass;
74 #define mRotateSwitchPieceHeader(clss) \
75 mStaticPieceHeader(clss) \
76 enum mRotateSwitchPieceState state; \
78 unsigned short radius; \
83 HBRUSH brushGradient; \
86 MGEFF_ANIMATION rotate_animation;
88 struct _mRotateSwitchPiece
90 mRotateSwitchPieceHeader(mRotateSwitchPiece)
93 #define mRotateSwitchPieceClassHeader(clss, superCls) \
94 mStaticPieceClassHeader(clss, superCls) \
95 void (*changeState)(clss*); \
96 void (*resetState)(clss*);
98 struct _mRotateSwitchPieceClass
100 mRotateSwitchPieceClassHeader(mRotateSwitchPiece, mStaticPiece)
103 MGNCS_EXPORT
extern mRotateSwitchPieceClass g_stmRotateSwitchPieceCls;