mGNCS API Reference  v1.2.5
A new control set and a new framework for MiniGUI apps
mresmgr.h
Go to the documentation of this file.
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 
54 #ifndef _MGUI_RESMANAGER_H
55  #define _MGUI_RESMANAGER_H
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif /* __cplusplus */
60 
70 typedef GHANDLE HPACKAGE;
71 
76 #define HPACKAGE_NULL ((GHANDLE)0)
77 
78 #define NCSRT_MASK 0x0FFF
79 
80 #define NCSRT_STRING 0x0001
81 #define NCSRT_TEXT 0x0002
82 #define NCSRT_IMAGE 0x0004
83 #define NCSRT_UI 0x0008
84 #define NCSRT_RDRSET 0x0010
85 #define NCSRT_RDR 0x0020
86 #define NCSRT_BINARY 0x0040
87 
92 #define NCSRM_SYSSTR_BASEID 1
93 
98 #define NCSRM_SYSSTR_MAXID 128
99 
104 #define NCSRM_SYSSTR_DEFRDR (NCSRT_STRING << 16) |NCSRM_SYSSTR_BASEID
105 
110 #define NCSRT_EXT_LEN 15
111 
116 #define NCSRM_VERSION_LEN 4
117 
122 #define NCSRM_VENDOR_LEN 16
123 
128 #define NCSRM_ENCODING_LEN 16
129 
131 typedef struct _NCSRM_HEADER
132 {
134  Uint32 magic;
135 
138 
141 
142  char char_encoding[NCSRM_ENCODING_LEN];
143 
146 
148  Uint32 nr_sect;
149 }NCSRM_HEADER;
150 
152 typedef struct _NCSRM_TYPEITEM
153 {
170  Uint32 type;
171 
173  Uint32 filename_id;
174 
178  Uint32 offset;
180 
182 typedef struct _NCSRM_IDITEM
183 {
185  Uint32 id;
186 
188  Uint32 filename_id;
189 
191  Uint32 offset;
192 
193 }NCSRM_IDITEM;
194 
196 typedef struct _NCSRM_WINHEADER
197 {
199  Uint32 class_id;
200 
202  Uint32 wnd_id;
203 
205  Uint32 serial_num;
206 
208  Uint32 caption_id;
209 
211  Uint32 rdr_id;
212 
213 
215  Sint32 x;
216 
218  Sint32 y;
219 
221  Uint32 w;
222 
224  Uint32 h;
225 
227  DWORD32 style;
228 
230  DWORD32 ex_style;
231 
233  DWORD32 bk_color;
234 
236  Uint32 font_id;
237 
240  Uint32 size;
241 
243  Uint32 offset_props;
244 
246  Uint32 offset_ctrls;
247 
249  Uint32 nr_props;
250 
252  Uint32 nr_ctrls;
253 
256 
258  Uint32 size_adddata;
260 
261 
263 typedef struct _NCSRM_SECTHEADER
264 {
266  Uint32 sect_size;
267 
269  Uint32 size_maps;
271 
273 typedef struct _NCSRM_DEFLOCALE_INFO
274 {
276  char language[4];
278  char country[4];
280 
282 typedef struct _NCSRM_LOCALEITEM
283 {
285  char language[4];
287  char country[4];
288 
290  Uint32 filename_id;
291 
293  Uint32 offset;
295 
297 typedef struct _NCSRM_INCORE_IMAGE
298 {
300  Uint32 size;
301 
303  char ext[NCSRT_EXT_LEN + 1];
304 
306  void *data;
308 
314 {
333 };
334 
338 typedef struct _NCSRM_RDRINFO
339 {
341  Uint32 id;
343  Uint32 value;
345 
349 typedef struct _NCSRM_RDRHEADER
350 {
352  Uint32 rdrname_id;
354  Uint32 clsname_id;
356 
360 typedef struct _NCSRM_PROP
361 {
363  Sint32 type;
365  Sint32 id;
367  DWORD32 value;
368 } NCSRM_PROP;
369 
379 MGNCS_EXPORT const char* ncsSetDefaultLocale (char* language, char* country);
380 
387 MGNCS_EXPORT const char* ncsGetDefaultLocale(void);
388 
397 MGNCS_EXPORT HPACKAGE ncsLoadResPackageFromFile (const char* fileName);
398 
405 #define ncsLoadResPackage ncsLoadResPackageFromFile
406 
413 MGNCS_EXPORT int ncsAddRefResPackage(HPACKAGE package);
414 
421 MGNCS_EXPORT void ncsUnloadResPackage (HPACKAGE package);
422 
434 MGNCS_EXPORT HPACKAGE ncsLoadResPackageFromMem (const void* mem, int size);
435 
445 MGNCS_EXPORT const char* ncsGetImageFileName (HPACKAGE package, Uint32 resId);
446 
459 MGNCS_EXPORT int ncsGetBitmap(HDC hdc, HPACKAGE package, Uint32 resId, PBITMAP pBitmap);
460 
472 MGNCS_EXPORT void ncsReleaseBitmap (PBITMAP pBitmap);
473 
486 MGNCS_EXPORT int ncsGetMyBitmap(HPACKAGE package, Uint32 resId,
487  PMYBITMAP myBmp, RGB* pal);
488 
499 MGNCS_EXPORT void ncsReleaseMyBitmap (PMYBITMAP myBmp);
500 
512 MGNCS_EXPORT const char* ncsGetString (HPACKAGE package, Uint32 resId);
513 
526 MGNCS_EXPORT BOOL ncsSetSysRdr(HPACKAGE package, Uint32 rdrSetId);
527 
541 MGNCS_EXPORT BOOL ncsSetWinRdr(HWND hWnd, HPACKAGE package, Uint32 rdrId);
542 
543 typedef struct _NCS_EVENT_HANDLER_INFO
544 {
545  int id;
546  NCS_EVENT_HANDLER *handler;
547 }NCS_EVENT_HANDLER_INFO;
548 
571 MGNCS_EXPORT mMainWnd* ncsCreateMainWindowIndirectFromID (HPACKAGE package,
572  Uint32 wndId, HWND owner, HICON hIcon,
573  HMENU hMenu, NCS_EVENT_HANDLER_INFO* handlers,
574  NCS_EVENT_CONNECT_INFO *connects,
575  DWORD user_data);
576 
577 #ifdef _MGNCSCTRL_DIALOGBOX
578 
599 MGNCS_EXPORT int ncsCreateModalDialogFromID (HPACKAGE package, Uint32 dlgId,
600  HWND owner, HICON hIcon, HMENU hMenu,
601  NCS_EVENT_HANDLER_INFO* handlers, NCS_EVENT_CONNECT_INFO *connects);
602 #endif
603 
604 
620 MGNCS_EXPORT BOOL ncsGetWndTemplFromID(HPACKAGE package, Uint32 wndId, \
621  NCS_MNWND_TEMPLATE * ptempl,
622  NCS_EVENT_HANDLER_INFO* handlers);
623 
636 MGNCS_EXPORT void ncsFreeWndTemplate(NCS_MNWND_TEMPLATE *ptempl);
637 
638 
640 #ifdef __cplusplus
641 }
642 #endif /* __cplusplus */
643 
644 #endif /* _MGUI_RESMANAGER_H */
Uint32 sect_size
Definition: mresmgr.h:266
MGNCS_EXPORT const char * ncsSetDefaultLocale(char *language, char *country)
Set default locale information.
Uint32 type
Definition: mresmgr.h:170
ncsRMRdrResType
Renderer resource type.
Definition: mresmgr.h:313
struct _NCSRM_LOCALEITEM NCSRM_LOCALEITEM
struct _NCSRM_SECTHEADER NCSRM_SECTHEADER
Sint32 type
Definition: mresmgr.h:363
Uint32 class_id
Definition: mresmgr.h:199
struct _NCSRM_RDRINFO NCSRM_RDRINFO
#define NCSRT_EXT_LEN
The maximum length of resource extension.
Definition: mresmgr.h:110
MGNCS_EXPORT BOOL ncsGetWndTemplFromID(HPACKAGE package, Uint32 wndId, NCS_MNWND_TEMPLATE *ptempl, NCS_EVENT_HANDLER_INFO *handlers)
get the window template from package
MGNCS_EXPORT const char * ncsGetString(HPACKAGE package, Uint32 resId)
Get string.
define the memders of mMainWnd, inherit from mPanel
struct _NCSRM_RDRHEADER NCSRM_RDRHEADER
Uint32 magic
Definition: mresmgr.h:134
MGNCS_EXPORT BOOL ncsSetSysRdr(HPACKAGE package, Uint32 rdrSetId)
Set system renderer.
struct _NCSRM_WINHEADER NCSRM_WINHEADER
MGNCS_EXPORT HPACKAGE ncsLoadResPackageFromMem(const void *mem, int size)
Load a resource package from memory. User get the information of incore resource package by getIncore...
Uint32 size_maps
Definition: mresmgr.h:269
#define NCSRM_VENDOR_LEN
The maximum length of vendor.
Definition: mresmgr.h:122
GHANDLE HPACKAGE
Handle to resource package.
Definition: mresmgr.h:70
Uint32 nr_ctrls
Definition: mresmgr.h:252
MGNCS_EXPORT HPACKAGE ncsLoadResPackageFromFile(const char *fileName)
Load a resource package from resource package file.
Uint32 caption_id
Definition: mresmgr.h:208
Uint32 offset_ctrls
Definition: mresmgr.h:246
Uint32 offset
Definition: mresmgr.h:178
Uint32 nr_props
Definition: mresmgr.h:249
Uint32 wnd_id
Definition: mresmgr.h:202
struct _NCSRM_INCORE_IMAGE NCSRM_INCORE_IMAGE
DWORD32 bk_color
Definition: mresmgr.h:233
MGNCS_EXPORT BOOL ncsSetWinRdr(HWND hWnd, HPACKAGE package, Uint32 rdrId)
Set window renderer.
char vendor[NCSRM_VENDOR_LEN]
Definition: mresmgr.h:145
Uint32 font_id
Definition: mresmgr.h:236
MGNCS_EXPORT const char * ncsGetImageFileName(HPACKAGE package, Uint32 resId)
Get the name of image file.
MGNCS_EXPORT void ncsReleaseMyBitmap(PMYBITMAP myBmp)
Releases a bitmap.
Uint32 rdrname_id
Definition: mresmgr.h:352
Uint32 offset
Definition: mresmgr.h:191
MGNCS_EXPORT void ncsFreeWndTemplate(NCS_MNWND_TEMPLATE *ptempl)
free the window template create by ncsGetWndTemplFromID
MGNCS_EXPORT int ncsGetMyBitmap(HPACKAGE package, Uint32 resId, PMYBITMAP myBmp, RGB *pal)
Load a device-independent bitmap from resource id.
struct _NCSRM_HEADER NCSRM_HEADER
#define NCSRM_ENCODING_LEN
The maximum length of encoding.
Definition: mresmgr.h:128
struct _NCSRM_DEFLOCALE_INFO NCSRM_DEFLOCALE_INFO
Uint32 filename_id
Definition: mresmgr.h:173
#define NCSRM_VERSION_LEN
The maximum length of resource package version.
Definition: mresmgr.h:116
Uint32 id
Definition: mresmgr.h:341
Uint32 filename_id
Definition: mresmgr.h:290
DWORD32 ex_style
Definition: mresmgr.h:230
struct _NCSRM_PROP NCSRM_PROP
struct _NCSRM_IDITEM NCSRM_IDITEM
Uint32 offset_adddata
Definition: mresmgr.h:255
DWORD32 value
Definition: mresmgr.h:367
Uint32 serial_num
Definition: mresmgr.h:205
struct _NCSRM_TYPEITEM NCSRM_TYPEITEM
Uint32 id
Definition: mresmgr.h:185
DWORD32 style
Definition: mresmgr.h:227
MGNCS_EXPORT mMainWnd * ncsCreateMainWindowIndirectFromID(HPACKAGE package, Uint32 wndId, HWND owner, HICON hIcon, HMENU hMenu, NCS_EVENT_HANDLER_INFO *handlers, NCS_EVENT_CONNECT_INFO *connects, DWORD user_data)
Create main window.
Uint32 clsname_id
Definition: mresmgr.h:354
Uint32 rdr_id
Definition: mresmgr.h:211
Sint32 id
Definition: mresmgr.h:365
MGNCS_EXPORT int ncsGetBitmap(HDC hdc, HPACKAGE package, Uint32 resId, PBITMAP pBitmap)
Load a device-dependent bitmap from resource id.
Uint32 nr_sect
Definition: mresmgr.h:148
Uint32 size_adddata
Definition: mresmgr.h:258
Uint32 offset_props
Definition: mresmgr.h:243
char format_version[NCSRM_VERSION_LEN]
Definition: mresmgr.h:140
MGNCS_EXPORT void ncsUnloadResPackage(HPACKAGE package)
Unload a resource package.
Uint32 value
Definition: mresmgr.h:343
Uint32 filename_id
Definition: mresmgr.h:188
char package_version[NCSRM_VERSION_LEN]
Definition: mresmgr.h:137
MGNCS_EXPORT const char * ncsGetDefaultLocale(void)
Get default locale information.
MGNCS_EXPORT void ncsReleaseBitmap(PBITMAP pBitmap)
Releases a bitmap.
MGNCS_EXPORT int ncsAddRefResPackage(HPACKAGE package)
add the reference count for resource package