54 #ifndef _MGNCS_RENDER_H
55 #define _MGNCS_RENDER_H
71 #define NCS_TYPE_MASK WE_ATTR_TYPE_MASK
72 #define NCS_TYPE_COLOR_MASK WE_ATTR_TYPE_COLOR_MASK
73 #define NCS_TYPE_INDEX_MASK WE_ATTR_TYPE_INDEX_MASK
75 #define NCS_TYPE_METRICS 0x6000
76 #define NCS_TYPE_COLOR 0x7000
77 #define NCS_TYPE_IMAGE 0x8000
78 #define NCS_TYPE_INT 0x9000
79 #define NCS_TYPE_FGC NCS_TYPE_COLOR
80 #define NCS_TYPE_BGC (NCS_TYPE_COLOR | 0x0100)
82 #define NCS_TYPE_IS_IMAGE(id) (((id) & NCS_TYPE_MASK) == NCS_TYPE_IMAGE)
84 #define NCS_METRICS_BASEID (NCS_TYPE_METRICS | 0)
85 #define NCS_FGC_BASEID (NCS_TYPE_FGC | 0)
86 #define NCS_BGC_BASEID (NCS_TYPE_BGC | 0)
87 #define NCS_INT_BASEID (NCS_TYPE_INT | 0)
88 #define NCS_IMAGE_BASEID (NCS_TYPE_IMAGE | 0)
90 #define NCS_FONT_NUMBER 0
91 #define NCS_METRICS_NUMBER 2
92 #define NCS_COLORS_NUMBER 9
93 #define NCS_IMAGE_NUMBER 17
94 #define NCS_INT_NUMBER 5
97 #define NCS_FGC_3DBODY NCS_FGC_BASEID
98 #define NCS_BGC_3DBODY NCS_BGC_BASEID
100 #define NCS_FGC_WINDOW NCS_FGC_BASEID + 1
101 #define NCS_BGC_WINDOW NCS_BGC_BASEID + 1
103 #define NCS_FGC_SELECTED_ITEM NCS_FGC_BASEID + 2
104 #define NCS_BGC_SELECTED_ITEM NCS_BGC_BASEID + 2
106 #define NCS_FGC_HILIGHT_ITEM NCS_FGC_BASEID + 3
107 #define NCS_BGC_HILIGHT_ITEM NCS_BGC_BASEID + 3
109 #define NCS_FGC_DISABLED_ITEM NCS_FGC_BASEID + 4
110 #define NCS_BGC_DISABLED_ITEM NCS_BGC_BASEID + 4
112 #define NCS_BGC_SELITEM_NOFOCUS NCS_BGC_BASEID + 5
114 #define NCS_IMAGE_BKGND NCS_IMAGE_BASEID
115 #define NCS_MODE_BKIMAGE NCS_INT_BASEID
118 #define NCS_METRICS_BORDER_WIDTH (NCS_METRICS_BASEID)
119 #define NCS_METRICS_BORDER_RADIUS (NCS_METRICS_BASEID + 1)
122 #define NCS_METRICS_3DBODY_ROUNDX (NCS_METRICS_BASEID)
123 #define NCS_METRICS_3DBODY_ROUNDY (NCS_METRICS_BASEID + 1)
124 #define NCS_MODE_BGC NCS_INT_BASEID + 1
125 #define NCS_MODE_FGC NCS_INT_BASEID + 2
126 #define NCS_MODE_ITEM NCS_INT_BASEID + 3
127 #define NCS_MODE_USEFLAT NCS_INT_BASEID + 4
130 #define NCS_BGC_PRGBAR_CHUNK NCS_BGC_BASEID + 6
132 #define NCS_BGC_TRKBAR_SLIDER NCS_BGC_BASEID + 7
133 #define NCS_BGC_TRKBAR_THUMB NCS_BGC_BASEID + 8
136 #define NCS_BGC_PRPSHT_NMLTAB NCS_BGC_BASEID + 9
139 #define NCS_IMAGE_ARROWS NCS_IMAGE_BASEID + 1
140 #define NCS_IMAGE_ARROWSHELL NCS_IMAGE_BASEID + 2
142 #define NCS_IMAGE_BUTTON NCS_IMAGE_BASEID + 3
144 #define NCS_IMAGE_CHKBTN NCS_IMAGE_BASEID + 4
146 #define NCS_IMAGE_RDOBTN NCS_IMAGE_BASEID + 5
148 #define NCS_IMAGE_LISTV_TREE NCS_IMAGE_BASEID + 6
149 #define NCS_IMAGE_LISTV_HDR NCS_IMAGE_BASEID + 7
151 #define NCS_IMAGE_PRPSHT_TAB NCS_IMAGE_BASEID + 8
153 #define NCS_IMAGE_PRGBAR_HCHUNK NCS_IMAGE_BASEID + 9
154 #define NCS_IMAGE_PRGBAR_VCHUNK NCS_IMAGE_BASEID + 10
155 #define NCS_IMAGE_PRGBAR_HSLIDER NCS_IMAGE_BASEID + 11
156 #define NCS_IMAGE_PRGBAR_VSLIDER NCS_IMAGE_BASEID + 12
158 #define NCS_IMAGE_TRKBAR_HSLIDER NCS_IMAGE_BASEID + 13
159 #define NCS_IMAGE_TRKBAR_VSLIDER NCS_IMAGE_BASEID + 14
160 #define NCS_IMAGE_TRKBAR_HTHUMB NCS_IMAGE_BASEID + 15
161 #define NCS_IMAGE_TRKBAR_VTHUMB NCS_IMAGE_BASEID + 16
217 MGNCS_EXPORT DWORD ncsGetElementEx (
mWidget *
self,
const char* rdrName,
int id);
236 typedef struct _NCS_RDR_ID_NAME {
242 MGNCS_EXPORT BOOL ncsLoadRdrElementsFromEtcFile(
const char* etcfile,
const char** rdrNames,
int count, NCS_RDR_ID_NAME * id_names);
244 MGNCS_EXPORT BOOL ncsLoadRdrElementsFromEtcHandle(GHANDLE hEtc,
const char** rdrNames,
int count, NCS_RDR_ID_NAME* id_names);
254 MGNCS_EXPORT GHANDLE
ncsLoadRdrEtcFile (
const char* etcfile,
const char** rdrName,
int count);
268 MGNCS_EXPORT
extern GHANDLE g_ncsEtcHandle;
277 static inline void ncsSetEtcHandle(GHANDLE hEtc)
279 g_ncsEtcHandle = hEtc;
288 #define ncsGetElement(self, id) \
289 ncsGetElementEx((mWidget*)self, NULL, id)
295 #define ncsSetElement(self, id, value) \
296 ncsSetElementEx((mWidget*)self, NULL, id, value)
326 MGNCS_EXPORT BOOL
ncsRegisterCtrlRDR (
const char *rendererName,
const char *className,
420 #define INVALID_RDR_VALUE ((DWORD)-1)
422 static inline gal_pixel ncsColor2Pixel(HDC hdc, DWORD color)
424 return RGBA2Pixel(hdc,GetRValue(color),
430 MGNCS_EXPORT
void ncsCommRDRDrawFocusFrame(HWND hWnd, HDC hdc,
const RECT *rc);
431 MGNCS_EXPORT BOOL ncsCommRDRDrawBkgnd(HWND hWnd, HDC hdc,
const RECT* inv_rc);
433 MGNCS_EXPORT
void ncsCommRDRDraw3dbox(HDC hdc,
const RECT* rc, DWORD color, DWORD flag);
434 MGNCS_EXPORT
void ncsCommRDRDraw3DRoundBox(HDC hdc,
const RECT *rc,
int rx,
int ry, DWORD color, DWORD flag);
436 #define NCS_ROUND_CORNER_LEFT_TOP (0x1)
437 #define NCS_ROUND_CORNER_LEFT_BOTTOM (0x2)
438 #define NCS_ROUND_CORNER_RIGHT_TOP (0x4)
439 #define NCS_ROUND_CORNER_RIGHT_BOTTOM (0x8)
440 #define NCS_ROUND_CORNER_LEFTS (NCS_ROUND_CORNER_LEFT_TOP|NCS_ROUND_CORNER_LEFT_BOTTOM)
441 #define NCS_ROUND_CORNER_RIGHTS (NCS_ROUND_CORNER_RIGHT_TOP|NCS_ROUND_CORNER_RIGHT_BOTTOM)
442 #define NCS_ROUND_CORNER_TOPS (NCS_ROUND_CORNER_LEFT_TOP|NCS_ROUND_CORNER_RIGHT_TOP)
443 #define NCS_ROUND_CORNER_BOTTOMS (NCS_ROUND_CORNER_LEFT_BOTTOM|NCS_ROUND_CORNER_RIGHT_BOTTOM)
444 #define NCS_ROUND_CORNER_ALL (NCS_ROUND_CORNER_LEFT_TOP|NCS_ROUND_CORNER_LEFT_BOTTOM| \
445 NCS_ROUND_CORNER_RIGHT_TOP|NCS_ROUND_CORNER_RIGHT_BOTTOM)
446 #define NCS_BORDER_LEFT 0x1000
447 #define NCS_BORDER_RIGHT 0x2000
448 #define NCS_BORDER_TOP 0x4000
449 #define NCS_BORDER_BOTTOM 0x8000
450 #define NCS_BORDER_ALL (NCS_BORDER_LEFT|NCS_BORDER_RIGHT|NCS_BORDER_TOP|NCS_BORDER_BOTTOM)
452 MGNCS_EXPORT
void ncsCommRDRDraw3DHalfRoundBox(HDC hdc,
const RECT *rc,
int rx,
int ry, DWORD color, DWORD flag, DWORD part_flag);
453 MGNCS_EXPORT
void ncsCommRDRDrawHalfRoundRect(HDC hdc,
const RECT *rc,
int rx,
int ry, DWORD color, DWORD part_flag);
455 MGNCS_EXPORT
void ncsCommRDRFillHalfRoundRect(HDC hdc,
const RECT *rc,
int rx,
int ry, DWORD color, DWORD part_flag);
457 MGNCS_EXPORT
void ncsCommRDRDraw3DEllipse(HDC hdc,
const RECT *rc, DWORD color1, DWORD color2, DWORD flag);
459 MGNCS_EXPORT
void ncsCommRDRDrawCheckbox(HDC hdc,
const RECT* rc, DWORD fgcolor, DWORD bgcolor, DWORD discolor, DWORD flag);
461 MGNCS_EXPORT
void ncsCommRDRDrawRadio(HDC hdc,
const RECT* rc, DWORD fgcolor, DWORD bgcolor, DWORD discolor,DWORD flag);
463 MGNCS_EXPORT
void ncsCommRDRDrawArrow(HDC hdc,
const RECT* rc,
int arrow,DWORD color, BOOL bFill);
465 MGNCS_EXPORT
void ncsCommRDRDrawItem(HDC hdc,
const RECT* rc, DWORD color);
467 MGNCS_EXPORT
void ncsCommRDRDrawSmallHalfRoundBox(HDC hdc,
const RECT *rc, DWORD flags, BOOL bFill);
469 enum ncsCommRDRColorCalc {
470 NCSR_COLOR_DARKER = -100,
471 NCSR_COLOR_DARKEST = -200 ,
472 NCSR_COLOR_LIGHTER = 100 ,
473 NCSR_COLOR_LIGHTEST = 200
476 MGNCS_EXPORT DWORD ncsCommRDRCalc3dboxColor(DWORD color,
int degree);
480 #define DI_FILL_TILE 0x01
481 #define DI_FILL_STRETCH 0x02
484 typedef struct _DRAWINFO
490 unsigned int nr_line;
496 unsigned int idx_line;
499 unsigned int idx_col;
502 unsigned int margin1;
505 unsigned int margin2;
524 MGNCS_EXPORT
void ncsSkinDraw(HDC hdc,
const RECT* rc,
const DRAWINFO *di);