mGNCS API Reference  v1.5.0
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 
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 */
ncsCreateMainWindowIndirectFromID
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.
NCSRM_SECTHEADER
struct _NCSRM_SECTHEADER NCSRM_SECTHEADER
_NCSRM_TYPEITEM
Definition: mresmgr.h:152
_NCSRM_WINHEADER::x
Sint32 x
Definition: mresmgr.h:215
NCSRM_WINHEADER
struct _NCSRM_WINHEADER NCSRM_WINHEADER
NCSRM_TYPEITEM
struct _NCSRM_TYPEITEM NCSRM_TYPEITEM
ncsLoadResPackageFromFile
MGNCS_EXPORT HPACKAGE ncsLoadResPackageFromFile(const char *fileName)
Load a resource package from resource package file.
_NCSRM_WINHEADER::offset_adddata
Uint32 offset_adddata
Definition: mresmgr.h:255
_NCS_MNWND_TEMPLATE
Definition: mwidget.h:1167
_NCSRM_LOCALEITEM::language
char language[4]
Definition: mresmgr.h:285
_NCS_EVENT_CONNECT_INFO
Definition: mcomponent.h:435
NCSRM_RDRHEADER
struct _NCSRM_RDRHEADER NCSRM_RDRHEADER
_NCSRM_WINHEADER::size_adddata
Uint32 size_adddata
Definition: mresmgr.h:258
ncsRMRdrResType
ncsRMRdrResType
Renderer resource type.
Definition: mresmgr.h:313
_NCSRM_IDITEM::filename_id
Uint32 filename_id
Definition: mresmgr.h:188
NCSRM_RDRTYPE_TEXT
@ NCSRM_RDRTYPE_TEXT
Definition: mresmgr.h:330
_NCSRM_TYPEITEM::filename_id
Uint32 filename_id
Definition: mresmgr.h:173
_NCSRM_WINHEADER::offset_ctrls
Uint32 offset_ctrls
Definition: mresmgr.h:246
_NCSRM_HEADER::magic
Uint32 magic
Definition: mresmgr.h:134
_NCS_EVENT_HANDLER
Definition: mcomponent.h:378
ncsReleaseBitmap
MGNCS_EXPORT void ncsReleaseBitmap(PBITMAP pBitmap)
Releases a bitmap.
ncsGetWndTemplFromID
MGNCS_EXPORT BOOL ncsGetWndTemplFromID(HPACKAGE package, Uint32 wndId, NCS_MNWND_TEMPLATE *ptempl, NCS_EVENT_HANDLER_INFO *handlers)
get the window template from package
ncsGetImageFileName
const MGNCS_EXPORT char * ncsGetImageFileName(HPACKAGE package, Uint32 resId)
Get the name of image file.
_NCSRM_WINHEADER::rdr_id
Uint32 rdr_id
Definition: mresmgr.h:211
ncsAddRefResPackage
MGNCS_EXPORT int ncsAddRefResPackage(HPACKAGE package)
add the reference count for resource package
_NCSRM_WINHEADER::nr_ctrls
Uint32 nr_ctrls
Definition: mresmgr.h:252
_NCSRM_SECTHEADER::size_maps
Uint32 size_maps
Definition: mresmgr.h:269
_NCSRM_SECTHEADER
Definition: mresmgr.h:263
ncsGetDefaultLocale
const MGNCS_EXPORT char * ncsGetDefaultLocale(void)
Get default locale information.
mMainWnd
define the memders of mMainWnd, inherit from mPanel
ncsGetString
const MGNCS_EXPORT char * ncsGetString(HPACKAGE package, Uint32 resId)
Get string.
_NCSRM_WINHEADER::size
Uint32 size
Definition: mresmgr.h:240
_NCSRM_WINHEADER::caption_id
Uint32 caption_id
Definition: mresmgr.h:208
NCSRM_LOCALEITEM
struct _NCSRM_LOCALEITEM NCSRM_LOCALEITEM
ncsSetSysRdr
MGNCS_EXPORT BOOL ncsSetSysRdr(HPACKAGE package, Uint32 rdrSetId)
Set system renderer.
NCSRM_INCORE_IMAGE
struct _NCSRM_INCORE_IMAGE NCSRM_INCORE_IMAGE
ncsSetDefaultLocale
const MGNCS_EXPORT char * ncsSetDefaultLocale(char *language, char *country)
Set default locale information.
_NCSRM_HEADER::vendor
char vendor[NCSRM_VENDOR_LEN]
Definition: mresmgr.h:145
_NCSRM_PROP
Definition: mresmgr.h:360
_NCSRM_IDITEM
Definition: mresmgr.h:182
_NCSRM_HEADER
Definition: mresmgr.h:131
NCSRM_RDRTYPE_IMAGE
@ NCSRM_RDRTYPE_IMAGE
Definition: mresmgr.h:320
ncsLoadResPackageFromMem
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...
_NCSRM_DEFLOCALE_INFO::country
char country[4]
Definition: mresmgr.h:278
_NCSRM_PROP::id
Sint32 id
Definition: mresmgr.h:365
_NCSRM_INCORE_IMAGE::ext
char ext[NCSRT_EXT_LEN+1]
Definition: mresmgr.h:303
_NCSRM_WINHEADER::class_id
Uint32 class_id
Definition: mresmgr.h:199
NCSRT_EXT_LEN
#define NCSRT_EXT_LEN
The maximum length of resource extension.
Definition: mresmgr.h:110
ncsReleaseMyBitmap
MGNCS_EXPORT void ncsReleaseMyBitmap(PMYBITMAP myBmp)
Releases a bitmap.
_NCSRM_SECTHEADER::sect_size
Uint32 sect_size
Definition: mresmgr.h:266
_NCSRM_PROP::type
Sint32 type
Definition: mresmgr.h:363
_NCSRM_IDITEM::offset
Uint32 offset
Definition: mresmgr.h:191
_NCSRM_WINHEADER::nr_props
Uint32 nr_props
Definition: mresmgr.h:249
ncsGetMyBitmap
MGNCS_EXPORT int ncsGetMyBitmap(HPACKAGE package, Uint32 resId, PMYBITMAP myBmp, RGB *pal)
Load a device-independent bitmap from resource id.
NCSRM_DEFLOCALE_INFO
struct _NCSRM_DEFLOCALE_INFO NCSRM_DEFLOCALE_INFO
_NCSRM_WINHEADER::offset_props
Uint32 offset_props
Definition: mresmgr.h:243
_NCSRM_RDRHEADER::clsname_id
Uint32 clsname_id
Definition: mresmgr.h:354
NCSRM_RDRTYPE_FILE
@ NCSRM_RDRTYPE_FILE
Definition: mresmgr.h:328
_NCSRM_LOCALEITEM::country
char country[4]
Definition: mresmgr.h:287
ncsGetBitmap
MGNCS_EXPORT int ncsGetBitmap(HDC hdc, HPACKAGE package, Uint32 resId, PBITMAP pBitmap)
Load a device-dependent bitmap from resource id.
_NCSRM_WINHEADER::serial_num
Uint32 serial_num
Definition: mresmgr.h:205
ncsSetWinRdr
MGNCS_EXPORT BOOL ncsSetWinRdr(HWND hWnd, HPACKAGE package, Uint32 rdrId)
Set window renderer.
NCSRM_RDRTYPE_BINARY
@ NCSRM_RDRTYPE_BINARY
Definition: mresmgr.h:324
NCSRM_PROP
struct _NCSRM_PROP NCSRM_PROP
_NCSRM_LOCALEITEM
Definition: mresmgr.h:282
_NCSRM_RDRINFO::id
Uint32 id
Definition: mresmgr.h:341
_NCSRM_RDRINFO
Definition: mresmgr.h:338
NCSRM_RDRTYPE_METRIC
@ NCSRM_RDRTYPE_METRIC
Definition: mresmgr.h:318
_NCSRM_WINHEADER::w
Uint32 w
Definition: mresmgr.h:221
NCSRM_VENDOR_LEN
#define NCSRM_VENDOR_LEN
The maximum length of vendor.
Definition: mresmgr.h:122
HPACKAGE
GHANDLE HPACKAGE
Handle to resource package.
Definition: mresmgr.h:70
_NCSRM_LOCALEITEM::offset
Uint32 offset
Definition: mresmgr.h:293
NCSRM_HEADER
struct _NCSRM_HEADER NCSRM_HEADER
_NCSRM_WINHEADER::font_id
Uint32 font_id
Definition: mresmgr.h:236
NCSRM_RDRTYPE_STRING
@ NCSRM_RDRTYPE_STRING
Definition: mresmgr.h:326
NCSRM_IDITEM
struct _NCSRM_IDITEM NCSRM_IDITEM
_NCSRM_PROP::value
DWORD32 value
Definition: mresmgr.h:367
NCSRM_RDRTYPE_COLOR
@ NCSRM_RDRTYPE_COLOR
Definition: mresmgr.h:316
_NCSRM_WINHEADER::ex_style
DWORD32 ex_style
Definition: mresmgr.h:230
_NCSRM_HEADER::package_version
char package_version[NCSRM_VERSION_LEN]
Definition: mresmgr.h:137
_NCSRM_TYPEITEM::offset
Uint32 offset
Definition: mresmgr.h:178
_NCSRM_WINHEADER::wnd_id
Uint32 wnd_id
Definition: mresmgr.h:202
NCSRM_ENCODING_LEN
#define NCSRM_ENCODING_LEN
The maximum length of encoding.
Definition: mresmgr.h:128
_NCSRM_WINHEADER::style
DWORD32 style
Definition: mresmgr.h:227
_NCSRM_RDRHEADER::rdrname_id
Uint32 rdrname_id
Definition: mresmgr.h:352
_NCSRM_IDITEM::id
Uint32 id
Definition: mresmgr.h:185
NCSRM_RDRTYPE_MAX
@ NCSRM_RDRTYPE_MAX
Definition: mresmgr.h:332
_NCSRM_WINHEADER::bk_color
DWORD32 bk_color
Definition: mresmgr.h:233
ncsFreeWndTemplate
MGNCS_EXPORT void ncsFreeWndTemplate(NCS_MNWND_TEMPLATE *ptempl)
free the window template create by ncsGetWndTemplFromID
_NCSRM_INCORE_IMAGE::size
Uint32 size
Definition: mresmgr.h:300
_NCSRM_LOCALEITEM::filename_id
Uint32 filename_id
Definition: mresmgr.h:290
_NCSRM_HEADER::nr_sect
Uint32 nr_sect
Definition: mresmgr.h:148
NCSRM_RDRINFO
struct _NCSRM_RDRINFO NCSRM_RDRINFO
_NCSRM_HEADER::format_version
char format_version[NCSRM_VERSION_LEN]
Definition: mresmgr.h:140
_NCSRM_INCORE_IMAGE::data
void * data
Definition: mresmgr.h:306
NCSRM_VERSION_LEN
#define NCSRM_VERSION_LEN
The maximum length of resource package version.
Definition: mresmgr.h:116
_NCSRM_DEFLOCALE_INFO::language
char language[4]
Definition: mresmgr.h:276
_NCSRM_DEFLOCALE_INFO
Definition: mresmgr.h:273
NCSRM_RDRTYPE_FONT
@ NCSRM_RDRTYPE_FONT
Definition: mresmgr.h:322
_NCSRM_RDRINFO::value
Uint32 value
Definition: mresmgr.h:343
_NCSRM_RDRHEADER
Definition: mresmgr.h:349
_NCSRM_WINHEADER::y
Sint32 y
Definition: mresmgr.h:218
_NCSRM_WINHEADER
Definition: mresmgr.h:196
ncsUnloadResPackage
MGNCS_EXPORT void ncsUnloadResPackage(HPACKAGE package)
Unload a resource package.
_NCSRM_INCORE_IMAGE
Definition: mresmgr.h:297
_NCSRM_WINHEADER::h
Uint32 h
Definition: mresmgr.h:224
_NCSRM_TYPEITEM::type
Uint32 type
Definition: mresmgr.h:170