Compare commits

...
262 Commits
Author SHA1 Message Date
Vincent Wei 28e49dd768 Version -> Version.md 2019-12-24 11:49:56 +08:00
Vincent Wei d5200eec58 add ignored subdirectories 2019-12-24 10:44:59 +08:00
Vincent Wei d35bde9a4c fix some misspells 2019-12-24 10:02:49 +08:00
Vincent Wei daab1ae19b Merge branch 'gpu-integration' 2019-12-24 10:00:19 +08:00
Vincent Wei 3e8e8a5984 4.1.0 -> 4.0.4; release notes 2019-12-24 09:59:48 +08:00
Vincent Wei 3f80c9f3c0 check surface for GetVideoHandle 2019-12-12 15:01:44 +08:00
Vincent Wei 548117ac06 call drmModeAddFB2 for scanout buffer 2019-12-02 17:27:48 +08:00
VincentWei 6339a7417b __dri_ex_driver_get to __drm_ex_driver_get 2019-12-02 14:31:48 +08:00
Vincent Wei a2e4b55966 cleanup 2019-12-02 11:09:12 +08:00
Vincent Wei fb90d5e164 debug 2019-12-01 14:01:11 +08:00
Vincent Wei 68a29d0e53 check whether the driver is initialized 2019-12-01 12:46:10 +08:00
Vincent Wei 117b79e51c change default DRM driver name 2019-12-01 12:45:46 +08:00
Vincent Wei 3df060c5da add argument name to InitGUI 2019-11-28 12:30:09 +08:00
Vincent Wei cd558b1739 add prime_fd and name fields for DrmSurface object and info 2019-11-25 17:12:17 +08:00
Vincent Wei 873e88313b dri -> drm 2019-11-21 10:57:33 +08:00
Vincent Wei f0975518b1 change since 4.0.4 to since 4.1.0 2019-11-21 10:25:59 +08:00
Vincent Wei 14075969bd user DRM/drm instead of DRI/dri for DRM engine and APIs 2019-11-21 10:25:03 +08:00
Vincent Wei 47ec0374c5 change version to 4.1.0 2019-11-20 13:52:32 +08:00
Vincent Wei 6af2f7a67b change version to 4.1.0 and fix bad libdrm includ path 2019-11-20 11:28:54 +08:00
Vincent Wei db0956431d add exdrv_handle for the handle of the shared library for the external DRM driver 2019-11-20 10:35:04 +08:00
Vincent Wei de64d2ac96 use dlopen to load external DRM driver 2019-11-20 10:34:21 +08:00
Vincent Wei 38234739e5 add a new argument to __dri_ex_driver_get: device_fd 2019-11-20 10:33:40 +08:00
Vincent Wei c6a4943aae add new key for dri section: exdriver 2019-11-20 10:32:59 +08:00
Vincent Wei 7a7dd5b6e5 implement IsScreenDC and IsWindowDC 2019-11-19 15:59:40 +08:00
Vincent Wei 7123f08da6 add IsScreenDC and IsWindowDC 2019-11-19 15:59:10 +08:00
Vincent Wei 13348f18be tune calls of _WRN_PRINTF 2019-11-19 09:42:08 +08:00
Vincent Wei 064ceade0f tune _WRN_PRINTF and _DBG_PRINTF 2019-11-19 09:41:47 +08:00
Vincent Wei 8832f051a8 add create_buffer_from_prime_fd operation 2019-11-19 09:41:13 +08:00
Vincent Wei add133abd4 add implementation for driCreateDCFromPrimeFd 2019-11-19 09:40:33 +08:00
Vincent Wei def8833037 add driCreateDCFromPrimeFd 2019-11-19 09:40:06 +08:00
Vincent Wei b1913b67d6 tune 2019-11-18 19:02:29 +08:00
Vincent Wei ef9afd0f55 GetSurfaceHandle -> GetVideoHandle; tune driGetDeviceFD and driGetSurfaceInfo; add driCreateDCFromName and driCreateDCFromHandle 2019-11-18 19:02:22 +08:00
Vincent Wei 5b340d82dc GetSurfaceHandle -> GetVideoHandle; tune driGetDeviceFD and driGetSurfaceInfo; add driCreateDCFromName and driCreateDCFromHandle 2019-11-18 19:01:33 +08:00
Vincent Wei 64be953123 tune interface of create_buffer_from_name; add DRI driver method create_buffer_from_handle 2019-11-18 18:59:27 +08:00
Vincent Wei 580cf66695 make fbcon engine disabled by default 2019-11-14 09:04:57 +08:00
Vincent Wei 637dbbce68 change link to licensing policy 2019-11-13 11:53:59 +08:00
Vincent Wei bb63875964 new API: IsMemDC 2019-11-06 17:04:24 +08:00
Vincent Wei fe26d71145 change version to 4.0.3 2019-11-06 17:04:16 +08:00
Vincent Wei 9095139bf7 cleanup DriDriverOps, use DriSurfaceBuffer object for addressing the surface buffer 2019-11-04 11:16:03 +08:00
Vincent Wei 0581365fcd merge pull request for checking AARCH64 and RISCV architectures 2019-11-04 08:47:31 +08:00
Vincent Wei 9ae865eb3e Merge branch 'master' of github.com:VincentWei/minigui into gpu-integration 2019-11-04 08:42:48 +08:00
Vincent Wei 5c531a6154 Merge pull request #24 from wangrunji0408/master
Fix byte order for aarch64 and riscv
2019-11-04 08:34:29 +08:00
Runji Wang df93b74fca fix byte order for aarch64 and riscv 2019-11-02 00:38:50 +08:00
Vincent Wei 9af014c045 New API: GetSurfaceHandle, driGetDeviceFD, driGetSurfaceInfo; Tune operations of DriDriverOps 2019-11-01 17:47:15 +08:00
Vincent Wei 9823a00352 global variable current_video -> __mg_current_video 2019-11-01 14:18:37 +08:00
Vincent Wei 38aa40042c release version 4.0.2 2019-10-31 11:29:24 +08:00
Vincent Wei 991472894b tune configure output 2019-10-24 17:33:45 +08:00
Vincent Wei ca249ba378 change version to 4.0.2 2019-10-24 17:27:51 +08:00
Vincent Wei 04adac288f change version to 4.0.2 2019-10-24 17:26:08 +08:00
Vincent Wei fcd401128c add configure options for RT-Thread, RTEMS, FreeRTOS 2019-10-24 17:24:37 +08:00
Vincent Wei 067df2ea37 tune for minigui-docs 2019-10-23 19:08:03 +08:00
Vincent Wei c47dad1ad5 restore build/rules-pc.linux and fix errors in makefile.ng files 2019-10-18 16:56:05 +08:00
Vincent Wei 28d907165f remove standalone option 2019-10-17 16:41:36 +08:00
Vincent Wei 8a8cdd18ed tune readme 2019-07-29 16:34:33 +08:00
Vincent Wei 2e5a8804bf tune api desc 2019-07-29 10:03:27 +08:00
Vincent Wei 173171b653 use -1 instead of 0xFFFFFFFF for ON_UPDSECDC_DONOTHING; chang return type of GetGDCapability to Uint32 2019-07-26 12:07:32 +08:00
Vincent Wei b4e46463cd remove _DEBUG 2019-07-19 15:49:16 +08:00
Vincent Wei d7c818080c libdrm does not need udev 2019-07-19 15:32:08 +08:00
Vincent Wei c03ed8d23a change version 2019-07-19 14:56:58 +08:00
Vincent Wei f965c4b8ea notes for ver-4-0-1 2019-07-19 14:45:24 +08:00
Vincent Wei 3710611ebd restore GetResPath 2019-07-19 14:08:08 +08:00
VincentWei d50c5c25ed use %zu instead of %lu for size_t values 2019-07-19 12:23:54 +08:00
Vincent Wei b7820d888f use DWORD for RES_KEY 2019-07-19 11:21:54 +08:00
Vincent Wei a068f25519 use FNV 1a algrithm for Str2Key 2019-07-19 11:11:34 +08:00
Vincent Wei f6ad9a960e cleanup 2019-07-18 14:59:12 +08:00
Vincent Wei 29a6e0f0f9 tune api desc 2019-07-18 12:44:24 +08:00
Vincent Wei 868548cf0d fix typos 2019-07-17 17:23:14 +08:00
Vincent Wei a9daa05807 - [Overview](#overview) 2019-07-17 17:22:41 +08:00
Vincent Wei 5e0500411e struct description for _DriDriverOps 2019-07-16 11:36:27 +08:00
Vincent Wei 717fbd6fee tune for version 4.0.0 2019-07-15 15:46:43 +08:00
Vincent Wei 53c77a9a73 prepend excpetion list statement 2019-07-15 14:17:20 +08:00
Vincent Wei e256fb2a0a restore timer thread 2019-07-14 17:17:40 +08:00
Vincent Wei ce29edbca6 disable timer thread for MiniGUI-Threads 2019-07-14 17:08:36 +08:00
Vincent Wei 3a37407982 cleanup for MiniGUI-Processes 2019-07-14 16:38:03 +08:00
Vincent Wei 3d0e33d2b3 Use ENTER_DRAWING_NOCHECK for BitBlt 2019-07-14 15:26:53 +08:00
Vincent Wei 8040f7abd5 __mg_time -> mg_os_time; __mg_mktime -> __mg_os_mktime; __mg_localtime -> __mg_os_localtime; use clock_gettime for tick count instead of gettimeofday 2019-07-14 14:21:40 +08:00
Vincent Wei 7e1e59a40b tune 2019-07-12 17:36:53 +08:00
Vincent Wei d6cbed96bc tune format 2019-07-12 17:25:56 +08:00
Vincent Wei 8adabc5917 Do not send MSG_NCPAINT when calling UpdateInvalidateRect 2019-07-12 17:13:56 +08:00
Vincent Wei 11950343df two new non-posix functions: __mg_os_start_time and __mg_os_get_time, and use __mg_os_get_time to implement GetTickCount for MiniGUI Standalone runmode 2019-07-12 16:38:16 +08:00
Vincent Wei c7201cbde1 Merge branch 'master' of gitlab.fmsoft.cn:VincentWei/minigui 2019-07-11 19:35:44 +08:00
Vincent Wei fd67781384 use DRM pixel format to define the pixel format surface 2019-07-11 19:34:43 +08:00
Vincent Wei 93101e6eed clear GAL_HWACCEL flag if check_blit retruns non-zero 2019-07-11 16:35:42 +08:00
Vincent Wei 3494e3d496 cleanup 2019-07-11 15:11:56 +08:00
Vincent Wei 5138402296 tune DriDriverOps to use DriSurfaceBuffer* for mapped surface buffer 2019-07-11 12:38:10 +08:00
Vincent Wei f324e2a1b6 tune release notes 2019-07-08 18:18:32 +08:00
Vincent Wei 36d5500a31 use DriPixelFormat when creating hardware buffer 2019-07-08 17:31:19 +08:00
Vincent Wei 61819fd832 Windows 2019-07-08 12:03:52 +08:00
Vincent Wei a2cd26ea99 DRM -> DRI 2019-07-05 12:47:00 +08:00
Vincent Wei f4af247b15 DRM -> DRI 2019-07-05 12:41:54 +08:00
Vincent Wei aa9bb68ad9 tune release notes 2019-07-04 18:43:12 +08:00
gengyue 5e8b27b810 solved some memery error 2019-07-04 18:39:16 +08:00
Vincent Wei 5f22485ed5 cleanup 2019-07-04 14:14:01 +08:00
Vincent Wei 06b90939c4 tune drm video engine for acclerated graphics 2019-07-03 12:17:21 +08:00
Vincent Wei 5e65422a28 tune 2019-07-03 08:42:26 +08:00
Vincent Wei ca98e4de5b show target name 2019-07-03 08:41:24 +08:00
Vincent Wei 46ed039e84 use a larger buffer 2019-07-02 14:30:16 +08:00
Vincent Wei d2701bac10 fix a minor bug 2019-07-02 11:58:20 +08:00
Vincent Wei ac6ebea61f clean extra input message before calling ial_wait_event 2019-07-02 11:52:30 +08:00
Vincent Wei 80f5ab49ce tune code for MiniGUI-Standalone runmode 2019-07-02 11:34:34 +08:00
Vincent Wei 59f97d7de0 tune for gcc 4.8 2019-06-25 17:42:50 +08:00
Vincent Wei d24fa1c8e5 just skip alpha component for RGBA format 2019-06-23 12:34:38 +08:00
Vincent Wei 775b7586d6 enhance __mg_load_jpg to support any type of MG_RWops 2019-06-23 12:30:43 +08:00
Vincent Wei 485b329737 tune 2019-06-20 16:39:07 +08:00
Vincent Wei 2cb7f7b08f fix typos 2019-06-20 11:38:10 +08:00
Vincent Wei 1a948f71d5 describe support for DRI and extra input messages 2019-06-20 11:29:57 +08:00
Vincent Wei 67ba6dc63d on the webpage -> in the webpage 2019-06-20 10:31:59 +08:00
Vincent Wei 52753ac730 fix typos 2019-06-19 14:00:05 +08:00
Vincent Wei 92acd5b204 update 2019-06-19 12:18:34 +08:00
Vincent Wei 58849e4b5a tune format 2019-06-19 11:54:30 +08:00
Vincent Wei d285256317 exception list 2019-06-19 11:53:47 +08:00
Vincent Wei 31b33c39c3 debug random IAL engine 2019-06-18 18:46:31 +08:00
Vincent Wei a5319df211 fix some bad documents for MSG_EXIN_XXX 2019-06-18 18:46:12 +08:00
Vincent Wei ee1cb96ec1 keys for random IAL engine 2019-06-18 18:45:55 +08:00
Vincent Wei d1b8c90b13 implementation of random IAL engine for mouse, keyboard, button, single_touch, gesture 2019-06-18 16:43:30 +08:00
Vincent Wei d503b340e0 handle KS_LEFTMETA and KS_RIGHTMETA 2019-06-17 15:16:41 +08:00
Vincent Wei 2a9549a138 add KS_LEFTMETA, KS_RIGHTMETA, and KS_META 2019-06-17 15:16:03 +08:00
Vincent Wei acb9b95bc6 implementation of random IAL engine 2019-06-17 12:34:16 +08:00
Vincent Wei 60f07ae26a move GetTickCount from window.h to minigui.h 2019-06-17 12:33:54 +08:00
Vincent Wei 77c4db5e2b framework of new random enigne 2019-06-16 18:50:15 +08:00
Vincent Wei 421ffea9c5 tune 2019-06-16 17:35:15 +08:00
Vincent Wei 57d8eb5237 section for enhanced random engine 2019-06-16 17:35:03 +08:00
Vincent Wei 799ff54869 description for two new engines: drm and libinput 2019-06-16 17:34:42 +08:00
Vincent Wei d6ee29ae11 fix some doc for messages 2019-06-14 18:58:46 +08:00
Vincent Wei 8dabf82a51 cleanup 2019-06-14 15:51:41 +08:00
Vincent Wei 237112bfe9 Implementation of GAL_SuspendVideo and GAL_ResumeVideo 2019-06-14 15:51:24 +08:00
Vincent Wei c445b5a80d Suspend and Resume methods 2019-06-14 15:50:37 +08:00
Vincent Wei 80773ab228 GAL_SuspendVideo and GAL_ResumeVideo 2019-06-14 15:50:11 +08:00
Vincent Wei 3f0ada1ee2 call GAL_SuspendVideo and GAL_ResumeVideo for VT switch 2019-06-14 15:49:53 +08:00
Vincent Wei e45b4ccad8 use LeftALT+LeftCTRL+Fx to switch virtual terminal 2019-06-14 15:49:19 +08:00
Vincent Wei fcb43eccb2 call treat_longpress when checking KS_REPEAT 2019-06-14 11:20:58 +08:00
Vincent Wei 111254b440 change DEF_LPRESS_TIME to 200 2019-06-14 11:20:20 +08:00
Vincent Wei 9f60ba7138 post MSG_EXIN_END_CHANGES message 2019-06-14 11:01:24 +08:00
Vincent Wei d2e0559bdf emulate mouse move and lbutton down for tablet tool 2019-06-14 11:01:03 +08:00
Vincent Wei 55b1934642 tune and cleanup 2019-06-14 10:13:04 +08:00
Vincent Wei 6a31f83a23 interfaces for Linux TTY 2019-06-14 10:12:37 +08:00
Vincent Wei fbe779b195 operators for Linux TTY 2019-06-14 10:12:17 +08:00
Vincent Wei f4e597d5d0 rename to have linux- prefix 2019-06-14 10:11:48 +08:00
Vincent Wei cf2ae944b7 special hande extra input messages in desktop procedure 2019-06-13 18:35:56 +08:00
Vincent Wei a9d7effc11 tune format 2019-06-13 18:00:20 +08:00
Vincent Wei 88771efb41 tune the default message queue length to 32 2019-06-13 18:00:02 +08:00
Vincent Wei 4a354b94f9 implementation of all extra input events 2019-06-13 17:50:30 +08:00
Vincent Wei 047ab34a98 handle extra input events in low-level event loop 2019-06-13 17:50:07 +08:00
Vincent Wei 83660e0d45 implementation of extra input events for touch and gesture 2019-06-13 12:35:44 +08:00
Vincent Wei 352a8cb158 add definitions of MSG_EXIN_XXX 2019-06-13 12:35:12 +08:00
Vincent Wei 85ba11cdd6 remove INPUT.mdev 2019-06-13 12:34:49 +08:00
Vincent Wei c9448ef4c6 Handle extra input events 2019-06-13 12:34:26 +08:00
Vincent Wei 2375100fd7 inline implementation of IAL_WaitEvent 2019-06-13 12:34:02 +08:00
Vincent Wei ebca4834a3 Tune INPUT structure: remove mdev and add wait_event_ex 2019-06-13 12:33:38 +08:00
Vincent Wei 34a007815b remove extra spaces after message name 2019-06-13 09:20:11 +08:00
Vincent Wei 50fcc2afc9 handle middle mouse button events 2019-06-12 19:08:24 +08:00
Vincent Wei 22cf10c508 handle mouse moved 2019-06-12 18:06:41 +08:00
Vincent Wei 51b0e704d7 cleanup 2019-06-12 18:06:22 +08:00
Vincent Wei da0cc99e7f cleanup 2019-06-12 18:06:13 +08:00
Vincent Wei c08a44638c Call IAL_SetMouseRange after initialized 2019-06-12 18:06:01 +08:00
Vincent Wei 9cc9e274cd handle more events 2019-06-12 17:48:08 +08:00
Vincent Wei 069c3eea17 cleanup 2019-06-12 17:47:49 +08:00
Vincent Wei 24381b4cb1 Add messages for middle mouse button: MSG_MBUTTONxxx and MSG_NCMBUTTONxxx;
Add messages for extra input events: MSG_EXIN_XXXX for pointer axis, generic button, touch, tablet, tablet pad, and switch.
2019-06-12 17:45:37 +08:00
Vincent Wei 5e362a9afb handle keyboard event 2019-06-12 12:33:32 +08:00
Vincent Wei 8a3437d948 change NR_KEYS to 250 2019-06-12 12:33:20 +08:00
Vincent Wei 4c2a8e7cc5 define more SCANCODE_xxxx and change NR_KEYS to 250 2019-06-12 12:32:45 +08:00
Vincent Wei b615321745 rename 2019-06-12 09:03:09 +08:00
Vincent Wei 8c81845eba change IAL engine of evdev to libinput 2019-06-11 18:39:26 +08:00
Vincent Wei e7913edc7e tuen implementation of dumb framebuffer 2019-06-11 17:02:48 +08:00
Vincent Wei d777055154 GAL_VideoModeOK returns Ok when the size requested are smaller than any mode available 2019-06-11 17:01:10 +08:00
Vincent Wei bbbff5bd8c Dumb buffer is almost ok 2019-06-11 15:33:30 +08:00
Vincent Wei 046353b9cb cleanup to use DrmVideoData for mode_list 2019-06-11 12:19:40 +08:00
Vincent Wei 06066b47b5 helpers for DRM mode setting 2019-06-10 18:25:58 +08:00
Vincent Wei 4f263517bb Source files for EvDev IAL engine 2019-06-10 18:25:03 +08:00
Vincent Wei 50afdc7826 add null implementation for EvDev IAL engine 2019-06-10 18:24:16 +08:00
Vincent Wei b282a7773d give mdev and mtype default values when they are not defined in ETC 2019-06-10 18:18:49 +08:00
Vincent Wei 1a5383b9bf open drm device 2019-06-10 16:11:18 +08:00
Vincent Wei 59e79143fb add DRM video driver 2019-06-10 16:10:59 +08:00
Vincent Wei 3601fa4868 use uintptr_t instead of UINT 2019-06-10 16:10:34 +08:00
Vincent Wei bad3722987 cleanup 2019-06-06 16:15:35 +08:00
Vincent Wei f3518b0254 ignore *.in~ 2019-06-06 12:39:43 +08:00
Vincent Wei 4fd4dfa561 empty implementation for drm video engine 2019-06-05 15:32:58 +08:00
Vincent Wei 924c1ecd79 sections for DRM video engine and EVDev input engine 2019-06-05 15:31:48 +08:00
Vincent Wei 43f9a1efbd options for DRM video engine and EVDev input engine 2019-06-05 15:31:27 +08:00
Vincent Wei fd7bb50756 add some notes for some keys 2019-06-04 10:50:57 +08:00
Vincent Wei 209a9cd69a remove checking of output rectangle for DrawTextEx2 2019-05-31 17:36:29 +08:00
Vincent Wei 855fdbad22 fixbug: convert Achar32 to Glyph32 for GetTabbedTextExtentPoint function 2019-05-30 16:34:22 +08:00
Vincent Wei ec330b1fea Try to load font from the relative path, if failed, try to load font from the system resource path. 2019-05-28 18:06:54 +08:00
Vincent Wei 09667150e8 Use _DBG_PRINTF for debug output instead of _WRN_PRINTF. 2019-05-28 18:06:19 +08:00
Vincent Wei 8ad28f6ae7 IsInvalidKey -> IsValidKey 2019-05-17 18:11:36 +08:00
Vincent Wei d3541df49e remove debug printf 2019-05-17 16:49:01 +08:00
Vincent Wei 617715e332 tune 2019-05-16 10:20:41 +08:00
Vincent Wei b9fd4b9178 New API: GetNextUChar 2019-05-15 11:58:48 +08:00
Vincent Wei e4499ee3ab cleanup 2019-04-22 16:24:31 +08:00
Vincent Wei dc31fc8e68 add link to CSS Writing Modes Level 3 2019-04-17 14:10:07 +08:00
Vincent Wei dff3093091 add link to GitHub wiki 2019-04-17 13:54:32 +08:00
Vincent Wei 05483a43bb fix typos 2019-04-16 18:08:25 +08:00
HOU Huihua 7ed7a27d62 tune code for SUBPIXEL rendering 2019-04-16 15:43:00 +08:00
Vincent Wei 4592dd3cd1 cleanup 2019-04-16 09:13:52 +08:00
Vincent Wei 8fe06d5a07 use const for pointer fields of INNER_RES 2019-04-15 16:44:37 +08:00
Vincent Wei fda8b7975d use inline functions for --disable-cursor instead of macros 2019-04-15 16:44:03 +08:00
Vincent Wei 9eb7bec6d3 update splash picture with new version (4.0) 2019-04-15 10:38:23 +08:00
Vincent Wei 5aee257855 Merge branch 'master' of github.com:VincentWei/minigui 2019-04-15 10:33:29 +08:00
Vincent Wei 9acc9e7b68 update to version 4.0 2019-04-15 10:33:04 +08:00
Vincent Wei 524fbd4833 cleanup 2019-04-15 10:13:23 +08:00
Vincent Wei 1eee78cfbc tune 2019-04-14 18:25:43 +08:00
Vincent Wei efc658016e HarzBuff -> HarfBuzz 2019-04-12 19:58:19 +08:00
Vincent Wei f8b834948f tune format 2019-04-12 19:42:59 +08:00
Vincent Wei ed4f2c1cfb tune format 2019-04-12 19:31:51 +08:00
WEI Yongming 8baaad037a tune release notes 2019-04-12 18:22:07 +08:00
WEI Yongming 2879190c44 Merge branch 'master' of github.com:VincentWei/minigui 2019-04-12 18:19:58 +08:00
WEI Yongming 49a9114155 support for LibPNG16 2019-04-12 18:19:35 +08:00
Vincent Wei 596c62b0c7 tune release notes 2019-04-12 15:50:47 +08:00
Vincent Wei 08f0d86c6e tune readme.md 2019-04-12 14:30:52 +08:00
Vincent Wei 7135b7ee5f tune release notes 2019-04-12 14:16:49 +08:00
Vincent Wei 9c1e9ad2ff GetGlyphValue -> GetGlyphValueAlt; Restore old GetGlyphValue 2019-04-12 14:05:22 +08:00
Vincent Wei 0c8a8acadd tune code for make docs 2019-04-12 11:39:53 +08:00
Vincent Wei 15fad87930 Restore GetGlyphBitmap 2019-04-12 11:39:06 +08:00
WEI Yongming 2caa09e185 tune 2019-04-12 09:23:51 +08:00
WEI Yongming 54577e9dd2 increase temp buffer size to avoid overflow; \t -> 4 spaces 2019-04-11 18:49:47 +08:00
WEI Yongming 2547782f77 tune code for gcc 4.8.5 2019-04-11 18:16:29 +08:00
Vincent Wei 9db7ec1abb use directly link for RELEASE-NOTES.md file 2019-04-11 12:53:13 +08:00
Vincent Wei d8264a91d5 Include README.md for Doxygen mainpage 2019-04-11 12:51:31 +08:00
Vincent Wei 852b7da5bc tune API description 2019-04-11 12:18:03 +08:00
Vincent Wei dd6248e90e cleanup for Doxygen 2019-04-11 10:54:17 +08:00
Vincent Wei 2581fa4d18 remove assert 2019-04-10 18:22:32 +08:00
Vincent Wei 7ab32056e1 tune glyph generating 2019-04-10 18:06:48 +08:00
Vincent Wei 3e6e0151af check ellipsized for next line 2019-04-10 16:31:02 +08:00
Vincent Wei 8f27fbb1a8 debug and tune 2019-04-10 16:20:37 +08:00
Vincent Wei 87d4fcf00b shape_fallback when the shaping engine failed 2019-04-10 14:38:29 +08:00
Vincent Wei 9ae76a1d91 cleanup 2019-04-10 10:13:51 +08:00
Vincent Wei 43ef338bd8 debug: use FS_SLANT_ROMAN as the default 2019-04-10 10:13:41 +08:00
Vincent Wei 3407d6f20c GRF_ALIGN_JUSTIFY for all lines 2019-04-10 09:39:28 +08:00
Vincent Wei 33bd6087b5 always use __mg_glyph_string_set_size 2019-04-10 09:16:41 +08:00
Vincent Wei a36b2fb3b3 debug 2019-04-09 18:46:53 +08:00
Vincent Wei 7811f86782 debug 2019-04-09 18:39:28 +08:00
Vincent Wei eb81fadbda debug: use bad ellipsis_ucs in shape_ellipsis 2019-04-09 16:04:24 +08:00
Vincent Wei 27139876a8 Use language code instead of script type for the first argument of UStrGetBreaks 2019-04-09 15:35:19 +08:00
Vincent Wei 14eca8703c debug 2019-04-09 15:26:07 +08:00
Vincent Wei 9e0c3a9c99 cleanup 2019-04-09 11:09:54 +08:00
Vincent Wei 7cc185f409 use 0xff for alpha of RGB2Pixel 2019-04-09 10:46:54 +08:00
Vincent Wei c827a8b6a9 debug: use static _funcs object to avoid memory leak 2019-04-09 10:17:52 +08:00
Vincent Wei 5abeee3b64 tune __mg_ft2_get_face return filename and face 2019-04-08 18:35:34 +08:00
Vincent Wei 5758700e70 cleanup 2019-04-08 18:12:07 +08:00
Vincent Wei 4586e25709 cleanup 2019-04-08 17:53:55 +08:00
Vincent Wei 7e776f6b78 optimize complex shaping engine 2019-04-08 17:52:46 +08:00
Vincent Wei 4ea2e11c5a debug 2019-04-08 16:13:03 +08:00
Vincent Wei 8e95f3bd93 debug 2019-04-08 15:34:51 +08:00
Vincent Wei 872ea630fd initial implementation of complex shaping engine 2019-04-08 15:17:05 +08:00
Vincent Wei 0b92cd51be check li.bpp with the requested bpp 2019-04-08 12:10:24 +08:00
Vincent Wei 724da1b1c0 tune links 2019-04-08 11:03:15 +08:00
Vincent Wei f78b9b750c link to RELEASENOTES.md 2019-04-08 10:59:13 +08:00
Vincent Wei c3683fb626 C++ -> Class 2019-04-08 10:57:42 +08:00
Vincent Wei 79b1dfefa2 more description 2019-04-08 10:54:29 +08:00
Vincent Wei eca76e6e89 fix typos 2019-04-07 18:17:46 +08:00
Vincent Wei 114426559f fix typos 2019-04-07 17:45:46 +08:00
Vincent Wei a0aaccdfd0 use standard pixel format for pdc->alpha_pixel_format 2019-04-07 17:19:12 +08:00
Vincent Wei 944d2ca8ae expose structures and definitions 2019-04-07 17:04:28 +08:00
Vincent Wei 321633c7bc Merge branch 'master' of github.com:VincentWei/minigui 2019-04-07 16:56:55 +08:00
Vincent Wei e5255d13e1 merge changes for exstubs.h from rel-3-2 manually 2019-04-07 16:56:43 +08:00
VincentWei e8bf19f212 fix typos 2019-04-06 23:13:43 +08:00
Vincent Wei a407f36975 introduction to MiniGUI 4.0.0 2019-04-06 15:51:02 +08:00
Vincent Wei c179737716 release notes for MiniGUI 4.0.0 2019-04-06 15:44:11 +08:00
Vincent Wei 4ef0079488 release notes for MiniGUI 4.0.0 2019-04-06 15:30:51 +08:00
Vincent Wei 36e3869385 handle SIGINT for ths and sa runmodes 2019-04-06 13:59:13 +08:00
Vincent Wei 32d800b1b9 always link to pthread 2019-04-06 13:45:59 +08:00
Vincent Wei dfd4a603f9 change version to 4.0.0 2019-04-06 13:34:20 +08:00
1040 changed files with 28434 additions and 6610 deletions
+5
View File
@@ -22,4 +22,9 @@ Makefile.in
/*.pc /*.pc
/*config.h /*config.h
/*config.h.in /*config.h.in
/*config.h.in~
/src/font/utils/emoji/
/src/font/utils/ucd/
/src/sysres/font_list
/src/sysres/license/dat_files/
+2 -2
View File
@@ -4984,11 +4984,11 @@ provide the function whether the file exist or not.(xwyan)
* src/server/request.c * src/server/request.c
10/24. MODIFICATION: Use 1980/01/01 00:00:00 to return the default local time 10/24. MODIFICATION: Use 1980/01/01 00:00:00 to return the default local time
for __mg_localtime. for __mg_os_localtime.
* src/misc/nposix.c * src/misc/nposix.c
10/24. MODIFICATION: Use HAVE_TIME, HAVE_MKTIME, and HAVE_LOCALTIME to define 10/24. MODIFICATION: Use HAVE_TIME, HAVE_MKTIME, and HAVE_LOCALTIME to define
__mg_time, __mg_mktime, and __mg_localtime functions. __mg_os_time, __mg_os_mktime, and __mg_os_localtime functions.
* configure.in * configure.in
* src/misc/nposix.c * src/misc/nposix.c
+9 -4
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Processes)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v3.2.0 PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ./include INPUT = ./include
INPUT += README.md
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub # (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output. # and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE = USE_MDFILE_AS_MAINPAGE = README.md
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to source browsing # Configuration options related to source browsing
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_PROCESSES \
_MGMISC_SAVEBITMAP \ _MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \ _MGHAVE_CURSOR \
_MGCHARSET_UNICODE \ _MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \ _MGCTRL_STATIC \
_MGCTRL_SLEDIT \ _MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \ _MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_PROCESSES \
_MGCTRL_ANIMATION \ _MGCTRL_ANIMATION \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF _MGFONT_BMPF \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The # tag can be used to specify a list of macro names that should be expanded. The
+9 -4
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v3.4.0 PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ./include INPUT = ./include
INPUT += README.md
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub # (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output. # and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE = USE_MDFILE_AS_MAINPAGE = README.md
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to source browsing # Configuration options related to source browsing
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_STANDALONE \
_MGMISC_SAVEBITMAP \ _MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \ _MGHAVE_CURSOR \
_MGCHARSET_UNICODE \ _MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \ _MGCTRL_STATIC \
_MGCTRL_SLEDIT \ _MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \ _MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_STANDALONE \
_MGCTRL_ANIMATION \ _MGCTRL_ANIMATION \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF _MGFONT_BMPF \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The # tag can be used to specify a list of macro names that should be expanded. The
+9 -4
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Threads)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v3.2.0 PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ./include INPUT = ./include
INPUT += README.md
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub # (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output. # and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE = USE_MDFILE_AS_MAINPAGE = README.md
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to source browsing # Configuration options related to source browsing
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_THREADS \
_MGMISC_SAVEBITMAP \ _MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \ _MGHAVE_CURSOR \
_MGCHARSET_UNICODE \ _MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \ _MGCTRL_STATIC \
_MGCTRL_SLEDIT \ _MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \ _MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_THREADS \
_MGCTRL_ANIMATION \ _MGCTRL_ANIMATION \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF _MGFONT_BMPF \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The # tag can be used to specify a list of macro names that should be expanded. The
+14 -13
View File
@@ -1,10 +1,9 @@
SUBDIRS = src 3rd-party include rtos etc m4 cmake build SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = \ EXTRA_DIST = minigui.pc.in \
minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \ GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \ INSTALL LICENSE \
README.md RELEASE-NOTES.md \ Version.md README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
# The directory where the include files will be installed # The directory where the include files will be installed
@@ -13,15 +12,17 @@ libminiguiincludedir = $(includedir)/minigui
# Which header files to install # Which header files to install
libminiguiinclude_HEADERS = mgconfig.h libminiguiinclude_HEADERS = mgconfig.h
docs:
doxygen Doxyfile.procs Doxyfile.ths Doxyfile.sa
dist-nolicense: dist
./clean_license.sh $(DIST_ARCHIVES)
dist:
distcheck-nolicense:dist-nolicense distcheck
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = minigui.pc pkgconfig_DATA = minigui.pc
docs:
doxygen Doxyfile.procs
doxygen Doxyfile.ths
doxygen Doxyfile.sal
#dist-nolicense: dist
# ./clean_license.sh $(DIST_ARCHIVES)
#
#dist:
#distcheck-nolicense:dist-nolicense distcheck
+252 -207
View File
File diff suppressed because it is too large Load Diff
+600 -123
View File
File diff suppressed because it is too large Load Diff
-9
View File
@@ -1,9 +0,0 @@
Version 3.4.0 (2019/06/30)
This release needs the following resource packages:
* minigui-res-3.4.0.tar.gz
The latest samples package is:
* mg-samples-3.4.0.tar.gz
+8
View File
@@ -0,0 +1,8 @@
Version 4.0.4 (2019/12/24)
This release needs the following packages:
- The resource package: `minigui-res-4.0.0.tar.gz`
- The sample package: `mg-samples-4.0.1.tar.gz`
- The test cases package: `mg-tests-4.0.4.tar.gz`
+36
View File
@@ -0,0 +1,36 @@
# rules for pc-linux
# set your own targaet_os
TARGET_OS=linux
##################################################
# set your compile tool #
CC=gcc
CXX=g++
CPP=g++
AR=ar
AS=as
RANLIB=ranlib
MAKE=/usr/bin/make
##################################################
ARFLAGS=-rc
COFLAG=-c
OBJ=o
LIBA=a
##################################################
# if you don't want to create dynamic, delete it #
LIBSO=so
SOFLAGS=-fPIC -shared -o
##################################################
##################################################
# set your compile flags and install prefix path #
PREFIX=/usr/local
CFLAGS+=-g -Wall -fPIC `pkg-config --cflags freetype2` -I/usr/local/include/harfbuzz
LDFLAGS+=
##################################################
+248 -96
View File
File diff suppressed because it is too large Load Diff
+60 -8
View File
@@ -1,16 +1,20 @@
# This configuration file is for MiniGUI V3.x.x # This configuration file is for MiniGUI V4.0.x or later
# #
# Copyright (C) 2002~2018 FMSoft # Copyright (C) 2002~2019 FMSoft
# Copyright (C) 1998~2002 Wei Yongming. # Copyright (C) 1998~2002 Wei Yongming.
# #
# Web: http://www.minigui.com # Web: http://www.minigui.com
# #
# This configuration file must be installed in /etc, # This configuration file must be installed in /etc,
# /usr/local/etc or your home directory. When you install it in your # /usr/local/etc, your home directory, or the current working direcotry.
# home directory, it should be named ".MiniGUI.cfg". # When you install it in your home directory, it should be named
# ".MiniGUI.cfg".
# #
# The priority of above configruation files is ~/.MiniGUI.cfg, # The priority of above configruation files is ./MiniGUI.cfg,
# /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg. # ~/.MiniGUI.cfg, /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg.
#
# NOTE that the one in the current working directory will have
# always have the highest priority.
# #
# If you change the install path of MiniGUI resource, you should # If you change the install path of MiniGUI resource, you should
# modify this file to meet your configuration. # modify this file to meet your configuration.
@@ -18,21 +22,53 @@
[system] [system]
# GAL engine and default options # GAL engine and default options
# The equivalent environment variable: MG_GAL_ENGINE
gal_engine=pc_xvfb gal_engine=pc_xvfb
# The equivalent environment variable: MG_DEFAULTMODE
defaultmode=800x600-16bpp defaultmode=800x600-16bpp
# IAL engine # IAL engine
# The equivalent environment variable: MG_IAL_ENGINE
ial_engine=pc_xvfb ial_engine=pc_xvfb
mdev=/dev/input/mice mdev=/dev/input/mice
mtype=IMPS2 mtype=IMPS2
[fbcon] # Linux IAL engine based on libinput
defaultmode=1024x768-16bpp # ial_engine=libinut
#{{ifdef _MGGAL_DRM
[drm]
defaultmode=1024x768-32bpp
# We use DRM fourcc code to defined the pixel format of the video surface.
# For more information, please see <drm/drm_fourcc.h> header file.
# Note that only 8/16/24/32 bpp RGB formats are supported.
pixelformat=XR24
# The DRI device
device=/dev/dri/card0
# The resolution of the display # The resolution of the display
# It is defined in dots (physical pixels) per inch # It is defined in dots (physical pixels) per inch
# The default value is 96. # The default value is 96.
dpi=96 dpi=96
# The filename of the shared library for the external driver.
# The equivalent environment variable: MG_GAL_DRM_DRIVER
exdriver=libhidrmdrivers.so.0
#}}
#{{ifdef _MGIAL_LIBINPUT
[libinput]
seat=seat0
#}}
#{{ifdef _MGGAL_FBCON
[fbcon]
defaultmode=1024x768-16bpp
dpi=96
#}}
#{{ifdef _MGGAL_PCXVFB #{{ifdef _MGGAL_PCXVFB
[pc_xvfb] [pc_xvfb]
defaultmode=800x600-16bpp defaultmode=800x600-16bpp
@@ -58,7 +94,19 @@ def_bgcolor=0x00FF00
double_buffer=enable double_buffer=enable
#}} #}}
#{{ifdef _MGIAL_RANDOM
[random]
logfile=/dev/null
eventtypes=mouse-keyboard-button-gesture
minkeycode=1
maxkeycode=128
minbtncode=0x100
maxbtncode=0x1ff
#}}
# The first system font must be a logical font using RBF device font. # The first system font must be a logical font using RBF device font.
# NOTE that the maxiaml number of system logfonts is 6. You should not
# set `font_number` in this section to be a number larger than 6.
[systemfont] [systemfont]
font_number=5 font_number=5
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1 font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
@@ -88,6 +136,10 @@ font_number=0
[truetypefonts] [truetypefonts]
font_number=0 font_number=0
# The devfont now supports multiple font family names since V4.0.0.
name0=ttf-Source Sans Pro,SansSerif-rrncnn-0-0-ISO8859-1,UTF-8
# The path of font file can be relative to the current working directory.
fontfile0=font/SourceSansPro-Regular.ttf
[mouse] [mouse]
dblclicktime=300 dblclicktime=300
+4 -4
View File
@@ -10,8 +10,8 @@ libminiguiincludedir = $(includedir)/minigui
COMM_HDRS = \ COMM_HDRS = \
common.h endianrw.h fixedmath.h \ common.h endianrw.h fixedmath.h \
minigui.h gdi.h window.h control.h \ minigui.h gdi.h window.h control.h \
own_malloc.h own_stdio.h \ own_malloc.h own_stdio.h \
xvfb.h customial.h \ xvfb.h customial.h exstubs.h \
dti.c dti.c
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
@@ -23,12 +23,12 @@ OSE_HDRS=ose_semaphore.h
PSOS_HDRS=psos_pthread.h psos_semaphore.h PSOS_HDRS=psos_pthread.h psos_semaphore.h
EXTRA_DIST=$(UCOSII_HDRS) $(THREADX_HDRS) $(NUCLEUS_HDRS) $(VXWORKS_HDRS) \ EXTRA_DIST=$(UCOSII_HDRS) $(THREADX_HDRS) $(NUCLEUS_HDRS) $(VXWORKS_HDRS) \
$(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS) makefile.ng makefile.msvc $(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS) makefile.ng makefile.msvc
#CLEANFILES=pthread.h semaphore.h #CLEANFILES=pthread.h semaphore.h
libminiguiinclude_HEADERS=$(COMM_HDRS) $(UCOSII_HDRS) $(THREADX_HDRS) \ libminiguiinclude_HEADERS=$(COMM_HDRS) $(UCOSII_HDRS) $(THREADX_HDRS) \
$(NUCLEUS_HDRS) $(VXWORKS_HDRS) $(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS) $(NUCLEUS_HDRS) $(VXWORKS_HDRS) $(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS)
if MGUSE_OWN_PTHREAD if MGUSE_OWN_PTHREAD
install-data-local: install-data-local:
+249 -32
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file common.h * \file common.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -38,7 +50,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -294,7 +306,8 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
*/ */
#if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \ #if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \
(defined(__alpha__) || defined(__alpha)) || \ (defined(__alpha__) || defined(__alpha)) || \
defined(__arm__) || \ defined(__arm__) || defined(__aarch64__) || \
defined(__riscv) || \
(defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \ (defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \
(defined(__mips__) && defined(__MIPSEL__)) || \ (defined(__mips__) && defined(__MIPSEL__)) || \
defined(__LITTLE_ENDIAN__) || \ defined(__LITTLE_ENDIAN__) || \
@@ -727,7 +740,7 @@ typedef UINT_PTR LPARAM;
#define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8))) #define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))
/** /**
* \def MAKEWORD32(first, second, third, fourth) * \def MAKEDWORD32(first, second, third, fourth)
* \brief Makes a WORD32 value with four bytes. * \brief Makes a WORD32 value with four bytes.
* *
* \sa MAKEWORD16, FIRSTBYTE, SECONDBYTE, THIRDBYTE, FOURTHBYTE * \sa MAKEWORD16, FIRSTBYTE, SECONDBYTE, THIRDBYTE, FOURTHBYTE
@@ -1161,7 +1174,7 @@ typedef struct _GAL_Rect {
* *
* The number of MiniGUI keys is defined to 255 by default. This means that * The number of MiniGUI keys is defined to 255 by default. This means that
* MiniGUI can destinguish 255 different keys with each has an unique scan code. * MiniGUI can destinguish 255 different keys with each has an unique scan code.
* The scan codes below 129 are defined for PC keyboard by default. * The scan codes below 251 are defined for Linux keyboard keys by default.
* If your system has a large amount of keys, you can define the scan code of * If your system has a large amount of keys, you can define the scan code of
* keys ranged from 1 to 255 in your IAL engine. And your application will * keys ranged from 1 to 255 in your IAL engine. And your application will
* receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and * receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and
@@ -1176,7 +1189,7 @@ typedef struct _GAL_Rect {
* \def NR_KEYS * \def NR_KEYS
* \brief The number of keys defined by Linux operating system. * \brief The number of keys defined by Linux operating system.
* *
* For a PC box, NR_KEYS is defined to 128 by default. You can define * For a Linux box, NR_KEYS is defined to 250 by default. You can define
* some input events from an input device other than keyboard, e.g. * some input events from an input device other than keyboard, e.g.
* your remote controller, as key events with different scan codes from * your remote controller, as key events with different scan codes from
* those of PC's. MiniGUI can support 255 keys, and the constant * those of PC's. MiniGUI can support 255 keys, and the constant
@@ -1185,7 +1198,7 @@ typedef struct _GAL_Rect {
* \sa MGUI_NR_KEYS * \sa MGUI_NR_KEYS
*/ */
#ifndef NR_KEYS #ifndef NR_KEYS
#define NR_KEYS 128 #define NR_KEYS 250
#endif #endif
/** /**
@@ -1206,7 +1219,9 @@ typedef struct _GAL_Rect {
*/ */
#define SCANCODE_USER (NR_KEYS + 1) #define SCANCODE_USER (NR_KEYS + 1)
#define SCANCODE_RESERVED 0
#define SCANCODE_ESCAPE 1 #define SCANCODE_ESCAPE 1
#define SCANCODE_ESC SCANCODE_ESCAPE
#define SCANCODE_1 2 #define SCANCODE_1 2
#define SCANCODE_2 3 #define SCANCODE_2 3
@@ -1236,11 +1251,14 @@ typedef struct _GAL_Rect {
#define SCANCODE_O 24 #define SCANCODE_O 24
#define SCANCODE_P 25 #define SCANCODE_P 25
#define SCANCODE_BRACKET_LEFT 26 #define SCANCODE_BRACKET_LEFT 26
#define SCANCODE_LEFTBRACE SCANCODE_BRACKET_LEFT
#define SCANCODE_BRACKET_RIGHT 27 #define SCANCODE_BRACKET_RIGHT 27
#define SCANCODE_RIGHTBRACE SCANCODE_BRACKET_RIGHT
#define SCANCODE_ENTER 28 #define SCANCODE_ENTER 28
#define SCANCODE_LEFTCONTROL 29 #define SCANCODE_LEFTCONTROL 29
#define SCANCODE_LEFTCTRL SCANCODE_LEFTCONTROL
#define SCANCODE_A 30 #define SCANCODE_A 30
#define SCANCODE_S 31 #define SCANCODE_S 31
@@ -1254,7 +1272,6 @@ typedef struct _GAL_Rect {
#define SCANCODE_SEMICOLON 39 #define SCANCODE_SEMICOLON 39
#define SCANCODE_APOSTROPHE 40 #define SCANCODE_APOSTROPHE 40
#define SCANCODE_GRAVE 41 #define SCANCODE_GRAVE 41
#define SCANCODE_LEFTSHIFT 42 #define SCANCODE_LEFTSHIFT 42
#define SCANCODE_BACKSLASH 43 #define SCANCODE_BACKSLASH 43
@@ -1267,11 +1284,11 @@ typedef struct _GAL_Rect {
#define SCANCODE_M 50 #define SCANCODE_M 50
#define SCANCODE_COMMA 51 #define SCANCODE_COMMA 51
#define SCANCODE_PERIOD 52 #define SCANCODE_PERIOD 52
#define SCANCODE_DOT SCANCODE_PERIOD
#define SCANCODE_SLASH 53 #define SCANCODE_SLASH 53
#define SCANCODE_RIGHTSHIFT 54 #define SCANCODE_RIGHTSHIFT 54
#define SCANCODE_KEYPADMULTIPLY 55 #define SCANCODE_KEYPADMULTIPLY 55
#define SCANCODE_KPASTERISK SCANCODE_KEYPADMULTIPLY
#define SCANCODE_LEFTALT 56 #define SCANCODE_LEFTALT 56
#define SCANCODE_SPACE 57 #define SCANCODE_SPACE 57
#define SCANCODE_CAPSLOCK 58 #define SCANCODE_CAPSLOCK 58
@@ -1291,66 +1308,264 @@ typedef struct _GAL_Rect {
#define SCANCODE_SCROLLLOCK 70 #define SCANCODE_SCROLLLOCK 70
#define SCANCODE_KEYPAD7 71 #define SCANCODE_KEYPAD7 71
#define SCANCODE_KP7 SCANCODE_KEYPAD7
#define SCANCODE_CURSORUPLEFT 71 #define SCANCODE_CURSORUPLEFT 71
#define SCANCODE_KEYPAD8 72 #define SCANCODE_KEYPAD8 72
#define SCANCODE_KP8 SCANCODE_KEYPAD8
#define SCANCODE_CURSORUP 72 #define SCANCODE_CURSORUP 72
#define SCANCODE_KEYPAD9 73 #define SCANCODE_KEYPAD9 73
#define SCANCODE_KP9 SCANCODE_KEYPAD9
#define SCANCODE_CURSORUPRIGHT 73 #define SCANCODE_CURSORUPRIGHT 73
#define SCANCODE_KEYPADMINUS 74 #define SCANCODE_KEYPADMINUS 74
#define SCANCODE_KPMINUS SCANCODE_KEYPADMINUS
#define SCANCODE_KEYPAD4 75 #define SCANCODE_KEYPAD4 75
#define SCANCODE_KP4 SCANCODE_KEYPAD4
#define SCANCODE_CURSORLEFT 75 #define SCANCODE_CURSORLEFT 75
#define SCANCODE_KEYPAD5 76 #define SCANCODE_KEYPAD5 76
#define SCANCODE_KP5 SCANCODE_KEYPAD5
#define SCANCODE_KEYPAD6 77 #define SCANCODE_KEYPAD6 77
#define SCANCODE_KP6 SCANCODE_KEYPAD6
#define SCANCODE_CURSORRIGHT 77 #define SCANCODE_CURSORRIGHT 77
#define SCANCODE_KEYPADPLUS 78 #define SCANCODE_KEYPADPLUS 78
#define SCANCODE_KPPLUS SCANCODE_KEYPADPLUS
#define SCANCODE_KEYPAD1 79 #define SCANCODE_KEYPAD1 79
#define SCANCODE_KP1 SCANCODE_KEYPAD1
#define SCANCODE_CURSORDOWNLEFT 79 #define SCANCODE_CURSORDOWNLEFT 79
#define SCANCODE_KEYPAD2 80 #define SCANCODE_KEYPAD2 80
#define SCANCODE_KP2 SCANCODE_KEYPAD2
#define SCANCODE_CURSORDOWN 80 #define SCANCODE_CURSORDOWN 80
#define SCANCODE_KEYPAD3 81 #define SCANCODE_KEYPAD3 81
#define SCANCODE_KP3 SCANCODE_KEYPAD3
#define SCANCODE_CURSORDOWNRIGHT 81 #define SCANCODE_CURSORDOWNRIGHT 81
#define SCANCODE_KEYPAD0 82 #define SCANCODE_KEYPAD0 82
#define SCANCODE_KP0 SCANCODE_KEYPAD0
#define SCANCODE_KEYPADPERIOD 83 #define SCANCODE_KEYPADPERIOD 83
#define SCANCODE_KPDOT SCANCODE_KEYPADPERIOD
#define SCANCODE_ZENKAKUHANKAKU 85
#define SCANCODE_LESS 86 #define SCANCODE_LESS 86
#define SCANCODE_102ND SCANCODE_LESS
#define SCANCODE_F11 87 #define SCANCODE_F11 87
#define SCANCODE_F12 88 #define SCANCODE_F12 88
#define SCANCODE_RO 89
#define SCANCODE_KATAKANA 90
#define SCANCODE_HIRAGANA 91
#define SCANCODE_HENKAN 92
#define SCANCODE_KATAKANAHIRAGANA 93
#define SCANCODE_MUHENKAN 94
#define SCANCODE_KPJPCOMMA 95
#define SCANCODE_KEYPADENTER 96 #define SCANCODE_KEYPADENTER 96
#define SCANCODE_KPENTER SCANCODE_KEYPADENTER
#define SCANCODE_RIGHTCONTROL 97 #define SCANCODE_RIGHTCONTROL 97
#define SCANCODE_RIGHTCTRL SCANCODE_RIGHTCONTROL
#define SCANCODE_CONTROL 97 #define SCANCODE_CONTROL 97
#define SCANCODE_KEYPADDIVIDE 98 #define SCANCODE_KEYPADDIVIDE 98
#define SCANCODE_KPSLASH SCANCODE_KEYPADDIVIDE
#define SCANCODE_PRINTSCREEN 99 #define SCANCODE_PRINTSCREEN 99
#define SCANCODE_SYSRQ SCANCODE_PRINTSCREEN
#define SCANCODE_RIGHTALT 100 #define SCANCODE_RIGHTALT 100
#define SCANCODE_BREAK 101 /* Beware: is 119 */ #define SCANCODE_LINEFEED 101
#define SCANCODE_BREAK_ALTERNATIVE 119 /* on some keyboards! */
#define SCANCODE_HOME 102 #define SCANCODE_HOME 102
#define SCANCODE_CURSORBLOCKUP 103 /* Cursor key block */ #define SCANCODE_CURSORBLOCKUP 103 /* Cursor key block */
#define SCANCODE_UP SCANCODE_CURSORBLOCKUP
#define SCANCODE_PAGEUP 104 #define SCANCODE_PAGEUP 104
#define SCANCODE_CURSORBLOCKLEFT 105 /* Cursor key block */ #define SCANCODE_CURSORBLOCKLEFT 105 /* Cursor key block */
#define SCANCODE_LEFT SCANCODE_CURSORBLOCKLEFT
#define SCANCODE_CURSORBLOCKRIGHT 106 /* Cursor key block */ #define SCANCODE_CURSORBLOCKRIGHT 106 /* Cursor key block */
#define SCANCODE_RIGHT SCANCODE_CURSORBLOCKRIGHT
#define SCANCODE_END 107 #define SCANCODE_END 107
#define SCANCODE_CURSORBLOCKDOWN 108 /* Cursor key block */ #define SCANCODE_CURSORBLOCKDOWN 108 /* Cursor key block */
#define SCANCODE_DOWN SCANCODE_CURSORBLOCKDOWN
#define SCANCODE_PAGEDOWN 109 #define SCANCODE_PAGEDOWN 109
#define SCANCODE_INSERT 110 #define SCANCODE_INSERT 110
#define SCANCODE_REMOVE 111 #define SCANCODE_REMOVE 111
#define SCANCODE_DELETE SCANCODE_REMOVE
#define SCANCODE_PAUSE 119 #define SCANCODE_MACRO 112
#define SCANCODE_MUTE 113
#define SCANCODE_POWER 120 #define SCANCODE_VOLUMEDOWN 114
#define SCANCODE_SLEEP 121 #define SCANCODE_VOLUMEUP 115
#define SCANCODE_WAKEUP 122 #define SCANCODE_POWER 116 /* SC System Power Down */
#define SCANCODE_KPEQUAL 117
#define SCANCODE_KPPLUSMINUS 118
#define SCANCODE_BREAK 119
#define SCANCODE_BREAK_ALTERNATIVE SCANCODE_BREAK
#define SCANCODE_PAUSE SCANCODE_BREAK
#define SCANCODE_SCALE 120 /* AL Compiz Scale (Expose) */
#define SCANCODE_KPCOMMA 121
#define SCANCODE_HANGEUL 122
#define SCANCODE_HANJA 123
#define SCANCODE_YEN 124
#define SCANCODE_LEFTWIN 125 #define SCANCODE_LEFTWIN 125
#define SCANCODE_LEFTMETA SCANCODE_LEFTWIN
#define SCANCODE_RIGHTWIN 126 #define SCANCODE_RIGHTWIN 126
#define SCANCODE_MENU 127 #define SCANCODE_RIGHTMETA SCANCODE_RIGHTWIN
#define SCANCODE_COMPOSE 127
#define SCANCODE_STOP 128 /* AC Stop */
#define SCANCODE_AGAIN 129
#define SCANCODE_PROPS 130 /* AC Properties */
#define SCANCODE_UNDO 131 /* AC Undo */
#define SCANCODE_FRONT 132
#define SCANCODE_COPY 133 /* AC Copy */
#define SCANCODE_OPEN 134 /* AC Open */
#define SCANCODE_PASTE 135 /* AC Paste */
#define SCANCODE_FIND 136 /* AC Search */
#define SCANCODE_CUT 137 /* AC Cut */
#define SCANCODE_HELP 138 /* AL Integrated Help Center */
#define SCANCODE_MENU 139 /* Menu (show menu) */
#define SCANCODE_CALC 140 /* AL Calculator */
#define SCANCODE_SETUP 141
#define SCANCODE_SLEEP 142 /* SC System Sleep */
#define SCANCODE_WAKEUP 143 /* System Wake Up */
#define SCANCODE_FILE 144 /* AL Local Machine Browser */
#define SCANCODE_SENDFILE 145
#define SCANCODE_DELETEFILE 146
#define SCANCODE_XFER 147
#define SCANCODE_PROG1 148
#define SCANCODE_PROG2 149
#define SCANCODE_WWW 150 /* AL Internet Browser */
#define SCANCODE_MSDOS 151
#define SCANCODE_COFFEE 152 /* AL Terminal Lock/Screensaver */
#define SCANCODE_SCREENLOCK SCANCODE_COFFEE
#define SCANCODE_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */
#define SCANCODE_DIRECTION SCANCODE_ROTATE_DISPLAY
#define SCANCODE_CYCLEWINDOWS 154
#define SCANCODE_MAIL 155
#define SCANCODE_BOOKMARKS 156 /* AC Bookmarks */
#define SCANCODE_COMPUTER 157
#define SCANCODE_BACK 158 /* AC Back */
#define SCANCODE_FORWARD 159 /* AC Forward */
#define SCANCODE_CLOSECD 160
#define SCANCODE_EJECTCD 161
#define SCANCODE_EJECTCLOSECD 162
#define SCANCODE_NEXTSONG 163
#define SCANCODE_PLAYPAUSE 164
#define SCANCODE_PREVIOUSSONG 165
#define SCANCODE_STOPCD 166
#define SCANCODE_RECORD 167
#define SCANCODE_REWIND 168
#define SCANCODE_PHONE 169 /* Media Select Telephone */
#define SCANCODE_ISO 170
#define SCANCODE_CONFIG 171 /* AL Consumer Control Configuration */
#define SCANCODE_HOMEPAGE 172 /* AC Home */
#define SCANCODE_REFRESH 173 /* AC Refresh */
#define SCANCODE_EXIT 174 /* AC Exit */
#define SCANCODE_MOVE 175
#define SCANCODE_EDIT 176
#define SCANCODE_SCROLLUP 177
#define SCANCODE_SCROLLDOWN 178
#define SCANCODE_KPLEFTPAREN 179
#define SCANCODE_KPRIGHTPAREN 180
#define SCANCODE_NEW 181 /* AC New */
#define SCANCODE_REDO 182 /* AC Redo/Repeat */
#define SCANCODE_F13 183
#define SCANCODE_F14 184
#define SCANCODE_F15 185
#define SCANCODE_F16 186
#define SCANCODE_F17 187
#define SCANCODE_F18 188
#define SCANCODE_F19 189
#define SCANCODE_F20 190
#define SCANCODE_F21 191
#define SCANCODE_F22 192
#define SCANCODE_F23 193
#define SCANCODE_F24 194
#define SCANCODE_PLAYCD 200
#define SCANCODE_PAUSECD 201
#define SCANCODE_PROG3 202
#define SCANCODE_PROG4 203
#define SCANCODE_DASHBOARD 204 /* AL Dashboard */
#define SCANCODE_SUSPEND 205
#define SCANCODE_CLOSE 206 /* AC Close */
#define SCANCODE_PLAY 207
#define SCANCODE_FASTFORWARD 208
#define SCANCODE_BASSBOOST 209
#define SCANCODE_PRINT 210 /* AC Print */
#define SCANCODE_HP 211
#define SCANCODE_CAMERA 212
#define SCANCODE_SOUND 213
#define SCANCODE_QUESTION 214
#define SCANCODE_EMAIL 215
#define SCANCODE_CHAT 216
#define SCANCODE_SEARCH 217
#define SCANCODE_CONNECT 218
#define SCANCODE_FINANCE 219 /* AL Checkbook/Finance */
#define SCANCODE_SPORT 220
#define SCANCODE_SHOP 221
#define SCANCODE_ALTERASE 222
#define SCANCODE_CANCEL 223 /* AC Cancel */
#define SCANCODE_BRIGHTNESSDOWN 224
#define SCANCODE_BRIGHTNESSUP 225
#define SCANCODE_MEDIA 226
#define SCANCODE_SWITCHVIDEOMODE 227 /* Cycle between available video outputs (Monitor/LCD/TV-out/etc) */
#define SCANCODE_KBDILLUMTOGGLE 228
#define SCANCODE_KBDILLUMDOWN 229
#define SCANCODE_KBDILLUMUP 230
#define SCANCODE_SEND 231 /* AC Send */
#define SCANCODE_REPLY 232 /* AC Reply */
#define SCANCODE_FORWARDMAIL 233 /* AC Forward Msg */
#define SCANCODE_SAVE 234 /* AC Save */
#define SCANCODE_DOCUMENTS 235
#define SCANCODE_BATTERY 236
#define SCANCODE_BLUETOOTH 237
#define SCANCODE_WLAN 238
#define SCANCODE_UWB 239
#define SCANCODE_UNKNOWN 240
#define SCANCODE_VIDEO_NEXT 241 /* drive next video source */
#define SCANCODE_VIDEO_PREV 242 /* drive previous video source */
#define SCANCODE_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
#define SCANCODE_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual brightness control is off, rely on ambient */
#define SCANCODE_BRIGHTNESS_ZERO SCANCODE_BRIGHTNESS_AUTO
#define SCANCODE_DISPLAY_OFF 245 /* display device to off state */
#define SCANCODE_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
#define SCANCODE_WIMAX SCANCODE_WWAN
#define SCANCODE_RFKILL 247 /* Key that controls all radios */
#define SCANCODE_MICMUTE 248 /* Mute / unmute the microphone */
#define SCANCODE_LEFTBUTTON 0x1000 #define SCANCODE_LEFTBUTTON 0x1000
#define SCANCODE_RIGHTBUTTON 0x2000 #define SCANCODE_RIGHTBUTTON 0x2000
#define SCANCODE_MIDDLBUTTON 0x4000 #define SCANCODE_MIDDLBUTTON 0x4000
/**
* \def KS_LEFTMETA
* \brief This status indicate that left-Meta key was pressed when
* the key or mouse message posted to the window.
*
* \sa key_msgs
*
* Since 4.0.0
*/
#define KS_LEFTMETA 0x00002000
/**
* \def KS_RIGHTMETA
* \brief This status indicate that right-Meta key was pressed when
* the key or mouse message posted to the window.
*
* \sa key_msgs
*
* Since 4.0.0
*/
#define KS_RIGHTMETA 0x00001000
/**
* \def KS_META
* \brief This status indicate that either the left-Meta key or the right-Meta key
* was pressed when the key or mouse message posted to the window.
*
* \sa key_msgs
*
* Since 4.0.0
*/
#define KS_META 0x00003000
/** /**
* \def KS_REPEATED * \def KS_REPEATED
* \brief This status indicate that the key down message is an * \brief This status indicate that the key down message is an
@@ -1528,7 +1743,7 @@ typedef struct _GAL_Rect {
* \def MASK_KS_SHIFTKEYS * \def MASK_KS_SHIFTKEYS
* \brief The mask of key status. * \brief The mask of key status.
*/ */
#define MASK_KS_SHIFTKEYS 0x00000FFF #define MASK_KS_SHIFTKEYS 0x0000FFFF
/** /**
* \def KS_LEFTBUTTON * \def KS_LEFTBUTTON
@@ -1537,7 +1752,7 @@ typedef struct _GAL_Rect {
* *
* \sa key_msgs * \sa key_msgs
*/ */
#define KS_LEFTBUTTON 0x00001000 #define KS_LEFTBUTTON 0x00010000
/** /**
* \def KS_RIGHTBUTTON * \def KS_RIGHTBUTTON
@@ -1546,22 +1761,22 @@ typedef struct _GAL_Rect {
* *
* \sa key_msgs * \sa key_msgs
*/ */
#define KS_RIGHTBUTTON 0x00002000 #define KS_RIGHTBUTTON 0x00020000
/** /**
* \def KS_MIDDLBUTTON * \def KS_MIDDLEBUTTON
* \brief This status indicate that middle button was pressed when * \brief This status indicate that middle button was pressed when
* the key or mouse message posted to the window. * the key or mouse message posted to the window.
* *
* \sa key_msgs * \sa key_msgs
*/ */
#define KS_MIDDLBUTTON 0x00004000 #define KS_MIDDLEBUTTON 0x00040000
/** /**
* \def MASK_KS_BUTTONS * \def MASK_KS_BUTTONS
* \brief The mask of mouse button status. * \brief The mask of mouse button status.
*/ */
#define MASK_KS_BUTTONS 0x0000F000 #define MASK_KS_BUTTONS 0x000F0000
/** @} end of key_defs */ /** @} end of key_defs */
@@ -1749,7 +1964,7 @@ typedef struct _GAL_Rect {
#endif #endif
/* Commonly used definitions */ /* Commonly used definitions */
#if !defined(__NOUNIX__) || defined (__ECOS__) #ifdef HAVE_LIMITS_H
#include <limits.h> #include <limits.h>
#endif #endif
@@ -1784,12 +1999,10 @@ typedef struct _GAL_Rect {
/** @} end of macros_types */ /** @} end of macros_types */
#ifdef __cplusplus #ifdef HAVE_TIME
extern "C" { #include <time.h>
#endif #else
typedef unsigned long time_t;
#ifndef HAVE_TIME
typedef unsigned int time_t;
struct tm { struct tm {
int tm_sec; /* seconds [0,61] */ int tm_sec; /* seconds [0,61] */
@@ -1804,6 +2017,10 @@ struct tm {
}; };
#endif #endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__THREADX__) && defined (__TARGET_VFANVIL__) #if defined (__THREADX__) && defined (__TARGET_VFANVIL__)
#include "fx_api.h" #include "fx_api.h"
#include "tx_api.h" #include "tx_api.h"
@@ -2101,7 +2318,6 @@ int init_minigui_printf (int (*output_char) (int ch),
TCS_BROWN (stderr); \ TCS_BROWN (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \ fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \ fprintf (stderr, fmt, ##__VA_ARGS__); \
fprintf (stderr, "\n"); \
TCS_NONE (stderr); \ TCS_NONE (stderr); \
} while (0) } while (0)
@@ -2116,11 +2332,12 @@ int init_minigui_printf (int (*output_char) (int ch),
# define _DBG_PRINTF(fmt, ...) \ # define _DBG_PRINTF(fmt, ...) \
do { \ do { \
TCS_YELLOW (stderr); \ TCS_YELLOW (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \ fprintf (stderr, fmt, ##__VA_ARGS__); \
TCS_NONE (stderr); \ TCS_NONE (stderr); \
} while (0) } while (0)
# else # else
# define _DBG_PRINTF(fmt, ...) # define _DBG_PRINTF(fmt, ...) do { } while (0)
#endif #endif
#ifdef _MGRM_THREADS #ifdef _MGRM_THREADS
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file control.h * \file control.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -37,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file animation.h * \file animation.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file button.h * \file button.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file combobox.h * \file combobox.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file coolbar.h * \file coolbar.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file ctrlhelper.h * \file ctrlhelper.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file edit.h * \file edit.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file gridview.h * \file gridview.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file iconview.h * \file iconview.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file listbox.h * \file listbox.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file listview.h * \file listview.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file menubutton.h * \file menubutton.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file monthcal.h * \file monthcal.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file newtoolbar.h * \file newtoolbar.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file progressbar.h * \file progressbar.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file propsheet.h * \file propsheet.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file scrollbar.h * \file scrollbar.h
* \author wangjian * \author wangjian
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file scrollview.h * \file scrollview.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file spinbox.h * \file spinbox.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file static.h * \file static.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file textedit.h * \file textedit.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file trackbar.h * \file trackbar.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file treeview.h * \file treeview.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+160 -18
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file customial.h * \file customial.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -36,7 +48,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -51,24 +63,148 @@
#ifndef GUI_IAL_CUSTOM_H #ifndef GUI_IAL_CUSTOM_H
#define GUI_IAL_CUSTOM_H #define GUI_IAL_CUSTOM_H
#ifdef __cplusplus #define IAL_MOUSE_LEFTBUTTON (1 << 0)
extern "C" { #define IAL_MOUSE_RIGHTBUTTON (1 << 1)
#endif /* __cplusplus */ #define IAL_MOUSE_MIDDLEBUTTON (1 << 2)
/* deprecated since 4.0.0
#define IAL_MOUSE_FOURTHBUTTON (1 << 3)
#define IAL_MOUSE_FIFTHBUTTON (1 << 4)
#define IAL_MOUSE_SIXTHBUTTON (1 << 5)
#define IAL_MOUSE_SEVENTHBUTTON (1 << 6)
#define IAL_MOUSE_EIGHTHBUTTON (1 << 7)
#define IAL_MOUSE_LEFTBUTTON 1 #define IAL_MOUSE_SIDEBUTTON IAL_MOUSE_FOURTHBUTTON
#define IAL_MOUSE_RIGHTBUTTON 2 #define IAL_MOUSE_EXTRABUTTON IAL_MOUSE_FIFTHBUTTON
#define IAL_MOUSE_MIDDLEBUTTON 4 #define IAL_MOUSE_FORWARDBUTTON IAL_MOUSE_SIXTHBUTTON
#define IAL_MOUSE_FOURTHBUTTON 8 #define IAL_MOUSE_BACKBUTTON IAL_MOUSE_SEVENTHBUTTON
#define IAL_MOUSE_FIFTHBUTTON 16 #define IAL_MOUSE_TASKBUTTON IAL_MOUSE_EIGHTHBUTTON
#define IAL_MOUSE_SIXTHBUTTON 32 #define IAL_MOUSE_RESETBUTTON IAL_MOUSE_EIGHTHBUTTON
#define IAL_MOUSE_RESETBUTTON 64 */
#define IAL_MOUSEEVENT 1 #define IAL_EVENT_MOUSE (1 << 0)
#define IAL_KEYEVENT 2 #define IAL_MOUSEEVENT IAL_EVENT_MOUSE
#define IAL_EVENT_KEY (1 << 1)
#define IAL_KEYEVENT IAL_EVENT_KEY
typedef struct tagINPUT #define IAL_EVENT_EXTRA (1 << 2)
{
/* The event identifiers, should keep sync with MSG_EXIN_XXX */
#ifndef AXIS_SCROLL_INVALID
#define AXIS_SCROLL_INVALID 0
#define AXIS_SCROLL_VERTICAL 1
#define AXIS_SCROLL_HORIZONTAL 2
#define AXIS_SOURCE_INVALID 0
#define AXIS_SOURCE_WHEEL 1
#define AXIS_SOURCE_FINGER 2
#define AXIS_SOURCE_CONTINUOUS 3
#define AXIS_SOURCE_WHEEL_TILT 4
#endif
#define IAL_EVENT_AXIS 0x0070
#define IAL_EVENT_BUTTONDOWN 0x0071
#define IAL_EVENT_BUTTONUP 0x0072
#define IAL_EVENT_TOUCH_DOWN 0x0073
#define IAL_EVENT_TOUCH_UP 0x0074
#define IAL_EVENT_TOUCH_MOTION 0x0075
#define IAL_EVENT_TOUCH_CANCEL 0x0076
#define IAL_EVENT_TOUCH_FRAME 0x0077
#ifndef SWITCH_INVALID
#define SWITCH_INVALID 0
#define SWITCH_LID 1
#define SWITCH_TABLET_MODE 2
#define SWITCH_STATE_INVALID 0
#define SWITCH_STATE_ON 1
#define SWITCH_STATE_OFF 2
#endif
#define IAL_EVENT_SWITCH_TOGGLE 0x007A
#define IAL_EVENT_GESTURE_SWIPE_BEGIN 0x0080
#define IAL_EVENT_GESTURE_SWIPE_UPDATE 0x0081
#define IAL_EVENT_GESTURE_SWIPE_END 0x0082
#define IAL_EVENT_GESTURE_PINCH_BEGIN 0x0083
#define IAL_EVENT_GESTURE_PINCH_UPDATE 0x0084
#define IAL_EVENT_GESTURE_PINCH_END 0x0085
#ifndef TABLET_TOOL_X
#define TABLET_TOOL_PROXIMITY_STATE_INVALID 0
#define TABLET_TOOL_PROXIMITY_STATE_OUT 1
#define TABLET_TOOL_PROXIMITY_STATE_IN 2
#define TABLET_TOOL_TIP_INVALID 0
#define TABLET_TOOL_TIP_UP 1
#define TABLET_TOOL_TIP_DOWN 2
#define TABLET_BUTTON_STATE_INVALID 0
#define TABLET_BUTTON_STATE_RELEASED 1
#define TABLET_BUTTON_STATE_PRESSED 2
#define TABLET_PAD_RING_SOURCE_UNKNOWN 0
#define TABLET_PAD_RING_SOURCE_FINGER 1
#define TABLET_PAD_STRIP_SOURCE_UNKNOWN 0
#define TABLET_PAD_STRIP_SOURCE_FINGER 1
#define TABLET_TOOL_CHANGED_X (1 << 0)
#define TABLET_TOOL_CHANGED_Y (1 << 1)
#define TABLET_TOOL_CHANGED_PRESSURE (1 << 2)
#define TABLET_TOOL_CHANGED_DISTANCE (1 << 3)
#define TABLET_TOOL_CHANGED_TILT_X (1 << 4)
#define TABLET_TOOL_CHANGED_TILT_Y (1 << 5)
#define TABLET_TOOL_CHANGED_ROTATION (1 << 6)
#define TABLET_TOOL_CHANGED_SLIDER (1 << 7)
#define TABLET_TOOL_CHANGED_SIZE_MAJOR (1 << 8)
#define TABLET_TOOL_CHANGED_SIZE_MINOR (1 << 9)
#define TABLET_TOOL_CHANGED_WHEEL (1 << 10)
#define TABLET_TOOL_X 0
#define TABLET_TOOL_Y 1
#define TABLET_TOOL_PRESSURE 2
#define TABLET_TOOL_DISTANCE 3
#define TABLET_TOOL_TILT_X 4
#define TABLET_TOOL_TILT_Y 5
#define TABLET_TOOL_ROTATION 6
#define TABLET_TOOL_SLIDER 7
#define TABLET_TOOL_SIZE_MAJOR 8
#define TABLET_TOOL_SIZE_MINOR 9
#define TABLET_TOOL_WHEEL 10
#endif
#define IAL_EVENT_TABLET_TOOL_AXIS 0x0090
#define IAL_EVENT_TABLET_TOOL_PROXIMITY 0x0091
#define IAL_EVENT_TABLET_TOOL_TIP 0x0092
#define IAL_EVENT_TABLET_TOOL_BUTTON 0x0093
#define IAL_EVENT_TABLET_PAD_BUTTON 0x0094
#define IAL_EVENT_TABLET_PAD_RING 0x0095
#define IAL_EVENT_TABLET_PAD_STRIP 0x0096
#define IAL_EVENT_USER_BEGIN 0x009A
#define IAL_EVENT_USER_UPDATE 0x009B
#define IAL_EVENT_USER_END 0x009C
#define NR_PACKED_SUB_EVENTS 16
typedef struct _EXTRA_INPUT_EVENT {
int event;
WPARAM wparam;
LPARAM lparam;
// for tablet tool messages
unsigned int params_mask;
WPARAM wparams[NR_PACKED_SUB_EVENTS];
LPARAM lparams[NR_PACKED_SUB_EVENTS];
} EXTRA_INPUT_EVENT;
#define IAL_LEN_MDEV 127
typedef struct tagINPUT {
char* id; char* id;
// Initialization and termination // Initialization and termination
@@ -91,12 +227,18 @@ typedef struct tagINPUT
int (*resume_keyboard) (void); int (*resume_keyboard) (void);
void (*set_leds) (unsigned int leds); void (*set_leds) (unsigned int leds);
// Event // Event loop
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out, int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
fd_set *except, struct timeval *timeout); fd_set *except, struct timeval *timeout);
char mdev [MAX_PATH + 1]; // New wait event method for getting extra input events; since 4.0.0
}INPUT; int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
} INPUT;
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MGIAL_CUSTOM #ifdef _MGIAL_CUSTOM
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype); extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
+41 -5
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/* /*
* \file dti.c * \file dti.c
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -5,13 +17,37 @@
* *
\verbatim \verbatim
Copyright (C) 2002-2018 FMSoft This file is part of MiniGUI, a mature cross-platform windowing
Copyright (C) 1999-2002 Wei Yongming. and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software. Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics This program is free software: you can redistribute it and/or modify
User Interface (GUI) support system for real-time embedded systems. it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file endianrw.h * \file endianrw.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -40,7 +52,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+517
View File
File diff suppressed because it is too large Load Diff
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file fixedmath.h * \file fixedmath.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -37,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1065 -531
View File
File diff suppressed because it is too large Load Diff
+270 -194
View File
File diff suppressed because it is too large Load Diff
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file nucleus_pthread.h * \file nucleus_pthread.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -42,7 +54,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/* /*
* \file nucleus_semaphore.h * \file nucleus_semaphore.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -45,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/* /*
* \file ose_semaphore.h * \file ose_semaphore.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -45,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+12
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/* /*
Default header file for malloc-2.7.2, written by Doug Lea Default header file for malloc-2.7.2, written by Doug Lea
and released to the public domain. Use, modify, and redistribute and released to the public domain. Use, modify, and redistribute
+13 -1
View File
@@ -1,3 +1,15 @@
///////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/** /**
* \file own_stdio.h * \file own_stdio.h
* \author Wei Yongming <vincent@minigui.org> * \author Wei Yongming <vincent@minigui.org>
@@ -37,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */

Some files were not shown because too many files have changed in this diff Show More