Compare commits

...
92 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
995 changed files with 5450 additions and 3938 deletions
+4
View File
@@ -24,3 +24,7 @@ Makefile.in
/*config.h.in /*config.h.in
/*config.h.in~ /*config.h.in~
/src/font/utils/emoji/
/src/font/utils/ucd/
/src/sysres/font_list
/src/sysres/license/dat_files/
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Processes)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v4.0.1 PROJECT_NUMBER = v4.0.7
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.1 OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.7
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_PROCESSES \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF \ _MGFONT_BMPF \
_MGGAL_DRI \ _MGGAL_DRM \
_MGGAL_COMMLCD \ _MGGAL_COMMLCD \
_MGIAL_COMM _MGIAL_COMM
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v4.0.1 PROJECT_NUMBER = v4.0.7
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.1 OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.7
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_STANDALONE \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF \ _MGFONT_BMPF \
_MGGAL_DRI \ _MGGAL_DRM \
_MGGAL_COMMLCD \ _MGGAL_COMMLCD \
_MGIAL_COMM _MGIAL_COMM
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Threads)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = v4.0.1 PROJECT_NUMBER = v4.0.7
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.1 OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.7
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and # directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_THREADS \
_MGFONT_FT2 \ _MGFONT_FT2 \
_MGFONT_UPF \ _MGFONT_UPF \
_MGFONT_BMPF \ _MGFONT_BMPF \
_MGGAL_DRI \ _MGGAL_DRM \
_MGGAL_COMMLCD \ _MGGAL_COMMLCD \
_MGIAL_COMM _MGIAL_COMM
+2 -2
View File
@@ -1,6 +1,6 @@
MAJOR_VERSION = 3 MAJOR_VERSION = 4
MINOR_VERSION = 0 MINOR_VERSION = 0
MICRO_VERSION = 13 MICRO_VERSION = 4
EXTRAVERSION = EXTRAVERSION =
MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION) MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION)
+2 -2
View File
@@ -2,8 +2,8 @@ SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = minigui.pc.in \ EXTRA_DIST = minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \ GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \ INSTALL LICENSE \
README.md RELEASE-NOTES.md \ Version.md README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
# The directory where the include files will be installed # The directory where the include files will be installed
+4 -4
View File
@@ -147,11 +147,11 @@ and MiniGUI components, please fetch one of the following repositories
from GitHub and follow the instructions to build the samples and from GitHub and follow the instructions to build the samples and
the demonstration programs: the demonstration programs:
https://github.com/VincentWei/build-minigui-4.0 <https://github.com/VincentWei/build-minigui-4.0>
or or
https://github.com/VincentWei/build-minigui-3.2 <https://github.com/VincentWei/build-minigui-3.2>
### Unit Tests ### Unit Tests
@@ -159,7 +159,7 @@ https://github.com/VincentWei/build-minigui-3.2
Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the
following repository: following repository:
https://github.com/VincentWei/mg-tests <https://github.com/VincentWei/mg-tests>
If you are interested in hacking the MiniGUI code, please visit this repository. If you are interested in hacking the MiniGUI code, please visit this repository.
@@ -386,7 +386,7 @@ If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
### Special Statement ### Special Statement
+167 -386
View File
File diff suppressed because it is too large Load Diff
-9
View File
@@ -1,9 +0,0 @@
Version 4.0.2 (2019/10/31)
This release needs the following resource packages:
* minigui-res-4.0.0.tar.gz
The latest samples package is:
* mg-samples-4.0.1.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`
+31 -35
View File
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.60) AC_PREREQ(2.60)
AC_INIT(libminigui, 4.0.2) AC_INIT(libminigui, 4.0.8)
AC_CONFIG_SRCDIR(src/main/main.c) AC_CONFIG_SRCDIR(src/main/main.c)
dnl Set various version strings - taken gratefully from the SDL sources dnl Set various version strings - taken gratefully from the SDL sources
@@ -16,9 +16,9 @@ dnl Set various version strings - taken gratefully from the SDL sources
# #
MINIGUI_MAJOR_VERSION=4 MINIGUI_MAJOR_VERSION=4
MINIGUI_MINOR_VERSION=0 MINIGUI_MINOR_VERSION=0
MINIGUI_MICRO_VERSION=2 MINIGUI_MICRO_VERSION=8
MINIGUI_INTERFACE_AGE=2 MINIGUI_INTERFACE_AGE=8
MINIGUI_BINARY_AGE=2 MINIGUI_BINARY_AGE=8
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
AC_SUBST(MINIGUI_MAJOR_VERSION) AC_SUBST(MINIGUI_MAJOR_VERSION)
@@ -120,13 +120,13 @@ build_net_ial_engine="no"
dnl common IAL engines dnl common IAL engines
build_libinput_ial_engine="yes" build_libinput_ial_engine="yes"
build_console_ial_engine="no" build_console_ial_engine="yes"
build_console_ps2="no" build_console_ps2="no"
build_console_imps2="no" build_console_imps2="yes"
build_console_ms="no" build_console_ms="no"
build_console_ms3="no" build_console_ms3="no"
build_console_gpm="no" build_console_gpm="no"
build_text_mode="no" build_text_mode="yes"
dnl the customized ial engine dnl the customized ial engine
build_dlcustom_ial_engine="no" build_dlcustom_ial_engine="no"
@@ -264,8 +264,8 @@ enable_video_dfb="no"
enable_video_dfb_st7167="no" enable_video_dfb_st7167="no"
enable_video_stgfb="no" enable_video_stgfb="no"
enable_video_drm="yes"
enable_video_fbcon="yes" enable_video_fbcon="yes"
enable_video_dri="yes"
enable_video_commlcd="no" enable_video_commlcd="no"
enable_video_shadow="no" enable_video_shadow="no"
enable_video_mlshadow="no" enable_video_mlshadow="no"
@@ -470,7 +470,7 @@ AC_ARG_ENABLE(libinputial,
build_libinput_ial_engine=$enableval) build_libinput_ial_engine=$enableval)
AC_ARG_ENABLE(consoleial, AC_ARG_ENABLE(consoleial,
[ --enable-consoleial build the console (Linux console) IAL engine <default=no>], [ --enable-consoleial build the console (Linux console) IAL engine <default=yes>],
build_console_ial_engine=$enableval) build_console_ial_engine=$enableval)
AC_ARG_ENABLE(consoleps2, AC_ARG_ENABLE(consoleps2,
@@ -478,7 +478,7 @@ AC_ARG_ENABLE(consoleps2,
build_console_ps2=$enableval) build_console_ps2=$enableval)
AC_ARG_ENABLE(consoleimps2, AC_ARG_ENABLE(consoleimps2,
[ --enable-consoleimps2 build the console engine subdriver for IntelligentMouse (IMPS/2) mouse <default=no>], [ --enable-consoleimps2 build the console engine subdriver for IntelligentMouse (IMPS/2) mouse <default=yes>],
build_console_imps2=$enableval) build_console_imps2=$enableval)
AC_ARG_ENABLE(consolems, AC_ARG_ENABLE(consolems,
@@ -494,7 +494,7 @@ AC_ARG_ENABLE(consolegpm,
build_console_gpm=$enableval) build_console_gpm=$enableval)
AC_ARG_ENABLE(textmode, AC_ARG_ENABLE(textmode,
[ --enable-textmode Linux system have console (text mode) on FrameBuffer <default=no>], [ --enable-textmode Linux system have console (text mode) on FrameBuffer <default=yes>],
build_text_mode=$enableval) build_text_mode=$enableval)
AC_ARG_ENABLE(rbfsupport, AC_ARG_ENABLE(rbfsupport,
@@ -885,26 +885,22 @@ CheckFBCON()
dnl Find the DRM includes dnl Find the DRM includes
CheckDRM() CheckDRM()
{ {
if test "x$runtime_mode" = "xprocs"; then AC_ARG_ENABLE(videodrm,
enable_video_dri="no; DRI engine does not support MiniGUI-Processes runtime mode currently" [ --enable-videodrm include Linux DRI NEWGAL engine <default=yes>],
else enable_video_drm=$enableval)
AC_ARG_ENABLE(videodri, if test "x$enable_video_drm" = "xyes"; then
[ --enable-videodri include Linux DRI NEWGAL engine <default=yes>], PKG_CHECK_MODULES(DRM, [libdrm >= 2.4], video_drm="yes",
enable_video_dri=$enableval) video_drm="no; Linux DRI NEWGAL engine requires libdrm 2.4+")
if test "x$enable_video_dri" = "xyes"; then if test "x$video_drm" = "xyes"; then
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4], video_dri="yes", AC_DEFINE(_MGGAL_DRM, 1,
video_dri="no; Linux DRI NEWGAL engine requires libdrm 2.4+") [Define if include Linux DRI NEWGAL engine])
if test "x$video_dri" = "xyes"; then VIDEO_SUBDIRS="$VIDEO_SUBDIRS drm"
AC_DEFINE(_MGGAL_DRI, 1, VIDEO_DRIVERS="$VIDEO_DRIVERS drm/libvideo_drm.la"
[Define if include Linux DRI NEWGAL engine]) DEP_LIBS="$DEP_LIBS -ldrm -ldl"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS dri" DRM_INC_DIR="`$PKG_CONFIG --variable includedir libdrm`/libdrm"
VIDEO_DRIVERS="$VIDEO_DRIVERS dri/libvideo_dri.la" AC_SUBST(DRM_INC_DIR)
DEP_LIBS="$DEP_LIBS -ldrm" else
DRM_INC_DIR="`$PKG_CONFIG --variable includedir libdrm`/drm" AC_MSG_WARN([$video_drm])
AC_SUBST(DRM_INC_DIR)
else
AC_MSG_WARN([$video_dri])
fi
fi fi
fi fi
} }
@@ -2092,7 +2088,7 @@ if test "x$build_ttf_support" = "xyes"; then
if test "x$build_complex_scripts" = "xyes"; then if test "x$build_complex_scripts" = "xyes"; then
dnl Check for HarfBuzz library dnl Check for HarfBuzz library
AC_CHECK_LIB(harfbuzz, hb_version, AC_CHECK_LIB(harfbuzz, hb_version,
DEP_LIBS="$DEP_LIBS -lharfbuzzex -lfreetype", DEP_LIBS="$DEP_LIBS -lharfbuzz -lfreetype",
build_complex_scripts="no; support for complex scripts requires libharfbuzz") build_complex_scripts="no; support for complex scripts requires libharfbuzz")
else else
DEP_LIBS="$DEP_LIBS -lfreetype", DEP_LIBS="$DEP_LIBS -lfreetype",
@@ -2172,7 +2168,7 @@ if test "x$build_complex_scripts" = "xyes"; then
[ --with-hb-includes=DIR where the HarfBuzz includes are]) [ --with-hb-includes=DIR where the HarfBuzz includes are])
if test "x$with_hb_includes" = "x"; then if test "x$with_hb_includes" = "x"; then
HB_INC_DIR="-I/usr/local/include/harfbuzz" HB_INC_DIR="-I/usr/include/harfbuzz"
else else
HB_INC_DIR="-I$with_hb_includes" HB_INC_DIR="-I$with_hb_includes"
fi fi
@@ -2636,7 +2632,7 @@ src/font/Makefile
src/font/in-core/Makefile src/font/in-core/Makefile
src/newgal/Makefile src/newgal/Makefile
src/newgal/fbcon/Makefile src/newgal/fbcon/Makefile
src/newgal/dri/Makefile src/newgal/drm/Makefile
src/newgal/qvfb/Makefile src/newgal/qvfb/Makefile
src/newgal/pcxvfb/Makefile src/newgal/pcxvfb/Makefile
src/newgal/wvfb/Makefile src/newgal/wvfb/Makefile
@@ -2713,7 +2709,7 @@ AC_MSG_NOTICE([
* dummy: ${enable_video_dummy} * dummy: ${enable_video_dummy}
* pc_xvfb: ${enable_video_pc_xvfb} * pc_xvfb: ${enable_video_pc_xvfb}
* usvfb: ${enable_video_usvfb} * usvfb: ${enable_video_usvfb}
* dri: ${enable_video_dri} * drm: ${enable_video_drm}
* fbcon: ${enable_video_fbcon} * fbcon: ${enable_video_fbcon}
* commlcd: ${enable_video_commlcd} * commlcd: ${enable_video_commlcd}
+10 -2
View File
@@ -22,10 +22,13 @@
[system] [system]
# GAL engine and default options # GAL engine and default options
# The equivalent environment variable: MG_GAL_ENGINE
gal_engine=pc_xvfb gal_engine=pc_xvfb
# The equivalent environment variable: MG_DEFAULTMODE
defaultmode=800x600-16bpp defaultmode=800x600-16bpp
# IAL engine # IAL engine
# The equivalent environment variable: MG_IAL_ENGINE
ial_engine=pc_xvfb ial_engine=pc_xvfb
mdev=/dev/input/mice mdev=/dev/input/mice
mtype=IMPS2 mtype=IMPS2
@@ -33,8 +36,8 @@ mtype=IMPS2
# Linux IAL engine based on libinput # Linux IAL engine based on libinput
# ial_engine=libinut # ial_engine=libinut
#{{ifdef _MGGAL_DRI #{{ifdef _MGGAL_DRM
[dri] [drm]
defaultmode=1024x768-32bpp defaultmode=1024x768-32bpp
# We use DRM fourcc code to defined the pixel format of the video surface. # We use DRM fourcc code to defined the pixel format of the video surface.
@@ -44,10 +47,15 @@ pixelformat=XR24
# The DRI device # The DRI device
device=/dev/dri/card0 device=/dev/dri/card0
# The resolution of the display # The resolution of the display
# It is defined in dots (physical pixels) per inch # It is defined in dots (physical pixels) per inch
# The default value is 96. # The default value is 96.
dpi=96 dpi=96
# The filename of the shared library for the external driver.
# The equivalent environment variable: MG_GAL_DRM_DRIVER
exdriver=libhidrmdrivers-0.2.so.0
#}} #}}
#{{ifdef _MGIAL_LIBINPUT #{{ifdef _MGIAL_LIBINPUT
+5 -4
View File
@@ -50,7 +50,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -306,7 +306,8 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
*/ */
#if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \ #if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \
(defined(__alpha__) || defined(__alpha)) || \ (defined(__alpha__) || defined(__alpha)) || \
defined(__arm__) || \ defined(__arm__) || defined(__aarch64__) || \
defined(__riscv) || \
(defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \ (defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \
(defined(__mips__) && defined(__MIPSEL__)) || \ (defined(__mips__) && defined(__MIPSEL__)) || \
defined(__LITTLE_ENDIAN__) || \ defined(__LITTLE_ENDIAN__) || \
@@ -2317,7 +2318,6 @@ int init_minigui_printf (int (*output_char) (int ch),
TCS_BROWN (stderr); \ TCS_BROWN (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \ fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \ fprintf (stderr, fmt, ##__VA_ARGS__); \
fprintf (stderr, "\n"); \
TCS_NONE (stderr); \ TCS_NONE (stderr); \
} while (0) } while (0)
@@ -2332,11 +2332,12 @@ int init_minigui_printf (int (*output_char) (int ch),
# define _DBG_PRINTF(fmt, ...) \ # define _DBG_PRINTF(fmt, ...) \
do { \ do { \
TCS_YELLOW (stderr); \ TCS_YELLOW (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \ fprintf (stderr, fmt, ##__VA_ARGS__); \
TCS_NONE (stderr); \ TCS_NONE (stderr); \
} while (0) } while (0)
# else # else
# define _DBG_PRINTF(fmt, ...) # define _DBG_PRINTF(fmt, ...) do { } while (0)
#endif #endif
#ifdef _MGRM_THREADS #ifdef _MGRM_THREADS
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+4 -1
View File
@@ -48,7 +48,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -234,6 +234,9 @@ typedef struct tagINPUT {
// New wait event method for getting extra input events; since 4.0.0 // New wait event method for getting extra input events; since 4.0.0
int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out, int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra); fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
/* BUGFIXING (VM 2020-03-12): merged from 5.0.0 */
char* mdev;
} INPUT; } INPUT;
#ifdef __cplusplus #ifdef __cplusplus
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -52,7 +52,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+367 -94
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+212 -2
View File
@@ -23,7 +23,7 @@
and Graphics User Interface (GUI) support system for embedded systems and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices. and smart IoT devices.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd. Copyright (C) 2002~2019, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming Copyright (C) 1998~2002, WEI Yongming
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -1389,6 +1389,48 @@ MG_EXPORT HDC GUIAPI CreateCompatibleDCEx (HDC hdc, int width, int height);
*/ */
MG_EXPORT BOOL GUIAPI IsCompatibleDC (HDC hdc1, HDC hdc2); MG_EXPORT BOOL GUIAPI IsCompatibleDC (HDC hdc1, HDC hdc2);
/**
* \fn BOOL GUIAPI IsMemDC (HDC hdc)
* \brief Check whether a given DC is a memory DC.
*
* This function checks whether a give DC \a hdc is a memory DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for memory DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsMemDC (HDC hdc);
/**
* \fn BOOL GUIAPI IsScreenDC (HDC hdc)
* \brief Check whether a given DC is a screen DC.
*
* This function checks whether a give DC \a hdc is a screen DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for screen DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsScreenDC (HDC hdc);
/**
* \fn BOOL GUIAPI IsWindowDC (HDC hdc)
* \brief Check whether a given DC is a window DC.
*
* This function checks whether a give DC \a hdc is a window DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for window DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsWindowDC (HDC hdc);
/** /**
* \fn HDC GUIAPI CreateMemDCEx (int width, int height, int depth, DWORD flags, \ * \fn HDC GUIAPI CreateMemDCEx (int width, int height, int depth, DWORD flags, \
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask,
@@ -13646,6 +13688,174 @@ MG_EXPORT int GUIAPI SetUserCompositionOps (HDC hdc,
CB_COMP_PUTHLINE comp_puthline, CB_COMP_PUTHLINE comp_puthline,
void* user_comp_ctxt); void* user_comp_ctxt);
/**
* This function gets the video handle which corresponds to the given
* device context.
*
* \param hdc The device context.
*
* \return The handle to the video; NULL on error.
*
* Since 4.0.4
*/
MG_EXPORT GHANDLE GetVideoHandle (HDC hdc);
#ifdef _MGGAL_DRM
/**
* \defgroup gdi_drm_fns Functions for Linux DRM integration
*
* These functions can be used to get the DRM device file descriptor and the
* information of the hardware surface corresponding to the DC which is
* created by the Linux DRM engine. By using the information, we can
* integrate MiniGUI with other graphics libraries, such as Cairo
* (vector graphics) and Mesa (3D graphics).
*
* \note Only available when support for Linuxe DRM NEWGAL engine
* (`_MGGAL_DRM`) is enabled.
*
* Since 4.0.4
*
* @{
*/
/**
* This function gets the file descriptor opened by the Linux DRM engine.
*
* \param video The video handle returned by \a GetVideoHandle.
*
* \return The DRM device file descriptor opened by the Linux DRM engine;
* >= 0 for success and < 0 on error. If \a surface is not a hardware
* surface created by the DRM engine, this function returns -1.
*/
MG_EXPORT int drmGetDeviceFD (GHANDLE video);
/**
* THe struct type defines the DRM surface information.
*/
typedef struct _DrmSurfaceInfo {
/** The local handle of the buffer object. */
uint32_t handle;
/** The prime fd of the buffer object. If it was no exported as a global
buffer object, it has the value -1. */
int prime_fd;
/** The global name of the buffer object. It has the value 0 when it was
not expored as global buffer object. */
uint32_t name;
/** The frame buffer identifier. If the buffer was not added as
a frame buffer to the system, it has the value 0. */
uint32_t fb_id;
/** The width of the surface. */
uint32_t width;
/** The height of the surface. */
uint32_t height;
/** The row stride of the surface. */
uint32_t pitch;
/** The DRM pixel format. */
uint32_t drm_format;
/** Size in bytes of the buffer object. */
size_t size;
/** The offset from the buffer start to the real pixel data. */
off_t offset;
} DrmSurfaceInfo;
/**
* This function gets the DRM surface information from specified device context.
*
* \param video The handle to the video.
* \param hdc The handle to the device context.
* \param info The pointer to a DrmSurfaceInfo structure to hold
* the surface information.
*
* \return TRUE for success, FALSE for failure.
*/
MG_EXPORT BOOL drmGetSurfaceInfo (GHANDLE video, HDC hdc, DrmSurfaceInfo* info);
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign process and identified by a global name handle.
*
* \param video The video handle.
* \param name The name handle of the DRM surface.
* \param drm_format The DRM pixel format.
* \param offset The offset from the buffer start to the real pixel data.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromNameEx (GHANDLE video,
uint32_t name, uint32_t drm_format, off_t offset,
uint32_t width, uint32_t height, uint32_t pitch);
static inline HDC drmCreateDCFromName (GHANDLE video,
uint32_t name, uint32_t drm_format,
uint32_t width, uint32_t height, uint32_t pitch)
{
return drmCreateDCFromNameEx (video,
name, drm_format, 0, width, height, pitch);
}
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign process and identified by a PRIME file descriptor.
*
* \param video The video handle.
* \param prime_fd The PRIME file descriptor.
* \param size The size of the DRM surface in bytes.
* \param drm_format The DRM pixel format.
* \param offset The offset from the buffer start to the real pixel data.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromPrimeFdEx (GHANDLE video,
int prime_fd, size_t size, uint32_t drm_format, off_t offset,
uint32_t width, uint32_t height, uint32_t pitch);
static inline HDC drmCreateDCFromPrimeFd (GHANDLE video,
int prime_fd, size_t size, uint32_t drm_format,
uint32_t width, uint32_t height, uint32_t pitch)
{
return drmCreateDCFromPrimeFdEx (video,
prime_fd, size, drm_format, 0, width, height, pitch);
}
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign graphics component.
*
* \param video The video handle.
* \param handle The handle of the DRM surface.
* \param size The size of the DRM surface in bytes.
* \param drm_format The DRM pixel format.
* \param offset The offset from the buffer start to the real pixel data.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromHandleEx (GHANDLE video,
uint32_t handle, size_t size, uint32_t drm_format, off_t offset,
uint32_t width, uint32_t height, uint32_t pitch);
static inline HDC drmCreateDCFromHandle (GHANDLE video,
uint32_t handle, size_t size, uint32_t drm_format,
uint32_t width, uint32_t height, uint32_t pitch)
{
return drmCreateDCFromHandleEx (video,
handle, size, drm_format, 0, width, height, pitch);
}
/** @} end of gdi_drm_fns */
#endif /* _MGGAL_DRM */
/** @} end of gdi_fns */ /** @} end of gdi_fns */
#ifdef _MGGAL_HI3560 #ifdef _MGGAL_HI3560
+3 -3
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
@@ -274,13 +274,13 @@ extern MG_EXPORT MG_Layer* mgLayers;
*/ */
/** /**
* \fn int GUIAPI InitGUI (int, const char **) * \fn int GUIAPI InitGUI (int argc, const char *argv[])
* \brief Initialize MiniGUI. * \brief Initialize MiniGUI.
* *
* The meaning of two parameters is same with parameters of main function. * The meaning of two parameters is same with parameters of main function.
* *
**/ **/
MG_EXPORT int GUIAPI InitGUI (int, const char **); MG_EXPORT int GUIAPI InitGUI (int argc, const char *argv[]);
/** /**
* \fn void GUIAPI TerminateGUI (int not_used) * \fn void GUIAPI TerminateGUI (int not_used)
+1 -1
View File
@@ -54,7 +54,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license. under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>. <http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim \endverbatim
*/ */

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