文章分类 -  AWTK

上一页 1 2 3 4 5 6 7 ··· 9 下一页
使用 serial_widget 简化串口编程
摘要:使用 serial_widget 简化串口编程 把串口做成一个控件并不是一个新鲜的东西,记得在 Visual Basic 里有个通信组件,就是用来简化串口编程的。最近 AWTK 也提供了这样一个控件 serial_widget,当串口数据到来时,它触发 EVT_DATA 事件,在该事件中你可以读取数 阅读全文
posted @ 2024-11-13 09:12 AtlasLapetos 阅读(8) 评论(0) 推荐(0)
menu 自身布局器 (self_layouter_menu) 介绍
摘要:menu 自身布局器 (self_layouter_menu) 介绍 1. 概述 用于确定菜单的位置和大小,菜单一般用 popup 窗口或 dialog 来实现。 缺省布局中有 5 个参数: x x 参数 y y 参数 w 宽度 h 高度 position 位置 2. 位置确定 2.1 缺省位置 由 阅读全文
posted @ 2024-11-13 09:12 AtlasLapetos 阅读(7) 评论(0) 推荐(0)
缺省的控件自身布局器 (self_layouter_default) 介绍
摘要:缺省的控件自身布局器 (self_layouter_default) 介绍 概述 缺省布局中有 5 个参数: x x 坐标 y y 坐标 w 控件宽度 h 控件高度 floating 是否为浮动布局。 如果设置为 true,该控件不受父控件的 children_layouter 的影响。 二、像素方 阅读全文
posted @ 2024-11-13 09:12 AtlasLapetos 阅读(5) 评论(0) 推荐(0)
SDL + OpenGL 使用笔记
摘要:SDL + OpenGL 使用笔记 AWTK 是一个嵌入式 GUI,为了开发方便,需要提供 PC 运行环境。我选择了 SDL2+OpenGL+nanovg 来实现底层的渲染,让 AWTK 可以运行在各个平台上。GLFW+OpenGL 也是一个不错的选择,但是 GLFW 没有 Android 和 iO 阅读全文
posted @ 2024-11-13 09:12 AtlasLapetos 阅读(295) 评论(0) 推荐(0)
AWTK 脚本绑定的实现原理 - lua 绑定
摘要:AWTK 脚本绑定的实现原理 - lua 绑定 脚本化是 AWTK 的一个基本功能。AWTK 计划支持嵌入式系统中常用的脚本,如 lua、python 和 jerryscript。脚本绑定说简单也简单,说复杂也复杂,采用 FFI(calling external C functions) 和 SWI 阅读全文
posted @ 2024-11-13 09:12 AtlasLapetos 阅读(10) 评论(0) 推荐(0)
如何启用屏保
摘要:如何启用屏保 屏保是一个普通窗口,定时切换不同的图片或者动态绘制一些图形,以到达保护屏幕的效果。 一、设置屏保定时器时间 用函数 window_manager_set_screen_saver_time 设置屏保时间。 /** * @method window_manager_set_screen_ 阅读全文
posted @ 2024-11-13 09:11 AtlasLapetos 阅读(7) 评论(0) 推荐(0)
将 AWTK 移植到 STM32f103ze 裸系统
摘要:将 AWTK 移植到 STM32f103ze 裸系统 AWTK 的可移植性很高,在移植时只需要实现平台初始化、lcd 和 mainloop 三个方面的东西。本文以 STM32f103ze 为例介绍移植 AWTK 到新平台的过程。 一、平台初始化 除了基本的libc函数外,AWTK对平台没有特别要求, 阅读全文
posted @ 2024-11-13 09:09 AtlasLapetos 阅读(21) 评论(0) 推荐(0)
将AWTK移植到AWorksOS平台
摘要:将AWTK移植到AWorksOS平台 AWTK的可移植性很高,在移植时只需要实现平台初始化、lcd和mainloop三个方面的东西。本文以aworks-rt1052平台为例介绍移植AWTK到新平台的过程。 一、平台初始化 除了基本的libc函数外,AWTK对平台没有特别要求,实现获取当前时间的函数g 阅读全文
posted @ 2024-11-13 09:09 AtlasLapetos 阅读(22) 评论(0) 推荐(0)
嵌入式平台移植注意事项
摘要:嵌入式平台移植注意事项 一、配置的宏 awtk_config.h /** * 嵌入式系统有自己的 main 函数时,请定义本宏。 * * #define USE_GUI_MAIN 1 */ /** * 如果需要支持预先解码的位图字体,请定义本宏。一般只在 RAM 极小时,才启用本宏。 * #defi 阅读全文
posted @ 2024-11-13 09:09 AtlasLapetos 阅读(28) 评论(0) 推荐(0)
用 picasso 实现 vgcanvas 遇到的一些问题。
摘要:用 picasso 实现 vgcanvas 遇到的一些问题。 颜色格式 SDL 的 Texture 为 SDL_PIXELFORMAT_RGBA8888 时,picasso 的 canvas 的格式要使用 COLOR_FORMAT_ABGR。 矩阵变换 矩阵变换存在两个问题: 在生成路径时,pica 阅读全文
posted @ 2024-11-13 09:09 AtlasLapetos 阅读(6) 评论(0) 推荐(0)
slide_view/pages 各个页面缺省的焦点控件
摘要:slide_view/pages 各个页面缺省的焦点控件 正常情况下,一个窗口只能指定一个初始焦点。 对于 pages/slideview 来说,在没有触摸屏的情况下,仅用键盘操作,可能希望每一个页面都有一个初始焦点,此时可以用 pages/slideview 的直接子控件 view 的属性 def 阅读全文
posted @ 2024-11-13 09:09 AtlasLapetos 阅读(13) 评论(0) 推荐(0)
内存耗尽处理流程
摘要:内存耗尽处理流程 当 AWTK 应用程序内存分配失败时,会做以下尝试: 释放最近 10 秒内没有用过的图片缓存,然后内存管理器再尝试分配内存。 释放全部图片缓存,然后内存管理器再尝试分配内存。 发出 EVT_LOW_MEMORY 事件,应用程序此时可以释放不必要的内存,然后内存管理器再尝试分配内存。 阅读全文
posted @ 2024-11-12 14:11 AtlasLapetos 阅读(20) 评论(0) 推荐(0)
优化 stb_truetype 在 mono 模式下的字体显示效果
摘要:优化 stb_truetype 在 mono 模式下的字体显示效果 stb_truetype 解析 ttf 字体文件时,输出的字模为灰度图,如果需要在mono模式下使用stb_truetype 则需要另外编写二值化算法。 一、stb_truetype 的二值化算法 AWTK 通过给定阈值实现 stb 阅读全文
posted @ 2024-11-12 14:11 AtlasLapetos 阅读(59) 评论(0) 推荐(0)
优化 freetype 解析矢量字体的显示效果
摘要:优化 freetype 解析矢量字体的显示效果 一、freetype 的缺陷 矢量字体(TrueType)通过数学曲线来描述字形,包含字形边界上的关键点、连线的导数信息等。 freetype 解析矢量字体的过程是将字形关键点按照规则连线变成字符轮廓,最后再将轮廓填充成点阵字。 很明显,在这个过程中, 阅读全文
posted @ 2024-11-12 14:10 AtlasLapetos 阅读(131) 评论(0) 推荐(0)
优化技巧
摘要:优化技巧 一、优化提示 memcpy 是最快的贴图方式,所以对于不透明的图片,尽量保持与 Framebuffer 一致的格式,这样可以直接使用 memcpy 贴图。 比如 FrameBuffer 的格式是 BGR565,请定义宏 WITH_BITMAP_BGR565。 背景图片使用 JPG 格式或者 阅读全文
posted @ 2024-11-12 14:10 AtlasLapetos 阅读(34) 评论(0) 推荐(0)
在 windows 下使用 gcc 编译 AWTK
摘要:在 windows 下使用 gcc 编译 AWTK 在 windows 下,如果不想使用 Visual C++编译,也可以使用 gcc 编译。具体方法如下: 1.根据实际情况下载不同的版本的 mingw 2.解压后将 路径 ${实际目录}/mingw64/bin 添加到系统环境变量 PATH 中。 阅读全文
posted @ 2024-11-12 14:09 AtlasLapetos 阅读(17) 评论(0) 推荐(0)
内存分配器
摘要:内存分配器 1. 介绍 mem_allocator 定义了内存分配器的基本接口 /** * @method mem_allocator_alloc * 分配指定大小的内存。 * * @param {mem_allocator_t*} allocator allocator 对象。 * @param 阅读全文
posted @ 2024-11-12 14:09 AtlasLapetos 阅读(32) 评论(0) 推荐(0)
键值映射
摘要:键值映射 AWTK 控件支持键值映射,也就是将一个键值转换成另外一个键值。 有的硬件平台只有四个方向和其它少数几个键。比如在 listview 界面,希望按 up/down 键时执行翻页的功能,此时可以把 up 键映射 pageup,把 down 映射成 pagedown。 如: <list_vie 阅读全文
posted @ 2024-11-12 14:08 AtlasLapetos 阅读(14) 评论(0) 推荐(0)
国际化之字符串翻译
摘要:国际化之字符串翻译 字符串翻译是 GUI 国际化时必须实现的功能之一,AWTK 没有选择 gettext 等第三方库,而是选择自己实现,主要出于以下几点考虑: 减少不必要的第三方库的依赖。运行时需要的代码也就几十行,自己实现更简单代码更少。 方便支持实时切换当前语言。自己实现字符串的翻译,不需要应用 阅读全文
posted @ 2024-11-12 14:07 AtlasLapetos 阅读(58) 评论(0) 推荐(0)
LCD 旋转
摘要:LCD 旋转 有时开发板上接的 LCD 方向和我们需要的不同,比如 LCD 缺省是横屏显示的,但我们需要竖屏的效果。如果无法通过修改硬件来实现旋转,就只能用软件来实现了。AWKT 目前对双帧缓冲的情况有完善的支持,对基于寄存器的 LCD 需要在驱动中进行配置。 注:旋转最好由硬件或驱动来做,否则性能 阅读全文
posted @ 2024-11-12 14:06 AtlasLapetos 阅读(46) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 9 下一页