52 #ifndef TRANSROUNDPIECE_H
53 #define TRANSROUNDPIECE_H
55 #include <mgplus/mgplus.h>
61 typedef enum _TranRoundPaintMode {
62 TRANROUND_PAINTMODE_GRAPHICSAVE,
63 TRANROUND_PAINTMODE_BITBLT,
66 typedef enum _TranRoundFillMode{
67 NCSP_TRANROUND_SINGLE_FILL,
68 NCSP_TRANROUND_GRADIENT_FILL,
71 enum mShapeTransRoundPieceProp
73 NCSP_TRANROUND_RADIUS = USER_PIECE_PROP_BEGIN + 1,
74 NCSP_TRANROUND_PAINTWAY,
75 NCSP_TRANROUND_BKCOLOR,
76 NCSP_TRANROUND_BORDERSIZE,
77 NCSP_TRANROUND_BORDERCOLOR,
78 NCSP_TRANROUND_GRADIENTBORDER,
79 NCSP_TRANROUND_FILLMODE,
80 NCSP_TRANROUND_CORNERFLAG,
81 NCSP_TRANROUND_PAINTMODE,
82 NCSP_TRANROUND_SHARPFLAG,
83 NCSP_TRANROUND_SHARPWIDTH,
84 NCSP_TRANROUND_USESHADOW,
85 NCSP_TRANROUND_FILLENGINE,
88 enum _TranRoundCornerFlag {
89 TRANROUND_CORNERFLAG_LEFTTOP = 1,
90 TRANROUND_CORNERFLAG_RIGHTTOP = 2,
91 TRANROUND_CORNERFLAG_RIGHTBOTTOM = 4,
92 TRANROUND_CORNERFLAG_LEFTBOTTOM = 8,
95 enum _TranRoundSharpFlag {
96 TRANROUND_SHARPFLAG_LEFT = 1,
97 TRANROUND_SHARPFLAG_RIGHT = 2,
100 enum _TranRoundFillEngine{
101 TRANROUND_FILLENGINE_NORMAL,
102 TRANROUND_FILLENGINE_PLUS,
105 typedef struct _mColorTable {
106 unsigned int tableSize;
111 typedef struct _mShapeTransRoundPieceClass mShapeTransRoundPieceClass;
112 typedef struct _mShapeTransRoundPiece mShapeTransRoundPiece;
114 #define mShapeTransRoundPieceHeader(clss) \
115 mStaticPieceHeader(clss) \
122 BOOL use_gradient_border; \
123 HBRUSH brush_solid; \
124 HBRUSH brush_gradient; \
125 HBRUSH brush_gradient_border; \
132 TRANROUND_FILLMODE fill_mode; \
133 TRANROUND_PAINTMODE paint_mode;
135 struct _mShapeTransRoundPiece
137 mShapeTransRoundPieceHeader(mShapeTransRoundPiece)
140 #define mShapeTransRoundPieceClassHeader(clss, superCls) \
141 mStaticPieceClassHeader(clss, superCls) \
142 HBRUSH (*getBrush) (clss*); \
143 HBRUSH (*getBorderBrush)(clss*); \
144 int (*setGradientFillColors) (clss*, ARGB *, int);
146 struct _mShapeTransRoundPieceClass
148 mShapeTransRoundPieceClassHeader (mShapeTransRoundPiece, mStaticPiece)
152 extern void ShapeTransRoundPiece_setColorTable(mColorTable *colorTable,
153 ARGB *colors,
float *pos,
int num);
154 extern void ShapeTransRoundPiece_setBrushGradientColors (HBRUSH brush,
155 mColorTable *colorTable);
157 MGNCS_EXPORT
extern mShapeTransRoundPieceClass g_stmShapeTransRoundPieceCls;