Compare commits

...
804 Commits
Author SHA1 Message Date
Vincent Wei 26a0527e55 harfbuzzex -> harfbuzz 2020-07-23 19:27:52 +08:00
Vincent Wei 165b89e5be change version to 4.0.8 2020-07-23 19:16:26 +08:00
Vincent Wei e5ac135443 depress compilation warnings for GCC 9 2020-07-23 18:54:19 +08:00
Vincent Wei fc6d3a686e Merge branch 'rel-4-0' of gitlab.fmsoft.cn:VincentWei/minigui into rel-4-0 2020-07-23 18:35:03 +08:00
Vincent Wei f16a629ade use mainstream HarfBuzz and hb_buffer_set_unicode_funcs 2020-07-23 18:34:56 +08:00
gengyue b074ebf3d7 modified for cross compile 2020-04-12 18:50:03 +08:00
gengyue 3cfc964836 modified for cross compile 2020-04-10 17:30:58 +08:00
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 747894247b tune release notes 2019-01-15 16:18:45 +08:00
Vincent Wei 1ed5b44926 cleanup for 3.2.2 2019-01-15 15:13:50 +08:00
Vincent Wei 16287af2a6 fix the bug of wrong bbox handling for SUBPIXEL rendering of glyph 2019-01-15 14:53:57 +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 c975fe5b8d tune release notes 2019-01-13 16:23:57 +08:00
Vincent Wei b4569adbd5 skipp null pixels for subpixel glyph 2019-01-13 16:22:34 +08:00
Vincent Wei 4761333a1a skip null pixels for subpixel 2019-01-13 16:20:08 +08:00
Vincent Wei 715a44beeb typo for pitch 2019-01-13 14:32:49 +08:00
Vincent Wei e6bb4fa05f tune RELEASE NOTES 2019-01-13 14:24:14 +08:00
Vincent Wei c436af69bb fixbug: No need to make the pitch of FT2 monobitmap is single-byte aligned 2019-01-13 14:22:54 +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
Vincent Wei b18cd49398 add GDCAP_DPI for GetGDCapability 2019-01-10 17:31:50 +08:00
Vincent Wei 1c2b4a893a Tune GetGlyphInfo and GLYPHINFO 2019-01-10 16:20:36 +08:00
Vincent Wei 5ef6e45848 new type: QDWORD for a quauter of DWORD 2018-12-27 12:12:08 +08:00
Vincent Wei 088ef49c83 cleanup 2018-12-20 15:53:48 +08:00
Vincent Wei dbbd0f4da2 cleanup 2018-12-11 18:02:46 +08:00
Vincent Wei e4a2294ded New API: UpdateInvalidClient 2018-12-03 18:21:06 +08:00
Vincent Wei f145f409e5 tune format 2018-11-29 12:39:36 +08:00
Vincent Wei c44a64c95e tune format 2018-11-29 12:37:34 +08:00
Vincent Wei 2afb27a89d Release notes for 3.2.1 2018-11-29 12:35:56 +08:00
Vincent Wei c643b10bbc Implementation of new API: SyncUpdateDC 2018-11-29 12:22:01 +08:00
Vincent Wei c04c44eefb remove extra \n for _DBG_PRINTF 2018-11-22 15:28:04 +08:00
Vincent Wei 98baad2755 remove DC_ATTR_BIDI_FIRSTCH_TYPE 2018-11-18 13:58:49 +08:00
HOU Huihua e9e7c43029 Merge branch 'master' of github.com:VincentWei/minigui 2018-11-18 13:11:50 +08:00
HOU Huihua 7805a3f5c3 fixbug: new DC attribute: bidi_flags 2018-11-18 13:11:23 +08:00
Vincent Wei 0abc9c4aa6 use macro for _DBG_PRINTF and _ERR_PRINTF 2018-11-08 18:41:58 +08:00
Vincent Wei 2a97f34534 cleanup 2018-09-19 11:16:52 +08:00
VincentWei 6de3db1482 TUNE 2018-09-18 13:36:33 +08:00
VincentWei 019bc4deef Merge branch 'master' of github.com:VincentWei/minigui 2018-09-18 10:55:35 +08:00
VincentWei 9e17f428fe BUGFIXING: handle PNG_COLOR_TYPE_GRAY_ALPHA color type 2018-09-18 10:55:06 +08:00
Vincent Wei 120705742e cleanup and remove unused code 2018-09-06 16:13:22 +08:00
Vincent Wei 6e5407f42d cleaup for coding style 2018-09-04 16:33:17 +08:00
Vincent Wei 2237be6721 Merge pull request #12 from 10km/master
add __mg_save_jpg function for storing MYBITMAP as JPEG file.
2018-09-04 16:23:20 +08:00
10km faa7a2636e fix bug for MYBITMAP_get_pixel_row_pal16,MYBITMAP_get_pixel_row_pal256 2018-09-04 16:06:06 +08:00
10km ce442b5e96 add __mg_save_jpg function for storing MYBITMAP as JPEG file.
enable application to store image as JPEG file.
description: Convert all color space(RGBA,BGR,RGB565,index color256,16) to RGB ,and compress JPEG with JCS_RGB color space. 
Can use preprocessor _MGIMAGE_JPG_SAVE_QUALITY to define JPEG compression quality.default value 90.
For RGBA color space image ,can use _MGIMAGE_JPG_RGBA_BGCOLOR define background color,default value 0XFFFFFF (white).
For image with index color space(256 or 16) ,the argument 'pal' of __mg_save_jpg must be NULL.
LIMIT:type of MG_RWops object must be RWAREA_TYPE_STDIO ( a file).not suport RWAREA_TYPE_MEM.
2018-09-04 13:40:59 +08:00
10km 69050f7a5c Merge pull request #1 from VincentWei/master
update
2018-08-31 22:25:44 +08:00
Vincent Wei fcbcc86c6f tune for the coding style 2018-08-31 16:57:57 +08:00
Vincent Wei 07a51b22ae Merge pull request #10 from 10km/master
modified logic for checking JPEG format.
2018-08-31 16:51:53 +08:00
10km 1297ba836d improve logic of __mg_check_jpg for performance .
loop for reading JPEG marker from MG_RWops object,if meet other JPEG marker(eg. SOI,APPn,DQT) skip the payload bytes for next marker,until reach SOF0 or SOF2.
about JPEG marker, see also https://en.wikipedia.org/wiki/JPEG
2018-08-31 15:00:50 +08:00
10km 09e83b6a8b modified logic judgment for checking JPEG format.JFIF and Exif is morst popular file format of JPEG encoded image,but not all,for MJPEG format that used by camera,the flag is 'AVI1' OR not any flag ,starting FFC0 after FFD8.
so the old logic is not work for other JPEG format.see  my blog for detail : https://blog.csdn.net/10km/article/details/82155967
2018-08-30 17:10:26 +08:00
Vincent Wei ae532f03fa add GetGlyphBIDIType and BidiCharType -> Uint32 2018-08-29 20:03:20 +08:00
Vincent Wei 9945cd25a5 BIDI flag for DC 2018-08-28 18:38:20 +08:00
VincentWei 4f515a0359 fix the error of arabic charset 2018-08-27 19:13:56 +08:00
Vincent Wei 808718bdb4 Support BIDI for UNICODE charsets and cleanup the implementation 2018-08-27 18:55:12 +08:00
Vincent Wei e7924ebd51 fix bug of free null pointer 2018-08-25 18:27:37 +08:00
Vincent Wei 1935734df1 debug 2018-07-31 19:05:59 +08:00
Vincent Wei 5ff06823e4 check socket closed when reading 2018-07-31 11:13:33 +08:00
Vincent Wei 1bc43f6580 tune 2018-07-30 16:40:28 +08:00
Vincent Wei be27e8cb7c usvfb engines are almost ok 2018-07-30 10:43:17 +08:00
Vincent Wei 4597cbbc28 finish USVFB IAL engine 2018-07-30 09:01:35 +08:00
Vincent Wei cde8a653b4 add USVFB IAL engine 2018-07-29 21:02:12 +08:00
Vincent Wei 8b73fe0022 add USVFB NEWGAL engine 2018-07-29 20:54:28 +08:00
Vincent Wei 4db2aa093c enhance commlcd engint to support more pixel type and synchronously update 2018-07-29 13:45:17 +08:00
Vincent Wei d9da4d6e3a tune for release v3.2.0 2018-07-12 10:52:51 +08:00
Vincent Wei 318dee8fd5 tune for official release v3.2.0 2018-07-12 10:41:31 +08:00
Vincent Wei dcc50d45ce change version number from 3.0 to 3.2 for splash 2018-07-02 17:41:42 +08:00
Vincent Wei 96a4e917d9 debug 2018-06-20 18:07:50 +08:00
Vincent Wei a507af807c tune: disable key message for invalid low-level event 2018-06-20 18:01:46 +08:00
Vincent Wei 9189fa4efe pass timeout to __comminput_wait_for_input 2018-06-20 13:45:40 +08:00
Vincent Wei ac8e230207 fixbug: handle retvalue of wait_event correctly. 2018-06-20 11:40:52 +08:00
VincentWei 2aa6794636 cleanup 2018-06-13 23:31:35 +08:00
VincentWei 25d5b03154 add sharedres.h 2018-06-08 16:00:46 +08:00
Vincent Wei ab8ce45ab0 debug for stain pixel of subpixel 2018-06-06 09:41:32 +08:00
Vincent Wei 2036a8592c enable build_ttfcache_support by default 2018-06-06 08:55:09 +08:00
VincentWei dd0445689e cleanup 2018-06-05 23:59:14 +08:00
Vincent Wei 0d49ed794e cleanup 2018-06-04 18:59:19 +08:00
Vincent Wei df627ee3b1 fixbug: lost DT_CALCRECT attribute when DT_CENTER set 2018-06-01 12:07:28 +08:00
VincentWei 0599227023 use stderr for _MG_PRINTF 2018-05-31 23:29:52 +08:00
VincentWei 66769dee51 tune 2018-05-31 23:24:54 +08:00
VincentWei 1cfd032718 use ANSI color for _ERR_PRINTF, _DBG_PRINTF, and _MG_PRINTF 2018-05-31 23:16:52 +08:00
VincentWei a45ee0b3f4 disable xMax+=2 for SUBPIXEL 2018-05-31 23:16:15 +08:00
VincentWei 8b72783a12 tune for subpixel style 2018-05-25 22:49:26 +08:00
VincentWei 378f7e1986 cleanup 2018-05-19 15:13:12 +08:00
VincentWei 0b9c425b84 remove debug output 2018-05-19 14:01:09 +08:00
VincentWei 5e0dda0421 use 0x01UL for timermask test 2018-05-18 20:21:09 +08:00
VincentWei c0addda03b cleanup 2018-05-19 00:56:50 +08:00
VincentWei 977ac1ec9b fix bug of (0x01<<slot) for 64bit 2018-05-19 00:56:39 +08:00
VincentWei 36d2ea8158 Merge branch 'master' of github.com:VincentWei/minigui 2018-05-18 19:56:54 +08:00
VincentWei c1889bd927 enhance animation control 2018-05-18 19:56:37 +08:00
Vincent Wei 6388d8049f add a new function: GetResPath 2018-05-18 16:03:45 +08:00
Vincent Wei 8315dbb217 use -lpng instead of -lpng12 2018-05-18 16:03:25 +08:00
Vincent Wei c0dd8d1bcd fix warning for copy_row3 and make it static 2018-05-17 11:42:26 +08:00
Vincent Wei 028bfd149f remove commlcd for devel-mode 2018-05-17 11:42:03 +08:00
Vincent Wei d101233a3a Merge branch 'master' of github.com:VincentWei/minigui 2018-05-17 08:59:29 +08:00
Vincent Wei 7960577981 fix typos: resouce/Resouce 2018-05-17 08:59:12 +08:00
VincentWei 69705646cc tune Doxyfile 2018-05-09 23:25:12 +08:00
VincentWei 7c798483c4 tune Doxyfile 2018-05-09 23:21:06 +08:00
VincentWei bf69d0308a remove obsolete docs 2018-05-08 22:56:08 +08:00
VincentWei 990b9eabc9 cleanup for doxygen 2018-05-08 03:09:12 +08:00
Vincent Wei 92fa47663a specify RGBAmask for RGB565 and other pixel format 2018-04-08 17:59:05 +08:00
Vincent Wei dbe75d3ea1 cleanup 2018-04-08 17:21:08 +08:00
Vincent Wei f4486140bc change prototype of wait_event 2018-04-08 15:11:27 +08:00
Vincent Wei 0b21445fd1 change type to short of MOUSEX, MOUSEY, and BUTTON 2018-04-08 14:58:50 +08:00
Vincent Wei 5e8cdc8cea add pixel type 2018-04-08 14:50:37 +08:00
VincentWei 1527a164da rename freetype.c and freetype.h to freetype1.c and freetype1.h respectively, in order to avoid conflict with the freetype.h of freetype2 2018-04-03 17:36:45 +08:00
Vincent Wei 7f0f59bbe0 cleanup common ial engine. 2018-04-03 16:40:05 +08:00
Vincent Wei 130780bf01 enable scrollview by default 2018-04-03 14:18:07 +08:00
VincentWei f3e40b9d51 debug 2018-04-03 11:54:42 +08:00
VincentWei f7dfca5482 add the method update for commlcd newgal engine 2018-04-03 11:11:58 +08:00
CalvinHou f9135d7652 Update RELEASE-NOTES.md 2018-03-27 17:30:05 +08:00
CalvinHou dc30cfc816 Update RELEASE-NOTES.md 2018-03-27 16:09:39 +08:00
xueshuming 6fd1fdf39f enable-ctrlXXX for miniStudio 2018-02-26 15:58:20 +08:00
VincentWei 24746c5ef6 fix typo 2018-02-05 17:29:10 +08:00
Vincent Wei 2269c998e3 Create LICENSE 2018-02-05 17:23:29 +08:00
Vincent Wei 37b91e9482 Delete LICENSE 2018-02-05 17:22:31 +08:00
Vincent Wei 0c8d08ed74 tune format 2018-02-04 18:22:27 +08:00
VincentWei 8ee505ddc8 chang license-policy files name 2018-02-04 18:05:28 +08:00
VincentWei cd888ca270 change encoding to utf-8 2018-02-04 18:03:07 +08:00
VincentWei b5e197deeb change filename of license-policy.* 2018-02-04 17:55:22 +08:00
VincentWei 8de5d45a6d re-commit LICENSE 2018-02-04 17:51:40 +08:00
VincentWei 87360df98d tune format 2018-02-04 17:46:25 +08:00
VincentWei 7c157d60ac COPYING file 2018-02-04 17:42:56 +08:00
VincentWei 73032f98a9 tune format 2018-02-04 17:42:11 +08:00
VincentWei 6e98d52d45 tune license-policy 2018-02-04 17:35:44 +08:00
VincentWei 62efa8b29a clean up the header copying statements 2018-02-04 17:01:37 +08:00
VincentWei 5665bbb94b Merge branch 'master' of github.com:VincentWei/minigui 2018-02-02 15:30:36 +08:00
VincentWei 79c8048f83 use gal_pixel instead of int for GetWindowBkColor/SetWindowBkColor 2018-02-02 15:30:26 +08:00
VincentWei 0bec004433 add MAKEWPARAM and FIRSTBYTE~FOURTHBYTE macros, and remove HIBYTE_WORD16, LOBYTE_WORD16 macros. Now, MAKEWORD(lobyte, hibyte) returns same value on both 32-bit and 64-bit platforms 2018-02-02 15:05:00 +08:00
VincentWei e2c2ac0704 tune description of MSG_CHAR 2018-02-02 12:18:11 +08:00
VincentWei 7c9fb6e4f7 use HIBYTE_WORD16/LOBYTE_WORD16 to extract bytes from wParam of MSG_CHAR 2018-02-02 12:07:08 +08:00
VincentWei c6c60b862b use MAKEWORD16 for Str2Key and MSG_CHAR 2018-02-02 11:40:01 +08:00
VincentWei f4ccf7ee1c use HIBYTE_WORD16/LOBYTE_WORD16 to get the bytes from short type values 2018-02-01 23:12:42 +08:00
VincentWei d9c95e1900 tune format 2018-02-01 23:11:32 +08:00
VincentWei 61ada7b217 develmode does not control tracemsg option 2018-02-01 23:10:31 +08:00
VincentWei 655aabe2d0 change type of return value of GetMenuItemID to LINT 2018-02-01 14:11:25 +08:00
VincentWei 4a29921154 add change description for Doxygen 2018-01-31 18:56:23 +08:00
VincentWei 242423951d tune format 2018-01-31 18:41:14 +08:00
VincentWei 41aa192d41 tune typo 2018-01-31 18:27:03 +08:00
VincentWei fad33d69f6 tune format 2018-01-31 18:23:56 +08:00
VincentWei 92b58d3114 tune format 2018-01-31 18:19:20 +08:00
VincentWei 60bc975fd9 add description for LINT id 2018-01-31 18:14:00 +08:00
VincentWei 1f5d3bff3a modify copying in header files 2018-01-31 17:12:50 +08:00
VincentWei d8b8139ca1 use UINT stead of int for control identifiers and menu item identifiers 2018-01-31 16:03:41 +08:00
VincentWei 2f3b486873 add -DDEBUG for develmode 2018-01-30 20:47:47 +08:00
VincentWei 3380dd13d6 use long for LINT for 32-bit platform 2018-01-30 19:28:40 +08:00
VincentWei 58050c7896 tune the copying in header files 2018-01-30 19:06:47 +08:00
VincentWei 73d914293c change DWORD2PIXEL to DWORD2Pixel 2018-01-30 17:45:23 +08:00
VincentWei 9b9b912eb7 add SDWORD type 2018-01-30 17:44:46 +08:00
VincentWei d5c8e15cb9 add debug print for timer 2018-01-30 11:56:36 +08:00
VincentWei a3cd475ad0 tune code for debug print 2018-01-30 11:24:56 +08:00
VincentWei d977609170 tune code for debug print 2018-01-30 11:23:22 +08:00
VincentWei 30ef378100 fix release date 2018-01-28 23:41:23 +08:00
VincentWei b1184d5358 tune 2018-01-28 21:54:54 +08:00
VincentWei 8891a726a0 tune 2018-01-28 21:52:48 +08:00
VincentWei 8b4334f969 tune 2018-01-28 21:46:03 +08:00
VincentWei 8b01a29397 use long for DWORD_PTR/UINT_PTR on 32b-bit 2018-01-28 19:43:39 +08:00
VincentWei 4b80497ee9 define _DEBUG and NDEBUG for develmode or not resp. 2018-01-28 11:38:41 +08:00
VincentWei 55a4566a33 use UINT for message 2018-01-28 11:37:56 +08:00
VincentWei 78672276af better gitignore 2018-01-28 01:14:35 +08:00
VincentWei 8ddeb9806b define MAXLEN_CLASSNAME to 31 2018-01-28 01:07:34 +08:00
VincentWei 9df26d14bf change version 2018-01-26 10:32:51 +08:00
VincentWei 451c0cfca0 Merge branch '64b' 2018-01-26 10:28:09 +08:00
WEI Yongming 200855ddef tune release notes 2018-01-25 22:18:29 +08:00
WEI Yongming 708d8097eb tune release notes 2018-01-25 22:16:18 +08:00
WEI Yongming 71b769416e tune release notes 2018-01-25 22:11:23 +08:00
WEI Yongming acda11e59e tune code and release notes 2018-01-25 22:05:23 +08:00
WEI Yongming 333ff9c83b description of API changes 2018-01-25 10:08:56 +08:00
VincentWei a41c96fdbf enable listview and spinbox by default 2018-01-24 18:35:23 +08:00
VincentWei 78668dbdfc use pkgconfig to define the runmode of MiniGUI 2018-01-21 18:34:33 +08:00
VincentWei 6290779a02 tune the implementation of tracing message 2018-01-21 18:09:51 +08:00
VincentWei 75764eecb4 tune code to reflect the new prototypes 2018-01-21 17:19:18 +08:00
VincentWei dbcc408ad3 make timer-related APIs compiant to 64-bit 2018-01-21 17:07:48 +08:00
VincentWei ea1c7b27ab change version to 3.2.0 2018-01-21 11:57:36 +08:00
WEI Yongming 62ac274c27 --with-runmod=procs by default and --with-ttfsupport=ft2 by default 2018-01-19 23:28:43 +08:00
WEI Yongming 599c985146 tune code for 64-bit and 32-bit 2018-01-19 22:41:37 +08:00
VincentWei ec35c3552a DEP_LIBS += freetype 2018-01-19 19:44:33 +08:00
VincentWei c1071cde84 tune code for 64 bits 2018-01-19 17:37:31 +08:00
VincentWei 4bbcc76f82 tune code for 64 bits 2018-01-19 17:24:27 +08:00
VincentWei 56f55fad9b use with-runmode instead of enable-options for runtime modes 2018-01-19 17:18:07 +08:00
VincentWei 766ddb5555 tune code for 64b (MiniGUI-Processes runmode) 2018-01-19 15:35:26 +08:00
VincentWei 01bc3d7c42 tune code for 64 bits 2018-01-18 19:01:29 +08:00
VincentWei a2a5dcbc2a tune code for 64bit 2018-01-18 17:52:48 +08:00
VincentWei b4e43c3514 tune code for 64 bitts 2018-01-18 16:51:44 +08:00
VincentWei 786bb5f770 tune code for 64-bit 2018-01-18 10:53:36 +08:00
VincentWei 8b6731d706 tune code for 64-bit 2018-01-18 09:57:50 +08:00
VincentWei b59f0b6a93 tune code for 64-bit 2018-01-17 18:51:41 +08:00
VincentWei 2fbff87cb4 tune for 64 bits 2018-01-16 19:07:41 +08:00
VincentWei 060e483872 Merge branch 'master' of github.com:VincentWei/minigui into 64b 2018-01-16 18:25:07 +08:00
VincentWei 73ace78078 add devel-mode option 2018-01-16 18:24:57 +08:00
1193 changed files with 206518 additions and 46687 deletions
+30
View File
@@ -0,0 +1,30 @@
*.lo
*.o
*.la
*.al
*.a
*.so
Makefile
Makefile.in
.deps/
.libs/
/acinclude.m4
/aclocal.m4
/autom4te.cache
/compile
/missing
/stamp-h1
/config.*
/configure
/depcomp
/install-sh
/libtool
/*.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
-273
View File
@@ -1,273 +0,0 @@
# Doxyfile 1.4.2
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "MiniGUI V3.0.2 API Reference"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = YES
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./include
FILE_PATTERNS = *.h
RECURSIVE = YES
EXCLUDE = YES
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = vcongui.h own_*.h psos.h psos_*.h threadx_*.h ucos2_*.h nucleus_*.h vxworks_*.h ose_*.h win32_*.h
EXAMPLE_PATH = ./examples
EXAMPLE_PATTERNS = *.c
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = MiniGUI-API-REF-E.html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = NO
GENERATE_HTMLHELP = YES
CHM_FILE = MiniGUI-API-REF-V2.0.4-E.chm
HHC_LOCATION =
GENERATE_CHI = YES
BINARY_TOC = YES
TOC_EXPAND = YES
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = YES
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = YES
RTF_OUTPUT = rtf
COMPACT_RTF = YES
RTF_HYPERLINKS = YES
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = NO
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = _MGRM_PROCESSES \
__GNUC__ \
__LITTLE_ENDIAN__ \
MINIGUI_MAJOR_VERSION \
MINIGUI_MICRO_VERSION \
MINIGUI_MINOR_VERSION \
HAVE_SYS_TYPES_H \
_MGHAVE_FIXED_MATH \
_MGHAVE_MENU \
_MGHAVE_CLIPBOARD \
_MGHAVE_ADV_2DAPI \
_MGHAVE_MOUSECALIBRATE \
_MGMISC_ABOUTDLG \
_MGMISC_SAVESCREEN \
_MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \
_MGCHARSET_UNICODE \
_MGCTRL_STATIC \
_MGCTRL_SIMEDIT \
_MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \
_MGCTRL_MLEDIT \
_MGCTRL_PROGRESSBAR \
_MGCTRL_LISTBOX \
_MGCTRL_PROPSHEET \
_MGCTRL_COMBOBOX \
_MGCTRL_TOOLBAR \
_MGCTRL_NEWTOOLBAR \
_MGCTRL_MENUBUTTON \
_MGCTRL_SCROLLVIEW \
_MGCTRL_SCROLLBAR \
_MGCTRL_TEXTEDIT \
_MGCTRL_TRACKBAR \
_MGCTRL_TREEVIEW \
_MGCTRL_MONTHCAL \
_MGCTRL_SPINBOX \
_MGCTRL_COOLBAR \
_MGCTRL_LISTVIEW \
_MGCTRL_ICONVIEW \
_MGCTRL_GRIDVIEW \
_MGCTRL_BUTTON \
_MGCTRL_ANIMATION \
_MGFONT_FT2 \
_MGFONT_BMPF
EXPAND_AS_DEFINED = MGUI_HAS_64BIT_TYPE
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
+2494
View File
File diff suppressed because it is too large Load Diff
+2494
View File
File diff suppressed because it is too large Load Diff
+2494
View File
File diff suppressed because it is too large Load Diff
+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)
+3 -3
View File
@@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
+39 -43
View File
@@ -1,30 +1,32 @@
Licensing Policy for GPL'd MiniGUI versions
# Licensing Policy for GPLed MiniGUI versions
By now, FMSoft releases some MiniGUI versions under
GPL license. This is the licensing policy for the GPL'd MiniGUI
versions.
By now, FMSoft releases MiniGUI versions under GPLv3 license.
This is the licensing policy for the GPLed MiniGUI versions.
In Brief
========
Note that in this file, "MiniGUI" means MiniGUI core, mGi,
mGp, mG3d, mGPlus, mGEff, mGNCS, mGNCS4Touch, and other
MiniGUI components and/or tools which will be released
under GPL in the future.
## In Brief
This is our licensing policy in brief: Our software is 100% GPL,
and if yours is also 100% GPL, then you never have to pay us
for the licences. In all other instances, you are better served
by our commercial licence. Read the details below!
Licensing
=========
## Licensing
MiniGUI software is licensed under the GPL license. The formal terms
of the GPL license can be found in the GNU General Public License
section of the MiniGUI User Manual, or the file named "COPYING".
section of the MiniGUI User Manual, or the file named "LICENSE" or
"COPYING".
MiniGUI is also available under commercial non-GPL license. For pricing
and ordering information, visit our web page:
http://www.fmsoft.cn/
1. Free use for those who are 100% GPL
If your application is licensed under GPL, you are free and welcome
@@ -43,13 +45,13 @@ irrespective of whether your application is under GPL license or not.
More specifically:
* Modifying - You are allowed to modify MiniGUI source code any way
you like. If you distribute the modified version, all
changes, all interface code and all code that connects
directly or indirectly to the interface code fall under GPL.
* Modifying - You are allowed to modify MiniGUI source code any way
you like. If you distribute the modified version, all
changes, all interface code and all code that connects
directly or indirectly to the interface code fall under GPL.
* Copying - You are allowed to copy MiniGUI binaries and source code,
but when you do so, the copies will fall under the GPL.
* Copying - You are allowed to copy MiniGUI binaries and source code,
but when you do so, the copies will fall under the GPL.
3. Commercial use for everyone else
@@ -60,24 +62,24 @@ a commercial license to the MiniGUI software in question.
More specifically:
a) If you want to use MiniGUI on an operating system which is not
compatible with GPL (most commercial RTOSes, such as VxWorks and
ThreadX), you need a commercial license for the MiniGUI library.
* If you want to use MiniGUI on an operating system which is not
compatible with GPL (most commercial RTOSes, such as VxWorks and
ThreadX), you need a commercial license for the MiniGUI library.
b) If you link MiniGUI in your non-GPL application, you need a commercial
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
this situation. Linking MiniGUI with your non-GPL application and
proprietary libarires also falls into this situation.
* If you link MiniGUI in your non-GPL application, you need a commercial
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
this situation. Linking MiniGUI with your non-GPL application and
proprietary libarires also falls into this situation.
c) If you use MiniGUI library within your organisation and you don't want
to risk it falling under the GPL license, you are welcome to purchase
a commercial license.
* If you use MiniGUI library within your organisation and you don't want
to risk it falling under the GPL license, you are welcome to purchase
a commercial license.
d) Many users opt for the commercial licence simply because under it
FMSoft takes responsibility for its products. Under the GPL licence,
there are no warranties or representations from the
developer (i.e. from FMSoft).
* Many users opt for the commercial licence simply because under it
FMSoft takes responsibility for its products. Under the GPL licence,
there are no warranties or representations from the
developer (i.e. from FMSoft).
4. Exceptions and free commercial licences
@@ -114,28 +116,22 @@ sell our commercial licences at prices well under the industry average,
and this is without compromising our own profitability.
Older Versions
==============
## Older Versions
Note that older versions of the MiniGUI are using the lesser GPL license
(LGPL). See the documentation for the specific version for more
information.
When in doubt
=============
## When in doubt
If you have any questions on MiniGUI licensing, feel free to contact us:
mailto: sales@minigui.com
Patents
=======
----
MiniGUI is also protected by patents (200810111336.X and so on).
The owner of these patents is Beijing FMSoft technologies Co., Ltd..
GPL = Gnu General Public License, http://www.gnu.org/copyleft/gpl.html
LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
FMSoft = Beijing FMSoft technologies Co., Ltd., http://www.fmsoft.cn
* GPL = Gnu General Public License, http://www.gnu.org/copyleft/gpl.html
* LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
* FMSoft = Beijing FMSoft technologies Co., Ltd., http://www.fmsoft.cn
+179
View File
@@ -0,0 +1,179 @@
# MiniGUI GPL 版本的授权策略
目前,飞漫软件遵循 GPL 条款发布 MiniGUI 及其组件。本文档描述飞漫软件针对
商业用户的 MiniGUI 及其组件授权策略。
注:本文所指 MiniGUI,包含了 MiniGUI 核心库以及 mGi、mGp、mG3d、mGEff、
mGPlus、mGNCS、mGNCS4Touch 以及其他在未来可能以 GPL 条款发布的 MiniGUI
组件或工具。
## 简介
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
在其他任何情况下,都需要获得我们的商业授权。
老版本 MiniGUI1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
首先购买商业授权。
## 授权详解
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 或者
LICENSE 文件。相比早期版本使用的 LGPLGNU Lesser General Public License
许可证, GPL 所定义的条款要严格的多,更能有效维护自由软件的权益,避免自由
软件成为专有系统的一部分。有关 GPL 许可证的解释及适用,可参阅 GNU 官方网站上的
相关网页:
http://www.gnu.org/licenses/licenses.html
同时,我们为无法或者不愿 100% 遵循 GPL 条款使用 MiniGUI 的用户提供商业授权。
具体价格及购买方法,请访问:
http://www.minigui.com/product/cindex.shtml
1. 如果您 100% 遵循 GPL,无需获得商业授权
如果您使用 MiniGUI 的应用程序以 GPL 发布,则无需获得我们的商业授权。
我们非常欢迎任何人在遵循 GPL 条款的基础上复制、修改和发布 MiniGUI。
在这种情况下,您无需获得飞漫软件的任何形式的(包括口头或书面)使用授权,
因为 GPL 条款本身就足够确保您的权益。但需要注意的是,飞漫软件不对这种
形式下的使用提供任何形式的担保或技术支持。
2. 如果您从不复制、修改和发布 MiniGUI,无需获得商业授权
只要您从不复制、修改和发布 MiniGUI,则您可以在您的应用程序中使用 MiniGUI,而无需
获得商业授权。举个例子,您在完成一篇学位论文,并因此在您的程序中使用了 MiniGUI,
您的程序仅仅用来说明您论文中试验的可行性或者结果,而且您没有修改 MiniGUI,并且
该程序不以任何方式被复制和发布,则您无需获得商业授权。飞漫软件也不对这种形式下的
使用提供任何担保。
但需要特别指出:
* 修改。我们欢迎您对 MiniGUI 进行任意的修改。如果你发布该修改版本,则您
对 MiniGUI 所做的任何修改、所有的接口代码以及直接和间接地与接口相关联的
代码将遵循 GPL 许可证。
* 复制。我们允许您复制 MiniGUI 二进制代码和/或源代码,但一旦这么做了,所有的
副本应遵循 GPL 许可证。
3. 其他情况均需获得商业授权
如果您使用 MiniGUI 的应用程序并不以 GPL 条款发布,却打算在内部或外部发布
使用 MiniGUI 的应用程序或者函数库,则您必须首先获得飞漫软件的商业授权。
特别是:
* 如果您使用的嵌入式操作系统不采用 GPL 授权条款(比如 uC/OS-II、ThreadX、
VxWorks 等操作系统),则必须购买 MiniGUI 商业授权。
* 您的非 GPL 应用程序连接了 MiniGUI,不管静态还是动态连接,您需要为每一个
MiniGUI 函数库副本购买商业授权。尤其在您使用传统嵌入式操作系统时,操作
系统、函数库、MiniGUI 和您的应用程序需要编译链接成完整的可执行映像,这时,
必须购买 MiniGUI 商业授权。
* 如果您在自己的单位使用 MiniGUI 函数库,但又不希望将其置于 GPL 许可证
之下,则需要购买商业授权。
* 当然,更多的人购买 MiniGUI 的商业授权,其目的非常简单,他们希望获得
来自飞漫软件的技术支持和软件质量担保。
4. 建议
对商业用户,我们建议购买 MiniGUI 的商业授权。这不仅仅能帮助您避免为满足 GPL
条款而付出太多的硬件和软件开发费用,从而保护自己专有系统的商业利益,也可以从
飞漫软件获得质量担保——GPL 软件不含任何形式的、间接或直接的担保。
对自由软件社区的用户,或者经费不足的科研院校,我们建议您在开发基于 MiniGUI 的
应用程序时,采用 GPL 或者其他的开放源码许可证条款。这样,能在最大程度上满足
GPL 许可证条款,您也不必购买 MiniGUI 的商业授权。
如果您不知道自己的产品能否 100% 满足 LGPL 条款,则建议您选择商业授权,因为对
飞漫软件来讲,我们会保护商业客户的利益,并通过优秀的技术支持和产品担保来确保
您的产品能够顺利开发并良好运行。
## 老的版本
在版本 1.3.0 之前,MiniGUI 使用 LGPL 条款发布。这种条款为非自由软件使用自由
函数库而提供了非常宽松的条件。但是,LGPL 条款仍然为复制、修改和发布 LGPL 软件
定义了一些约束性的条款,以避免 LGPL 软件变成专有系统事实上的一部分,或者
通过一些技术障碍来阻止用户获得 LGPL 条款定义的自由。这些条款包括以下几个方面:
* 对 MiniGUI 本身的复制、修改和发布行为,均应在确保 MiniGUI 仍然为函数库、
仍然遵循 LGPL 或者 GPL 许可证的前提下进行。
* 使用 MiniGUI 必然要生成可执行文件。根据 LGPL 条款的定义,该可执行文件
是 MiniGUI 的“衍生作品”,并且应该按照 LGPL 许可证之第 6 条发布该可
执行文件。该条款的核心思想是,确保用户知悉在该“衍生作品”中使用了
遵循 LGPL 条款发布的 MiniGUI 函数库,用户因此将得到修改 MiniGUI 的权利;
在用户修改了 MiniGUI 函数库的情况下,只要修改后的版本和原先的版本在接口
上是兼容的,则应确保用户仍能够生成“衍生作品”(静态连接的情况),或者
“衍生作品”仍然能够正常工作(动态连接的情况)。因此,“衍生作品”的发布
必须以确保用户获得上述自由为前提和条件。
飞漫软件认为,MiniGUI 在大多数嵌入式系统中的应用,会因为某些技术上的障碍而不可
避免地阻碍用户获得上述自由:
* 某些嵌入式系统根本不存在任何硬件上的条件或机制(比如程序上载接口),以
帮助用户运行和调试修改后的 MiniGUI 函数库。
* 某些嵌入式系统采用了其他非开放源码的专有操作系统,用户根本无法免费获得
用于编译、连接和调试修改后 MiniGUI 函数库的工具。
* 某些嵌入式系统,因为专利或技术保密等原因,禁止用户对程序采用反向工程和
反汇编,从而禁止用户调试修改后的 MiniGUI 函数库。
如果您剥夺了用户获得修改 MiniGUI 的权利,即使您遵循了 LGPL 许可证的其他条款发布
了修改后的 MiniGUI 源代码,则仍不属于 100% 遵循 LGPL 条款。这时,您需要获得飞漫
的商业授权。那么,嵌入式系统需要完成哪些工作才算 100% 遵循 LGPL 条款呢?
* 确保按照 LGPL 条款复制、修改和发布 MiniGUI 函数库本身。
* 如果您采用静态连接方式生成使用 MiniGUI 函数库的可执行程序,则应确保提供
用于生成最终可执行程序的全部目标代码和/或源代码。
* 如果您采用动态连接方式使用 MiniGUI 函数库,则应确保在达到接口兼容性的情况
下,使用 MiniGUI 函数库的可执行程序仍然能够正常工作。
* 您必须允许用户对您的程序进行反向工程,以便用户调试修改后的 MiniGUI 函数库。
* 如果您采用了非开放源码的专有嵌入式操作系统,则请确保和您的产品一同提供用于
编译、连接和调试程序的工具,或者您的用户可免费获得这些工具。
* 您的产品还应该在硬件和软件上提供替换原先 MiniGUI 函数库和/或使用 MiniGUI
的可执行程序的机制和条件,以便用户在您的嵌入式产品中调试和运行修改之后
的 MiniGUI 函数库。
* 其他为确保用户具有修改 MiniGUI 函数库的自由而应该提供的法律许可及软硬件条件。
因此,我们认为在嵌入式系统中使用老版本 MiniGUI,也必须购买商业授权。
## MiniGUI 商业授权
有关 MiniGUI 产品及商业授权的方式及价格,请访问
http://www.minigui.com/
## 如有疑问
如果您对上述授权策略有任何疑问,请联系我们:
mailto: sales@minigui.com
----
* GPL = GNU General Public License, http://www.gnu.org/copyleft/gpl.html
* LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
* FMSoft = FMSoft, http://www.fmsoft.cn
-180
View File
@@ -1,180 +0,0 @@
MiniGUI GPL 版 本 的 授 权 策 略
目前,飞漫软件遵循 GPL 授权条款发布某些 MiniGUI 版本。本文档描述
用户使用这些 GPL 版本时应该遵循的授权策略。
简介
====
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
在其他任何情况下,都需要获得我们的商业授权。
老版本 MiniGUI1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
首先购买商业授权。
授权详解
========
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 文件。
相比早期版本使用的 LGPLGNU Lesser General Public License)许可证,
GPL 所定义的条款要严格的多,更能有效维护自由软件的权益,避免自由软件成为
专有系统的一部分。有关 GPL 许可证的解释及适用,可参阅 GNU 官方网站上的
相关网页:
http://www.gnu.org/licenses/licenses.html
同时,我们为无法或者不愿 100% 遵循 GPL 条款使用 MiniGUI 的用户提供商业授权。
具体价格及购买方法,请访问:
http://www.minigui.com/product/cindex.shtml
1. 如果您 100% 遵循 GPL,无需获得商业授权
如果您使用 MiniGUI 的应用程序以 GPL 发布,则无需获得我们的商业授权。
我们非常欢迎任何人在遵循 GPL 条款的基础上复制、修改和发布 MiniGUI。
在这种情况下,您无需获得飞漫软件的任何形式的(包括口头或书面)使用授权,
因为 GPL 条款本身就足够确保您的权益。但需要注意的是,飞漫软件不对这种
形式下的使用提供任何形式的担保或技术支持。
2. 如果您从不复制、修改和发布 MiniGUI,无需获得商业授权
只要您从不复制、修改和发布 MiniGUI,则您可以在您的应用程序中使用 MiniGUI,而无需
获得商业授权。举个例子,您在完成一篇学位论文,并因此在您的程序中使用了 MiniGUI,
您的程序仅仅用来说明您论文中试验的可行性或者结果,而且您没有修改 MiniGUI,并且
该程序不以任何方式被复制和发布,则您无需获得商业授权。飞漫软件也不对这种形式下的
使用提供任何担保。
但需要特别指出:
* 修改。我们欢迎您对 MiniGUI 进行任意的修改。如果你发布该修改版本,则您
对 MiniGUI 所做的任何修改、所有的接口代码以及直接和间接地与接口相关联的
代码将遵循 GPL 许可证。
* 复制。我们允许您复制 MiniGUI 二进制代码和/或源代码,但一旦这么做了,所有的
副本应遵循 GPL 许可证。
3. 其他情况均需获得商业授权
如果您使用 MiniGUI 的应用程序并不以 GPL 条款发布,却打算在内部或外部发布
使用 MiniGUI 的应用程序或者函数库,则您必须首先获得飞漫软件的商业授权。
特别是:
* 如果您使用的嵌入式操作系统不采用 GPL 授权条款(比如 uC/OS-II、ThreadX、
VxWorks 等操作系统),则必须购买 MiniGUI 商业授权。
* 您的非 GPL 应用程序连接了 MiniGUI,不管静态还是动态连接,您需要为每一个
MiniGUI 函数库副本购买商业授权。尤其在您使用传统嵌入式操作系统时,操作
系统、函数库、MiniGUI 和您的应用程序需要编译链接成完整的可执行映像,这时,
必须购买 MiniGUI 商业授权。
* 如果您在自己的单位使用 MiniGUI 函数库,但又不希望将其置于 GPL 许可证
之下,则需要购买商业授权。
* 当然,更多的人购买 MiniGUI 的商业授权,其目的非常简单,他们希望获得
来自飞漫软件的技术支持和软件质量担保。
4. 建议
对商业用户,我们建议购买 MiniGUI 的商业授权。这不仅仅能帮助您避免为满足 GPL
条款而付出太多的硬件和软件开发费用,从而保护自己专有系统的商业利益,也可以从
飞漫软件获得质量担保——GPL 软件不含任何形式的、间接或直接的担保。
对自由软件社区的用户,或者经费不足的科研院校,我们建议您在开发基于 MiniGUI 的
应用程序时,采用 GPL 或者其他的开放源码许可证条款。这样,能在最大程度上满足
GPL 许可证条款,您也不必购买 MiniGUI 的商业授权。
如果您不知道自己的产品能否 100% 满足 LGPL 条款,则建议您选择商业授权,因为对
飞漫软件来讲,我们会保护商业客户的利益,并通过优秀的技术支持和产品担保来确保
您的产品能够顺利开发并良好运行。
老的版本
========
在版本 1.3.0 之前,MiniGUI 使用 LGPL 条款发布。这种条款为非自由软件使用自由
函数库而提供了非常宽松的条件。但是,LGPL 条款仍然为复制、修改和发布 LGPL 软件
定义了一些约束性的条款,以避免 LGPL 软件变成专有系统事实上的一部分,或者
通过一些技术障碍来阻止用户获得 LGPL 条款定义的自由。这些条款包括以下几个方面:
* 对 MiniGUI 本身的复制、修改和发布行为,均应在确保 MiniGUI 仍然为函数库、
仍然遵循 LGPL 或者 GPL 许可证的前提下进行。
* 使用 MiniGUI 必然要生成可执行文件。根据 LGPL 条款的定义,该可执行文件
是 MiniGUI 的“衍生作品”,并且应该按照 LGPL 许可证之第 6 条发布该可
执行文件。该条款的核心思想是,确保用户知悉在该“衍生作品”中使用了
遵循 LGPL 条款发布的 MiniGUI 函数库,用户因此将得到修改 MiniGUI 的权利;
在用户修改了 MiniGUI 函数库的情况下,只要修改后的版本和原先的版本在接口
上是兼容的,则应确保用户仍能够生成“衍生作品”(静态连接的情况),或者
“衍生作品”仍然能够正常工作(动态连接的情况)。因此,“衍生作品”的发布
必须以确保用户获得上述自由为前提和条件。
飞漫软件认为,MiniGUI 在大多数嵌入式系统中的应用,会因为某些技术上的障碍而不可
避免地阻碍用户获得上述自由:
* 某些嵌入式系统根本不存在任何硬件上的条件或机制(比如程序上载接口),以
帮助用户运行和调试修改后的 MiniGUI 函数库。
* 某些嵌入式系统采用了其他非开放源码的专有操作系统,用户根本无法免费获得
用于编译、连接和调试修改后 MiniGUI 函数库的工具。
* 某些嵌入式系统,因为专利或技术保密等原因,禁止用户对程序采用反向工程和
反汇编,从而禁止用户调试修改后的 MiniGUI 函数库。
如果您剥夺了用户获得修改 MiniGUI 的权利,即使您遵循了 LGPL 许可证的其他条款发布
了修改后的 MiniGUI 源代码,则仍不属于 100% 遵循 LGPL 条款。这时,您需要获得飞漫
的商业授权。那么,嵌入式系统需要完成哪些工作才算 100% 遵循 LGPL 条款呢?
* 确保按照 LGPL 条款复制、修改和发布 MiniGUI 函数库本身。
* 如果您采用静态连接方式生成使用 MiniGUI 函数库的可执行程序,则应确保提供
用于生成最终可执行程序的全部目标代码和/或源代码。
* 如果您采用动态连接方式使用 MiniGUI 函数库,则应确保在达到接口兼容性的情况
下,使用 MiniGUI 函数库的可执行程序仍然能够正常工作。
* 您必须允许用户对您的程序进行反向工程,以便用户调试修改后的 MiniGUI 函数库。
* 如果您采用了非开放源码的专有嵌入式操作系统,则请确保和您的产品一同提供用于
编译、连接和调试程序的工具,或者您的用户可免费获得这些工具。
* 您的产品还应该在硬件和软件上提供替换原先 MiniGUI 函数库和/或使用 MiniGUI
的可执行程序的机制和条件,以便用户在您的嵌入式产品中调试和运行修改之后
的 MiniGUI 函数库。
* 其他为确保用户具有修改 MiniGUI 函数库的自由而应该提供的法律许可及软硬件条件。
因此,我们认为在嵌入式系统中使用老版本 MiniGUI,也必须购买商业授权。
MiniGUI 商业授权
================
有关 MiniGUI 产品及商业授权的方式及价格,请访问
http://www.minigui.com/
如有疑问
========
如果您对上述授权策略有任何疑问,请联系我们:
mailto: sales@minigui.com
GPL = GNU General Public License, http://www.gnu.org/copyleft/gpl.html
LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
FMSoft = FMSoft, http://www.fmsoft.cn
+15 -13
View File
@@ -1,10 +1,10 @@
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = \
EXTRA_DIST = minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \
README.md RELEASE-NOTES.md LICENSE.POLICY
minigui.pc.in
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
@@ -12,15 +12,17 @@ libminiguiincludedir = $(includedir)/minigui
# Which header files to install
libminiguiinclude_HEADERS = mgconfig.h
docs:
doxygen Doxyfile
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
+1 -1
View File
@@ -1 +1 @@
Please refer to REAME.md.
Please refer to README.md.
+349 -221
View File
File diff suppressed because it is too large Load Diff
+729 -33
View File
File diff suppressed because it is too large Load Diff
-9
View File
@@ -1,9 +0,0 @@
Version 3.0.13 (2017/12/06)
This release needs the following resource packages:
* minigui-res-3.0.13.tar.gz
The latest samples package is:
* mg-samples-3.0.13.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`
+25
View File
@@ -25,4 +25,29 @@ rm config.cache config.status -f
--disable-savescreen \
--disable-splash \
--disable-screensaver \
--with-runmode=ths \
--enable-ctrlstatic \
--enable-ctrlbutton \
--enable-ctrlsledit \
--enable-ctrlbidisledit \
--enable-ctrlnewtextedit \
--enable-ctrllistbox \
--enable-ctrlpgbar \
--enable-ctrlcombobox \
--enable-ctrlpropsheet \
--enable-ctrltrackbar \
--enable-ctrlscrollbar \
--enable-ctrlnewtoolbar \
--enable-ctrlmenubtn \
--enable-ctrlscrollview \
--enable-ctrltextedit \
--enable-ctrlmonthcal \
--enable-ctrltreeview \
--enable-ctrltreeview-rdr \
--enable-ctrlspinbox \
--enable-ctrlcoolbar \
--enable-ctrllistview \
--enable-ctrliconview \
--enable-ctrlgridview \
--enable-ctrlanimation \
--disable-watermark
+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+=
##################################################
+501 -249
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 &lt; LEN_FONT_NAME + 1; i++) {
501 for (i = 0; i &lt; 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;
-3
View File
@@ -1,3 +0,0 @@
*.css
*.png
*.html
View File
-2
View File
@@ -1,2 +0,0 @@
SUBDIRS = man3 man5
-1
View File
@@ -1 +0,0 @@
*.3
-249
View File
@@ -1,249 +0,0 @@
EXTRA_DIST = \
about_dlg.3 \
accel_fns.3 \
_ARC.3 \
basic_types.3 \
_BITMAP.3 \
_BLOCKHEAP.3 \
block_heap_fns.3 \
bmp_fns.3 \
bmp_load_fns.3 \
bmp_struct.3 \
bug.3 \
caret_fns.3 \
_CHILDINFO.3 \
class_fns.3 \
clipboard_fns.3 \
clip_fns.3 \
_CLIPRECT.3 \
_CLIPRGN.3 \
color_vars.3 \
common.h.3 \
_CONTAINERINFO.3 \
control_fns.3 \
control.h.3 \
controls.3 \
_COOLBARITEMINFO.3 \
creation_msgs.3 \
ctrl_button.3 \
ctrl_button_msgs.3 \
ctrl_button_ncs.3 \
ctrl_button_states.3 \
ctrl_button_styles.3 \
ctrl_combobox.3 \
ctrl_combobox_msgs.3 \
ctrl_combobox_ncs.3 \
ctrl_combobox_styles.3 \
_CTRLDATA.3 \
ctrl_edit.3 \
ctrl_edit_msgs.3 \
ctrl_edit_ncs.3 \
ctrl_edit_styles.3 \
ctrl_listbox.3 \
ctrl_listbox_msgs.3 \
ctrl_listbox_ncs.3 \
ctrl_listbox_styles.3 \
ctrl_menubutton.3 \
ctrl_menubutton_msgs.3 \
ctrl_menubutton_ncs.3 \
ctrl_menubutton_styles.3 \
ctrl_msgs.3 \
ctrl_newtoolbar.3 \
ctrl_newtoolbar_msgs.3 \
ctrl_newtoolbar_styles.3 \
ctrl_progbar.3 \
ctrl_progbar_msgs.3 \
ctrl_progbar_ncs.3 \
ctrl_progbar_styles.3 \
ctrl_propsheet.3 \
ctrl_propsheet_msgs.3 \
ctrl_propsheet_ncs.3 \
ctrl_propsheet_styles.3 \
ctrl_scrollview.3 \
ctrl_scrollview_msgs.3 \
ctrl_scrollview_ncs.3 \
ctrl_scrollview_styles.3 \
ctrl_static.3 \
ctrl_static_msgs.3 \
ctrl_static_ncs.3 \
ctrl_static_styles.3 \
ctrl_textedit.3 \
ctrl_textedit_msgs.3 \
ctrl_textedit_ncs.3 \
ctrl_textedit_styles.3 \
ctrl_toolbar.3 \
ctrl_toolbar_msgs.3 \
ctrl_trackbar.3 \
ctrl_trackbar_msgs.3 \
ctrl_trackbar_ncs.3 \
ctrl_trackbar_styles.3 \
cursor_fns.3 \
dc_attrs.3 \
dc_fns.3 \
desktop_msgs.3 \
dialog_fns.3 \
_DLGTEMPLATE.3 \
draw_adv_2d_fns.3 \
draw_fns.3 \
endian_info.3 \
endian_rw_fns.3 \
endianrw.h.3 \
err_codes.3 \
etc_fns.3 \
_FILEDLGDATA.3 \
filedlg.h.3 \
fixed_math_fns.3 \
fixedmath.h.3 \
fixed_str.3 \
fns.3 \
font_fns.3 \
_FONTMETRICS.3 \
GAL_Color.3 \
GAL_Overlay.3 \
GAL_Palette.3 \
GAL_Rect.3 \
gamma_fns.3 \
gdi_fns.3 \
gdi.h.3 \
gdi_types.3 \
general_rw_fns.3 \
global_fns.3 \
global_vars.3 \
_GLYPHBITMAP.3 \
_GRIDCELL.3 \
_GRIDCOLHEADER.3 \
_GRIDNM_NORMAL.3 \
_GRIDROWHEADER.3 \
handles.3 \
_HOOKINFO.3 \
icon_fns.3 \
ime_fns.3 \
init_fns.3 \
key_defs.3 \
key_msgs.3 \
key_status.3 \
_LISTBOXITEMINFO.3 \
lite_fns.3 \
lite_layer_fns.3 \
lite_listenfd_fns.3 \
lite_request_fns.3 \
lite_server_fns.3 \
lite_socket_fns.3 \
lite_vars.3 \
_LOGFONT.3 \
_LVCOLUMN.3 \
_LVFINDINFO.3 \
_LVITEM.3 \
_LVNM_NORMAL.3 \
_LVSORTDATA.3 \
_LVSUBITEM.3 \
macros_types.3 \
_MAINWINCREATE.3 \
map_fns.3 \
_MCCOLORINFO.3 \
_MENUBUTTONITEM.3 \
menu_fns.3 \
_MENUITEMINFO.3 \
menu_msgs.3 \
MG_Client.3 \
mgext_control_grid_msgs.3 \
mgext_controls.3 \
mgext_ctrl_coolbar.3 \
mgext_ctrl_coolbar_msgs.3 \
mgext_ctrl_coolbar_styles.3 \
mgext_ctrl_grid.3 \
mgext_ctrl_grid_ncs.3 \
mgext_ctrl_listview.3 \
mgext_ctrl_listview_msgs.3 \
mgext_ctrl_listview_ncs.3 \
mgext_ctrl_listview_styles.3 \
mgext_ctrl_monthcal.3 \
mgext_ctrl_monthcal_msgs.3 \
mgext_ctrl_monthcal_ncs.3 \
mgext_ctrl_monthcal_styles.3 \
mgext_ctrl_spinbox.3 \
mgext_ctrl_spinbox_msgs.3 \
mgext_ctrl_spinbox_ncs.3 \
mgext_ctrl_spinbox_styles.3 \
mgext_ctrl_treeview.3 \
mgext_ctrl_treeview_msgs.3 \
mgext_ctrl_treeview_ncs.3 \
mgext_ctrl_treeview_styles.3 \
mgext_fns.3 \
mgext_gif_fns.3 \
mgext.h.3 \
mgext_skin_fns.3 \
MG_Layer.3 \
MG_RWops.3 \
minigui.h.3 \
misc_fns.3 \
misc_macros.3 \
mouse_msgs.3 \
_MSG.3 \
msgbox_fns.3 \
msg_fns.3 \
msg_hook_fns.3 \
msg_pass_fns.3 \
msgs.3 \
_MYBITMAP.3 \
_myWinButton.3 \
mywindows.h.3 \
_myWinEntry.3 \
mywins_filedlg.3 \
mywins_fns.3 \
mywins_helpers.3 \
_NTBINFO.3 \
_NTBITEMINFO.3 \
own_stdio.h.3 \
paint_msgs.3 \
pal_fns.3 \
_POINT.3 \
post_event_msgs.3 \
_RECT.3 \
rect_fns.3 \
rect_vars.3 \
region_fns.3 \
_REQUEST.3 \
_RGB.3 \
scrollbar_fns.3 \
_SCROLLINFO.3 \
_SCROLLVIEWITEMINFO.3 \
si_bmplabel_s.3 \
sie_slider_s.3 \
simple_types.3 \
si_nrmlabel_s.3 \
si_nrmslider_s.3 \
si_rotslider_s.3 \
_SIZE.3 \
skin.h.3 \
skin_head_s.3 \
skin_item_s.3 \
skin_set_s.3 \
_SPININFO.3 \
_STIPPLE.3 \
str_helpers.3 \
styles.3 \
_svitem_operations.3 \
sys_bmps.3 \
system_font.3 \
system_msgs.3 \
_SYSTEMTIME.3 \
sys_text.3 \
text_output_fns.3 \
text_parse_fns.3 \
timer_fns.3 \
_TOOLBARITEMINFO.3 \
_TVITEMINFO.3 \
user_msgs.3 \
vcongui_fns.3 \
vcongui.h.3 \
version_info.3 \
win32_types.3 \
window_create_fns.3 \
window_fns.3 \
window_general_fns.3 \
window.h.3 \
window_msgs.3 \
_WNDCLASS.3 \
_WORDINFO.3 \
yuv_fns.3
-1
View File
@@ -1 +0,0 @@
*.5
-3
View File
@@ -1,3 +0,0 @@
man_MANS=MiniGUI.cfg.5
EXTRA_DIST = $(man_MANS)
-109
View File
@@ -1,109 +0,0 @@
.TH MiniGUI.cfg 5 "August 2000" "libminigui" "MiniGUI User Documentation"
.SH NAME
MiniGUI.cfg \- The configuration file of MiniGUI.
.SH DESCRIPTION
.PP
In MiniGUI, you can get specific values from \fBetc\fP files using \fBGetValueFromEtcFile\fP and \fBGetIntValueFromEtcFile\fP. Etc files are text configuration files with same format as Windows INI files. A etc file has following simple format:
.PP
.nf
[section0]
key0=value0
key1=value1
[section1]
key0=value0
key1=value1
.fi
.PP
As you have seen, etc files are composed by \fBsections\fP. Every \fBvalue\fP in etc file is refrenced by \fBkey\fP. You should specify section name and key name to find a specific value.
.PP
MiniGUI uses a ETC file to store some system configuration data. This file is named MiniGUI.cfg. By default, this file will be installed in /etc directory. However, if there is a MiniGUI.cfg file in /usr/local/etc or in your home directory (saved as .MiniGUI.cfg), MiniGUI will use the latter MiniGUI.cfg file to get configuration data, so can override your system /etc/MiniGUI.cfg file.
.PP
This manpage describes the sections in MiniGUI.cfg file.
.SH "SECTIONS"
.SS
o system
.PP
\fBsystem\fP section defines system information of MiniGUI, including graphics engine, mouse type and mouse device. \fBengine\fP key specifies the graphics engine and \fBmdev\fP specifies the mouse device and \fBmtype\fP the mouse type.
.PP
If your graphics engine needs some other configuration data, these data will go into a section named by the engine name. For example, if your graphics engine is \fBSVGALib\fP, \fBSVGALib\fP section will define the configuration data for SVGALib.
.SS
o systemfont
.PP
\fBsystemfont\fP section defines system fonts for MiniGUI. \fBfont_number\fP key specifies the number of fonts, and \fBname?\fP key and \fBfontfile?\fP key define the font name and the path of the font file respectively. \fBname0\fP and \fBfontfile0\fP for the first font, \fBname1\fP and \fBfontfile1\fP for the second font, and so forth.
.PP
Generally, system fonts have identical size (height of font), but each belongs to a different charset. The first font should belong to a single-byte character charset.
.SS
o rawbitmapfonts
.PP
\fBrawbitmapfonts\fP section defines \fBRaw Bitmap Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
.SS
o varbitmapfonts
.PP
\fBvarbitmapfonts\fP section defines \fBVar Bitmap Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
.SS
o truetypefonts
.PP
\fBtruetypefonts\fP section defines \fBTrue Type Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
o type1fonts
.PP
\fBtype1fonts\fP section defines \fBAdobe Type1 Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
.SS
o bgpicture
.PP
\fBbgpicture\fP section defines the position of the background picture in MiniGUI.
.SS
o mouse
.PP
\fBmouse\fP section defines the mouse configuration data. No need to change this section.
.SS
o event
.PP
\fBevent\fP section defines the event handling configuration data. No need to change this section.
.SS
o cursorinfo
.PP
\fBcursorinfo\fP section defines the cursors can be used by MiniGUI. \fBcursorpath\fP key specifies the path of cursor files, and \fBcursornumber\fP key specifies the number of cursor should be loaded at startup of MiniGUI. \fBcursor0, cursor1, cursor2, ...\fP keys specify the name of each cursor file. If you define \fBcursornumber\fP as zero, there will be no mouse cursor displayed in MiniGUI application.
.SS
o iconinfo
.PP
\fBiconinfo\fP section defines the icons can be used by MiniGUI. \fBiconpath\fP key specifies the path of icon files, and \fBiconnumber\fP key specifies the number of icon should be loaded at startup of MiniGUI. \fBicon0, icon1, icon2, ...\fP keys specify the name of each icon file.
.SS
o bitmapinfo
.PP
\fBbitmapinfo\fP section defines the bitmaps used by MiniGUI. \fBbitmappath\fP key specifies the path of bitmap files, and other keys specify the bitmap file names. You can change the value of \fBbgpicture\fP key to specify a different background picture, or change the value of \fBlogo\fP key to specify a different logo picture. No need to change other values.
.SS
o mainwinmetrics
.PP
\fBmainwinmetrics\fP section defines the metrics of main windows.
.SS
o windowelementcolors
.PP
\fBwindowelementcolors\fP section defines colors of window elements in RGB.
.SS
o imeinfo
.PP
\fBimeinfo\fP section defines the Hanzi Input Methods can be used by MiniGUI. \fBimepath\fP key specifies the path of files used by IME, and \fBimenumber\fP key specifies the number of IME should be loaded at startup of IME window. \fBime0, ime1, ...\fP keys specify the name of each IME.
.SS
o appinfo
.PP
\fBappinfo\fP section defines the applications information of MiniGUI. So far, MiniGUI only uses this section to define the path storing application resource files.
.SH COPYING
.PP
Copyright (C) 2002 ~ 2004, Beijing Feynman Software Technology Co., Ltd.
.BR
Copyright (C) 1998 ~ 2002, Wei Yongming.
.BR
Portion copyright (C) 2000, Song Lixin, Zheng Xiang and othres..
.PP
MiniGUI is free woftware; 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 2 of the License, or (at your option) any later version.
.PP
This library 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.
.PP
You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-3
View File
@@ -1,3 +0,0 @@
man_MANS=libminigui.7
EXTRA_DIST = $(man_MANS)
-99
View File
@@ -1,99 +0,0 @@
.TH libminigui 7 "Jan 2004" "libminigui" "Introduction to libminigui"
.SH NAME
libminigui \- A compact Graphics User Interface support system for real-time embedded systems based-on Linux.
.SH DESCRIPTION
.PP
MiniGUI is a LGPLed free software project.
Its goal is providing a lightweight Graphics User Interface support system;
especially fit for real-time embedded systems based on Linux. We have released
MiniGUI version 1.0.00Pre1 so far, and the official release version will be born
in the near future.
.PP
MiniGUI defines some Win32-like APIs for the applications. By using the
MiniGUI, one application can create multiple windows, and can draw in
these windows without interfering each other.
.PP
You can find latest information about MiniGUI at our home page:
.PP
http://www.minigui.org
.SH WHAT IS MINIGUI-LITE
.PP
You know that MiniGUI before version 0.9.98 is based on LinuxThreads.
Therefore, if you want to start a program based on MiniGUI, you have to
quit current one and start another one, or you can dynamically load the
program via 'dlopen'. Although the latter can extend your application
in some degrees, but it is not a good way because one thread in a MiniGUI-based
process may damage the whole process.
.PP
Now you can use MiniGUI-Lite to run more than one MiniGUI-based program
in the form of Linux processes at the same time. MiniGUI-Lite is a lightweight
version of original MiniGUI -- because LinuxThreads is not needed any more.
You can run a programm based on MiniGUI-Lite from a program called 'mginit'.
Just like X Window, the former process is called a client, and the latter a server.
.PP
The clients connect to the server via UNIX domain socket, and the server accepts
the request from clients. The server provides the shared resource for the clients,
and sends mouse (touch screen) and keyboard events to the topmost client.
If a client exit or die for a reason, the server will run as normal.
.PP
In our release, there is a package called 'mglite-exec'. In this package,
there is a 'mginit' program which creates a virtual console window. You can start
a program in this package from the command line of the virtual console.
You can even debug this program by using 'gbd'.
.PP
You can create many windows in a program based on MiniGUI-Lite, but you can not
start a new thread to create a window. So some functions in original MiniGUI can
not be used in MiniGUI-Lite, but most of APIs of MiniGUI-Lite are compatible with
original MiniGUI. Porting from original MiniGUI to MiniGUI-Lite is simple.
Please see the programs in 'mglite-exec' package, all programs are porting
from 'miniguiexec' package.
.PP
The source of MiniGUI is configured as MiniGUI-Lite by default.
When you run `./configure' to configure MiniGUI, you can use the command:
.PP
$ ./configure --disable-lite
.PP
to disable MiniGUI-Lite. You will get the original MiniGUI libraries which
run on PThread.
.PP
For clear distinguish, we will call MiniGUI based-on PThread as `MiniGUI-Threads'.
.SH AUTHOR
.PP
The original author of MiniGUI is WEI Yongming (ymwei@minigui.org), but many others added some features to MiniGUI, and some code of MiniGUI comes from other free software. For instance, the Chinses input method comes from CCE (Console Chinese Environment)
by He Rui and others, and ported it to MiniGUI by KANG Xiaoning and Zheng Xiang.
.PP
For other authors and contributors to see CREDITS.
.SH COPYING
.PP
Copyright (C) 1998, 1999, 2000, 2001, WEI Yongming.
.br
Copyright (C) 2000, 2001, BluePoint Software.
.br
Portion copyright (C) 2000, Song Lixin.
.br
Portion copyright (C) 2000, Zheng Xiang.
.PP
MiniGUI is free woftware; you can redistribute it and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
.PP
This library 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 Library General Public License for more details.
.PP
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-14
View File
@@ -1,14 +0,0 @@
man_MANS = minigui.3 miniguiFunctions.3 miniguiAccelerator.3 miniguiAsyncKey.3 miniguiBitmap.3 \
miniguiCaretHandler.3 miniguiClipRectHeap.3 miniguiCreateWindow.3 \
miniguiCursor.3 miniguiDC.3 miniguiDCAttr.3 miniguiDCClipping.3 \
miniguiDTI.3 miniguiDialogBox.3 miniguiDrawing.3 miniguiEtcFile.3 \
miniguiFixStr.3 miniguiHook.3 miniguiIME.3 miniguiIcon.3 miniguiInit.3 \
miniguiLogFont.3 miniguiMain.3 miniguiMainWindow.3 miniguiMapTransf.3 \
miniguiMapping.3 miniguiMenu.3 miniguiMessage.3 miniguiMisc.3 \
miniguiPenBrush.3 miniguiRect.3 miniguiRegion.3 miniguiScreen.3 \
miniguiString.3 miniguiSysChar.3 miniguiTextOutput.3 miniguiTextParse.3 \
miniguiTimer.3 miniguiWindowClass.3 miniguiGetSysText.3 \
miniguiMessages.3 miniguiStructures.3 miniguiControls.3 \
miniguiLite.3
EXTRA_DIST = $(man_MANS) docmaker functions.txt
-84
View File
@@ -1,84 +0,0 @@
#! /usr/bin/perl -w
use POSIX;
if ($#ARGV < 0) {
print "Usage: ./docmaker functions.txt\n";
exit -1;
}
open FUNCHANDLE, "<$ARGV[0]" || die;
$i = 0;
while (<FUNCHANDLE>) {
next if /^\n/;
chop;
if (/^(\D.+?) \\-.+$/){
$docfile = "minigui$1.3";
open DOC, ">$docfile" || die;
print DOC ".\\\" This manpage is Copyright (C) 2000, 2001 Wei Yongming\n";
print DOC ".\\\" 2000, 2001 BluePoint Software\n";
print DOC ".\\\"\n";
print DOC ".\\\" Permission is granted to make and distribute verbatim copies of this\n";
print DOC ".\\\" manual provided the copyright notice and this permission notice are\n";
print DOC ".\\\" preserved on all copies.\n";
print DOC ".\\\"\n";
print DOC ".\\\" Permission is granted to copy and distribute modified versions of this\n";
print DOC ".\\\" manual under the conditions for verbatim copying, provided that the\n";
print DOC ".\\\" entire resulting derived work is distributed under the terms of a\n";
print DOC ".\\\" permission notice identical to this one.\n";
print DOC ".\\\"\n";
print DOC ".\\\" Since MiniGUI is constantly changing, this\n";
print DOC ".\\\" manual page may be incorrect or out-of-date. The author(s) assume no\n";
print DOC ".\\\" responsibility for errors or omissions, or for damages resulting from\n";
print DOC ".\\\" the use of the information contained herein. The author(s) may not\n";
print DOC ".\\\" have taken the same level of care in the production of this manual,\n";
print DOC ".\\\" which is licensed free of charge, as they might when working\n";
print DOC ".\\\" professionally.\n";
print DOC ".\\\"\n";
print DOC ".\\\" Formatted or processed versions of this manual, if unaccompanied by\n";
print DOC ".\\\" the source, must acknowledge the copyright and authors of this work.\n";
print DOC ".TH \"$1\" ";
print DOC "\"3\" \"August 2000\" \"MiniGUI\"\n\n";
print DOC ".SH \"NAME\"\n";
print DOC "$_\n\n";
print DOC ".SH \"SYNOPSIS\"\n";
}
elsif (/^#.+?/){
print DOC ".B $_\n";
print DOC ".br\n";
}
else{
$funcname[$i++]=$_;
}
}
print DOC "\n.PP\n";
for ($j = 0; $j < $i; $j++){
$funcname[$j] =~ /(.+?) *(\(.+?\);)/;
$funcname[$j] = $1;
print DOC ".BI \"$1\" \"$2\"\n";
print DOC ".br\n" if ($j != $i - 1);
}
print DOC ".SH \"DESCRIPTION\"\n";
print DOC ".PP\n";
for ($j = 0; $j < $i; $j++){
$funcname[$j] =~ /.+ (.+?)$/;
print DOC "\\fB$1\\fP function description goes here\n";
print DOC ".PP\n" if ($j != $i - 1);
# open FUNCDOC, ">$1.3" || die;
# print FUNCDOC ".so man3/$docfile\n";
# close FUNCDOC;
}
print DOC ".SH \"RETURN VALUE\"\n";
print DOC ".PP\n\n";
print DOC ".SH \"NOTE\"\n";
print DOC ".PP\n\n";
print DOC ".SH \"SEE ALSO\"\n\n";
print DOC ".SH \"AUTHOR\"\n";
print DOC ".PP\n";
print DOC "This manual page was edited by <yourname> <yourid\@minigui.org>.\n";
print DOC "If you have any problems, comments or found some bugs, please send messages to me.\n";
close FUNCHANDLE;
close DOC;
-19
View File
@@ -1,19 +0,0 @@
New \- MiniGUI-Lite version specified functions.
#include <minigui/minigui.h>
BOOL GUIAPI SetDesktopRect (int lx, int ty, int rx, int by);
void GUIAPI GetDesktopRect (int* lx, int* ty, int* rx, int* by);
BOOL GUIAPI ServerStartup (void);
BOOL GUIAPI SetClientScreen (int lx, int ty, int rx, int by);
BOOL GUIAPI OnlyMeCanDraw (void);
BOOL GUIAPI ClientCanDrawNowEx (BOOL bRepaint);
BOOL GUIAPI SetTopMostClient (int cli);
int GUIAPI GetClientByPID (int pid);
int cli_request (PREQUEST request, void* result, int len_rslt);
BOOL GUIAPI RegisterRequestHandler (int req_id, REQ_HANDLER your_handler);
REQ_HANDLER GUIAPI GetRequestHandler (int req_id);
int get_sock_fd2srv (void);
int sock_write (int fd, const void* buff, int count);
int sock_read (int fd, void* buff, int count);
BOOL GUIAPI Send2TopMostClient (int iMsg, WPARAM wParam, LPARAM lParam);
-48
View File
@@ -1,48 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" Modified 2000/11/30 by Wei Yongming.
.TH "minigui" "3" "August 2000" "MiniGUI"
.SH "NAME"
minigui \- Guide for manpages of MiniGUI version 1.x.
.SH "DESCRIPTION"
.TP
.BR miniguiFunctions (3)
Function list of MiniGUI version 1.x. Gives the brief description for functions of MiniGUI.
.TP
.BR miniguiMessages (3)
Message list of MiniGUI version 1.x. Gives the brief description for messages of MiniGUI.
.TP
.BR miniguiStructures (3)
Structure list of MiniGUI version 1.x. Gives the brief description for structures of MiniGUI.
.TP
.BR miniguiControls (3)
Brief description of usage of MiniGUI built-in controls.
.SH "AUTHOR"
.PP
This manual page was edited by Wei Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-70
View File
@@ -1,70 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" Modified 2000/11/30 by Wei Yongming.
.TH "Accelerator" "3" "August 2000" "MiniGUI"
.SH "NAME"
Accelerator \- Accelerator support functions
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "HACCEL GUIAPI CopyAcceleratorTable" "(HACCEL hacc);"
.br
.BI "int GUIAPI DeleteAccelerators" "(HACCEL hacc, int key, DWORD keymask);"
.br
.BI "int GUIAPI AddAccelerators" "(HACCEL hacc,int key, DWORD keymask, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI DestroyAcceleratorTable" "(HACCEL hacc);"
.br
.BI "HACCEL GUIAPI CreateAcceleratorTable" "(HWND hWnd);"
.br
.BI "HACCEL GUIAPI LoadAccelerators" "(const char* filename, int id);"
.SH "DESCRIPTION"
.PP
\fBCopyAcceleratorTable\fP function copies the specified accelerator table. This function is used to obtain the accelerator-table data that corresponds to an accelerator-table handle, or to determine the size of the accelerator-table data.
.PP
\fBDeleteAccelerators\fP function deletes an accelerator from the accelerator table.
.PP
\fBAddAccelerators\fP function adds an accelerator to the accelerator table. It's called after you call \fBCreateAcceleratorTable\fP function.
.PP
\fBDestroyAcceleratorTable\fP function destroys an accelerator table. Before closing a window, you must call this function to destroy each accelerator table that is created by using the \fBCreateAcceleratorTable\fP function.
.PP
\fBCreateAcceleratorTable\fP function creates an accelerator table.
.PP
\fBLoadAccelerators\fP function loads the specified accelerator table. This function has not been implemented.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-86
View File
@@ -1,86 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "AsyncKey" "3" "July 2000" "MiniGUI"
.SH "NAME"
AsyncKey \- Gets asynchronize key status in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "BOOL GUIAPI GetKeyStatus" "(UINT uKey);"
.br
.BI "DWORD GUIAPI GetShiftKeyStatus" "(void);"
.SH "DESCRIPTION"
.PP
\fBGetKeyStatus\fP gets a key or a mouse button status, return TRUE when pressed, or FALSE when released. \fBuKey\fP indicates the key or mouse button. For keys on keyboard, \fBuKey\fP should be the scancode of the key, for mouse button, \fBuKey\fP should be one value of the following:
.PP
.IP \fBSCANCODE_LEFTBUTTON\fP
Left mouse button.
.IP \fBSCANCODE_MIDDLBUTTON\fP
Middle mouse button.
.IP \fBSCANCODE_RIGHTBUTTON\fP
Right mouse button.
.PP
The above constants and the scancodes of keys are defined in \fB<minigui/common.h>\fP.
.PP
\fBGetShiftKeyStatus\fP gets status of shift keys, the returned value indicates the status of shift keys -- \fBCapsLock, ScrollLock, NumLock, Left Shift, Right Shift, Left Ctrl, Right Ctrl, Left Alt, and Right Alt\fP. You can use KS_* with OR operation to determine one shift key's status:
.PP
.IP \fBKS_CAPSLOCK\fP
Indicates that CapsLock is locked.
.IP \fBKS_NUMLOCK\fP
Indicates that NumLock is locked.
.IP \fBKS_SCROLLLOCK\fP
Indicates that ScrollLock is locked.
.IP \fBKS_LEFTCTRL\fP
Indicates that left Ctrl is pressed.
.IP \fBKS_RIGHTCTRL\fP
Indicates that right Ctrl is pressed.
.IP \fBKS_CTRL\fP
Indicates that one Ctrl is pressed.
.IP \fBKS_LEFTALT\fP
Indicates that left Alt is pressed.
.IP \fBKS_RIGHTALT\fP
Indicates that right Alt is pressed.
.IP \fBKS_ALT\fP
Indicates that one Alt is pressed.
.IP \fBKS_LEFTSHIFT\fP
Indicates that left Shift is pressed.
.IP \fBKS_RIGHTSHIFT\fP
Indicates that right Shift is pressed.
.IP \fBKS_SHIFT\fP
Indicates that one Shift is pressed.
.PP
The above constants are defined in \fB<minigui/common.h>\fP.
.SH "SEE ALSO"
.BR MSG_KEYDOWN (3),
.BR MSG_KEYUP (3),
.BR MSG_CHAR (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-100
View File
@@ -1,100 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "Bitmap" "3" "August 2000" "MiniGUI"
.SH "NAME"
Bitmap \- bitmap operations in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.PP
.BI "int GUIAPI LoadBitmap" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
.br
.BI "int GUIAPI CreateBitmapFromGIFFile" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
.br
.BI "int GUIAPI CreateBitmapFromGIFMemory" "(HDC hdc, PBITMAP pBitmap, void* GIFBuff, int nSize);"
.br
.BI "int GUIAPI CreateBitmapFromJPGFile" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
.br
.BI "int GUIAPI CreateBitmapFromJPGMemory" "(HDC hdc, PBITMAP pBitmap, void* JPGBuff, int nSize);"
.br
.BI "void GUIAPI UnloadBitmap" "(PBITMAP pBitmap);"
.PP
.BI "void GUIAPI ReplaceBitmapColor" "(HDC hdc, PBITMAP pBitmap, int iOColor, int iNColor);"
.PP
.BI "void GUIAPI FillBox" "(HDC hdc, int x, int y, int w, int h);"
.br
.BI "void GUIAPI FillBoxWithBitmap" "(HDC hdc, int x, int y, int w, int h, PBITMAP pBitmap);"
.br
.BI "void GUIAPI FillBoxWithBitmapPart" "(HDC hdc, int x, int y, int w, int h, int bw, int bh, PBITMAP pBitmap, int xo, int yo);"
.br
.BI "void GUIAPI BitBlt" "(HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, DWORD dwRop);"
.br
.BI "void GUIAPI StretchBlt" "(HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, int dw, int dh, DWORD dwRop);"
.br
.SH "DESCRIPTION"
.PP
\fBLoadBitmap\fP function loads a bitmap from a bitmap file named \fBspFileName\fP into a BITMAP struct pointed to by \fBpBitmap\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. You can load BMP, PCX, TGA, GIF, JPG, PNG bitmap files by using this function. Note that you should specify correct extenstion name of the file.
.PP
\fBCreateBitmapFromGIFFile\fP function create a bitmap from a GIF image file named \fBspFileName\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. This function is the old interface to load GIF file, and reserved only for compatibility. New application should use \fBLoadBitmap\fP to load GIF file.
.PP
\fBCreateBitmapFromGIFMemory\fP function create a bitmap from a buffer filled with data from a GIF image file. \fBnSize\fP specifies the size of the buffer pointed to by \fBGIFBuf\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. This function is the old interface to load JPG file, and reserved only for compatibility. New application should use \fBLoadBitmap\fP to load JPG file.
.PP
\fBCreateBitmapFromJPGFile\fP function is similar with \fBCreateBitmapFromGIFFile\fP, but this function used to create bitmap from a JPG image file. This function is a obsoleted one, new application should use \fBLoadBitmap\fP instead.
.PP
\fBCreateBitmapFromJPGMemory\fP function is similar with \fBCreateBitmapFromGIFMemory\fP, but the buffer is filled with data from a JPG image file. This function is a obsoleted one, new application should use \fBLoadBitmap\fP instead.
.PP
\fBUnloadBitmap\fP function frees the memory used by the bitmap object pointed to by \fBpBitmap\fP.
.PP
\fBReplaceBitmapColor\fP function replaces a color \fB(nOColor)\fP with a new color \fB(nNColor)\fP in the bitmap object pointed to by \fBpBitmap\fP.
.PP
\fBFillBox\fP function fills a box with the current brush in the DC \fBhdc\fP. Note that MiniGUI only defined the color property for the brush objects.
.PP
\fBFillBoxWithBitmap\fP function fills a box with a bitmap object pointed to by \fBpBitmap\fP. \fB(x, y)\fP is the upper-left corner of the box, and \fBw, h\fP are the width and the height of the box respectively. This function will scale the bitmap when necessary; that is, the width or the height of the box are not equal to the with or the height of the bitmap object.
.PP
\fBFillBoxWithBitmapPart\fP function fills a box with a part of a bitmap oject pointed to by \fBpBitmap\fP. \fB(x, y)\fP is the upper-left corner of the box, and \fBw, h\fP are the width and the height of the box respectively. \fB(xo, yo)\fP is the start position of the part box in the bitmap relative to upper-left corner of the bitmap, and \fBbw, bh\fP are the width and the height of the full bitmap you want. If \fBbw\fP or \fBbh\fP is less than or equal to zero, this function will use the original width and height of the bitmap, else it will scale the bitmap first when necessary.
.PP
\fBBitBlt\fP function performs a bit-block transfer of the color data cooresponding to a rectangle of pixels from the specfied source dispaly context \fBhsdc\fP into a destination display context \fBhddc\fP. \fB(sx, sy, sw, sh)\fP specifies the rectangle in the source DC, and \fB(dx, dy)\fP specifies the position of the rectangle in the destination DC. Note that the size of the two rectangles are identical.
.PP
\fBStretchBlt\fP function copies a bitmap from a source rectangle into a destination rectangle, streching or compressing the bitmap to fit the dimension of the destination rectangle, if necessary. This function is similar with \fBBitBlt\fP function except the former scaling the bitmap. \fB(dw, dh)\fP specifies the size of the destination rectangle.
.SH "RETURN VALUE"
.PP
For the functions creating bitmap objects, they will return non-zero values to indicate errors.
.SH "NOTE"
.PP
\fBLoadBitmap\fP function only supports bitmap files with less than 256 colors, and without RLE encoding. The GIF and JPG functions only support some formats, and the GIF functions can not support the GIF animation.
.SH "SEE ALSO"
.BR SetBrushColor (3)
.SH "TODO"
.PP
A \fBMaskBlt\fP function which combines the color data for the source and destination bitmaps using the specified mask is needed.
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-83
View File
@@ -1,83 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "CaretHandler" "3" "August 2000" "MiniGUI"
.SH "NAME"
CaretHandler \- Caret support in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.PP
.BI "BOOL GUIAPI CreateCaret" "(HWND hWnd, PBITMAP pBitmap, int nWidth, int nHeight);"
.br
.BI "BOOL GUIAPI ChangeCaretSize" "(HWND hWnd, int newWidth, int newHeight);"
.br
.BI "BOOL GUIAPI ActiveCaret" "(HWND hWnd);"
.br
.BI "UINT GUIAPI GetCaretBlinkTime" "(HWND hWnd);"
.br
.BI "BOOL GUIAPI SetCaretBlinkTime" "(HWND hWnd, UINT uTime);"
.br
.BI "BOOL GUIAPI DestroyCaret" "(HWND hWnd);"
.br
.BI "BOOL GUIAPI HideCaret" "(HWND hWnd);"
.br
.BI "BOOL GUIAPI ShowCaret" "(HWND hWnd);"
.br
.BI "BOOL GUIAPI SetCaretPos" "(HWND hWnd, int x, int y);"
.br
.BI "BOOL GUIAPI GetCaretPos" "(HWND hWnd, PPOINT pPt);"
.SH "DESCRIPTION"
.PP
\fBCreateCaret\fP function creates a new shape for the system caret and assigns ownership of the caret to the specified window. The caret shape can be a line, a block, or a bitmap.
.PP
\fBChangeCaretSize\fP function changes the size(width and height) of the caret owned by the specified window.
.PP
\fBActiveCaret\fP function activates the caret owned by specified window.
.PP
\fBGetCaretBlinkTime\fP function returns the elapsed time, in milliseconds, required to invert the caret's pixels.
.PP
\fBSetCaretBlinkTime\fP function sets the caret blink time to the specified number of milliseconds. The blink time is the elapsed time, in milliseconds, required to invert the caret's pixels.
.PP
\fBDestroyCaret\fP function destroys the caret's current shape, frees the caret from the window, and removes the caret from the screen.
.PP
\fBHideCaret\fP function removes the caret from the screen. Hiding a caret does not destroy its current shape or invalidate the insertion point.
.PP
\fBShowCaret\fP function makes the caret visible on the screen at the caret's current position. When the caret becomes visible, it begins flashing automatically.
.PP
\fBSetCaretPos\fP function moves the caret to the specified coordinates.
.PP
\fBGetCaretPos\fP function copies the caret's position, in client coordinates, to the specified \fBPOINT\fP structure
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-90
View File
@@ -1,90 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "ClipRectHeap" "3" "August 2000" "MiniGUI"
.SH "NAME"
ClipRectHeap \- Management of private clip rect heap.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.PP
.BI "BOOL GUIAPI InitFreeClipRectList" "(PFREECLIPRECTLIST pList, size_t size);"
.br
.BI "PCLIPRECT GUIAPI ClipRectAlloc" "(PFREECLIPRECTLIST pList);"
.br
.BI "void GUIAPI FreeClipRect" "(PFREECLIPRECTLIST pList, CLIPRECT* pRect);"
.br
.BI "void GUIAPI EmptyFreeClipRectList" "(PFREECLIPRECTLIST pList);"
.br
.BI "void GUIAPI DestroyFreeClipRectList" "(PFREECLIPRECTLIST pList);"
.SH "DESCRIPTION"
.PP MiniGUI uses internal rect heap to allocate and free clip rect for region efficiently. When define a region, which was composed with many clip rects, you must specify a free clip rect list as the heap of the region to allocate and free clip rects. The functions describing here can help you initialize a clip rect heap, and allocate and free clip rect from it.
.PP
\fBInitFreeClipRectList\fP function allocates memory from system heap for free clip rect list, and initializes the list specified by \fBpList\fP. The number of clip rects in the list is \fBsize\fP.
.PP
Clip rect and free clip rect list in MiniGUI are defined as follows:
.sp
.nf
typedef struct tagCLIPRECT
{
.in +8
RECT rc;
BOOL fromheap;
struct tagCLIPRECT* next;
.in -8
}CLIPRECT;
typedef CLIPRECT* PCLIPRECT;
typedef struct tagFREECLIPRECTLIST
{
.in +8
pthread_mutex_t lock;
PCLIPRECT head;
PCLIPRECT tail;
int size;
PCLIPRECT heap;
int free;
.in -8
}FREECLIPRECTLIST;
typedef FREECLIPRECTLIST* PFREECLIPRECTLIST;
.fi
.PP
\fBClipRectAlloc\fP function allocates a clip rect from the initialized list \fBpList\fP. If there is no left item in the heap, it will try to allocate the clip rect from system heap. This function returns a pointer to the allocated clip rect, \fBNULL\fP when an error occurred.
.PP
\fBFreeClipRect\fP function frees the clip rect \fBpRect\fP allocated by \fBClipRectAlloc\fP.
.PP
\fBEmptyFreeClipRectList\fP function resets the heap used by \fBpList\fP. If there is any clip rect allocated from the system heap, this function will free it using \fBfree\fP.
.PP
\fBDestroyFreeClipRectList\fP function destroys the free clip list \fBpList\fP by empting the list and freeing the heap.
.SH "NOTE"
.PP
Although you can use these function to allocate and free clip rect, you should avoid using this function directly. Functions of region will use these function to manipulate the clip rect.
.SH "SEE ALSO"
.BR InitClipRgn (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-34
View File
@@ -1,34 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "Controls" "3" "Nov. 2000" "MiniGUI"
.SH "NAME"
Controls \- Brief discription of usage of built-in controls.
.PP
This page is under construction.
.SH "AUTHOR"
.PP
This manual page was edited by Wei Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-56
View File
@@ -1,56 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "CreateDestroyWindow" "3" "August 2000" "MiniGUI"
.SH "NAME"
CreateDestroyWindow \- Create and Destroy Window
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "HWND GUIAPI CreateWindow" "(const char* spClassName, const char* spCaption, DWORD dwStyle, int id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData);"
.br
.BI "HWND GUIAPI CreateWindowEx" "(const char* spClassName, const char* spCaption, DWORD dwStyle, DWORD dwExStyle, int id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData);"
.br
.BI "BOOL GUIAPI DestroyWindow" "(HWND hWnd);"
.SH "DESCRIPTION"
.PP
\fBCreateWindow\fP function creates a child window. It specifies the window class, window title, window style, and the initial position and size of the window. The function also specifies the window's parent or owner, if any.
.PP
\fBCreateWindowEx\fP function creates a child window with extended styles. It specifies the window class, window title, window style, windows extended styles, and the initial position and size of the window. The function also specifies the window's parent or owner, if any.
.PP
\fBDestroyWindow\fP function destroys the specified window. The function sends \fBWM_DESTROY\fP and \fBWM_NCDESTROY\fP messages to the window to deactivate it and remove the keyboard focus from it.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-113
View File
@@ -1,113 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "Cursor" "3" "July 2000" "MiniGUI"
.SH NAME
Cursor \- the functions handling cursor in MiniGUI
.SH SYNOPSIS
.B #include <minigui/minigui.h>
.PP
.BI "HCURSOR GUIAPI LoadCursorFromFile" "(const char* filename);"
.br
.BI "HCURSOR GUIAPI CreateCursor" "(int xhotspot, int yhotspot, int w, int h, const BYTE* pANDBits, const BYTE* pXORBits, int colornum);"
.br
.BI "BOOL GUIAPI DestroyCursor" "(HCURSOR hcsr);"
.br
.BI "HCURSOR GUIAPI GetSystemCursor" "(int csrid);"
.br
.BI "HCURSOR GUIAPI GetCurrentCursor" "(void);"
.br
.BI "void GUIAPI ClipCursor" "(const RECT* prc);"
.br
.BI "void GUIAPI GetClipCursor" "(RECT* prc);"
.br
.BI "void GUIAPI GetCursorPos" "(POINT* ppt);"
.br
.BI "void GUIAPI SetCursorPos" "(int x, int y);"
.br
.BI "HCURSOR GUIAPI SetCursor" "(HCURSOR hcsr);"
.br
.BI "int GUIAPI ShowCursor" "(BOOL fShow);"
.br
.BI "BOOL GUIAPI RefreshCursor" "(int* x, int* y, int* button);"
.br
.SH DESCRIPTION
.PP
\fBLoadCursorFromFile\fP function loads a cursor from Windows *.cur file named \fBfilename\fP and returns the handle of loaded cursor. The returned handle can be used by \fBSetCursor\fP to set new mouse cursor.
.PP
\fBCreateCursor\fP function creates a cursor from memory data rather than cursor file. \fBxhotspot\fP and \fByhotspot\fP specify hotpot of the cursor, \fBw\fP and \fBh\fP are the width and the height of the cursor respectively. \fBfANDBits\fP and \fBfXORBits\fP are AND bitmask and XOR bitmask of the cursor. MiniGUI currently support mono-color cursor and 16-color cursor, \fBcolornum\fP specifies the cursor's color number. For mono-color, it should be 1, and for 16-color cursor, it should be 4.
.PP
\fBDestroyCursor\fP function destroys a cursor object specified by \fBhcsr\fP.
.PP
\fBGetSystemCursor\fP function gets a system default cursor object. When startup, MiniGUI loads system cursors according to MiniGUI.cfg file. There are 14 system cursors by default, and can be refered with the following IDs:
.SH Cursor IDs
.IP \fBIDC_ARROW\fR
Normal arrow cursor
.IP \fBIDC_IBEAM\fR
I-shape cursor, indicate an input field
.IP \fBIDC_PENCIL\fR
Pencil-shape cursor
.IP \fBIDC_CROSS\fR
Cross cursor
.IP \fBIDC_MOVE\fR
Moving cursor
.IP \fBIDC_SIZENWSE\fR
Sizing cursor, along north-west and south-east
.IP \fBIDC_SIZENESW\fR
Sizing cursor, along north-east and south-west
.IP \fBIDC_SIZEWE\fR
Sizing cursor, along west and east
.IP \fBIDC_SIZENS\fR
Sizing cursor, along north and south
.IP \fBIDC_UPARROW\fR
Up arrow cursor
.IP \fBIDC_NONE\fR
None cursor
.IP \fBIDC_HELP\fR
Arrow with question
.IP \fBIDC_BUSY\fR
Busy cursor
.IP \fBIDC_WAIT\fR
Wait cursor
.PP
Returned cursor handle can be used by \fBSetCursor\fP to set new mouse cursor. Note that you should not destroy any system cursor.
.PP
\fBGetCurrentCursor\fP function gets the handle of current cursor.
.PP
\fBClipCursor\fP function sets cursor's clipping rectangle. \fBprc\fP is the new clipping rectangle in screen coordinates. If \fBprc\fP is NULL, \fBClipCursor\fP will disable cursor clipping.
.PP
\fBGetClipCursor\fP function copies current clipping rectangle to a RECT pointed to by \fBprc\fP.
.PP
\fBGetCursorPos\fP function copies current mouse postion to a POINT pointed to by \fBppt\fP.
.PP
\fBSetCursorPos\fP function sets mouse position with given parameter \fBx,y\fP.
.PP
\fBSetCursor\fP function sets cursor to given cursor handle. \fBhcsr\fP can be a handle returned by \fBLoadCursor\fP, \fBCreateCursor\fP, and \fBGetSystemCursor\fP. This function will return the previous cursor handle.
.PP
\fBShowCursor\fP function shows or hides cursor according to parameter \fBfShow\fP. Show cursor when \fBfShow\fP is TRUE, and hide cursor when \fBfShow\fP is FALSE.
.PP
\fBRefreshCursor\fP function updates cursor position and status, and return new position in \fBx, y\fP, new buttion status in \fBbutton\fP. The returned value indicates whether mouse has moved, \fBTRUE\fP for moved.
.SH AUTHOR
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-84
View File
@@ -1,84 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "DC" "3" "August 2000" "MiniGUI"
.SH "NAME"
DC \- get and release display context.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.PP
.BI "HDC GUIAPI GetDC" "(HWND hwnd);"
.br
.BI "HDC GUIAPI GetClientDC" "(HWND hwnd);"
.br
.BI "void GUIAPI ReleaseDC" "(HDC hdc);"
.PP
.BI "HDC GUIAPI CreateCompatibleDC" "(HDC hdc);"
.br
.BI "void GUIAPI DeleteCompatibleDC" "(HDC hdc);"
.PP
.BI "HDC GUIAPI CreatePrivateDC" "(HWND hwnd);"
.br
.BI "HDC GUIAPI CreatePrivateClientDC" "(HWND hwnd);"
.br
.BI "HDC GUIAPI GetPrivateClientDC" "(HWND hwnd);"
.br
.BI "void GUIAPI DeletePrivateDC" "(HDC hdc);"
.SH "DESCRIPTION"
.PP
\fBGetDC\fP function gets a window DC of the specified \fBhwnd\fP, and returns the handle of the DC.
.PP
\fBGetClientDC\fP function gets a client DC of the specified \fBhwnd\fP, and returns the handle of the DC.
.PP
\fBReleaseDC\fP function releases the DC returned by \fBGetDC\fP or \fBGetClientDC\fP.
.PP
\fBCreateCompatibleDC\fP function creates a DC which is compatible with specified \fBhdc\fP, and returns the handle of the DC.
.PP
\fBDeleteCompatibleDC\fP function deletes the DC created by \fBCreateCompatibleDC\fP.
.PP
\fBCreatePrivateDC\fP function creates a private window DC of the window \fBhwnd\fP and returns the handle of the DC. This DC is created in system heap, rather than allocated from DC pool.
.PP
\fBCreatePrivateClientDC\fP function creates a private client DC of the window \fBhwnd\fP and returns the handle of the DC. This DC is created in system heap, rather than allocated from DC pool.
.PP
\fBGetPrivateClientDC\fP function returns the private client DC of the window \fBhwnd\fP with style WS_EX_USEPRIVATECDC.
.PP
\fBDeletePrivateDC\fP function deletes the DC returned by \fBCreatePrivateDC\fP or \fBCreatePrivateClientDC\fP.
.SH "RETURN VALUE"
.PP
For the \fBCreate...\fP or \fBGet...\fP functions, the functions will return the handle of the DC. The functions will return HDC_INVALID when an error occurred.
.SH "NOTE"
.PP
MiniGUI uses \fBCreatePrivateDC\fP and \fBCreatePrivateClientDC\fP to create private DC for the window with style WS_EX_USEPRIVATECDC. You can create a private DC to avoid invorking \fBGetDC\fP or \fBGetClientDC\fP to get DC when you receive a MSG_CREATE message. Note that you should call \fBDeletePrivateDC\fP to delete the private DC.
.SH "SEE ALSO"
.BR BeginPaint (3),
.BR EndPaint (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-106
View File
@@ -1,106 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "DCAttr" "3" "August 2000" "MiniGUI"
.SH "NAME"
DCAttr \- get/set the general attributes of DC.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "int GUIAPI GetGDCapability" "(HDC hdc, int iItem);"
.PP
.BI "int GUIAPI SetBkMode" "(HDC hdc, int bkmode);"
.br
.BI "int GUIAPI GetBkMode" "(HDC hdc);"
.PP
.BI "gal_pixel GUIAPI GetBkColor" "(HDC hdc);"
.br
.BI "gal_pixel GUIAPI SetBkColor" "(HDC hdc, gal_pixel color);"
.PP
.BI "gal_pixel GUIAPI GetTextColor" "(HDC hdc);"
.br
.BI "gal_pixel GUIAPI SetTextColor" "(HDC hdc, gal_pixel color);"
.PP
.BI "int GUIAPI GetTabStop" "(HDC hdc);"
.br
.BI "int GUIAPI SetTabStop" "(HDC hdc, int new_value);"
.SH "DESCRIPTION"
.PP
\fBGetGDCapability\fP function returns a capability specified by \fBiItem\fP of the DC \fBhdc\fP. \fBiItem\fP can be one of the following values:
.PP
.IP \fBGDCAP_COLORNUM\fP
Tell \fBGetDCCapability\fP to return the colors number of the DC.
.IP \fBGDCAP_HPIXEL\fP
Tell \fBGetDCCapability\fP to return the horizontal resolution of the DC.
.IP \fBGDCAP_VPIXEL\fP
Tell \fBGetDCCapability\fP to return the vertical resolution of the DC.
.IP \fBGDCAP_MAXX\fP
Tell \fBGetDCCapability\fP to return the maximal visible x value of the DC.
.IP \fBGDCAP_MAXY\fP
Tell \fBGetDCCapability\fP to return the maximal visible y value of the DC.
.IP \fBGDCAP_DEPTH\fP
Tell \fBGetDCCapability\fP to return the color depth of the DC. The returned value can be 1, 4, 8, 15, 16, 24, or 32.
.IP \fBGDCAP_BPP\fP
Tell \fBGetDCCapability\fP to return the bytes number for storing a pixle in the DC.
.PP
\fBGetBkColor\fP function gets the background color of the DC.
.PP
\fBSetBkColor\fP function sets the background color of the DC to the color specified by \fBcolor\fP.
.PP
\fBGetBkMode\fP function gets the background mode of the DC.
.PP
\fBSetBkMode\fP function sets the background mode of the DC. Background modes in MiniGUI are:
.PP
.IP \fBBM_TRANSPARENT\fP
Indicate that reserve the background untouched when draw text.
.IP \fBBM_OPAQUE\fP
Indicate that erase the background with background color when draw text.
.PP
\fBGetTextColor\fP function gets the text color of the DC.
.PP
\fBSetTextColor\fP function sets the text color to the color specified by \fBcolor\fP.
.PP
\fBGetTabStop\fP function gets the tab stops of the DC.
.PP
\fBSetTabStop\fP function sets the tab stops of the DC to the new value specified by \fBnew_value\fP.
.SH "RETURN VALUE"
.PP
The \fBGet...\fP functions return the value wanted. The \fBSet...\fP functions return the old value.
.SH "SEE ALSO"
.BR RGB2Pixel (3),
.BR TextOut (3),
.BR TabbedTextOutLen (3),
.BR TabbedTextOutEx (3),
.BR DrawText (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-78
View File
@@ -1,78 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "DCClipping" "3" "August 2000" "MiniGUI"
.SH "NAME"
DCClipping \- Clipping support in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "void GUIAPI ExcludeClipRect" "(HDC hdc, int left, int top, int right, int bottom);"
.br
.BI "void GUIAPI IncludeClipRect" "(HDC hdc, int left, int top, int right, int bottom);"
.br
.BI "void GUIAPI ClipRectIntersect" "(HDC hdc, const RECT* prc);"
.br
.BI "void GUIAPI SelectClipRect" "(HDC hdc, const RECT* prc);"
.br
.BI "void GUIAPI SelectClipRegion" "(HDC hdc, const CLIPRGN* pRgn);"
.br
.BI "void GUIAPI GetBoundsRect" "(HDC hdc, RECT* pRect);"
.br
.BI "BOOL GUIAPI PtVisible" "(HDC hdc, const POINT* pPt);"
.br
.BI "BOOL GUIAPI RectVisible" "(HDC hdc, const RECT* pRect);"
.SH "DESCRIPTION"
.PP
\fBExcludeClipRect\fP function excludes the specified rect \fB(left, top, right, bottom)\fP from the local clipping region of the DC.
.PP
\fBIncludeClipRect\fP function includes the specified rect \fB(left, top, right, bottom)\fP into the local clipping region of the DC.
.PP
\fBClipRectIntersect\fP function intersects the specified rect \fBprc\fP with the local clipping region of the DC.
.PP
\fBSelectClipRect\fP function sets the local clipping region of the DC to the rect pointed to by \fBprc\fP.
.PP
\fBSelectClipRegion\fP function sets the local clipping region of the DC to the region pointed to by \fBpRgn\fP.
.PP
\fBGetBoundsRect\fP function retrives the bounding rect of the current local clipping region of the DC. The struct pointed to by \fBpRect\fP will receive the bounding rect.
.PP
\fBPtVisible\fP function checks whether the point specified by \fBpPt\fP is visible, i.e. it is within the current local clipping region of the DC.
.PP
\fBRectVisible\fP function checks whether the rect specified by \fBpRect\fP is visible, i.e. it is intersected with the current local clipping region of the DC.
.SH "RETURN VALUE"
.PP
\fBPtVisible\fP and \fBRectVisible\fP functions return \fBTRUE\fP when the point or rect is visible, else return \fBFALSE\fP.
.SH "SEE ALSO"
.BR ClipRgnIntersect (3),
.BR SetClipRgn (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-118
View File
@@ -1,118 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "DTI" "3" "July 2000" "MiniGUI"
.SH "NAME"
DTI \- the desktop interfaces of MiniGUI
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "void GUIAPI CustomizeDesktopMenu" "(HMENU hDesktopMenu, int iPos);"
.br
.BI "int GUIAPI CustomDesktopCommand" "(int id);"
.br
.BI "void GUIAPI OpenAboutDialog" "(void);"
.br
.SH "DESCRIPTION"
.PP
\fBCustomizeDesktopMenu\fP function will be called automatically by MiniGUI when you click right button on MiniGUI's desktop.
.PP
\fBCustomDesktopCommand\fP function will be called automatically by MiniGUI when you choose command on MiniGUI's desktop menu.
.PP
\fBOpenAboutDialog\fP function tells desktop to open an \fBAbout MiniGUI...\fP dialog.
.SH "NOTES"
You should implemented \fBCustomizeDesktopMenu, CustumDesktopCommand\fP functions by yourself.
However, there is a \fBdti.c\fP file, which defines above functions as default actions. You can use these functions in your own \fBdti.c\fP by including this file in your \fBdti.c\fP file, as follows:
.PP
.nf
#include <minigui/dti.c>
.fi
.PP
Or you can use macros to disable the default functions and define your own instances:
.PP
.nf
// Use macro to disable system defined
// CustomizeDesktopMenu and CustomDesktopCommand functions
#define DONT_USE_SYS_CUSTOMIZEDESKTOPMENU
#include <minigui/dti.c>
// Define your own instance here.
void CustomizeDesktopMenu (HMENU hmnu, int iPos)
{
...
}
int CustomDesktopCommand (int id)
{
...
return 0;
}
.fi
.SH "SAMPLE"
This sample uses \fBCustomizeDesktopMenu\fP function to append a menu item at the desktop menu, and then uses \fBCustomDesktopCommand\fP to response the select of the appended menu item and open a Virtual Console window:
.PP
.nf
#define DONT_USE_SYS_CUSTOMIZEDESKTOPMENU
#include <minigui/dti.c>
#define IDC_DTI_ABOUT (IDM_DTI_FIRST + 1)
#define IDC_DTI_NEWVC (IDM_DTI_FIRST + 2)
void CustomizeDesktopMenu (HMENU hmnu, int iPos)
{
MENUITEMINFO mii;
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = IDC_DTI_ABOUT;
mii.typedata = (DWORD)"About MiniGUI...";
mii.hsubmenu = 0;
InsertMenuItem (hmnu, iPos, TRUE, &mii);
mii.type = MFT_STRING;
mii.id = IDC_DTI_NEWVC;
mii.typedata = (DWORD)"New Virtual Console";
mii.hsubmenu = 0;
InsertMenuItem (hmnu, iPos + 1, TRUE, &mii);
}
int CustomDesktopCommand (int id)
{
if (id == IDC_DTI_ABOUT)
OpenAboutDialog ();
else if (id == IDC_DTI_NEWVC)
NewVirtualConsole (NULL);
return 0;
}
.fi
.SH "SEE ALSO"
.BR miniguiInit "(3), " miniguiMain (3)
.SH "AUTHOR"
.PP
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-124
View File
@@ -1,124 +0,0 @@
.\" This manpage is Copyright (C) 2000 Wei Yongming
.\" 2000 BluePoint Software
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since MiniGUI is constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.TH "DialogBox" "3" "August 2000" "MiniGUI"
.SH "NAME"
DialogBox \- DialogBox Support Functions.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "HWND GUIAPI CreateMainWindowIndirect" "(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc);"
.br
.BI "BOOL GUIAPI DestroyMainWindowIndirect" "(HWND hMainWin);"
.br
.BI "int GUIAPI DialogBoxIndirectParam" "(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam);"
.br
.BI "BOOL GUIAPI EndDialog" "(HWND hDlg, int endCode);"
.br
.BI "void GUIAPI DestroyAllControls" "(HWND hDlg);"
.br
.BI "int GUIAPI DefaultDialogProc" "(HWND hWnd, int message, WPARAM wParam, LPARAM lParam);"
.br
.BI "HWND GUIAPI GetDlgDefPushButton" "(HWND hWnd);"
.br
.BI "int GUIAPI GetDlgCtrlID" "(HWND hwndCtl);"
.br
.BI "HWND GUIAPI GetDlgItem" "(HWND hDlg, int nIDDlgItem);"
.br
.BI "UINT GUIAPI GetDlgItemInt" "(HWND hDlg, int nIDDlgItem, BOOL *lpTranslated, BOOL bSigned);"
.br
.BI "int GUIAPI GetDlgItemText" "(HWND hDlg, int nIDDlgItem, char* lpString, int nMaxCount);"
.br
.BI "char* GUIAPI GetDlgItemText2" "(HWND hDlg, int id, int* lenPtr);"
.br
.BI "HWND GUIAPI GetNextDlgGroupItem" "(HWND hDlg, HWND hCtl, BOOL bPrevious);"
.br
.BI "HWND GUIAPI GetNextDlgTabItem" "(HWND hDlg, HWND hCtl, BOOL bPrevious);"
.br
.BI "int GUIAPI SendDlgItemMessage" "( HWND hDlg, int nIDDlgItem, int message, WPARAM wParam, LPARAM lParam);"
.br
.BI "BOOL GUIAPI SetDlgItemInt" "(HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned);"
.br
.BI " BOOL GUIAPI SetDlgItemText" "(HWND hDlg, int nIDDlgItem, const char* lpString);"
.br
.BI "void GUIAPI CheckDlgButton" "(HWND hDlg, int nIDDlgItem, int nCheck);"
.br
.BI "void GUIAPI CheckRadioButton" "(HWND hDlg, int idFirstButton, int idLastButton, int idCheckButton);"
.br
.BI "int GUIAPI IsDlgButtonChecked" "(HWND hDlg, int idButton);"
.SH "DESCRIPTION"
.PP
\fBCreateMainWindowIndirect\fP function creates a dialog window specified by \fBpDlgTemplate\fP.
.PP
\fBDestroyMainWindowIndirect\fP function destroys the window created by \fBCreateMainWindowIndirect\fP.
.PP
\fBDialogBoxIndirectParam\fP function creates a modal dialog box from a dialog box template in memory. Before displaying the dialog box, the function passes an application-defined value to the dialog box procedure as the \fBlParam\fP parameter of the \fBWM_INITDIALOG\fP message. An application can use this value to initialize dialog box controls.
.PP
\fBEndDialog\fP function destroys a modal dialog box, causing the system to end any processing for the dialog box.
.PP
\fBDestroyAllControls\fP function destroys all the controls in the dialog box.
.PP
\fBDefaultDialogProc\fP function is the default dialog box message handler.
.PP
\fBGetDlgDefPushButton\fP function gets the default push button in the window specified by hWnd.
.PP
\fBGetDlgCtrlID\fP function returns the identifier of the specified control.
.PP
\fBGetDlgItem\fP function retrieves the handle of a control in the specified dialog box.
.PP
\fBGetDlgItemInt\fP function translates the text of a specified control in a dialog box into an integer value.
.PP
\fBGetDlgItemText\fP function retrieves the title or text associated with a control in a dialog box.
.PP
\fBGetDlgItemText2\fP function is similiar to \fBGetDlgItemText\fP function.But it allocates memory for the text.
.PP
\fBGetNextDlgGroupItem\fP function retrieves the handle of the first control in a group of controls that precedes (or follows) the specified control in a dialog box.
.PP
\fBGetNextDlgTabItem\fP function retrieves the handle of the first control that has the \fBWS_TABSTOP\fP style that precedes (or follows) the specified control.
.PP
\fBSendDlgItemMessage\fP function sends a message to the specified control in a dialog box.
.PP
\fBSetDlgItemInt\fP function sets the text of a control in a dialog box to the string representation of a specified integer value.
.PP
\fBSetDlgItemText\fP function sets the title or text of a control in a dialog box.
.PP
\fBCheckDlgButton\fP function changes the check status of a button control.
.PP
\fBCheckRadioButton\fP function adds a check mark to (checks) a specified radio button in a group and removes a check mark from (clears) all other radio buttons in the group.
.PP
\fBIsDlgButtonChecked\fP function determines whether a button control has a check mark next to it or whether a three-state button control is grayed, checked, or neither.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.

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