MiniGUI API Reference (MiniGUI-Threads)
v5.0.6
A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
Normally, the only entry of any MiniGUI application is MiniGUIMain. The application will terminate when you call exit(3) or just return from MiniGUIMain.
More...
Normally, the only entry of any MiniGUI application is MiniGUIMain. The application will terminate when you call exit(3) or just return from MiniGUIMain.
Example 1:
{
#ifdef _MGRM_PROCESSES
int i;
const char* layer =
NULL;
for (i = 1; i < args; i++) {
if (strcmp (arg[i], "-layer") == 0) {
layer = arg[i + 1];
break;
}
}
if (GetLayerInfo (layer,
NULL,
NULL,
NULL) == INV_LAYER_HANDLE) {
printf ("GetLayerInfo: the requested layer does not exist.\n");
}
if (
JoinLayer (layer, arg[0], 0, 0) == INV_LAYER_HANDLE) {
printf ("JoinLayer: invalid layer handle.\n");
exit (1);
}
#endif
...
return 0;
}
Example 2:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
{
switch (message) {
TextOut (hdc, 0, 0,
"Hello, world!");
break;
return 0;
}
}
{
pCreateInfo->ty = 0;
pCreateInfo->rx = 320;
pCreateInfo->by = 240;
}
{
#ifdef _MGRM_PROCESSES
#endif
InitCreateInfo (&CreateInfo);
return -1;
}
return 0;
}
◆ IDM_DTI_FIRST
#define IDM_DTI_FIRST (300) |
The minimum interger value of command ID when user customize desktop menu.
Definition at line 2559 of file minigui.h.
◆ MiniGUIMain
Value:MiniGUIAppMain (int args, const char* argv[]); \
int main_entry (int args, const char* argv[]) \
{ \
int iRet = 0; \
return 1; \
} \
iRet = MiniGUIAppMain (args, argv); \
TerminateGUI (iRet); \
return iRet; \
} \
int MiniGUIAppMain
The main entry of a MiniGUI application.
This function should be defined by your application. Before Version 1.6.1, MiniGUI defines main() function in libminigui library for your application, and call MiniGUIMain() in this main() function. The main() defined by MiniGUI is responsible of initializing and terminating MiniGUI.
After version 1.6.1, MiniGUI defines MiniGUIMain as a macro.
- Parameters
-
args | The number of arguments passed to main() by operating system. |
argv | The arguments passed to main() by operating system. |
- Returns
- The exit status will be retured to the parent process.
Definition at line 2540 of file minigui.h.
◆ ReinitDesktop
Re-initializes the desktop including the local system text.
- Returns
- TRUE on success, otherwise FALSE.
- Note
- This function defined as a macro calling ReinitDesktopEx with init_sys_text set to TRUE.
- See also
- ReinitDesktopEx
Definition at line 2498 of file minigui.h.
◆ DESKTOPOPS
◆ DesktopUpdateAllWindow()
void GUIAPI DesktopUpdateAllWindow |
( |
void |
| ) |
|
Update all visible windows on the desktop.
On MiniGUI-Processes update all the main windows of the client and desktop window, and it only can be used by mginit on MiniGUI-Processes. On MiniGUI-Threads and MiniGUI-Standalone update all visible windows and desktop window.
◆ ExitGUISafely()
void GUIAPI ExitGUISafely |
( |
int |
exitcode | ) |
|
Exits your MiniGUI application safely.
Calling this function will terminate your MiniGUI application. This function will restore console attributes and call exit() function and pass exitcode to it.
- Parameters
-
exitcode | The exit status will be passed to exit(3) function. |
- Returns
- This function will not return.
- See also
- exit(3)
◆ JoinLayer()
GHANDLE GUIAPI JoinLayer |
( |
const char * |
layer_name, |
|
|
const char * |
client_name, |
|
|
int |
max_nr_highers, |
|
|
int |
max_nr_normals |
|
) |
| |
|
inlinestatic |
The dummy replacement of the same function for MiniGUI-Processes.
This function is a replacment of the same function for MiniGUI-Processes runtime mode. We provide this function for MiniGUI-Threads and MiniGUI-Standalone runtime modes, in order to avoid using the conditional compilation instructions in your source code.
- Returns
- Always returns DUMMY_LAYER_HANDLE to indicate success.
Definition at line 2689 of file minigui.h.
◆ ReinitDesktopEx()
BOOL GUIAPI ReinitDesktopEx |
( |
BOOL |
init_sys_text | ) |
|
Re-initializes the desktop.
When you changed the charset or the background picture of the desktop, you should call this function to re-initialize the local system text (when init_sys_text is TRUE), the background picture, and the desktop menu.
- Parameters
-
init_sys_text | Indicates whether to initialize the local system text. |
- Returns
- TRUE on success, otherwise FALSE.
- See also
- ReinitDesktop
◆ SetCustomDesktopOperationSet()
Set customer desktop operation set.
- Parameters
-
usr_dsk_ops | The pointer to user customer desktop operation set. |
- Returns
- Old desktop operation set.
static void* this_init(void)
{
......
}
static void this_deinit(void* context)
{
......
}
static void this_paint_desktop(void* context,
HDC dc_desktop,
const RECT* inv_rc)
{
......
}
static void this_keyboard_handler(void* context, int message,
{
......
}
static void this_mouse_handler(void* context, int message,
{
......
}
static void this_customize_desktop_menu (void* context,
HMENU hmnu,
int start_pos)
{
......
}
static void this_desktop_menucmd_handler (void* context, int id)
{
......
}
{
this_init,
this_deinit,
this_paint_desktop,
this_keyboard_handler,
this_mouse_handler,
this_customize_desktop_menu,
this_desktop_menucmd_handler,
};
- See also
- DESKTOPOPS
MG_EXPORT BOOL GUIAPI DestroyMainWindow(HWND hWnd)
Destroys a main window.
#define WS_VISIBLE
Creates a window initially visible.
MG_EXPORT void GUIAPI EndPaint(HWND hWnd, HDC hdc)
Marks the end of painting in a window.
#define NULL
A value indicates null pointer.
static HWND GUIAPI CreateMainWindow(PMAINWINCREATE pCreateInfo)
A simplified version of CreateMainWindowEx.
LRESULT(* MainWindowProc)(HWND, UINT, WPARAM, LPARAM)
GHANDLE HWND
Handle to main window or control.
GHANDLE HDC
Handle to device context.
MG_EXPORT HCURSOR GUIAPI GetSystemCursor(int csrid)
Get the handle to a system cursor by its identifier.
static BOOL MainWindowThreadCleanup(HWND hMainWnd)
Cleanup the main window.
UINT_PTR WPARAM
A type definition for the first message paramter.
LONG_PTR LRESULT
Signed result of message processing.
unsigned int UINT
A type definition for unsigned integer.
#define HWND_DESKTOP
Desktop window handle.
GHANDLE HMENU
Handle to menu.
#define PIXEL_lightwhite
Light white.
#define MSG_CLOSE
Indicates the user has clicked the closing box on the caption.
#define HWND_INVALID
Invalid window handle.
#define MiniGUIMain
The main entry of a MiniGUI application.
MG_EXPORT int GUIAPI InitGUI(int argc, const char *argv[])
Initialize MiniGUI.
#define MSG_PAINT
Sent to the window if the window contains an invalid region.
MG_EXPORT int GUIAPI PostQuitMessage(HWND hWnd)
Puts a MSG_QUIT message into the message queue of a main window.
MG_EXPORT DESKTOPOPS *GUIAPI SetCustomDesktopOperationSet(DESKTOPOPS *usr_dsk_ops)
Set customer desktop operation set.
#define DefaultMainWinProc
Is the default main window callback procedure.
#define WS_CAPTION
Creates a main window with caption.
UINT_PTR LPARAM
A type definition for the second message paramter.
static BOOL GUIAPI GetMessage(PMSG pMsg, HWND hWnd)
Get a message from the message queue of a main window.
MG_EXPORT LRESULT GUIAPI DispatchMessage(PMSG pMsg)
Dispatches a message to the window's callback procedure.
#define NAME_DEF_LAYER
The default name of the layer.
#define TextOut(hdc, x, y, text)
Outputs text.
static GHANDLE GUIAPI JoinLayer(const char *layer_name, const char *client_name, int max_nr_highers, int max_nr_normals)
The dummy replacement of the same function for MiniGUI-Processes.
MG_EXPORT HDC GUIAPI BeginPaint(HWND hWnd)
Prepares a window for painting.