Compare commits

...
621 Commits
Author SHA1 Message Date
Vincent Wei 6d287f72e3 change default exdriver for DRM engine: libhidrmdrivers-0.2.so.0 2020-03-27 16:46:20 +08:00
Vincent Wei bbac3b1796 fix compilation errors 2020-03-27 16:44:14 +08:00
Vincent Wei e25fbb39d0 for clients under MiniGUI-Processes, use the video information in shared resource segment to initialize the video 2020-03-27 16:28:30 +08:00
Vincent Wei 1b42c853ba change version to 4.0.7 2020-03-25 15:32:27 +08:00
Vincent Wei a932bc798e call EmptyClipRgn for the temporary clipping region 2020-03-25 15:32:16 +08:00
Vincent Wei 713fd0ccb8 reset olddownkey to zero when got a KEYUP event 2020-03-25 15:31:49 +08:00
Vincent Wei 1a63b30d32 use 0x01UL for shift 2020-03-25 15:31:31 +08:00
Vincent Wei 7ba6246dd1 fix typos 2020-03-25 15:31:14 +08:00
Vincent Wei 190b2fea97 release notes for 4.0.7 2020-03-22 13:21:56 +08:00
Vincent Wei f2c2c28e62 map hardware surface as scanout framebuffer for clients 2020-03-22 13:10:22 +08:00
Vincent Wei 837f2987fd remove conditional compilation for request ids 2020-03-22 13:09:42 +08:00
Vincent Wei 7de60f2b94 tune for call JoinLayer first 2020-03-22 13:09:18 +08:00
Vincent Wei 018340f42e check whether using external driver before calling flush_driver 2020-03-22 12:48:04 +08:00
Vincent Wei d4b226d2a5 fix a compilation error 2020-03-21 22:04:33 +08:00
Vincent Wei 699a68a9ac tune constant macros 2020-03-21 21:59:12 +08:00
Vincent Wei 5a6705d8bc copy chagnes from 5.0.0 to enhance DRM engine to support PROCS runmode 2020-03-21 21:30:31 +08:00
Vincent Wei e7cc2f1e35 change version to 4.0.7; DRM engine now support procs runmode 2020-03-21 21:29:44 +08:00
Vincent Wei 03b1dd9042 change version to 4.0.6 2020-03-12 11:16:59 +08:00
Vincent Wei 7651fbda35 handling mdev in INPUT structure 2020-03-12 11:15:59 +08:00
Vincent Wei 6927a22507 cleanup 2020-03-12 11:15:31 +08:00
Vincent Wei c640565f3b fix conditional compilation errors. 2020-03-12 11:15:17 +08:00
Vincent Wei c720b2a9ca Handle middle mouse button in Standalone and Processes runtime modes. 2020-03-12 11:14:40 +08:00
Vincent Wei 8b24b1243b bugfixing: Bad checking pci_accel_driver in FBCON engine 2020-03-12 11:14:04 +08:00
Vincent Wei d8b2895527 bugfixing: Bad checking cursor width and height in LoadCursorFromMem 2020-03-12 11:13:39 +08:00
Vincent Wei 2a4ead5e0f Call ThrowAwayMessages when failed to create a main window. 2020-03-12 11:13:20 +08:00
Vincent Wei 6f15548dc4 bugfixing: Bad handling of backspace character in SLEdit control. 2020-03-12 11:12:58 +08:00
Vincent Wei ef9048c582 restore mdev field in INPUT structure 2020-03-12 11:12:21 +08:00
Vincent Wei da15a1dbd5 change version to 4.0.6; make fbcon, console, imps2, textmode enabled by default 2020-03-12 11:11:55 +08:00
Vincent Wei 32aad95e7b notes for version 4.0.6 2020-03-12 11:10:27 +08:00
Vincent Wei 57bdcd4754 use get_sem_key_for_layers 2020-01-22 17:03:42 +08:00
Vincent Wei b95538a415 use a small static buffer for zero size surface 2020-01-22 17:03:19 +08:00
Vincent Wei fa7c84b2b5 enhance to delete old IPC objects 2020-01-22 17:02:57 +08:00
Vincent Wei bc77048488 make lock_zi_for_xxx/unlock_zi_for_xxx static inline 2020-01-22 17:02:22 +08:00
Vincent Wei 2f21b22a49 make lock_zi_for_xxx/unlock_zi_for_xxx static inline 2020-01-22 17:02:12 +08:00
Vincent Wei ec91986854 add inline functions for get shm/sem key for system/layer 2020-01-22 17:01:42 +08:00
Vincent Wei e7b03037be notes for 4.0.5 2020-01-22 17:01:02 +08:00
Vincent Wei 9ff822c7fd change version to 4.0.5 2020-01-03 14:45:12 +08:00
Vincent Wei 239924c63e BUGFIXING: always initialize csr_bmp fields with explicit assignments 2020-01-03 14:38:28 +08:00
Vincent Wei 2f85645e9d change version to 4.0.4 2020-01-03 14:37:50 +08:00
Vincent Wei 9a6b208a85 FIXBUG: bad handling of repeated keydowns 2019-12-30 11:47:30 +08:00
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
Vincent Wei 2b01f35cac rename: LayoutInfo -> Layout, TextRunsInfo -> TextRuns 2019-04-06 11:25:21 +08:00
Vincent Wei e0b6a64402 tune position for west gravity 2019-04-04 19:00:45 +08:00
Vincent Wei 084d7e58a2 tune indentation 2019-04-04 18:53:37 +08:00
Vincent Wei 88753a5fd0 cleanup 2019-04-04 17:02:06 +08:00
Vincent Wei b739daadba cleanup FreeType2 font engine, remove redundant code 2019-04-04 16:51:54 +08:00
Vincent Wei 5529ab1e10 use mg_slice for TEXTRUNS, TEXTLAYOUT, GlyphRun, TextRun, LayoutRun, and so on 2019-04-04 15:10:19 +08:00
Vincent Wei 032fdcc3bb mg_slice_free -> mg_slice_delete; mg_slice_free1 -> mg_slice_free 2019-04-04 14:46:05 +08:00
Vincent Wei 1cb9922dad Initialize mutex of mgslice 2019-04-04 12:27:05 +08:00
Vincent Wei 8ac0d539d0 implementation of mg_slice_xxx 2019-04-04 12:18:10 +08:00
Vincent Wei e3ae994212 debug: line->nr_runs should be re-caculate for ellipsized line 2019-04-04 08:39:09 +08:00
Vincent Wei b0145a15d2 CalcLayoutBoundingRect 2019-04-03 19:13:27 +08:00
Vincent Wei 9dab380f3e GetLayoutLineRect 2019-04-03 19:01:19 +08:00
Vincent Wei d1facd5468 No shaping arabic for vertical layout 2019-04-03 15:50:32 +08:00
Vincent Wei 5996ede23b cleanup 2019-04-03 15:26:50 +08:00
Vincent Wei 837cd49045 debug: uninitialized length 2019-04-03 15:16:07 +08:00
Vincent Wei dc4f54ffe4 debug: uninitialized length 2019-04-03 15:15:39 +08:00
Vincent Wei f611fe3859 normal, word break and alignment 2019-04-03 12:27:10 +08:00
Vincent Wei 4ff5097dfb check pointer for get_glyph_advance 2019-04-02 19:00:13 +08:00
Vincent Wei 49421e1f88 implementation of DrawLayoutLine 2019-04-02 18:46:34 +08:00
Vincent Wei 6e33602e7d debug for glyph orientation in vertical layout 2019-04-02 17:27:15 +08:00
Vincent Wei d13c31a08a add ta (text align) to RENDERDATA 2019-04-02 12:36:31 +08:00
Vincent Wei 704b6287ff debug for MIXED orientation 2019-04-02 10:12:31 +08:00
Vincent Wei 1df726dd10 tune gravity and orientation 2019-04-02 09:27:06 +08:00
Vincent Wei b2afe815b5 debug DrawShapedGlyph 2019-04-01 19:12:41 +08:00
Vincent Wei f648c1a8c7 tune api desc 2019-04-01 14:37:09 +08:00
Vincent Wei 4d2fe61e52 remove (x,y) from CB_GLYPH_LAID_OUT 2019-04-01 14:26:56 +08:00
Vincent Wei 9644964e9c tune api description 2019-03-31 15:31:49 +08:00
Vincent Wei 61b799af88 fix bug: not convert AChar to Glyph32 2019-03-29 20:18:26 +08:00
Vincent Wei 2f52006cde fix a bug: no MSG_IDLE when using dummy IAL engine 2019-03-29 19:22:31 +08:00
Vincent Wei cf063aad32 disable debug print 2019-03-29 18:31:23 +08:00
Vincent Wei 0855e8b972 add null fonts for korea and japanese charsets 2019-03-29 16:13:16 +08:00
Vincent Wei a501557532 Tune CB_GLYPH_LAID_OUT 2019-03-29 14:51:57 +08:00
Vincent Wei 820d6aeac4 fix a bug 2019-03-29 12:27:04 +08:00
Vincent Wei 215242e3e8 tune 2019-03-29 12:14:19 +08:00
Vincent Wei c79f09fe87 implementation of GetLayoutLineSize and CalcLayoutBoundingRect 2019-03-29 11:44:29 +08:00
Vincent Wei f68c26860a Implementation of CreateLogFontForMChar2UChar; FONT_MIN_SIZE -> 1 2019-03-29 10:40:35 +08:00
Vincent Wei 53f1a05526 Tune new APIs 2019-03-29 10:09:23 +08:00
Vincent Wei 6a5cfd1052 new APIs: SetFontNameInTextRuns, SetTextColorInTextRuns, SetBackgroundColorInTextRuns, and GetXXXX 2019-03-28 18:57:21 +08:00
Vincent Wei 1c79cf510f Tune the TextRunsInfo and LayoutInfo related APIs 2019-03-28 17:47:12 +08:00
Vincent Wei 86965a0e9c fixbug in layout-ellipsize.c 2019-03-28 11:40:58 +08:00
Vincent Wei 9cca87878c tune CB_GLYPH_LAID_OUT 2019-03-27 19:28:19 +08:00
Vincent Wei 2cffa1154c API description 2019-03-27 19:16:33 +08:00
Vincent Wei 9adea7df64 implementation of NULL font engine and incored NULL devfonts for every charset 2019-03-27 17:58:56 +08:00
Vincent Wei 8f70dfcf69 UStrTailorBreaks 2019-03-27 16:46:42 +08:00
Vincent Wei ccf1e6f7a5 cleanup 2019-03-27 15:52:43 +08:00
Vincent Wei 913ea4db23 CreateTextRunsInfo and CreateLayoutInfo passed test cases 2019-03-27 15:50:16 +08:00
Vincent Wei 55baa8c741 cleanup 2019-03-27 12:39:27 +08:00
Vincent Wei db63d8cad3 cleanup 2019-03-27 11:40:34 +08:00
Vincent Wei 338fb0276e use _DEBUG for real output of _DBG_PRINTF 2019-03-27 10:08:01 +08:00
Vincent Wei 8dd64e7f2d api description 2019-03-26 19:14:05 +08:00
Vincent Wei c1cbb8423e parameters of CB_GLYPH_LAID_OUT 2019-03-26 18:44:05 +08:00
Vincent Wei a95ee5b181 debug 2019-03-26 18:09:49 +08:00
Vincent Wei 9d9bf95c21 cleanup 2019-03-26 12:25:08 +08:00
Vincent Wei ed6ceaa49c fixbug of layout implementation 2019-03-26 12:22:26 +08:00
Vincent Wei f5e1144cbe debug LayoutInfo implementaion 2019-03-26 11:24:31 +08:00
Vincent Wei c890e4296a add list_concat, list_move, list_reverse 2019-03-26 11:24:06 +08:00
Vincent Wei d09313407e reorder glyph runs according to embedding levels 2019-03-25 15:31:03 +08:00
Vincent Wei 7dfe5954f5 go on 2019-03-25 12:15:23 +08:00
Vincent Wei 390c5de6ef go on 2019-03-24 19:14:46 +08:00
Vincent Wei 274fdaaa31 go on 2019-03-24 19:00:15 +08:00
Vincent Wei 04725fc892 cleanup 2019-03-24 15:46:40 +08:00
Vincent Wei 4da29f635d Use CamelCase for internal structures and types 2019-03-24 15:32:08 +08:00
Vincent Wei 3e5ff0af91 tune implementation 2019-03-24 12:35:31 +08:00
Vincent Wei 1820e74b77 empty implementation 2019-03-22 18:42:08 +08:00
Vincent Wei 2278c4975c new file for ellipsisi 2019-03-22 18:34:11 +08:00
Vincent Wei af8a04570d more code 2019-03-22 18:33:37 +08:00
Vincent Wei 452edfa831 more code for layout 2019-03-22 12:33:53 +08:00
Vincent Wei 4fba705082 cleanup 2019-03-22 10:53:50 +08:00
Vincent Wei a049e387e0 some code for layout 2019-03-22 09:40:05 +08:00
Vincent Wei c67a18536d some code for layout 2019-03-21 19:12:52 +08:00
Vincent Wei d9e09ac34f Intent to add new APIs: DrawShapedGlyph and DrawShapedGlyphLine 2019-03-21 15:28:30 +08:00
Vincent Wei 65972861a0 bugfixs 2019-03-21 15:03:04 +08:00
Vincent Wei 96b06544b3 Optimize FreeType2 engine for get_glyph_advance; add new devfont op: get_kerning 2019-03-21 11:01:37 +08:00
Vincent Wei 838530d6b1 add new internal header: glyph.h; _font_get_glyph_log_width 2019-03-21 09:46:20 +08:00
Vincent Wei c276122f60 Start to implement InitBasicShapingEngine 2019-03-20 18:53:06 +08:00
Vincent Wei 46a8b1768a cleanup 2019-03-20 17:08:43 +08:00
Vincent Wei d5b57e8200 cleanup and add _WRN_PRINTF for warning 2019-03-20 17:06:43 +08:00
Vincent Wei ee179e6995 API description related to LAYOUTINFO 2019-03-20 16:31:41 +08:00
Vincent Wei 3571d88f3d use LoadResource for LOGFONTs of text runs 2019-03-19 19:33:11 +08:00
Vincent Wei 8ba346eec5 use logfont name for CreateTextRunsInfo instead of logfont object 2019-03-19 18:43:04 +08:00
Vincent Wei e110cb61f4 fix bugs 2019-03-19 17:14:42 +08:00
Vincent Wei d29aa1d881 Tune name of structure and functions 2019-03-19 15:37:30 +08:00
Vincent Wei 6337f5d6fa cleanup 2019-03-19 11:49:34 +08:00
Vincent Wei 14bfe263a3 Use LanguageCode and ScriptType types for external APIs 2019-03-19 11:48:24 +08:00
Vincent Wei cbd54e0766 add new APIs: ScriptGetGlyphOrientation and ScriptGetWideGlyphOrientation 2019-03-19 10:45:26 +08:00
Vincent Wei ceaec7e3d3 new API: UBidiGetParagraphEmbeddingLevelsAlt, an optimized call 2019-03-18 19:07:53 +08:00
Vincent Wei aab8d6e2c6 Emoji, Script, and Width iterators for Unicode string 2019-03-18 17:32:27 +08:00
Vincent Wei 8a856e5b99 cleanup 2019-03-18 14:30:46 +08:00
Vincent Wei 46f48a0d6c UCharGetVerticalOrientation 2019-03-18 12:42:45 +08:00
Vincent Wei 40fc11f324 gen-vop-tab: tool to generate the vertical orientation property table 2019-03-18 12:32:47 +08:00
Vincent Wei d63fe9849b Tune GlyphRunInfo 2019-03-16 19:12:57 +08:00
Vincent Wei 349f310148 cleanup 2019-03-16 16:28:46 +08:00
Vincent Wei ac60980bc2 tune GlyphRunInfo APIs and cleanup 2019-03-16 16:21:49 +08:00
Vincent Wei e7002ad870 cleanup; new -> new_entry 2019-03-16 11:33:40 +08:00
Vincent Wei 6838a67e7d some minor changes 2019-03-15 18:24:37 +08:00
Vincent Wei 9a8d997f63 new files 2019-03-15 17:13:47 +08:00
Vincent Wei f8b0a89d90 add glyphruninfo.h 2019-03-15 14:47:41 +08:00
Vincent Wei 72f61f17be trim UCHAR prefix from UCharScriptType and UCHAR_SCRIPT_XXXX 2019-03-15 14:46:24 +08:00
Vincent Wei 676dd0e6da cleanup 2019-03-14 19:08:15 +08:00
Vincent Wei 02c7a6e07c add unicode funcs for HarzBuff 2019-03-14 18:36:21 +08:00
Vincent Wei 8f841a0bc0 split shaped-glyph.c into three files 2019-03-14 17:26:14 +08:00
Vincent Wei f218b7b892 add enable option for complex scripts and harzbuff; cleanup options for TTF support (onley FreeType2) 2019-03-14 17:17:09 +08:00
Vincent Wei 1e1dd76fb1 tune interfaces of GetShapedGlyphsXXX 2019-03-14 12:34:21 +08:00
Vincent Wei 4ba0bcd0fe cleanup 2019-03-13 19:05:15 +08:00
Vincent Wei cc9d9f6d42 basic implementation of GetLangScriptFromName and NormalizeScriptType 2019-03-13 18:57:39 +08:00
Vincent Wei 4c9e8138b1 table for lang name to scripts 2019-03-13 18:27:57 +08:00
Vincent Wei f79a1bd86a cleanup 2019-03-13 18:24:56 +08:00
Vincent Wei 211135fbc5 cleanup 2019-03-13 17:52:43 +08:00
Vincent Wei 537b659fc7 tune implementation of GetShapedGlyphsBasic 2019-03-13 17:25:48 +08:00
Vincent Wei 6b45b74e32 return length of break_oppos instead of the number of consumed uchars 2019-03-13 15:05:18 +08:00
Vincent Wei 0ceb5616bf fix memory usage bug of UStrGetBreaks; UStrGetBreaks does not return when it encounters a hard break 2019-03-13 14:33:48 +08:00
Vincent Wei 62f9cf9e48 tune API description 2019-03-13 12:29:01 +08:00
Vincent Wei 6842cd3933 Split GetUCharsAndBreaks into two APIs: GetUCharsUntilParagraphBoundary and UStrGetBreaks 2019-03-13 12:21:45 +08:00
Vincent Wei 2c5ddd93cb add internal api: _unicode_normalize_script 2019-03-12 19:00:30 +08:00
Vincent Wei 64ddca1e2f Add UCharIsArabicVowel 2019-03-12 18:34:47 +08:00
Vincent Wei 9dea317925 cleanup 2019-03-12 17:53:14 +08:00
Vincent Wei a4e8a42707 cleanup 2019-03-12 17:52:06 +08:00
Vincent Wei 005519e7cc Tuen API of GetShapedGlyphsBasic and GetShapedGlyphsComplex 2019-03-12 15:41:57 +08:00
Vincent Wei da7c2175dd cleanup 2019-03-12 12:29:13 +08:00
Vincent Wei c7e6a867f4 cleanup 2019-03-12 11:57:04 +08:00
Vincent Wei 30c6033e8c cleanup 2019-03-12 09:27:11 +08:00
Vincent Wei 5a5d5d3bbb Passed BidiCharacterTest 2019-03-12 09:03:32 +08:00
Vincent Wei bdd75353d2 cleanup 2019-03-11 19:14:35 +08:00
Vincent Wei ce7b9eccca debug 2019-03-11 18:45:46 +08:00
Vincent Wei c66f1a5fa3 cleanup 2019-03-11 16:08:52 +08:00
Vincent Wei ba240cd53b cleanup 2019-03-11 15:55:14 +08:00
Vincent Wei ca9d0200f3 Implementation of UBidiXXX functions 2019-03-11 15:47:48 +08:00
Vincent Wei 5dd2a21919 Description of Bidi APIs 2019-03-11 12:33:42 +08:00
Vincent Wei 11124ef8a0 rename internal apis and cleanup 2019-03-11 11:51:16 +08:00
Vincent Wei e8714be5ef rename macros 2019-03-11 11:33:02 +08:00
Vincent Wei 13341e864c rename files and internal apis 2019-03-11 09:36:36 +08:00
Vincent Wei e1a464b32f cleanup 2019-03-10 18:55:07 +08:00
Vincent Wei a7601d8cfe tune UCD url 2019-03-10 18:31:15 +08:00
Vincent Wei 98ae3a6b35 Restore BidiBracketType 2019-03-10 18:19:21 +08:00
Vincent Wei f82e15ed5e use iso8859-bidi-tables 2019-03-10 18:08:53 +08:00
Vincent Wei 690f5487ab BIDIType to BidiType 2019-03-10 17:31:36 +08:00
Vincent Wei 4e0a9a8d37 two implementations for biditype, bracket and mirror 2019-03-10 16:54:45 +08:00
Vincent Wei c6f1004ba6 cleanup 2019-03-10 14:47:02 +08:00
Vincent Wei a4e9f56c08 cleanup 2019-03-10 14:44:33 +08:00
Vincent Wei d84a7ffbbe Bidi tables 2019-03-10 14:42:36 +08:00
Vincent Wei 11865764da cleanup 2019-03-10 13:21:08 +08:00
Vincent Wei fdc449335d utilities for generating Bidi tables 2019-03-10 13:17:52 +08:00
Vincent Wei 27e508848d new implementation of UNICODE BIDIRECTIONAL ALGORITHM 2019-03-08 20:38:04 +08:00
Vincent Wei cc01ce0bbc new implementation of UNICODE BIDIRECTIONAL ALGORITHM 2019-03-08 20:37:44 +08:00
Vincent Wei 0093ac3edc New APIs: UCHAR2ACHAR, UChar2AChar, UChars2AChars 2019-03-08 14:39:48 +08:00
Vincent Wei 45db7410c0 Update Unicode tables to 12.0.0 2019-03-08 11:52:49 +08:00
Vincent Wei e6df345736 Update LB8a rule to conform Unicode 12.0.0 2019-03-08 11:52:36 +08:00
Vincent Wei e7b05090cd Rename MCHAR_TYPE_XXX to ACHAR_BASIC_XXX; Tune implementation of GetACharType and GetACharBIDIType 2019-03-08 10:17:18 +08:00
Vincent Wei b82128091e add const for keymap data 2019-03-07 19:09:34 +08:00
Vincent Wei adab30261c add const to incore-res data 2019-03-07 18:57:04 +08:00
Vincent Wei 7e0b378475 add const to _cos_tbl, _tag_tbl, and _acos_tbl; add prefix __mg to these global variables 2019-03-07 18:46:42 +08:00
Vincent Wei d1ef9e2598 rename _unicode_is_emoji_extended_pictographic to _unicode_is_extended_pictographic 2019-03-07 17:46:35 +08:00
Vincent Wei 5887668b17 add new API UCharGetBracketType 2019-03-07 17:42:47 +08:00
Vincent Wei e6cb8f272b update Unicode bidi tables 2019-03-07 17:31:15 +08:00
Vincent Wei 90e4ee91fe Tune BIDIType to Uint16 instead of unsigned int 2019-03-07 12:40:37 +08:00
Vincent Wei 83207ca329 Update Unicode data to 11.0.0 2019-03-07 11:46:17 +08:00
Vincent Wei dcd31bed7c Indic shaping table 2019-03-07 11:02:51 +08:00
Vincent Wei 76cf8a02af Arabic shaping tables 2019-03-07 10:20:41 +08:00
Vincent Wei 10d8b43c61 update emoji data tables 2019-03-07 09:55:23 +08:00
Vincent Wei 554b709890 Restore prototype of DrawGlyphStringEx and add DrawShapedGlyphString 2019-03-07 08:55:47 +08:00
Vincent Wei d877e86adc New API description for GetShapedGlyphsBasic, GetShapedGlyphsComplex, GetGlyphsExtentInfo, and GetGlyphsPositionInfo 2019-03-06 17:20:19 +08:00
Vincent Wei c5e5bd01e8 implement get_glyph_value for FreeType2 engine; the glyph value of this devfont is the glyph index of the default CMap 2019-03-06 16:03:00 +08:00
Vincent Wei e3760457c4 GetGlyphsExtentPointEx -> GetGlyphsExtentFromUChars 2019-03-06 14:42:16 +08:00
Vincent Wei c6ed1626f9 cleanup 2019-03-05 19:09:26 +08:00
Vincent Wei b4b18828b2 change GLYPHTYPE_ to CHARTYPE_ 2019-03-05 18:44:39 +08:00
Vincent Wei 36167be7e6 Tune APIs of Achar32 2019-03-05 18:18:54 +08:00
Vincent Wei 4b633c801d Introduce the Mchar32 type, and distinguish glyph and character 2019-03-05 12:27:35 +08:00
Vincent Wei 33fd8a8668 tune TTF cache arguments 2019-03-05 10:50:25 +08:00
Vincent Wei 94f44890a5 tune code to handle auto-italic correctly 2019-03-05 10:42:16 +08:00
Vincent Wei cc7441c4dd add df_slot to get_font_size of DEVFONT operators in order to set scale correctly 2019-03-05 09:16:36 +08:00
Vincent Wei 6fdc0281ba handle whitespace gracefully 2019-03-04 18:08:36 +08:00
Vincent Wei 136a51d9b8 cleanup 2019-03-04 16:47:19 +08:00
Vincent Wei 5e871c486b Tune FS_SLANT_XXX and tune auto bold implementation 2019-03-04 16:30:25 +08:00
Vincent Wei fdd69bf470 fix bug: do not override bitmap size for grey and subpixel glyph 2019-03-04 16:30:17 +08:00
Vincent Wei 10e55b0d4f restore style for TTF cache 2019-03-04 14:37:59 +08:00
Vincent Wei 682c81d636 tune 2019-03-04 11:52:47 +08:00
Vincent Wei 9eb4e54b75 cleanup 2019-03-04 11:39:32 +08:00
Vincent Wei e43bc07a63 tune fontcache functions: use devfont name instead of family and style 2019-03-04 11:37:50 +08:00
Vincent Wei 508130afdc tune 2019-03-03 20:06:07 +08:00
Vincent Wei d60c057dc4 tune load_flags 2019-03-03 20:00:54 +08:00
Vincent Wei 8f5a741af6 tune load_flags 2019-03-03 19:58:29 +08:00
Vincent Wei bee1bc87c4 tune code for size_request of LOGFONT 2019-03-03 19:14:18 +08:00
Vincent Wei 3a9274e9a0 add SIZE* sz for get_glyph_monobmp and get_glyph_graybmp 2019-03-03 18:54:39 +08:00
Vincent Wei 44ee735cd6 fix a bug of is_glyph_exsited (always returns FALSE) 2019-03-03 18:54:14 +08:00
Vincent Wei 2c010cdbeb fix a bug of fontDoesMatchFamily 2019-03-03 16:51:49 +08:00
Vincent Wei a04ae43bdb fix bug of gdiCreateLogFont 2019-03-03 16:43:40 +08:00
Vincent Wei 5c333445c5 tune font styles 2019-03-01 20:01:30 +08:00
Vincent Wei dd93e67a3d tune document 2019-03-01 14:38:48 +08:00
Vincent Wei d886268eee cleanup and check the duplicated fontname of a new devfont 2019-03-01 14:20:46 +08:00
Vincent Wei 090824cb91 bugfix 2019-02-28 19:08:05 +08:00
Vincent Wei 00eb4e363f Enhance LOGFONT to support multiple MBC devfonts (up to 7) 2019-02-28 18:47:44 +08:00
Vincent Wei f73f0786ee remove break_classes argument and add uchars argument for GetGlyphsAndBreaks 2019-02-28 11:50:00 +08:00
Vincent Wei dacc81cf2a Rename UCharGetBreak to UCharGetBreakType; Cleanup and optimization 2019-02-28 09:47:25 +08:00
Vincent Wei 97c6249af5 cleanup: remove definition of DEBUG 2019-02-27 18:47:25 +08:00
Vincent Wei 7ce1fe47ff implementation of character transformation of GetGlyphsAndBreaks; fix a bug of UCharToFullSizeKana 2019-02-27 18:33:32 +08:00
Vincent Wei 8e66bb366e tune word breaks and sentence breaks 2019-02-27 17:56:41 +08:00
Vincent Wei ce7fd6e776 passed all test cases for UAX#14 and UAX#29 2019-02-27 11:37:17 +08:00
Vincent Wei 957f9cbb47 remove break_classes argument from GetGlyphsExtentPointEx 2019-02-26 19:07:37 +08:00
Vincent Wei 2a7e3003bd Rename GetGlyphsByRules to GetGlyphsAndBreaks 2019-02-26 18:47:33 +08:00
Vincent Wei 19cd208a6e support for GB, WB, SB in break_oppos; add emoji tables 2019-02-26 17:59:50 +08:00
Vincent Wei 6a44111a35 cleanup 2019-02-25 17:09:37 +08:00
Vincent Wei fd5d55942b use Uint16 type for break_oppo instead of Uint8 type in order to contain GB, WB, SB flags 2019-02-25 16:42:49 +08:00
Vincent Wei d4e7f048f0 fixbug 2019-02-25 09:12:51 +08:00
Vincent Wei d90c4d5842 cleanup 2019-02-24 18:31:38 +08:00
Vincent Wei 0f562cd39f cleanup 2019-02-24 15:02:16 +08:00
Vincent Wei fb01003c45 use LEN_VBF_NAME instead of LEN_DEVFONT_NAME 2019-02-24 14:56:43 +08:00
Vincent Wei 9bcea02975 cleanup 2019-02-24 13:35:43 +08:00
Vincent Wei c51ae8d1c1 cleanup 2019-02-22 19:11:37 +08:00
Vincent Wei b8a5ad2d73 return NULL when not matched devfont 2019-02-22 19:11:26 +08:00
Vincent Wei 39b8c88d1b new DC attribute: DC_ATTR_WORD_EXTRA 2019-02-22 18:46:23 +08:00
Vincent Wei 1e73f6713a enable cache of freetype2 engine for rotated glyphs 2019-02-22 17:51:41 +08:00
Vincent Wei 97babaa4e2 add size_request in LOGFONT for original requested size 2019-02-22 17:46:13 +08:00
Vincent Wei c6c486f306 almost there 2019-02-22 15:47:20 +08:00
Vincent Wei 338f10b896 debug 2019-02-22 12:39:07 +08:00
Vincent Wei 2353a873a8 debug GetGlyphsExtentPointEx 2019-02-22 10:49:02 +08:00
Vincent Wei 52c539e870 debug 2019-02-21 20:21:02 +08:00
Vincent Wei 64d63a84c5 cleanup and bugfixs 2019-02-21 18:43:14 +08:00
Vincent Wei 3d80d73450 cleanup and bugfixs 2019-02-21 18:38:49 +08:00
Vincent Wei 2e04898fbe fix bugs 2019-02-21 15:56:51 +08:00
Vincent Wei f390e1a091 fix bugs 2019-02-21 15:51:11 +08:00
Vincent Wei 848c1d7ce1 tune 2019-02-21 12:07:02 +08:00
Vincent Wei 0c0becc780 tune 2019-02-21 10:32:16 +08:00
Vincent Wei 0e918da2a4 bugfix: get_ch_width does not check glyph value 2019-02-21 10:32:01 +08:00
Vincent Wei 7f36c339b7 tune 2019-02-20 18:21:17 +08:00
Vincent Wei 871486daab cleanup 2019-02-20 16:41:21 +08:00
Vincent Wei 0cffc8798f Suppress and/or hang spaces and punctations for GetGlyphsExtentPointEx 2019-02-20 16:00:16 +08:00
Vincent Wei 4d4a3901eb TODOs 2019-02-19 18:53:20 +08:00
Vincent Wei 50e95cb461 Initial implementation of GetGlyphsExtentPointEx and DrawGlyphStringEx 2019-02-19 18:38:57 +08:00
Vincent Wei d223edf0ba partial implementation of GetGlyphsExtentPointEx 2019-02-19 17:48:39 +08:00
Vincent Wei 8e88082f07 UCharGetType -> UCharGetCategory 2019-02-19 10:45:49 +08:00
Vincent Wei 5b1762b637 Enhance GetGlyphsByRules to return breaking classes 2019-02-19 09:41:22 +08:00
Vincent Wei 6c83ea4ceb implementation for LBP_NORMAL and LBP_STRICT; both passed all test cases 2019-02-18 18:24:59 +08:00
Vincent Wei 5aa5e75813 UCharBasicType -> UCharGeneralCategory 2019-02-18 12:16:49 +08:00
Vincent Wei 1ba35dcbf6 implementation of WBR_BREAK_ALL and WBR_KEEP_ALL 2019-02-18 11:44:54 +08:00
Vincent Wei 8828824b23 Add BOV_NOTALLOWED_DEFINITELY and BOV_NOTALLOWED_UNCERTAINLY 2019-02-18 09:25:18 +08:00
Vincent Wei e3f2cc22ec tune BIDILogGlyphs2VisGlyphsEx and BIDILogGlyphs2VisGlyphs 2019-02-17 12:56:35 +08:00
Vincent Wei 93aae6782e Tune GetGlyphsByRules and GetGlyphsExtentPointEx 2019-02-17 11:53:35 +08:00
Vincent Wei b746d2927e Partial implementation of GetGlyphsExtentPointEx 2019-02-15 18:07:03 +08:00
Vincent Wei 79e3be705c simplify the interfaces of GetGlyphsExtentPointEx and DrawGlyphStringEx 2019-02-15 11:07:54 +08:00
Vincent Wei a052b7bf55 cleanup BIDI APIs 2019-02-14 19:45:50 +08:00
Vincent Wei 74a84362ca correct some bad names of BIDI-related APIs 2019-02-14 17:27:11 +08:00
Vincent Wei d673008f5a tune API description 2019-02-14 11:52:59 +08:00
Vincent Wei 09c9438de8 tune api description 2019-01-29 17:02:48 +08:00
Vincent Wei 0734180d70 set user_comp_ctxt to be pixel format for default composition operators 2019-01-29 15:43:23 +08:00
Vincent Wei 8ca8deb02d list developers 2019-01-29 10:51:15 +08:00
Vincent Wei 9aa719aeb3 list developers 2019-01-29 10:42:43 +08:00
Vincent Wei 447eebbafc all UNICODE LINE BREAKING ALGORITHM test cases for GetGlyphsByRules passed 2019-01-27 12:45:20 +08:00
Vincent Wei 19f8689a20 almost passed the test cases for GetGlyphsByRules 2019-01-25 21:34:34 +08:00
Vincent Wei 60902f83d5 debug GetGlyphsByRules 2019-01-25 20:42:32 +08:00
Vincent Wei a725acfd5e debug GetGlyphsByRules 2019-01-25 16:14:42 +08:00
Vincent Wei 0191772111 Tune the implementation of UNICODE LINE BREAKING ALGORITHM 2019-01-24 20:17:27 +08:00
Vincent Wei a11cef5f2e push 2019-01-24 18:43:30 +08:00
Vincent Wei cf4c75bcbc almost finished GetGlyphsByRules 2019-01-24 11:31:54 +08:00
Vincent Wei f85801dcbe part implementation of GetGlyphsByRules 2019-01-23 17:08:03 +08:00
Vincent Wei 4e67f8c56b part implementation of GetGlyphsByRules 2019-01-23 14:36:56 +08:00
Vincent Wei 1cfd2fe324 part implementation of GetGlyphsByRules 2019-01-22 10:50:15 +08:00
Vincent Wei 5ef2e0fa42 temp 2019-01-21 17:14:59 +08:00
Vincent Wei 57b71e985c Add UCharGetType, UCharGetBreak, UCharGetBIDIType, and UCharGetMirror for completeness 2019-01-21 16:19:20 +08:00
Vincent Wei d9d76ec59b DrawGlyphStringEx returns BOOL 2019-01-19 18:29:09 +08:00
Vincent Wei 7935883267 GetGlyphsByRules returns line break opportunities 2019-01-19 18:20:55 +08:00
Vincent Wei 0385def7b2 tune 2019-01-19 15:05:53 +08:00
Vincent Wei 565f4b34e5 cleanup 2019-01-19 15:02:55 +08:00
Vincent Wei 70ba8a0420 cleanup 2019-01-19 14:59:12 +08:00
Vincent Wei 4bdbe4a002 tune 2019-01-19 14:53:35 +08:00
Vincent Wei 2c98ef96da tune release notes 2019-01-19 14:24:26 +08:00
Vincent Wei 6663c98787 add CreateLogFontIndirectEx function 2019-01-19 14:21:46 +08:00
Vincent Wei bbf2376f7a fix a potential bug: reserve key when creating logfont by calling CreateLogFontIndirect 2019-01-19 14:04:11 +08:00
Vincent Wei 21ac9f2def add content language and writing system parameters for rendering glyphs for CSS 2019-01-19 13:27:01 +08:00
Vincent Wei a10d28dd11 unicode script and language code 2019-01-19 12:57:34 +08:00
Vincent Wei 856126c72e make GRF_HANGING_PUNC_FIRST and GRF_HANGING_PUNC_LAST as flag bits 2019-01-18 18:07:44 +08:00
Vincent Wei 547fc0059c tune readme 2019-01-18 16:45:23 +08:00
Vincent Wei 195363dc82 use the same table for UCharToFullSizeKana and UCharToSmallKana 2019-01-18 16:24:56 +08:00
Vincent Wei 54288e5687 more API description 2019-01-18 16:15:14 +08:00
Vincent Wei 9d46406a95 some API description 2019-01-18 15:49:10 +08:00
Vincent Wei d365feca5d tune 2019-01-18 14:05:19 +08:00
Vincent Wei f34ac9d0fe UChar32 -> Uchar32; UChar16 -> Uchar16 2019-01-18 13:56:18 +08:00
Vincent Wei 3a02b056ca Tune format 2019-01-18 12:39:23 +08:00
Vincent Wei 1a1e8cf652 Add UCharToFullWidth and UCharToFullSizeKana 2019-01-18 12:37:53 +08:00
Vincent Wei 94feb0ae44 Tune Glyph32 and UChar32 to be unsigned 2019-01-18 11:43:42 +08:00
Vincent Wei 1e1a5edd13 tune 2019-01-18 11:29:35 +08:00
Vincent Wei ae9b14201b make sure the strings are null-terminated (fontDoesMatchFamily) 2019-01-18 09:29:39 +08:00
Vincent Wei 742150d4f1 restore LEN_FONT_NAME 2019-01-17 19:29:14 +08:00
Vincent Wei 03eac03c8c add UCharCanonicalOrdering and others for composition and decomposition 2019-01-17 18:45:22 +08:00
Vincent Wei 8cd6b037ec tuen release notes 2019-01-17 14:59:40 +08:00
Vincent Wei b35e38bdff tune length of devfont name fields; devfont now supports family aliases 2019-01-17 14:55:06 +08:00
Vincent Wei 58275c88e9 call REAL_GLYPH for devfont operators 2019-01-17 12:40:25 +08:00
Vincent Wei 31b43521d0 call REAL_GLYPH for charset operators 2019-01-17 12:14:02 +08:00
Vincent Wei e68ee00b85 rename glyph type macros and glyph type now includes MCHAR_TYPE_XXX for ASCII characters 2019-01-17 11:59:29 +08:00
Vincent Wei 6e54d4a7d7 add macro GLYPH2UCHAR 2019-01-16 20:43:01 +08:00
Vincent Wei 69b1d63569 Rename IsGlyphAlnum, GlyphToUpper to IsUCharAlnum, UCharToTitle and so on 2019-01-16 20:37:56 +08:00
Vincent Wei 817f4063a1 Add UNICODE utilities: IsGlyphAlnum, GlyphToUpper, ... 2019-01-16 20:34:51 +08:00
Vincent Wei c9ec23dc70 empty implementation of glyphs APIs for CSS 2019-01-16 19:27:41 +08:00
Vincent Wei 972085fa56 cleanup 2019-01-16 17:50:21 +08:00
Vincent Wei c2e24b61e3 cleanup 2019-01-16 17:44:48 +08:00
Vincent Wei bd1fb67930 retrive the break type of UNICODE char; upgrade UNICODE tables to 10.0.0 2019-01-16 17:10:50 +08:00
Vincent Wei 0fcedfca08 cleanup 2019-01-16 14:52:12 +08:00
Vincent Wei c39ce7c0b8 cleanup 2019-01-16 12:04:43 +08:00
Vincent Wei 97014ccdc8 cleanup 2019-01-16 12:02:58 +08:00
Vincent Wei 48e7f6e928 cleanup 2019-01-16 11:53:46 +08:00
Vincent Wei 473f9f98ff cleanup 2019-01-16 11:52:56 +08:00
Vincent Wei 95d09a7673 tune and cleanup 2019-01-16 11:43:27 +08:00
Vincent Wei 53253ed101 optimize the font matching algorithm 2019-01-16 10:18:26 +08:00
Vincent Wei 4bd7c0eef4 add mutex for freetype2 font engine (MGRM_THREADS) and remove lock/unlock of __mg_gdi_lock in _font_get_glyph_advance 2019-01-16 10:06:46 +08:00
Vincent Wei 9af71438dd cleanup 2019-01-15 17:02:11 +08:00
Vincent Wei 82033a44dd cleanup and fix the bug of wrong bboxing handling for SUBPIXEL rendering of glyph 2019-01-15 14:50:46 +08:00
Vincent Wei 1c9537fc63 BMP_TYPE_REPLACEKEY for BITMAP; Declaration of GetGlyphsExtentPointEx and DrawGlyphStringEx; cleanup of GLYPHINFO and GLYPHBITMAP 2019-01-15 10:17:25 +08:00
Vincent Wei 612c395c06 Backward compatiblity of CreateLogFont 2019-01-14 10:23:37 +08:00
Vincent Wei 8dc0ee2ade cleanup 2019-01-13 18:56:41 +08:00
Vincent Wei caefd7355a cleanup 2019-01-13 18:36:03 +08:00
Vincent Wei 9ea0e15dba try to match devfont without style 2019-01-13 17:42:27 +08:00
Vincent Wei 83c8984c74 support flipping glyph for subpixel rendering 2019-01-13 16:59:36 +08:00
Vincent Wei 4761333a1a skip null pixels for subpixel 2019-01-13 16:20:08 +08:00
Vincent Wei 8538f29f70 fixbug: No need to make the pitch of FT2 monobitmap is single-byte aligned 2019-01-13 14:21:18 +08:00
Vincent Wei b658413961 cleanup 2019-01-13 13:17:23 +08:00
Vincent Wei bb187f1ee3 cleanup font name and glyph renderer 2019-01-13 13:10:13 +08:00
Vincent Wei ea8ab93bad cleanup 2019-01-12 15:02:56 +08:00
Vincent Wei 9226fcff26 add examples/createlogfontex.c and cleanup examples/createlogfont.c 2019-01-12 14:03:52 +08:00
Vincent Wei 05cf370155 Cleanup LOGFONT styles 2019-01-12 13:55:51 +08:00
Vincent Wei 0d2352884a tune style for LOGFONT 2019-01-11 10:55:55 +08:00
1098 changed files with 164238 additions and 35827 deletions
+5
View File
@@ -22,4 +22,9 @@ Makefile.in
/*.pc
/*config.h
/*config.h.in
/*config.h.in~
/src/font/utils/emoji/
/src/font/utils/ucd/
/src/sysres/font_list
/src/sysres/license/dat_files/
-2
View File
@@ -1,2 +0,0 @@
Beijing FMSoft Technologies Co., Ltd.. (http://www.fmsoft.cn)
+16
View File
@@ -0,0 +1,16 @@
The current main maintainers and/or developers:
* WEI Yongming
As employed engineers of [Beijing FMSoft Technologies Co., Ltd.],
the following people have participated in the development of MiniGUI Core:
* HOU Huihua
* WAN Zheng
* DONG Kai
* DONG Junjie
* YAN Xiaowei
For community contributors, please see RELASENOTES.md documentation.
[Beijing FMSoft Technologies Co., Ltd.]: http://www.fmsoft.cn
+4 -4
View File
@@ -3216,7 +3216,7 @@ alExtra.(xwyan)
* src/gui/lf_flat.c
* src/gui/lf_skin.c
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_glyph_type to return
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_char_type to return
the glyph type the devfont can give us.
* src/include/devfont.h
* src/font/*.c
@@ -4761,7 +4761,7 @@ create_skin_main_window_ex:
* ext/skin/skin.c
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
* Change the definition of UChar32 to 'int'.
* Change the definition of Uchar32 to 'int'.
* include/gdi.h
05/16. ENHANCEMENT #11: Support for FreeType2.
@@ -4984,11 +4984,11 @@ provide the function whether the file exist or not.(xwyan)
* src/server/request.c
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
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
* src/misc/nposix.c
+10 -5
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
# control system is used.
PROJECT_NUMBER = v3.2.0
PROJECT_NUMBER = v4.0.7
# 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
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.7
# 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
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = ./include
INPUT += README.md
# 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
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (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.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = README.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_PROCESSES \
_MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \
_MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \
_MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_PROCESSES \
_MGCTRL_ANIMATION \
_MGFONT_FT2 \
_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
# tag can be used to specify a list of macro names that should be expanded. The
+10 -5
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
# control system is used.
PROJECT_NUMBER = v3.2.0
PROJECT_NUMBER = v4.0.7
# 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
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.7
# 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
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = ./include
INPUT += README.md
# 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
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (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.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = README.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_STANDALONE \
_MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \
_MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \
_MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_STANDALONE \
_MGCTRL_ANIMATION \
_MGFONT_FT2 \
_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
# tag can be used to specify a list of macro names that should be expanded. The
+10 -5
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
# control system is used.
PROJECT_NUMBER = v3.2.0
PROJECT_NUMBER = v4.0.7
# 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
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.7
# 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
@@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = ./include
INPUT += README.md
# 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
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
# (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.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = README.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_THREADS \
_MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \
_MGCHARSET_UNICODE \
_MGCOMPLEX_SCRIPTS \
_MGCTRL_STATIC \
_MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_THREADS \
_MGCTRL_ANIMATION \
_MGFONT_FT2 \
_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
# tag can be used to specify a list of macro names that should be expanded. The
+2 -2
View File
@@ -1,6 +1,6 @@
MAJOR_VERSION = 3
MAJOR_VERSION = 4
MINOR_VERSION = 0
MICRO_VERSION = 13
MICRO_VERSION = 4
EXTRAVERSION =
MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION)
+15 -14
View File
@@ -1,11 +1,10 @@
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = \
minigui.pc.in \
EXTRA_DIST = minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \
README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
INSTALL LICENSE \
Version.md README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
# The directory where the include files will be installed
libminiguiincludedir = $(includedir)/minigui
@@ -13,15 +12,17 @@ libminiguiincludedir = $(includedir)/minigui
# Which header files to install
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
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
+304 -248
View File
File diff suppressed because it is too large Load Diff
+616 -275
View File
File diff suppressed because it is too large Load Diff
-9
View File
@@ -1,9 +0,0 @@
Version 3.2.0 (2018/02/10)
This release needs the following resource packages:
* minigui-res-3.0.13.tar.gz
The latest samples package is:
* mg-samples-3.2.0.tar.gz
+8
View File
@@ -0,0 +1,8 @@
Version 4.0.7 (2020/03/30)
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.7.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+=
##################################################
+343 -171
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -239,9 +239,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
496 static int euckr_is_this_charset (const unsigned char* charset)
497 {
498 int i;
499 char name [LEN_FONT_NAME + 1];
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
500
501 for (i = 0; i < LEN_FONT_NAME + 1; i++) {
501 for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
502 if (charset [i] == '\0')
503 break;
504 name [i] = toupper (charset [i]);
@@ -388,9 +388,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
228 typedef struct _LOGFONT {
229 char type [LEN_FONT_NAME + 1];
230 char family [LEN_FONT_NAME + 1];
231 char charset [LEN_FONT_NAME + 1];
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
232 DWORD style;
233 int size;
234 int rotation;
+63 -11
View File
@@ -1,38 +1,74 @@
# 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.
#
# Web: http://www.minigui.com
#
# This configuration file must be installed in /etc,
# /usr/local/etc or your home directory. When you install it in your
# home directory, it should be named ".MiniGUI.cfg".
#
# The priority of above configruation files is ~/.MiniGUI.cfg,
# /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg.
# /usr/local/etc, your home directory, or the current working direcotry.
# When you install it in your home directory, it should be named
# ".MiniGUI.cfg".
#
# If you change the install path of MiniGUI resource, you should
# The priority of above configruation files is ./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
# modify this file to meet your configuration.
#
[system]
# GAL engine and default options
# The equivalent environment variable: MG_GAL_ENGINE
gal_engine=pc_xvfb
# The equivalent environment variable: MG_DEFAULTMODE
defaultmode=800x600-16bpp
# IAL engine
# The equivalent environment variable: MG_IAL_ENGINE
ial_engine=pc_xvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
# Linux IAL engine based on libinput
# 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
# It is defined in dots (physical pixels) per inch
# The default value is 96.
dpi=96
# The filename of the shared library for the external driver.
# The equivalent environment variable: MG_GAL_DRM_DRIVER
exdriver=libhidrmdrivers-0.2.so.0
#}}
#{{ifdef _MGIAL_LIBINPUT
[libinput]
seat=seat0
#}}
#{{ifdef _MGGAL_FBCON
[fbcon]
defaultmode=1024x768-16bpp
dpi=96
#}}
#{{ifdef _MGGAL_PCXVFB
[pc_xvfb]
defaultmode=800x600-16bpp
@@ -58,7 +94,19 @@ def_bgcolor=0x00FF00
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.
# 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]
font_number=5
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
@@ -88,6 +136,10 @@ font_number=0
[truetypefonts]
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]
dblclicktime=300
@@ -126,7 +178,7 @@ cursor22=ve_split.cur
[resinfo]
respath=/usr/local/share/minigui/res/
[classic]
# Note that max number defined in source code is 5.
iconnumber=5
+12 -12
View File
@@ -1,14 +1,14 @@
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
16, 0);
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
12, 0);
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
24, 0);
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
16, 0);
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
12, 0);
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
24, 0);
+14
View File
@@ -0,0 +1,14 @@
static LOGFONT *logfont, *logfontgb12, *logfontttf;
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
16, 0);
logfontgb12 = CreateLogFontEx (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
12, 0);
logfontttf = CreateLogFontEx ("ttf", "Courier", "UTF-8",
FONT_WEIGHT_BLACK, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FS_OTHER_LCDPORTRAIT, FONT_DECORATE_NONE, FONT_RENDER_SUBPIXEL,
24, 0);
+5 -5
View File
@@ -10,9 +10,9 @@ libminiguiincludedir = $(includedir)/minigui
COMM_HDRS = \
common.h endianrw.h fixedmath.h \
minigui.h gdi.h window.h control.h \
own_malloc.h own_stdio.h \
xvfb.h customial.h \
dti.c
own_malloc.h own_stdio.h \
xvfb.h customial.h exstubs.h \
dti.c
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
THREADX_HDRS=threadx_pthread.h threadx_semaphore.h
@@ -23,12 +23,12 @@ OSE_HDRS=ose_semaphore.h
PSOS_HDRS=psos_pthread.h psos_semaphore.h
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
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
install-data-local:
+402 -132
View File
File diff suppressed because it is too large Load Diff
+16 -4
View File
@@ -1,13 +1,25 @@
///////////////////////////////////////////////////////////////////////////////
//
// 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
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
*
* \brief This file includes interfaces of standard controls of MiniGUI.
*
\verbatim
This file is part of MiniGUI, a mature cross-platform windowing
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
@@ -37,7 +49,7 @@
under the terms and conditions of the commercial license.
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
*/
@@ -45,7 +57,7 @@
/*
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author wangjian
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -35,7 +47,7 @@
under the terms and conditions of the commercial license.
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
*/
+167 -22
View File
@@ -1,13 +1,25 @@
///////////////////////////////////////////////////////////////////////////////
//
// 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
* \author Wei Yongming <vincent@minigui.org>
* \date 2007/06/06
*
*
* \brief This file is the head file for Custom IAL Engine.
*
\verbatim
This file is part of MiniGUI, a mature cross-platform windowing
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
@@ -36,7 +48,7 @@
under the terms and conditions of the commercial license.
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
*/
@@ -44,31 +56,155 @@
/*
* $Id: customial.h 11349 2009-03-02 05:00:43Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef GUI_IAL_CUSTOM_H
#define GUI_IAL_CUSTOM_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define IAL_MOUSE_LEFTBUTTON (1 << 0)
#define IAL_MOUSE_RIGHTBUTTON (1 << 1)
#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_RIGHTBUTTON 2
#define IAL_MOUSE_MIDDLEBUTTON 4
#define IAL_MOUSE_FOURTHBUTTON 8
#define IAL_MOUSE_FIFTHBUTTON 16
#define IAL_MOUSE_SIXTHBUTTON 32
#define IAL_MOUSE_RESETBUTTON 64
#define IAL_MOUSE_SIDEBUTTON IAL_MOUSE_FOURTHBUTTON
#define IAL_MOUSE_EXTRABUTTON IAL_MOUSE_FIFTHBUTTON
#define IAL_MOUSE_FORWARDBUTTON IAL_MOUSE_SIXTHBUTTON
#define IAL_MOUSE_BACKBUTTON IAL_MOUSE_SEVENTHBUTTON
#define IAL_MOUSE_TASKBUTTON IAL_MOUSE_EIGHTHBUTTON
#define IAL_MOUSE_RESETBUTTON IAL_MOUSE_EIGHTHBUTTON
*/
#define IAL_MOUSEEVENT 1
#define IAL_KEYEVENT 2
#define IAL_EVENT_MOUSE (1 << 0)
#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;
// Initialization and termination
@@ -91,12 +227,21 @@ typedef struct tagINPUT
int (*resume_keyboard) (void);
void (*set_leds) (unsigned int leds);
// Event
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
// Event loop
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
fd_set *except, struct timeval *timeout);
char mdev [MAX_PATH + 1];
}INPUT;
// New wait event method for getting extra input events; since 4.0.0
int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
/* BUGFIXING (VM 2020-03-12): merged from 5.0.0 */
char* mdev;
} INPUT;
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MGIAL_CUSTOM
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
+42 -6
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
* \author Wei Yongming <vincent@minigui.org>
@@ -5,13 +17,37 @@
*
\verbatim
Copyright (C) 2002-2018 FMSoft
Copyright (C) 1999-2002 Wei Yongming.
All rights reserved by Feynman Software.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This program is free software: you can redistribute it and/or modify
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
*/
+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
* \author Wei Yongming <vincent@minigui.org>
@@ -40,7 +52,7 @@
under the terms and conditions of the commercial license.
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
*/
+746
View File
File diff suppressed because it is too large Load Diff
+79 -67
View File
@@ -1,13 +1,25 @@
///////////////////////////////////////////////////////////////////////////////
//
// 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
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/12
*
*
* \brief This file includes fixed point and three-dimension math routines.
*
\verbatim
This file is part of MiniGUI, a mature cross-platform windowing
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
@@ -37,7 +49,7 @@
under the terms and conditions of the commercial license.
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
*/
@@ -45,7 +57,7 @@
/*
* $Id: fixedmath.h 12154 2009-10-15 07:21:34Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Fixed-point math routins come from Allegro (a gift software)
@@ -79,21 +91,21 @@ extern "C" {
/**
* \defgroup fixed_math_fns Fixed point math functions
*
*
* You know that the float point mathematics routines are very
* expensive. If you do not want precision mathematics result,
* expensive. If you do not want precision mathematics result,
* you can use fixed point. MiniGUI uses a double word (32-bit)
* integer to represent a fixed point ranged from -32767.0 to
* 32767.0, and defines some fixed point mathematics routines for
* your application. Some GDI functions need fixed point
* integer to represent a fixed point ranged from -32767.0 to
* 32767.0, and defines some fixed point mathematics routines for
* your application. Some GDI functions need fixed point
* math routines, like \a Arc.
*
* Example 1:
*
*
* \include fixed_point.c
*
* Example 2:
*
*
* \include fixedpoint.c
* @{
*/
@@ -112,9 +124,9 @@ MG_EXPORT fixed fixsqrt (fixed x);
/**
* \fn fixed fixhypot (fixed x, fixed y)
* \brief Returns the Euclidean distance from the origin.
*
* The function returns the \a sqrt(x*x+y*y). This is the length of
* the hypotenuse of a right-angle triangle with sides of length \a x and \a y,
*
* The function returns the \a sqrt(x*x+y*y). This is the length of
* the hypotenuse of a right-angle triangle with sides of length \a x and \a y,
* or the distance of the point \a (x,y) from the origin.
*
* \sa fixsqrt
@@ -125,10 +137,10 @@ MG_EXPORT fixed fixhypot (fixed x, fixed y);
* \fn fixed fixatan (fixed x)
* \brief Calculates the arc tangent of a fixed point value.
*
* This function calculates the arc tangent of \a x; that is the value
* This function calculates the arc tangent of \a x; that is the value
* whose tangent is \a x.
*
* \return Returns the arc tangent in radians and the value is
* \return Returns the arc tangent in radians and the value is
* mathematically defined to be between -PI/2 and PI/2 (inclusive).
*
* \sa fixatan2
@@ -140,20 +152,20 @@ MG_EXPORT fixed fixatan (fixed x);
* \brief Calculates the arc tangent of two fixed point variables.
*
* This function calculates the arc tangent of the two variables \a x and \a y.
* It is similar to calculating the arc tangent of \a y / \a x, except that
* the signs of both arguments are used to determine the quadrant of the
* It is similar to calculating the arc tangent of \a y / \a x, except that
* the signs of both arguments are used to determine the quadrant of the
* result.
*
* \return Returns the result in radians, which is between -PI and PI
* \return Returns the result in radians, which is between -PI and PI
* (inclusive).
*
* \sa fixatan
*/
MG_EXPORT fixed fixatan2 (fixed y, fixed x);
extern MG_EXPORT fixed _cos_tbl[];
extern MG_EXPORT fixed _tan_tbl[];
extern MG_EXPORT fixed _acos_tbl[];
extern MG_EXPORT const fixed __mg_cos_tbl[];
extern MG_EXPORT const fixed __mg_tan_tbl[];
extern MG_EXPORT const fixed __mg_acos_tbl[];
/************************** inline fixed point math functions *****************/
/* ftofix and fixtof are used in generic C versions of fixmul and fixdiv */
@@ -162,7 +174,7 @@ extern MG_EXPORT fixed _acos_tbl[];
* \fn fixed ftofix (double x)
* \brief Converts a float point value to a fixed point value.
*
* This function converts the specified float point value \a x to
* This function converts the specified float point value \a x to
* a fixed point value.
*
* \note The float point should be ranged from -32767.0 to 32767.0.
@@ -171,7 +183,7 @@ extern MG_EXPORT fixed _acos_tbl[];
* \sa fixtof
*/
static inline fixed ftofix (double x)
{
{
if (x > 32767.0) {
errno = ERANGE;
return 0x7FFFFFFF;
@@ -182,21 +194,21 @@ static inline fixed ftofix (double x)
return -0x7FFFFFFF;
}
return (long)(x * 65536.0 + (x < 0 ? -0.5 : 0.5));
return (long)(x * 65536.0 + (x < 0 ? -0.5 : 0.5));
}
/**
* \fn double fixtof (fixed x)
* \brief Converts a fixed point value to a float point value.
*
* This function converts the specified fixed point value \a x to
* This function converts the specified fixed point value \a x to
* a float point value.
*
* \sa ftofix
*/
static inline double fixtof (fixed x)
{
return (double)x / 65536.0;
{
return (double)x / 65536.0;
}
@@ -209,7 +221,7 @@ static inline double fixtof (fixed x)
*
* \param x x,y: Two addends.
* \param y x,y: Two addends.
* \return The sum. If the result runs out of range of fixed point,
* \return The sum. If the result runs out of range of fixed point,
* this function sets \a errno to \a ERANGE.
*
* \sa fixsub
@@ -220,19 +232,19 @@ static inline fixed fixadd (fixed x, fixed y)
if (result >= 0) {
if ((x < 0) && (y < 0)) {
errno = ERANGE;
return -0x7FFFFFFF;
errno = ERANGE;
return -0x7FFFFFFF;
}
else
return result;
return result;
}
else {
if ((x > 0) && (y > 0)) {
errno = ERANGE;
return 0x7FFFFFFF;
errno = ERANGE;
return 0x7FFFFFFF;
}
else
return result;
return result;
}
}
@@ -240,13 +252,13 @@ static inline fixed fixadd (fixed x, fixed y)
* \fn fixed fixsub (fixed x, fixed y)
* \brief Subtract a fixed point value from another.
*
* This function subtracts the fixed point values \a y from the fixed
* This function subtracts the fixed point values \a y from the fixed
* point value \a x, and returns the difference.
*
* \param x The minuend.
* \param y The subtrahend.
*
* \return The difference. If the result runs out of range of fixed point,
* \return The difference. If the result runs out of range of fixed point,
* this function sets \a errno to \a ERANGE.
*
* \sa fixadd
@@ -257,33 +269,33 @@ static inline fixed fixsub (fixed x, fixed y)
if (result >= 0) {
if ((x < 0) && (y > 0)) {
errno = ERANGE;
return -0x7FFFFFFF;
errno = ERANGE;
return -0x7FFFFFFF;
}
else
return result;
return result;
}
else {
if ((x > 0) && (y < 0)) {
errno = ERANGE;
return 0x7FFFFFFF;
errno = ERANGE;
return 0x7FFFFFFF;
}
else
return result;
return result;
}
}
/**
* \fn fixed fixmul (fixed x, fixed y)
* \brief Returns the product of two fixed point values.
*
*
* This function returns the product of two fixed point values \a x and \a y.
*
* \param x The faciend.
* \param y The multiplicato.
* \return The prodcut. If the result runs out of range of fixed point,
* \return The prodcut. If the result runs out of range of fixed point,
* this function sets \a errno to \a ERANGE.
*
*
* \sa fixdiv
*/
MG_EXPORT fixed fixmul (fixed x, fixed y);
@@ -291,14 +303,14 @@ MG_EXPORT fixed fixmul (fixed x, fixed y);
/**
* \fn fixed fixdiv (fixed x, fixed y)
* \brief Returns the quotient of two fixed point values.
*
*
* This function returns the quotient of two fixed point values \a x and \a y.
*
* \param x The dividend.
* \param y The divisor.
* \return The quotient. If the result runs out of range of fixed point,
* \return The quotient. If the result runs out of range of fixed point,
* this function sets \a errno to \a ERANGE.
*
*
* \sa fixmul
*/
MG_EXPORT fixed fixdiv (fixed x, fixed y);
@@ -336,7 +348,7 @@ static inline int fixceil (fixed x)
* \sa fixtoi
*/
static inline fixed itofix (int x)
{
{
return x << 16;
}
@@ -349,61 +361,61 @@ static inline fixed itofix (int x)
* \sa itofix
*/
static inline int fixtoi (fixed x)
{
return (x >> 16) + ((x & 0x8000) >> 15);
{
return (x >> 16) + ((x & 0x8000) >> 15);
}
/**
* \fn fixed fixcos (fixed x)
* \brief Returns the cosine of a fixed point.
*
* This function returns the cosine of the fixed point \a x,
* This function returns the cosine of the fixed point \a x,
* where \a x is given in radians.
*
* \sa fixacos
*/
static inline fixed fixcos (fixed x)
{
return _cos_tbl[((x + 0x4000) >> 15) & 0x1FF];
return __mg_cos_tbl[((x + 0x4000) >> 15) & 0x1FF];
}
/**
* \fn fixed fixsin (fixed x)
* \brief Returns the sine of a fixed point.
*
* This function returns the sine of the fixed point \a x,
* This function returns the sine of the fixed point \a x,
* where \a x is given in radians.
*
* \sa fixasin
*/
static inline fixed fixsin (fixed x)
{
return _cos_tbl[((x - 0x400000 + 0x4000) >> 15) & 0x1FF];
{
return __mg_cos_tbl[((x - 0x400000 + 0x4000) >> 15) & 0x1FF];
}
/**
* \fn fixed fixtan (fixed x)
* \brief Returns the tangent of a fixed point.
*
* This function returns the tangent of the fixed point \a x,
* This function returns the tangent of the fixed point \a x,
* where \a x is given in radians.
*
* \sa fixcos, fixsin
*/
static inline fixed fixtan (fixed x)
{
return _tan_tbl[((x + 0x4000) >> 15) & 0xFF];
{
return __mg_tan_tbl[((x + 0x4000) >> 15) & 0xFF];
}
/**
* \fn fixed fixacos (fixed x)
* \brief Calculates and returns the arc cosine of a fixed point.
*
* This function calculates the arc cosine of the fixed point \a x;
* This function calculates the arc cosine of the fixed point \a x;
* that is the value whose cosine is \a x. If \a x falls outside
* the range -1 to 1, this function fails and \a errno is set to EDOM.
*
* \return Returns the arc cosine in radians and the value is mathematically
* \return Returns the arc cosine in radians and the value is mathematically
* defined to be between 0 and PI (inclusive).
*
* \sa fixcos
@@ -415,30 +427,30 @@ static inline fixed fixacos (fixed x)
return 0;
}
return _acos_tbl[(x+65536+127)>>8];
return __mg_acos_tbl[(x+65536+127)>>8];
}
/**
* \fn fixed fixasin (fixed x)
* \brief Calculates and returns the arc sine of a fixed point.
*
* This function calculates the arc sine of the fixed point \a x;
* This function calculates the arc sine of the fixed point \a x;
* that is the value whose sine is \a x. If \a x falls outside
* the range -1 to 1, this function fails and \a errno is set to EDOM.
*
* \return Returns the arc sine in radians and the value is mathematically
* \return Returns the arc sine in radians and the value is mathematically
* defined to be between -PI/2 and PI/2 (inclusive).
*
* \sa fixsin
*/
static inline fixed fixasin (fixed x)
{
{
if ((x < -65536) || (x > 65536)) {
errno = EDOM;
return 0;
}
return 0x00400000 - _acos_tbl[(x+65536+127)>>8];
return 0x00400000 - __mg_acos_tbl[(x+65536+127)>>8];
}
/** @} end of fixed_math_fns */
+6284 -1745
View File
File diff suppressed because it is too large Load Diff

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