minigui/mgncs:双缓冲区实现窗口推拉特效

minigui框架提供了窗口双缓冲区机制,利用这个机制可以实现窗口显示特效。不是所有的窗口都可以利用双缓冲区实现显示特效,窗口必须具备WS_EX_AUTOSECONDARYDC扩展窗口风格。所以下面的函数中首先就是判断窗口是否有WS_EX_AUTOSECONDARYDC扩展窗口风格。 使用min...

2018-12-11 11:58:16

阅读数:34

评论数:0

minigui 3.2.0:直接访问framebuffer的方法及示例

在做嵌入式应用程序开发时,有的场景下因为要追求图像显示效率,需要直接访问framebuffer,比如更流畅的视频显示。基于minigui框架的应用程序该如何访问framebuffer呢? 最近就在为这个事儿头疼, 之前在设计时,视频输出是将一帧图像解码为BITMAP后作为窗口的背景画到屏幕上,这...

2018-10-30 23:19:09

阅读数:692

评论数:2

minigui 3.2.0:通过环境变量修改minigui的运行参数

在运行环境中可以通过设置环境变量来改变MiniGUI的一些运行参数。这为应用程序部署提供了很大的便利性。 但在使用3.2.0版本时,发现这些参数名全部都无效,查看MiniGUI 3.2.0的源码,才知道升级后为了环境变量命名规范化考虑,这些环境变量名全部都改名了:转为大写,并加了`MG_`前...

2018-10-27 00:54:53

阅读数:502

评论数:0

minigui:自定义字体文件的安装位置(install location for custom font)

我们的基于minigui的嵌入式系统项目中使用了True Type字体,原以以为只要把字体文件放在当前路径下的字体文件夹下就可以了res/font,但实际运行时报错了: NEWGAL>PCXVFB: /usr/local/bin/gvfb 12695...

2018-10-25 16:27:25

阅读数:70

评论数:0

minigui:解决gvfb编译报错undefined reference to symbol 'XkbGetIndicatorState'

minigui在linux PC平台创建开发环境时,需要Virtual Frame Buffer 支持(gvfb,qvfb),minigui官网提供了这两个程序的源码,需要自己下载编译并安装到自己的PC上。 我用的是gvfb,minigui下载地址:http://www.minigui.org/...

2018-10-25 15:16:45

阅读数:82

评论数:0

minigui 3.2.0:对mgncs剪裁遇到的问题error: The pkg-config script could not be found or is too old.

考虑到嵌入式平台的存储和运行空间都有限,在向目标平台移植时肯定要对minigui及其组件进行剪裁,删除掉不需要的功能和特性,以缩小程序体积,对mgncs做剪裁时遇到了一个非常奇怪的问题,虽然解决了,但现在也没找到根本原因: 根据configure --help的提示使用--enable-fash...

2018-10-25 13:59:26

阅读数:71

评论数:0

minigui:mgplus交叉编译警告 include location "/usr/include/freetype2" is unsafe for cross-compilation

今天在交叉编译mingui的mgplus组件库时输出了一个警告: mips-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -D__MGPLUS_LIB__ -I.. -I../agg -I../../include -I../agg/font_freetyp...

2018-10-16 15:08:02

阅读数:74

评论数:0

minigui:mips平台交叉编译报错error: include location "/usr/include/" is unsafe for cross-compilation

今天在对minigui做交叉编译,下面是编译的部分脚本 ./configure \ --host=$host \ --with-runmode=ths \ --prefix=$_prefix \ || exit -1 make -j8 || exit -1 如果不做交叉编译,host指...

2018-10-15 15:17:32

阅读数:126

评论数:0

minigui:静态编译连接mgncs库时遇到的xml2的问题

最近做一个基于minigui/mgncs的项目,在开发阶段因为是在ubuntu下基于minigui的模拟器开发,所以编译时都是标准的动态库连接。没啥问题,很顺序。 现在项目功能开发告一段落,要向嵌入式平台移植了,就要把编译改为全静态连接(--static)。问题就来了。 编译正常,连接时报了如下一...

2018-10-14 15:33:09

阅读数:76

评论数:0

minigui:增加__mg_save_jpg保存JPEG格式图像

minigui 库中有SaveBitmapToFile和SaveMyBitmapToFile可以将一个(BITMAP或MYBITMAP)图像对象存储为文件。然而图像格式只支持bmp(libminigui-3.2.0)。 但嵌入式平台上存储空间有限,我确实需要存储为JPEG啊。 怎么办?自己撸一...

2018-09-04 17:29:07

阅读数:111

评论数:0

minigui/mgncs:自定义渲染器(renderer)实现透明背景按钮(transparent button)

一般来说,对于mStatic,mImage这样的控件,只要设置了透明属性(transparent=true),就可以实现背景透明,但对于mButton按钮却不行,即使设置了透明属性,也不能实现透明背景。 miniStudio中对按钮设置透明属性示例: 这是为什么呢?通过跟踪minigui/...

2018-08-30 14:47:36

阅读数:144

评论数:0

minigui/mgncs:利用LoadBitmapFromMem函数对摄像头MJPEG格式图像解码

可能与虚拟机有关,在virtualbox虚拟机环境下,即使VIDIOC_S_FMT设置了pixelformat为RGB或YUV,通过v4l2视频驱动框架读取摄像头帧图像的格式总是MJPG。 MJPG是什么格式?以下说明摘自百度百科: MJPEG全名为 “Motion Joint Phot...

2018-08-29 00:35:09

阅读数:151

评论数:0

minigui/mgncs:使用哈希表(HashTable)实现窗口局部变量(Widget Local)机制

需求说明 在程序程序UI界面设计的时候,经常会遇到这样的情形,需要一个临时变量来保存一个值,这个值还会被窗口的其他消息响应函数用到,窗口销毁这个变量也就没有用了,也就是说这个变量只在窗口生命周期存在,类比线程局部变量(Thread Local)的概念,我们可以把它叫做窗口局部变量(Widget ...

2018-08-14 14:46:46

阅读数:90

评论数:0

minigui/mgncs:数据绑定(databinding)的应用

所谓数据绑定(databinding)是面向对象程序设计言(OOP)的一种系统设计方法,一些高级语言(比如java)开发框架(比如jface)就提供了数据绑定功能。就是在不同的对象之间建立事件(event)驱动的一种关联,当一个对象的数据发生变化时另一个对象的数据同步发生变量而不需要人为设计和干预...

2018-08-08 15:40:16

阅读数:97

评论数:0

minigui/mgncs 1.2.0:解决miniStudio生成的渲染器(renderer)设置文本颜色无效问题

最在用miniStudio设计UI,我的minigui升级到了3.2.0,libmgncs版本是1.2.0,但在使用渲染器设置文字颜色时出了问题。 如下,我只是想做一个黑底白字的效果,所以用渲染器指定了字体颜色为白色,背景为黑色。 然而,程序实际运行的时候却是这样的,说好的白色呢? ...

2018-07-22 17:41:46

阅读数:123

评论数:0

minigui/mgncs:解决Spinbox字体设置无效问题

minigui/ncs控件集中的Spinbox控件存在一个问题,如下图,即使设置了字体,在运行时也不会应用指定的字体。 通过查看libmgncs-1.2.0的源码,找到了原因,Spinbox控件中用于显示数字的子控件是SLEdit, 以下是mSpinBox.c代码片段,createBody...

2018-07-21 18:11:11

阅读数:228

评论数:0

minigui 3.2.0:基于miniStudio应用TrueType字体的过程(2)-字体边缘锯齿,字库剪裁

CSDN好像有问题,文章中图片太多无法继续增加图片,所以文章分两个部分:上半部分地址: 《minigui 3.2.0:基于miniStudio应用TrueType字体的过程(1)》,下半部分用MarkdownPad2编辑,使用MarkdownPad2内置的图床,可能显示图片会有些慢。 Tr...

2018-07-19 13:53:03

阅读数:216

评论数:0

minigui 3.2.0:基于miniStudio应用TrueType字体的过程(1)

学习MiniGUI上使用TrueType字体时,在网上找了好多文章,总算是搞定了。不过话说这世界变化快,minigui也在更新迭代,这些文章大都是2年前写的,看这些文章对我入门有帮助,不过也被一些过时的内容坑了不次。在这里做将我的过程做一个记录以备用。 新版本 MiniGUI 3.2.0 ...

2018-07-19 10:55:42

阅读数:540

评论数:0

minigui:基于GetTabbedTextExtentPoint 计算多行文本显示的矩形尺寸

当我们想知道一个字符串在屏幕上显示所占的区域大小,该怎么实现呢? minigui提供了GetTabbedTextExtentPoint函数用于计算一个字符串在屏幕显示的时候实际的显示区域大小.下面是GetTabbedTextExtentPoint 的函数声明(declared in minigu...

2018-07-10 13:15:14

阅读数:95

评论数:0

minigui:获取屏幕分辨率(GetGDCapability)

MiniGUI下获取屏幕分辨率用 unsigned int GetGDCapability (HDC hdc, int iItem) // 屏幕宽度 int screen_width = GetGDCapability(HDC_SCREEN,GDCAP_HPIXEL); // 屏幕高度 int...

2018-07-09 09:49:57

阅读数:150

评论数:0

提示
确定要删除当前文章?
取消 删除