Giter Site home page Giter Site logo

zlgopen / awtk Goto Github PK

View Code? Open in Web Editor NEW
3.0K 176.0 757.0 217.22 MB

AWTK = Toolkit AnyWhere(a cross-platform embedded GUI)

License: GNU Lesser General Public License v2.1

Python 1.26% C 65.30% C++ 28.53% CMake 0.32% Objective-C 1.37% Makefile 0.12% M4 0.19% Shell 0.67% Batchfile 0.01% JavaScript 0.15% PHP 0.01% HTML 0.03% Java 0.29% PowerShell 0.02% Roff 0.01% Perl 0.14% Metal 0.01% Scala 0.01% SuperCollider 0.01% Assembly 1.57%
gui stm32 sylixos rt-thread djyos zephyr liteos ms-rtos embedded

awtk's Introduction

Welcome to GitHub Pages

You can use the editor on GitHub to maintain and preview the content for your website in Markdown files.

Whenever you commit to this repository, GitHub Pages will run Jekyll to rebuild the pages in your site, from the content in your Markdown files.

Markdown

Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for

Syntax highlighted code block

# Header 1
## Header 2
### Header 3

- Bulleted
- List

1. Numbered
2. List

**Bold** and _Italic_ and `Code` text

[Link](url) and ![Image](src)

For more details see GitHub Flavored Markdown.

Jekyll Themes

Your Pages site will use the layout and styles from the Jekyll theme you have selected in your repository settings. The name of this theme is saved in the Jekyll _config.yml configuration file.

Support or Contact

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.

awtk's People

Contributors

b4yuan avatar dependabot[bot] avatar fandelxiong avatar qianfan-zhao avatar ronanj avatar soyzhct avatar suzp1984 avatar xianjimli avatar yangjuncode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awtk's Issues

image控件中draw_type与动画不兼容

比如draw_type= IMAGE_DRAW_DEFAULT,animation="rotation(from=0, to=3.14*2, yoyo_times=0, duration=1000)",

实际现象是图片初始位置在左上角,会移动到居中位置后才开始旋转,旋转一轮后又恢复到左上角,如此重复。理论上图片不应该有从左上角移动到居中位置的动作。

edit控件按下删除键(x)时,不会触发EVT_VALUE_CHANGING事件

【问题描述】edit控件按下删除键(x)的时候,不会触发EVT_VALUE_CHANGING事件,按下其他键例如a-z则会触发

【初步分析】我这边试了一下在edit.c文件中的edit_delete_prev_char和edit_delete_next_char函数下添加:edit_dispatch_event(widget, EVT_VALUE_CHANGING);就可以了,不知道这样是否可行

希望主题Theme和样式Style可以动态创建,动态绑定到控件

目前Theme和Style只能预先在xml里面描述好,在程序Init的时候加载到管理器
但程序运行中途无法动态增加新的样式,或修改样式,并立即应用到Widget上

这样在某些情况下使用不够方便,比如根据用户选择的颜色,动态修改一个Widget的背景色

动画系统中发现的两个问题

1,动画系统需要设置可以无限循环播放
2,动画对象在播放完成后会被自动销毁,但使用时并不知道对象是否已经被销毁,继续调用动画系统函数操作该动画对象会导致崩溃

stm32f103ze之类的低配置平台是否支持demoui的样式工程?

你好,想请问stm32f103ze之类的低配置平台是否支持demoui的样式工程?我现在使用开发板放入asset.c和demo_ui_app.c来测试,程序可以很顺利的进入主界面,以及各个子界面,但是当点击close退出 Basic,Edits等子窗口时,主界面不会刷回正常界面,只会显示点击进入界面的按钮
图1 启动进入主界面
default

图2 进入basic control界面
basic control

图3 按close退出后主界面显示,显示有问题
close

没有定义软键盘keyboard.xml的情况下,点击edit控件会崩溃

【问题描述】

如果不将awtk下assets\raw\ui\kb_default.xml、assets\raw\styles\keyboard.xml以及键盘用到的图片复制到demo的目录下,点击edit控件会奔溃

假如每次创建demo的时候,如果需要使用键盘都需要从awtk目录下复制keyboard.xm或者kb_***.xml,不知道是否不方便或者还有其他更好的方法我还不知道?或者能否创建edit控件的时候有个默认的键盘?

【初步分析】input_method_default.inc文件下的input_type_open_keyboard()判断逻辑可能存在问题

最新代码配合awtk-linux-fb启动奔溃

awtk版本:
commit 4dc0d22
Date: Fri Oct 26 07:38:08 2018 +0800

awtk-linux-fb版本:
commit d341737f678987b6f000f1bb7fadaaa9b93ed364
Date: Wed Oct 24 17:58:43 2018 +0800

启动打印:
/mnt/project/awtk-linux-fb/release/bin # ./demoui
fb_info_t: /dev/fb0
fb_info_t: xres=1280 yres=720 bits_per_pixel=32 mem_size=1843200
fb_info_t: red(16 8) green(8 8) blue(0 8)
xres_virtual =1280 yres_virtual=720 xpanstep=1 ywrapstep=0
Build at: Oct 26 2018 10:03:10
window preload open
Segmentation fault (core dumped)

栈回溯信息
Core was generated by `./demoui'.
Program terminated with signal 11, Segmentation fault.
#0 0x000100f8 in tk_memcpy32 (dst=0xb6a02000, src=, size=228352) at awtk/src/base/utils.c:365
365 *d++ = *s++;
(gdb) bt
#0 0x000100f8 in tk_memcpy32 (dst=0xb6a02000, src=, size=228352) at awtk/src/base/utils.c:365
#1 0x00010158 in tk_pixel_copy (dst=dst@entry=0xb6a02000, src=src@entry=0xb683f008, size=, bpp=) at awtk/src/base/utils.c:380
#2 0x0005371c in soft_copy_image (dst=0xbef6b8f0, src=0xbef6b920, src_r=0x20c720, dx=, dy=0) at awtk/src/blend/soft_g2d.c:67
#3 0x00051a50 in lcd_mem_flush (lcd=0x20c678) at awtk/src/lcd/lcd_mem.inc:305
#4 0x0004fdf0 in lcd_linux_fb_flush (lcd=) at awtk-port/lcd_linux_fb.c:149
#5 0x0002fc88 in lcd_end_frame (lcd=) at awtk/src/base/lcd.c:194
#6 0x0002a0bc in canvas_end_frame (c=c@entry=0x1aac24 <s_main_loop_simple.9557+36>) at awtk/src/base/canvas.c:919
#7 0x00015e34 in window_manager_paint_normal (c=0x1aac24 <s_main_loop_simple.9557+36>, widget=0x20c528) at awtk/src/base/window_manager.c:305
#8 window_manager_paint (widget=0x20c528, c=c@entry=0x1aac24 <s_main_loop_simple.9557+36>) at awtk/src/base/window_manager.c:394
#9 0x00050668 in main_loop_simple_run (l=0x1aac00 <s_main_loop_simple.9557>) at awtk/src/main_loop/main_loop_simple.c:167
#10 0x00023abc in tk_run () at awtk/src/awtk.c:153
#11 0x00009928 in main () at awtk/demos/demo_main.c:72

控件“switch”显示在list_view外

问题描述:往list_item控件中增加“switch”控件,在scroll_view滚动超出list_view的显示范围后,“switch”显示在“list_view”的上方,这个问题在pc模拟器上出现,在开发板上没有出现。

使用SDL模式时,点击demoui的Tab Control模块下的List按钮会崩溃

崩溃断点在SDL内部的D3D绘图驱动里面,
但经过验证,可能是由于canvas.c中友很多绘图函数,多处地方判断条件是
y > c->clip_bottom,
x > c->clip_right
导致刚好lcd缓存溢出一个像素,最终导致绘图驱动越界崩溃
正确判断方法应该是 y >= c->clip_bottom,x >= c->clip_right

编译器问题

麻烦问一下您在windows下面编译模拟器使用的VS版本,经常遇见更新以后使用VS的CL编译有些小的编译问题,但是在ARM9开发板上gcc编译正常。
如图为VS2017版本的CL编译器编译的错误信息,但是gcc编译是正常的。
image

能否支持单点按键?

您好,我们的系统是否可以支持单点按键的交互?目前的系统好像只支持触摸屏方式的交互。

imagegen 编译资源报错

更新到最新版本imagegen后发现编译报错,具体如下:
(base) F:\sourcecode\awtk\original\awtk_new>F:\sourcecode\awtk\original\awtk_new\bin\imagegen.exe F:\sourcecode\awtk\original\awtk_new\demos\assets\raw\images\x1\anib.png F:\sourcecode\awtk\original\awtk_new\demos\assets\inc\images\anib.data bgra|bgr565
'bgr565' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

将bgra|bgr565改成bgra+bgr565后可以正常编译
(base) F:\sourcecode\awtk\original\awtk_new>F:\sourcecode\awtk\original\awtk_new\bin\imagegen.exe F:\sourcecode\awtk\original\awtk_new\demos\assets\raw\images\x1\anib.png F:\sourcecode\awtk\original\awtk_new\demos\assets\inc\images\anib.data bgra+bgr565
done

vgcanvas_null.c 函数名定义有问题,导致引用vgcanvas_null.c编译失败

vgcanvas_null.c 函数名定义有问题,
目前是定义成
vgcanvas_t* vgcanvas_create(uint32_t w, uint32_t h, bitmap_format_t format, void* buff) {
(void)w;
(void)h;
(void)format;
(void)buff;
return NULL;
}
改成 以下正常
vgcanvas_t* vgcanvas_create(uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format,void* data)
{
(void)w;
(void)h;
(void)stride;
(void)format;
(void)data;
return NULL;
}

VS2012下模拟仿真出现以下错误

3rd\gtest\googletest\include\gtest/gtest-printers.h(670) : error C2977: “std::t
uple”: 模板 参数太多
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\utility(7
3) : 参见“std::tuple”的声明

demoui的KeyBoard模块,不断弹出隐藏软键盘时,有几率崩溃

使用SDL模式测试时,发现demoui的KeyBoard模块,不断弹出隐藏软键盘时,有几率崩溃

操作步骤:
1,启动demoui,进入KeyBoard模块
2,不断重复操作:点击Overlap的输入框,弹出键盘,直接点击Close按钮隐藏键盘

另外一种操作步骤:
1,启动demoui,进入KeyBoard模块
2,点击Overlap的输入框,弹出键盘,
3,鼠标左键点击界面上的空白处,不放左键,拖动鼠标到Close按钮后,再放开

软键盘需要增加一个切换“中文/英文“的按钮

在输入文本的edit控件弹出的键盘,目前默认都是输入中文输入法的
如果要输入英文,必须先把英文输入到候选字栏,再按确认键把英文送到edit控件
用起来不是很方便

希望和android那样,添加一个“中文/英文”切换按钮,可以切换输入法模式,或直接输入英文模式

stm32f429需要移植文件系统吗

stm32f429需要给SD卡移植文件系统吗,需要往SD卡里放文件吗,用你的stm32f429的程序,下到板子里一直处在loading的界面

无法选择多于3个的radio_button

问题的描述是这样的:在scroll_view增加一组radio_button(多于3个)后,第1个、第2个、第3个radio_button可以选中,第4个或之后的radio_button就无法选中了。是不是新提交代码后无法支持多于3个radio_button的组还是其他原因,因为前面的提交是可以的。

能不能增加一些调试手段的说明文档

你好,能不能增加一些调试手段的说明文档?移植过程中发现内存不足,定义失误的一些错误,由于没有log,断言之类的调试手段很难定位问题点。

lcd_reg.inc是否也可以支持draw_image_matrix函数?

你好,lcd_reg.inc是否也可以支持draw_image_matrix函数?现在调用 Guang模式时发现 guage->pointer_image无法显示,跟踪代码发现
ret_t lcd_draw_image_matrix(lcd_t* lcd, draw_image_info_t* info) {
return_value_if_fail(lcd != NULL && info != NULL, RET_BAD_PARAMS);
if (lcd->draw_image_matrix != NULL) {
return lcd->draw_image_matrix(lcd, info);
}
return RET_NOT_IMPL;
}
lcd->draw_image_matrix 在 lcd_reg.inc中是没有定义的

src\assets\raw\styles\default.bin文件不会重新生成

【问题描述】在做一个仪表盘Meter-Demo的时候,如果改变styles\default.xml,通过python脚本调用themegen.exe不会重新default.bin,提示信息如下: Skip because: E:\awui\awui_projects\Meter-Demo\src\assets\raw\styles\default.bin is newer than E:\awui\awui_projects\Meter-Demo\src\assets\raw\styles\default.xml

【初步分析】awtk\tools\common\utils.c文件中的exit_if_need_not_update()函数下的:if (st_in.st_mtime < st_out.st_mtime || st_in.st_atime < st_out.st_mtime)判断逻辑可能有点问题

建议改为只要时间不同,都重新生成

demoui的KeyBoard模块,键盘刷新有问题

操作步骤:
1,启动demoui后,进入KeyBoard模块
2,点击Overlap输入框,弹出键盘,再直接点击Password输入框
3,会发现之前Overlap那个键盘有残留,没有刷新干净

widget_on_paint_begin中消息类型搞错了

 src/base/widget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/base/widget.c b/src/base/widget.c
index d2551cad..50bbad40 100644
--- a/src/base/widget.c
+++ b/src/base/widget.c
@@ -941,7 +941,7 @@ ret_t widget_on_paint_begin(widget_t* widget, canvas_t* c) {
   }
 
   e.c = c;
-  e.e = event_init(EVT_AFTER_PAINT, widget);
+  e.e = event_init(EVT_BEFORE_PAINT, widget);
   widget_dispatch(widget, (event_t*)(&e));
 
   return ret;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.