文章分类 -  AWTK

上一页 1 2 3 4 5 6 7 8 9 下一页
LCD 接口的四种实现方式
摘要:LCD 接口的四种实现方式 LCD 是对显示设备的抽象,提供了基本的绘图函数。自己去实现 LCD 接口虽然不难,但是需要花费不少功夫,AWTK 提供了几种缺省的实现,利用这些缺省的实现,在移植到新的平台时,一般只需要很少的代码就行了。 下面我们介绍一下几种常见的 LCD 实现方式: 1. 基于寄存器 阅读全文
posted @ 2024-11-12 14:05 AtlasLapetos 阅读(32) 评论(0) 推荐(0)
控件布局器 (layouter)
摘要:控件布局器 (layouter) 一、为什么需要控件布局器 (layouter) 如果界面上元素是预先知道的,而且窗口的大小也是固定的,通过可视化的工具,以所见即所得的方式,去创建界面是最轻松的方式。但是在下列情况下,使用布局参数是更好的选择。 需要适应不同大小的屏幕。 窗口的大小可以动态调整的。 阅读全文
posted @ 2024-11-12 14:03 AtlasLapetos 阅读(15) 评论(0) 推荐(0)
输入法
摘要:输入法 输入法是 GUI 重要的组件之一,虽然实现起来并不是太复杂,但其涉及的组件比较多,理解起来还是比较困难的,这里介绍一下 AWTK 中输入法的内部架构。 overview 一、软键盘 在嵌入式系统中,通常没有物理键盘,所以需要在屏幕上实现软键盘。AWTK 中的软键盘是一个普通的窗口,其中的按钮 阅读全文
posted @ 2024-11-12 14:02 AtlasLapetos 阅读(30) 评论(0) 推荐(0)
输入事件处理流程
摘要:输入事件处理流程 本文介绍一下 AWTK 中 Pointer 事件和 Key 事件的处理流程。 一、事件处理的三个阶段 第一阶段:子控件处理前。 控件内部实现时,可以重载 on_event_before_children 处理这个阶段的事件。 应用程序开发者可以注册 XXX_BEFORE_CHILD 阅读全文
posted @ 2024-11-12 14:02 AtlasLapetos 阅读(19) 评论(0) 推荐(0)
AWTK 中的图片显示方式
摘要:AWTK 中的图片显示方式 一、显示方式 AWTK 提供了多种图片显示方式: 居中显示 (center)。将图片按原大小显示在目标矩形的中央。 缩放显示 (scale)。将图片缩放至目标矩形的大小(不保证宽高成比例)。 自动缩放显示 (scale_auto)。将图片缩放至目标矩形的宽度或高度(选取最 阅读全文
posted @ 2024-11-12 14:01 AtlasLapetos 阅读(32) 评论(0) 推荐(0)
如何在窗体样式文件中写控件布局参数
摘要:如何在窗体样式文件中写控件布局参数 一个控件在多个界面出现,而且它的布局参数是一样的,可以把它布局参数放到 style 中,这样可以提高可维护性。 一、在 style 中指定布局参数 控件自身布局参数使用 self_layout 属性指定。请参考 控件布局参数文档 子控件布局参数使用 childre 阅读全文
posted @ 2024-11-12 14:00 AtlasLapetos 阅读(7) 评论(0) 推荐(0)
如何用 valgrind 查找内存相关问题
摘要:如何用 valgrind 查找内存相关问题 valgrind 是 Linux 下一个强大的内存调试工具,特别擅长查找内存越界、内存泄露和野指针等问题,所有的程序都应该在 valgrind 上运行一下,把各种潜在的问题暴露出来,在出现莫名其妙的奔溃时,更是应该借助 valgrind 来快速定位问题。 阅读全文
posted @ 2024-11-12 13:59 AtlasLapetos 阅读(32) 评论(0) 推荐(0)
如何使用 stb 外部硬件 YUV 转 RGB
摘要:如何使用 stb 外部硬件 YUV 转 RGB AWTK 解码图片是使用 stb 类库来解码的,但是 stb 的内部是软解码的,而且 jpg 一般都是使用 yuv 的颜色空间的,所以在 stb 解码 jpg 的时候,往往需要把 yuv 的颜色空间转化为 rgb 的颜色空间,但是传统的软转换效率会比较 阅读全文
posted @ 2024-11-12 13:59 AtlasLapetos 阅读(20) 评论(0) 推荐(0)
如何使用 packed 图片
摘要:如何使用 packed 图片 1 介绍 有时我们把多张小图片打包成一张大图片,这种做法在游戏行业和串口屏经常使用。这样做有以下几个原因: 美术做图方便。 现存的资源就是这样,懒得去切图。 在有 GPU 的时候,可以在一定程度提高性能。 最新的 AWTK 对 packed 图片提供了支持。本文介绍一下 阅读全文
posted @ 2024-11-12 13:58 AtlasLapetos 阅读(12) 评论(0) 推荐(0)
在自定义控件中使用 offset 的注意事项
摘要:在自定义控件中使用 offset 的注意事项 当用户自己写自定义控件的时候,如果需要该自定义控件实现滚动效果效果的时候,此时需要引入一个 offset 的概念(水平方向用 xoffset,垂直方向用 yoffset),在控件中通过 offset 的变化来移动控件的子控件的位置到指定的区域中显示,从而 阅读全文
posted @ 2024-11-12 13:57 AtlasLapetos 阅读(40) 评论(0) 推荐(0)
如何使用多点触控
摘要:如何使用多点触控 AWTK 提供的多点触控功能主要是为了给用户提供多点触控的基本数据,方便用户开发多点触控的控件或者应用。 一,多点触控的类型 AWTK 一共提供了两种多点触控的类型,分别是获取手指 ID 的可识别手指类型的多点触控和不可以获取手指 ID 的不可识别手指类型的多点触控,下表为两者的区 阅读全文
posted @ 2024-11-12 13:56 AtlasLapetos 阅读(54) 评论(0) 推荐(0)
如何使用硬件图像解码
摘要:如何使用硬件图像解码 AWTK 默认采用 stb 库进行软件图像解码,全靠 CPU 计算。硬件解码是指将图像解码的工作分配给专门的硬件来处理,减轻 CPU 的计算量,从而提高图像绘制的性能。 1 AWTK 解码图片的流程 不同平台的解码流程可能会有区别,在 AWTK 中,用户需要自己实现硬件解码的接 阅读全文
posted @ 2024-11-12 13:53 AtlasLapetos 阅读(45) 评论(0) 推荐(0)
如何使用高效的屏幕旋转
摘要:如何使用高效的屏幕旋转 在实际的开发中,屏幕的选择会受到成本、供应商以及效果等因素的限制,某些情况下,需要旋转应用来适应屏幕。 AWTK 默认提供了一种基于图像旋转的屏幕旋转功能,该功能的兼容性好,但是效率比较低,而且很吃资源和内存。 现在 AWTK 额外提供一种全新的高效旋转机制来解决上述问题,该 阅读全文
posted @ 2024-11-12 13:52 AtlasLapetos 阅读(115) 评论(0) 推荐(0)
如何使用对话框
摘要:如何使用对话框 对话框有模态和非模态两种,具体用法如下: 一、非模态对话框 非模态对话框的使用方法与普通窗口完全一样,只是对话框的大小和位置可以改变。通常情况下,尽量使用非模态对话框。 示例: 完整代码请参考: awtk-c-demos/demos/normal_dialog.c static re 阅读全文
posted @ 2024-11-12 13:50 AtlasLapetos 阅读(9) 评论(0) 推荐(0)
如何使用离线的 canvas
摘要:如何使用离线的 canvas canvas 在 awtk 中是画布的意思,而且用户常常是通过回调函数回去是在线 canvas 来进行绘图,但是在在线 canvas 上面画东西就会显示到屏幕上面。 为了解决用户离线画布的需求,所以 awtk 中提供了 canvas_offline_xxx 系列函数给用 阅读全文
posted @ 2024-11-12 13:50 AtlasLapetos 阅读(65) 评论(0) 推荐(0)
如何存取应用程序的配置信息
摘要:如何存取应用程序的配置信息 1. 介绍 AWTK 提供了 app_conf 接口,用于保存或读取应用程序的配置信息。其特点有: 线程安全,可以多线程访问。 观察者模式,配置变化时通知关注者。 统一接口,不用关注存储格式和存储介质。 接口支持多种数据类型,开发者无需在字符串和其它类型之间转换。 配置信 阅读全文
posted @ 2024-11-12 13:48 AtlasLapetos 阅读(13) 评论(0) 推荐(0)
如何使用软键盘上的 action 按钮
摘要:如何使用软键盘上的 action 按钮 android/iphone 等手机的软键盘上有一个特殊的键,这个键的功能和文字与当前的编辑密切相关,在不同的编辑器上,可能显示“发送”、“下一个”、“回车”,“关闭”,“清除”等。 1. 软键盘 AWTK 也支持类似的功能,我们把它称为 action 键,在 阅读全文
posted @ 2024-11-12 13:42 AtlasLapetos 阅读(79) 评论(0) 推荐(0)
如何引用第三方库
摘要:如何引用第三方库 本文基于 AWTK 模板工程介绍如何在 SCons 编译脚本中引用第三方库。 注:这里所说的 AWTK 模板工程指 AWTK Designer 创建的常规工程,工程目录下有一个 SConstruct 文件,它是 SCons 编译脚本,遵顼 Python 语法,下文中的操作基本都通过 阅读全文
posted @ 2024-11-12 13:41 AtlasLapetos 阅读(121) 评论(0) 推荐(0)
如何更新拼音输入法字典和联想字库
摘要:如何更新拼音输入法字典和联想字库 有的情况下,可能需要自己更新拼音输入法字典和联想词库。比如: 使用更好的字典数据。 去掉一些不需要的汉字。 使用更完善的联想字库。 1.更新拼音输入法字典 1.1 根据自己的需要编辑下列文件: 3rd/gpinyin/data/rawdict_utf16_65105 阅读全文
posted @ 2024-11-12 13:39 AtlasLapetos 阅读(30) 评论(0) 推荐(0)
AWTK 内存分配器支持多块不连续的内存。
摘要:AWTK 内存分配器支持多块不连续的内存。 在嵌入式系统中,可能有多块不连续的内存。AWTK 最新版本支持管理多个不连续的内存块。使用方法如下: 定义内存块数目 在 awtk_config.h 中定义: #define TK_MAX_MEM_BLOCK_NR 3 初始化内存 需要使用 tk_mem_ 阅读全文
posted @ 2024-11-12 13:38 AtlasLapetos 阅读(17) 评论(0) 推荐(0)

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