vincentwei / minigui Goto Github PK
View Code? Open in Web Editor NEWA modern and mature cross-platform window system for embedded systems and smart IoT devices.
Home Page: http://www.minigui.com
License: GNU General Public License v3.0
A modern and mature cross-platform window system for embedded systems and smart IoT devices.
Home Page: http://www.minigui.com
License: GNU General Public License v3.0
1> 命令行: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe -G "Ninja" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\mysti\CMakeBuilds\9eabd0cb-13cb-733d-a072-dddf51b1a80c\install\x86-Debug" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX86/x86/cl.exe" -DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX86/x86/cl.exe" win32 -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\GitHub\minigui"
1> 工作目录: C:\Users\mysti\CMakeBuilds\9eabd0cb-13cb-733d-a072-dddf51b1a80c\build\x86-Debug
1> -- Could NOT find PTHREAD, (missing: PTHREAD_INCLUDE_DIR PTHREAD_LIBRARY)
1> -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
1> -- Could NOT find JPEG, (missing: JPEG_INCLUDE_DIR JPEG_LIBRARY)
1> =============================================
1> MiniGUI Version : 3.0.13
1> Run mode : Threads
1> OS Name : win32
1> Target board : unknown
1> Library type : Dynamic
1> =============================================
1>
1> *********************************************
1> * license-management
1> *********************************************
1> * Enabled:
1> splash screensaver
1>
1> * Disabled:
1> productid
1>
1> *********************************************
1> * gal
1> *********************************************
1> * Enabled:
1> dummy pcxvfb
1>
1> * Disabled:
1> fbcon dfb qvfb wvfb commlcd shadow mlshadow em85xxosd em85xxyuv em86gfx svpxxosd
1> bf533 mb93493 utpmc nexus s3c6410 custom sigma8654 mstar hi3560a gdl ST7167 STGFB
1> rtosxvfb hi35xx
1>
1> *********************************************
1> * ial
1> *********************************************
1> * Enabled:
1> dummy consoleps2 consoleimps2 consolems consolems3 consoletextmode
1>
1> * Disabled:
1> custom net ciscotouchpad mstar ipaqh3600 nexus ipaqh5400 tslib auto random comm
1> qvfb qemu wvfb jz4740 lide 2440 davinci6446 dfb console dlcustom consolegpm
1>
1> *********************************************
1> * look and feel renderer
1> *********************************************
1> * Enabled:
1> flat skin
1>
1> * Disabled:
1> (null)
1>
1> *********************************************
1> * control
1> *********************************************
1> * Enabled:
1> static button sledit bidisledit listbox progressbar newtoolbar trackbar combobox
1> propsheet scrollview monthcal treeview spinbox coolbar listview iconview animation
1> scrollbar newtextedit textedit menubutton
1>
1> * Disabled:
1> treeviewrdr gridview
1>
1> *********************************************
1> * charset
1> *********************************************
1> * Enabled:
1> latin2support latin3support latin4support latin5support latin6support latin7support
1> latin8support latin9support latin10support cyrillicsupport arabicsupport greeksupport
1> hebrewsupport thaisupport gbsupport gbksupport big5support euckrsupport eucjpsupport
1> shiftjissupport
1>
1> * Disabled:
1> gb18030support
1>
1> *********************************************
1> * font
1> *********************************************
1> * Enabled:
1> bmpfsupport upfsupport rbfsupport vbfsupport unicodesupport
1>
1> * Disabled:
1> qpfsupport sefsupport ttfenablecache ttfgrayadjust
1>
1> *********************************************
1> * incorefont
1> *********************************************
1> * Enabled:
1> rbfvgaoem rbfterminal rbffixedsys sserif courier system times
1>
1> * Disabled:
1> (null)
1>
1> *********************************************
1> * image
1> *********************************************
1> * Enabled:
1> gifsupport
1>
1> * Disabled:
1> pcxsupport lbmsupport tgasupport pngsupport jpgsupport
1>
1> *********************************************
1> * keyboard-layout
1> *********************************************
1> * Enabled:
1> (null)
1>
1> * Disabled:
1> hebrewpc arabicpc frpc fr de delatin1 it es escp850
1>
1> *********************************************
1> * misc
1> *********************************************
1> * Enabled:
1> dblclk savebitmap aboutdlg savescreen havemenu haveclipboard havecursor havefixedmath
1> havemousecalibrate haveadv2dapi
1>
1> * Disabled:
1> debug miniguientry incoreres useownmalloc useownstdio useownpthread havetracemsg
1> havemsgstr
1>
1> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1> !!
1> !! WARNING
1> !!
1> !!
1> !! Product ID is *DISABLE*
1> !!
1> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1>
1> -- Configuring done
1> CMake Error at src/CMakeLists.txt:104 (add_library):
1> -- Build files have been written to: C:/Users/mysti/CMakeBuilds/9eabd0cb-13cb-733d-a072-dddf51b1a80c/build/x86-Debug
1> Cannot find source file:
1>
1> font/freetype.h
1>
1> Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
1> .hpp .hxx .in .txx
1>
1>
1> CMake Error at src/CMakeLists.txt:104 (add_library):
1> No SOURCES given to target: _ths
1>
1>
1> C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe -G "Ninja" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\mysti\CMakeBuilds\9eabd0cb-13cb-733d-a072-dddf51b1a80c\install\x86-Debug" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX86/x86/cl.exe" -DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX86/x86/cl.exe" win32 -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\GitHub\minigui" 已返回,并带有退出代码: 1
=============================================
MiniGUI Version : 3.0.13
Run mode : Threads
OS Name : win32
Target board : unknown
Library type : Dynamic
=============================================
*********************************************
* license-management
*********************************************
* Enabled:
splash screensaver
* Disabled:
productid
*********************************************
* gal
*********************************************
* Enabled:
dummy pcxvfb
* Disabled:
fbcon dfb qvfb wvfb commlcd shadow mlshadow em85xxosd em85xxyuv em86gfx svpxxosd
bf533 mb93493 utpmc nexus s3c6410 custom sigma8654 mstar hi3560a gdl ST7167 STGFB
rtosxvfb hi35xx
*********************************************
* ial
*********************************************
* Enabled:
dummy consoleps2 consoleimps2 consolems consolems3 consoletextmode
* Disabled:
custom net ciscotouchpad mstar ipaqh3600 nexus ipaqh5400 tslib auto random comm
qvfb qemu wvfb jz4740 lide 2440 davinci6446 dfb console dlcustom consolegpm
*********************************************
* look and feel renderer
*********************************************
* Enabled:
flat skin
* Disabled:
(null)
*********************************************
* control
*********************************************
* Enabled:
static button sledit bidisledit listbox progressbar newtoolbar trackbar combobox
propsheet scrollview monthcal treeview spinbox coolbar listview iconview animation
scrollbar newtextedit textedit menubutton
* Disabled:
treeviewrdr gridview
*********************************************
* charset
*********************************************
* Enabled:
latin2support latin3support latin4support latin5support latin6support latin7support
latin8support latin9support latin10support cyrillicsupport arabicsupport greeksupport
hebrewsupport thaisupport gbsupport gbksupport big5support euckrsupport eucjpsupport
shiftjissupport
* Disabled:
gb18030support
*********************************************
* font
*********************************************
* Enabled:
bmpfsupport upfsupport rbfsupport vbfsupport unicodesupport
* Disabled:
qpfsupport sefsupport ttfenablecache ttfgrayadjust
*********************************************
* incorefont
*********************************************
* Enabled:
rbfvgaoem rbfterminal rbffixedsys sserif courier system times
* Disabled:
(null)
*********************************************
* image
*********************************************
* Enabled:
gifsupport
* Disabled:
pcxsupport lbmsupport tgasupport pngsupport jpgsupport
*********************************************
* keyboard-layout
*********************************************
* Enabled:
(null)
* Disabled:
hebrewpc arabicpc frpc fr de delatin1 it es escp850
*********************************************
* misc
*********************************************
* Enabled:
dblclk savebitmap aboutdlg savescreen havemenu haveclipboard havecursor havefixedmath
havemousecalibrate haveadv2dapi
* Disabled:
debug miniguientry incoreres useownmalloc useownstdio useownpthread havetracemsg
havemsgstr
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!
!! WARNING
!!
!!
!! Product ID is *DISABLE*
!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CMake Error at src/CMakeLists.txt:104 (add_library):
Cannot find source file:
font/freetype.h
Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
CMake Error at src/CMakeLists.txt:104 (add_library):
No SOURCES given to target: _ths
报错内容:
error while loading shared libraries: libminigui_procs-5.0.so.0: cannot open shared object file: No such file or directory
问题是我make&make install的时候,是安装成功了的,编译mgsample的代码过程也没问题,但是一旦执行的时候就会报这个错误(4.X版本没有上述内容的错误)提示报错的文件在/usr/local/lib中存在
PS:官方给的mg-samples有一个瑕疵错误就是如果configure后,make的时候会提示缺少-lfreetype,(注意这个逗号),似乎是configure的文件的错误
您好,
我司使用的是rockchip的芯片,其中UI部分使用了miniGUI作为UI框架,但rk方面仅集成了miniGUI核心库,并没有集成mGi、mGNCS等附属库。咨询rk方面被告知其他组件需要我们自行移植。
在集成过程中提示
checking for MINIGUI... configure: error: Package requirements (minigui >= 3.0.10) were not met:
在网上我找不到合适的帮助信息。
是否可以得到您的帮助。
server_IdleHandler4Server中, 如果select 返回的 errno是 EINTR, __mg_check_expired_timers不会被调用, 那么就不会产生MSG_TIMER
Hi @VincentWei ,
I'm working on a project that plan to run gui on safertos under i.xm6ull board(cortex-A7 process).
I'm currently doing the evaluation of the gui libraries.
I want to know whether the minigui supports safertos.
If the answer is no, is there any change that can be done to support this?
minigui程序不全屏的情况,鼠标光标只能显示有程序界面的地方,移动到其它没有显示程序界面的地方时,光标不显示。
怎么修改,可以让程序不全屏的情况下,鼠标光票也可以全屏移动显示?
目前发现注释static void showcursor (void)函数中的GAL_GetBox (__gal_screen, &csr_rect, &csr_bmp);(src/kernel/cursor-sa.c文件中),光标可以全屏显示,但是光标有严重的拖尾现象。
Hello, Mr Wei :
miniGUI 5.0.3
I have two issues.
1. hb-ft.h miss after make install harfbuzz, it's not be fount in include/harfbuzz.
out info : ....... shape-glyphs-complex.c:76:19: fatal error: hb-ft.h: No such file or directory
#include <hb-ft.h>
2.--with_ft2_includes is not effect. I guess is a bug :
file configure.ac:2240 2240 with_ft2_includes=""
Thanks
后续代码谁来维护呢?各厂家的修改都会更新到github上么?
看到minigui中使用linux中的input-event-codes.h头文件,桌面的系统中会有这个头文件,但是当交叉编译时不会搜做桌面系统头文件路径,导致minigui编译出错。我看到libinput工程源码中就自己包含了这个文件,minigui是一个出色的可移植库,希望作者将input-event-codes.h包含在minigui工程中,提高可移植性。
ial/random.c:129:#include <linux/input-event-codes.h>
ial/linux-libinput.c:182:#include <linux/input-event-codes.h>
Suggest add .gitignore.
我2008年前用过minigui开发过一个项目,当时公司还买了2.04的授权,现在一个项目我又想到来用minigui,发现minigui3.0,没想到现在minigui推荐的MGNCS加mstudio设计的这么反人类,简直难用至极,我做了10多年开发,还是第一次看到一个软件发展了20年,演化的如此难用。作者可以看看FlyThings OS,开发效率比mstudio+mgncs好用多了
I think DT_CALCRECT maybe only calculate the rect for the string. But in DrawTextEx2, the text will be drawed.
minigui如何支持一个FreeRTOS系统呢? 是需要你们来支持,还是开发者也可以移植?
the mSpinbox
have a bug : the font selected is not effective on runt time.
for detail, please see my blog : https://blog.csdn.net/10km/article/details/81147355
I fixed it in my mGNCS
source.
because mGNCS
have not opened git repository, I can't create pull request. so you can see also the commit :
https://gitee.com/l0km/libmgncs-1.2.0/commit/0d9e1ea9e7c196c15853d05dd25d709d43669b1d
another litte issue,please see the commit: https://gitee.com/l0km/libmgncs-1.2.0/commit/720670dee25a9d44ecc8eaa802c787e638e9fee4
lf_skin.c: In function 'get_scroll_status':
lf_skin.c:2671:26: error: 'CTRL_SCROLLBAR' undeclared (first use in this function)
if (0 == strncasecmp(CTRL_SCROLLBAR, GetClassName(hWnd), strlen(CTRL_SCROLLBAR)))
^~~~~~~~~~~~~~
lf_skin.c:2671:26: note: each undeclared identifier is reported only once for each function it appears in
lf_skin.c: In function 'draw_scrollbar':
lf_skin.c:2708:27: error: 'CTRL_SCROLLBAR' undeclared (first use in this function)
if (0 == strncasecmp (CTRL_SCROLLBAR, GetClassName(hWnd), strlen(CTRL_SCROLLBAR))) {
^~~~~~~~~~~~~~
lf_skin.c: In function 'draw_trackbar_thumb':
lf_skin.c:3005:19: error: 'TBS_VERTICAL' undeclared (first use in this function)
if (dwStyle & TBS_VERTICAL) {
^~~~~~~~~~~~
lf_skin.c:3042:19: error: 'LFRDR_TBS_PRESSED' undeclared (first use in this function)
if (dwStyle & LFRDR_TBS_PRESSED)
^~~~~~~~~~~~~~~~~
lf_skin.c:3044:24: error: 'LFRDR_TBS_HILITE' undeclared (first use in this function)
else if (dwStyle & LFRDR_TBS_HILITE)
^~~~~~~~~~~~~~~~
lf_skin.c: In function 'calc_trackbar_rect':
lf_skin.c:3072:19: error: 'TBS_BORDER' undeclared (first use in this function)
if (dwStyle & TBS_BORDER) {
^~~~~~~~~~
lf_skin.c:3086:19: error: 'TBS_VERTICAL' undeclared (first use in this function)
if (dwStyle & TBS_VERTICAL) {
^~~~~~~~~~~~
lf_skin.c: In function 'draw_trackbar':
lf_skin.c:3150:19: error: 'TBS_VERTICAL' undeclared (first use in this function)
if (dwStyle & TBS_VERTICAL){
In minigui root directory.
$ automake
Makefile.am: error: required file './NEWS' not found
listview.c:(.text+0x1f4): undefined reference to scrolled_visible_to_content' listview.c:(.text+0x208): undefined reference to
scrollview_is_in_item'
listview.c:(.text+0x228): undefined reference to `scrollview_get_item_adddata'
listview.c:(.text+0x2a8): undefined reference to mglist_freeze' listview.c:(.text+0x2c4): undefined reference to
mglist_freeze'
listview.c:(.text+0x2d8): undefined reference to mglist_get_next_item' listview.c:(.text+0x2e0): undefined reference to
scrollview_get_item_adddata'
listview.c:(.text+0x2fc): undefined reference to scrollview_set_item_height' listview.c:(.text+0x33c): undefined reference to
mglist_get_next_item'
listview.c:(.text+0x35c): undefined reference to mglist_getitem_byindex' listview.c:(.text+0x364): undefined reference to
scrollview_get_item_adddata'
listview.c:(.text+0x390): undefined reference to `scrolled_visible_to_content'
listview.c:(.text+0xfe4): undefined reference to ScrollViewCtrlProc' listview.c:(.text+0x1278): undefined reference to
mglist_get_next_item'
listview.c:(.text+0x127c): undefined reference to scrollview_get_item_adddata' listview.c:(.text+0x13d8): undefined reference to
scrollview_get_item_adddata'
listview.c:(.text+0x141c): undefined reference to mglist_hilight_item' listview.c:(.text+0x1624): undefined reference to
scrollview_get_item_rect'
listview.c:(.text+0x1650): undefined reference to scrollview_init' listview.c:(.text+0x1684): undefined reference to
scrolled_set_margins'
listview.c:(.text+0x1748): undefined reference to scrollview_destroy' listview.c:(.text+0x1810): undefined reference to
scrollview_draw'
listview.c:(.text+0x1840): undefined reference to mglist_refresh_item' listview.c:(.text+0x1ba0): undefined reference to
ScrollViewCtrlProc'
listview.c:(.text+0x1e70): undefined reference to mglist_get_next_item' listview.c:(.text+0x1e74): undefined reference to
scrollview_get_item_adddata'
listview.c:(.text+0x2044): undefined reference to scrollview_add_item_ex' listview.c:(.text+0x20b0): undefined reference to
scrollview_add_item'
listview.c:(.text+0x2234): undefined reference to mglist_refresh_item' listview.c:(.text+0x2384): undefined reference to
mglist_get_next_item'
listview.c:(.text+0x2388): undefined reference to scrollview_get_item_adddata' listview.c:(.text+0x240c): undefined reference to
scrollview_del_item'
listview.c:(.text+0x24b0): undefined reference to mglist_get_next_item' listview.c:(.text+0x24b4): undefined reference to
scrollview_get_item_adddata'
listview.c:(.text+0x2554): undefined reference to mglist_make_item_visible' listview.c:(.text+0x2584): undefined reference to
mglist_hilight_item'
listview.c:(.text+0x2684): undefined reference to scrollview_set_item_height' listview.c:(.text+0x26b8): undefined reference to
scrolled_set_margins'
V5 创建异型窗口不能生效, 只能控件生效, 3.0.12可以正常
下面代码对控件使用是生效的, 但是对MainWindow使用不生效
RECT rc;
BLOCKHEAP cliprc_heap;
CLIPRGN circle_rgn;
GetWindowRect(hwnd, &rc);
InitFreeClipRectList(&cliprc_heap, 50);
InitClipRgn(&circle_rgn, &cliprc_heap);
InitCircleRegion (&circle_rgn, 20, 20, 20);
print_rgn(&circle_rgn);
if (!SetWindowRegion(hwnd, &circle_rgn))
printf("Error calling SetWindowRegion.\n");
EmptyClipRgn (&circle_rgn);
DestroyFreeClipRectList (&cliprc_heap);
configuare.ac
代码中
多加了
with_ft2_includes=""
导致,请修改下
我看了官方文档以及API参考手册,似乎没有找到这个函数的具体用法
比如我创建一个MSG后,通过客户端ID发送给指定客户端
那么在客户端一侧是如何接收消息并且处理的,是主窗口的消息处理函数吗?
无意中使能了--enable-videoshadow,发现了一些报错,查找资料说shadow可以实现旋转屏幕。忽然对shadow起了兴趣。
1.qt或者android都支持屏幕旋转,minigui是不是支持屏幕旋转?
2.看过有地方说shadow可以支持旋转,但是--enable-videoshadow其他组件都会报找不到GAL_GetVideo参考。grep 整个minigui确实只定义了一个静态的GAL_GetVideo。
3.在minigui/src/newgal/video.c:176:static GAL_VideoDevice GAL_GetVideo(const char driver_name)。
而在minigui/src/newgal/shadow/shadow.c:113: extern GAL_VideoDevice GAL_GetVideo(const char driver_name, BOOL check_compos);
minigui/src/newgal/shadow/shadow.c:308: real_device = GAL_GetVideo (engine, FALSE);
参数参数不一致。不知道这两个函数是否相同?还是说shadow中的 GAL_GetVideo 需要自己实现?
if (ok && msg_queue->maxfd < fd) {
msg_queue->maxfd = fd;
return TRUE;
}
应该改为下面更合理
if (ok) {
if (msg_queue->maxfd < fd)
msg_queue->maxfd = fd;
return TRUE;
}
minigui当年挺火的,还开源。后来大家给他踩坑差不多了后就闭源了,你说这狗血了吧,后来异军突起,minigui干不过别人又开源了,但是呢已经没有多少学生、开发者用了,现在居然出来刷存在感,真是no zuo no die a
会导致 RegisterListenFD 不会正常注册
master 代码
mtextedit.c:4614:17: warning: implicit declaration of function 'SetClipBoardData' [-Wimplicit-function-declaration]
SetClipBoardData (CBNAME_TEXT, NULL, 0, CBOP_NORMAL);
^~~~~~~~~~~~~~~~
mtextedit.c:4614:35: error: 'CBNAME_TEXT' undeclared (first use in this function)
SetClipBoardData (CBNAME_TEXT, NULL, 0, CBOP_NORMAL);
^~~~~~~~~~~
mtextedit.c:4614:35: note: each undeclared identifier is reported only once for each function it appears in
mv -f .deps/mwidget.Tpo .deps/mwidget.Plo
mtextedit.c:4614:57: error: 'CBOP_NORMAL' undeclared (first use in this function)
SetClipBoardData (CBNAME_TEXT, NULL, 0, CBOP_NORMAL);
^~~~~~~~~~~
mtextedit.c:4618:44: error: 'CBOP_APPEND' undeclared (first use in this function)
selEnd - selBegin, CBOP_APPEND);
^~~~~~~~~~~
mtextedit.c:4643:29: warning: implicit declaration of function 'GetClipBoardDataLen' [-Wimplicit-function-declaration]
inserting = GetClipBoardDataLen (CBNAME_TEXT);
^~~~~~~~~~~~~~~~~~~
mtextedit.c:4646:21: warning: implicit declaration of function 'GetClipBoardData' [-Wimplicit-function-declaration]
GetClipBoardData (CBNAME_TEXT, txtBuffer, inserting);
^~~~~~~~~~~~~~~~
Makefile:385: recipe for target 'mtextedit.lo' failed
RT,官网下载的minigui5.0源码编译的时候会提示缺少map.h头文件
经过和GitHub上面的代码对比后发现缺少部分头文件(文件不全)
因此希望官方修正一下,因为git实在太慢了
4.0版本编译后尝试执行,提示KERNEL>InitGUI: Count not init mouse cursor!
上网查询在MiniGui.cfg文件中需要指定cur文件目录
然而我在系统根目录find / -name "*.cur"却没有找到这样的文件
请问这些文件是怎么生成的?谢谢
My project exist libpng 1.6 version. I try to config --enable-pngsupport to enable png suppport. But it's no work, is report "checking for png_check_sig in -lpng... no". And i try to use old libpng of version 1.2.37, it's success. I think there are some problem to use libpng new version.
Some randow frame will flickr.
Hola, Is these language supported in minigui?
Cheers
ln -s $TINA_DIR/lichee/linux-4.4/include/uapi/linux/input-event-codes.h input-event-codes.h
cd $WORK_DIR/rootfs/usr/local/lib
sudo ln -s libharfbuzzex.so.0.20501.0 libharfbuzz.so
cd $WORK_DIR/minigui
编译harfbuzz后只会生成libharfbuzz-subset.so.0.20501.0和libharfbuzz.so.0.20501.0,并没有harfbuzzex.编译过程中也打开了--with-exunicode=yes
目前看到minigui可以支持libinput,而libinput需要libudev这个依赖。目前看到作者嵌入式自动化编译脚本中使用的是udev,编译udev需要很多依赖,移植起来比较麻烦。udev项目比较老了,现在eudev兼容udev,希望作者能替换掉udev。我在学习过程中,已将尝试编译eudev,过程相对udev简单很多,并且能正确支持libinput。
Source in directory 'minigui'
Build in directory 'build'
$ cd build
$ ../minigui/configure
$ make
some code can't ../mgconfig.h
Then I add '-I$(abs_top_builddir)/src' to AM_CPPFLAGS for fixing it.
你好:
在一些基于低端处理器的应用场合,使用cpu做blit, scale或者二维blending会非常吃力,应用中一般会使用而二维加速单元GE(有些场合叫g2d)对gui进行加速,目前miniGUI对这部分操作都进行了软件实现,我的问题是,如果想用G2D硬件对minigui进行加速,应该修改哪些地方?miniGUI有集中统一定义加速接口 fops吗?还是分散在不同的源码中,遍历整个miniGUI的实现逐一替换?
谢谢!
有部分平台在启动miniGUI的时候(32位色模式下)会出现画面全黑的情况,目前已知出现这种问题的平台会有如下特征:
控制台输入fbset,输出的结果中如下:
mode "800x1280-22"
# D: 27.000 MHz, H: 28.785 kHz, V: 21.724 Hz
geometry 800 1280 800 1280 32
timings 37037 60 16 30 9 62 6
accel false
rgba 0/0,0/0,0/0,0/0
endmode
rgba这里变成了全0
而正常应该显示为:
rgba 8/16,8/8,8/0,8/24
看样子似乎是指定每个像素点中RGBA分量的长度和偏移量
目前我用fbset -rgba 8/16,8/8,8/0,8/24这样的命令行不通,只能通过修改代码来解决问题
目前是这样做的:
在miniGUI源码目录/src/newgal/fbcon/fbvideo.c中第621行插入如下代码
vinfo.red.length=8;
vinfo.green.length=8;
vinfo.blue.length=8;
vinfo.transp.length=8;
vinfo.red.offset=16;
vinfo.green.offset=8;
vinfo.blue.offset=0;
vinfo.transp.offset=24;
经过这样修改就正常了,但是毕竟是我个人的修改方式
这种问题有没有更好的解决方法?
目前使用版本 3.2
static void CreatePopUpMenu(HWND hWnd)
{
// HDC hdc = GetClientDC(hWnd);
hStaticWnd1.Create("static",
"",
WS_CHILD | WS_VISIBLE | SS_CENTER | SS_BITMAP | WS_EX_TRANSPARENT,
// WS_CHILD | WS_VISIBLE | SS_CENTER | SS_BITMAP,
IDC_STATIC1,
1040, 0, 240, 720, hWnd, (DWORD)menubmp.bmp.get());
// 1040, 0, 240, 720, hWnd, 0);
SetWindowBkColor(hStaticWnd1.handle, 0x7f1d233a);
hButton1.Create("button",
"",
WS_CHILD | BS_NOTIFY | BS_BITMAP | WS_VISIBLE | BS_NOBORDER
| WS_EX_TRANSPARENT,
// WS_CHILD | BS_NOTIFY | BS_BITMAP | WS_VISIBLE | BS_NOBORDER,
IDC_BUTTON1,
80, 20, 80, 120, hStaticWnd1.handle, (DWORD)btnbmp1.bmp.get());
SetWindowBkColor(hButton1.handle, 0x7f1d233a);
}
如图,右边蓝色是个 static
标签,上面贴有一个带透明的按钮,但是透明部分没有和背景融合,也设置了背景颜色,仍然不行。
4.0版本中,在proc模式下,对某一进程的主窗口使用ShowWindow(SW_HIDE)后会出现无法接收由服务器程序发送的消息的情况,请问这是为什么?
I created an esay encapsulation that each widget will release automatically.
struct WidgetType {
WidgetType() {}
WidgetType(const char* spClassName,
const char* spCaption, DWORD dwStyle, LINT id,
int x, int y, int w, int h, HWND hParentWnd,
DWORD dwAddData)
{
Create(spClassName, spCaption, dwStyle, id,
x, y, w, h, hParentWnd, dwAddData);
}
~WidgetType()
{
Destroy();
}
void Create(const char* spClassName,
const char* spCaption, DWORD dwStyle, LINT id,
int x, int y, int w, int h, HWND hParentWnd,
DWORD dwAddData)
{
CHECK_EQ_F(handle, nullptr, "handle is not nullptr");
handle = CreateWindow(spClassName, spCaption, dwStyle, id,
x, y, w, h, hParentWnd, dwAddData);
}
void Destroy()
{
if (handle != nullptr)
DestroyWindow(handle);
handle = nullptr;
}
bool Empty()
{
return handle == nullptr;
}
/* data */
HWND handle = nullptr;
};
but is seems weird that some button caused a double free when I was closing the window:
GUI>Window: MainWindowThreadCleanup called: 0x6cb660 ((null))
GUI>Window: Message queure is freed: 0x6cb660 ((null))
*** Error in `/home/garrick/workspace/cpp/minigui_demo/build/minigui_demo': double free or corruption (!prev): 0x00000000006cd270 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ffff64f47e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7ffff64fd37a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7ffff650153c]
/home/garrick/workspace/cpp/minigui_demo/3rdparty/lib/libminigui_ths-3.2.so.0(+0x5c98c)[0x7ffff798498c]
/home/garrick/workspace/cpp/minigui_demo/3rdparty/lib/libminigui_ths-3.2.so.0(DestroyWindow+0x31)[0x7ffff79d8641]
/home/garrick/workspace/cpp/minigui_demo/build/minigui_demo(_ZN10WidgetType7DestroyEv+0x33)[0x495cd5]
/home/garrick/workspace/cpp/minigui_demo/build/minigui_demo(_ZN10WidgetTypeD1Ev+0x18)[0x495a8c]
/lib/x86_64-linux-gnu/libc.so.6(+0x39ff8)[0x7ffff64b6ff8]
/lib/x86_64-linux-gnu/libc.so.6(+0x3a045)[0x7ffff64b7045]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf7)[0x7ffff649d837]
/home/garrick/workspace/cpp/minigui_demo/build/minigui_demo(_start+0x29)[0x45f279]
should I need to destroy the button manually ?
有一份比较早期的minigui文档提到了窗口可以添加WS_MINIMIZE参数,让窗口可以最小化
然而3.0版本的文档则去掉了这部分,是否去掉了窗口可以最小化的功能?
因为我打算在proc模式下,做一个和演示中的mginit类似的桌面,可以将窗口最小化到任务栏(类似windows那种),但是似乎找不到可以最小化的方法
使用ShowWindow(hwnd,SW_HIDE)隐藏程序主窗口的话,窗口就不能再接收服务端发送的消息了
所以想请教下,是否在新版本中取消了窗口最小化的功能?
wayland is popular, in case of be compatible and easier hardware accel, support wayland in minigui will be grateful
In my project, base mgncs
, I design a dynamic define variable mechanism for a mWidget
instance ,so called "Widget Local",
see my blog for detail : https://blog.csdn.net/10km/article/details/81666413 .
I think it's a useful feature for general application design. Although my code is base mgncs
,but it's easy to modify for minigui
, if you think necessary ,I can contribute it for minigui
. also if minigui
have implemented alternative mechanism , please tell me.
我将miniGUI4.0.2编译安装后,编译helloworld,提示:“undefined reference to __hb_extern_get_unicode_funcs'”这个问题,即使我在gcc编译中添加-lharfbuzz,依然有这个问题 请问这是怎么回事 具体报错内容: /usr/local/lib/libminigui_procs.so: undefined reference to
__hb_extern_get_unicode_funcs'
MiniGUI 这名字乍一看会让人觉得这个框架不强大(mini)的感觉,对你们推广这个工具没什么好处,所以建议MiniGUI 更名
Need add macro QT_VERSION 4.8
And Key defines are different.
Maybe can be add to formal git resp.
__mg_update_dc_on_surface_changed 应该是在这里的更新为新的main win的surfce, 但是好像只有 privCDC 才会被更新
在allwinner T3的平台上,使用1024x600,32位分辨率是没有问题的
但是在sunplus平台上,屏幕分辨率是800*1280(竖屏),只要在MiniGUI.cfg文件中设置32bpp就会完全黑屏(执行程序会刷新整个屏幕为黑色,如果缩小分辨率,也会刷新这个分辨率区域内的黑屏)
在8bpp、16bpp、24bpp下可以显示画面,但是颜色不正常,而且有缩小显示范围的情况(目前确认屏幕和平台都是32位色模式)
请问这是什么原因所导致的?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.