52 #ifndef __MGUI_NCSCTRL_SCROLLVIEWPIECE_H
53 #define __MGUI_NCSCTRL_SCROLLVIEWPIECE_H
59 typedef enum _ScrollViewBkMode {
60 SCROLLVIEW_BKMODE_SOLID_COLOR,
61 SCROLLVIEW_BKMODE_IMAGE_CENTER,
62 SCROLLVIEW_BKMODE_IMAGE_SCALED,
63 SCROLLVIEW_BKMODE_IMAGE_TILED,
64 SCROLLVIEW_BKMODE_PATTERN,
67 enum mScrollViewPieceProp
69 NCSP_BACKGROUND_MODE = USER_PIECE_PROP_BEGIN + 1,
73 typedef struct _mScrollViewPieceClass mScrollViewPieceClass;
74 typedef struct _mScrollViewPiece mScrollViewPiece;
76 #define mScrollViewPieceClassHeader(clss, superCls) \
77 mPanelPieceClassHeader(clss, superCls) \
78 void (*moveViewport)(clss*, int x, int y); \
79 void (*getViewport)(clss*, RECT *rc); \
80 void (*showScrollBar)(clss*, BOOL show); \
81 void (*enableCache)(clss*, BOOL cachable);
83 struct _mScrollViewPieceClass
85 mScrollViewPieceClassHeader(mScrollViewPiece, mPanelPiece)
88 MGNCS_EXPORT
extern mScrollViewPieceClass g_stmScrollViewPieceCls;
90 #define mScrollViewPieceHeader(clss) \
91 mPanelPieceHeader(clss) \
92 DWORD m_timePressed; \
93 BOOL m_bScrollbarAutoHided; \
94 BOOL m_bNeedScrollBar; \
98 unsigned int m_mouseFlag; \
102 POINT m_pressMousePos; \
103 POINT m_oldMousePos; \
106 RECT m_contentDirtyRect; \
107 RECT m_cachedViewport; \
108 mPieceItem *m_content; \
109 mPieceItem *m_scrollbar; \
110 MGEFF_ANIMATION m_animation; \
111 SPEEDMETER m_speedmeter; \
116 struct _mScrollViewPiece
118 mScrollViewPieceHeader(mScrollViewPiece)