Skip to content

Commit

Permalink
docs:updata
Browse files Browse the repository at this point in the history
  • Loading branch information
YobeZhou authored Nov 5, 2024
2 parents 084f3be + f192603 commit dd39aa3
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 60 deletions.
38 changes: 19 additions & 19 deletions docs/overview/style.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,23 +40,23 @@ border width, text color and so on. It's similar to a ``class`` in CSS.
<br>


"Styles" 用于设置对象的外观。lvgl中的样式受到CSS的启发。简而言之,概念如下
"Styles" 用于设置对象的外观。lvgl中的样式在很大程度上受到CSS的启发。简而言之,其概念如下

- 样式是一个 :cpp:type:`lv_style_t` 变量,它可以保存诸如边框宽度、文字颜色等属性。类似于CSS中的 ``class``。
- 样式是一个 :cpp:type:`lv_style_t` 类型的变量,它可以保存诸如边框宽度、文字颜色等属性。类似于CSS中的 ``class``。

- 样式可以分配给对象以改变它们的外观。在分配时,可以指定目标部分(CSS中的伪元素)和目标状态(伪类)。例如,当滑块处于按下状态时,可以为其添加 ``style_blue``。
- 样式可以分配给对象以改变它们的外观。在分配时,可以指定目标部分(CSS中的伪元素)和目标状态(伪类)。例如,当滑块处于按下状态时,可以将 ``style_blue``样式添加到滑块的旋钮上
- 同样的样式可以被任意数量的对象使用。
- 样式可以被级联,这意味着可以将多个样式分配给一个对象,每个样式可以具有不同的属性。因此,并非所有的属性都必须在一个样式中指定。
- 样式可以进行层叠,这意味着可以将多个样式分配给一个对象,每个样式可以具有不同的属性。因此,并非所有的属性都必须在一个样式中指定。
LVGL将在样式中搜索属性,直到找到定义该属性的样式,或者如果没有任何样式指定,则使用默认值。
例如, ``style_btn`` 可以生成默认的灰色按钮,而 ``style_btn_red`` 可以仅添加 ``background-color=red`` 覆盖背景颜色。

- 最近添加的样式具有更高的优先级。这意味着,如果一个属性在两个样式中都指定了,对象中最新的样式将被使用。

- 一些属性(例如文字颜色)可以从父级继承,如果没有在对象中指定的话
- 一些属性(例如文本颜色)如果在对象中未指定,则可以从父对象继承

- 对象也可以具有优先级比“正常”样式更高的本地样式
- 对象也可以具有局部样式,其优先级高于 “普通” 样式

- 与CSS不同(在CSS中,伪类描述不同的状态,例如 ``:focus`` ),在LVGL中,属性分配给了给定的状态。

Expand Down Expand Up @@ -238,7 +238,7 @@ will be light-gray.
<br>


在一个样式中并不需要设置所有的属性。可以给一个对象添加更多的样式,并且后添加的样式可以修改或扩展外观。例如,创建一个通用的灰色按钮样式,然后再创建一个红色按钮的新样式,只设置新的背景颜色
在一个样式中并不需要设置所有的属性。可以给一个对象添加更多的样式,并且后添加的样式可以修改或扩展外观。例如,创建一个通用的灰色按钮样式,然后为红色按钮创建一个新样式,在新样式中只设置新的背景颜色

这就像在CSS中使用类列表一样,比如 ``<div class=".btn .btn-red">``。

Expand Down Expand Up @@ -328,7 +328,7 @@ later how to add styles to objects and parts.
- :cpp:enumerator:`LV_PART_INDICATOR`:指示器,例如用于滑块、条形图、开关或复选框的勾选框
- :cpp:enumerator:`LV_PART_KNOB`:像把手一样用来调节值
- :cpp:enumerator:`LV_PART_SELECTED`:表示当前选择的选项或部分
- :cpp:enumerator:`LV_PART_ITEMS`:如果小部件具有多个类似元素(例如表格单元格)时使用
- :cpp:enumerator:`LV_PART_ITEMS`:如果控件具有多个类似元素(例如表格单元格)时使用
- :cpp:enumerator:`LV_PART_CURSOR`:标记特定位置,例如文本区域或图表的光标
- :cpp:enumerator:`LV_PART_CUSTOM_FIRST`:可以从这里开始添加自定义部分标识符。

Expand Down Expand Up @@ -490,7 +490,7 @@ new properties cannot be added.

.. _styles_add_remove:

Add and remove styles to a widget(向部件添加和删除样式
Add and remove styles to a widget(向控件添加和删除样式
********************************************************

.. raw:: html
Expand Down Expand Up @@ -696,7 +696,7 @@ To get a final value of property

获取物体的最终属性值

- 考虑级联、继承、本地样式和过渡效果(见下文)
- 考虑层叠、继承、本地样式和过渡效果(见下文)
- 可以使用此类属性获取函数: ``lv_obj_get_style_<property_name>(obj, <part>)``。
这些函数使用物体的当前状态,如果没有更好的候选项,则返回默认值。
例如:
Expand Down Expand Up @@ -803,7 +803,7 @@ background properties" are the ones related to:
<br>


在小部件的文档中,您会看到类似于“该小部件使用典型的背景属性”的句子。这些“典型的背景属性”包括:
在控件的文档中,您会看到类似于“该控件使用典型的背景属性”的句子。这些“典型的背景属性”包括:

- 背景
- 边框
Expand Down Expand Up @@ -869,9 +869,9 @@ initialized and added to a style:


默认情况下,当对象改变状态(例如,被按下)时,新状态的新属性立即设置。然而,使用过渡效果可以在状态改变时播放动画。
例如,按下按钮时,其背景颜色可以在300毫秒内动画变为按下的颜色
例如,按下按钮时,它的背景颜色可以在 300 毫秒内动画过渡到按下状态的颜色

过渡的参数存储在样式中。可以设置:
过渡效果的参数存储在样式中。可以设置:

- 过渡时间
- 开始过渡前的延迟
Expand Down Expand Up @@ -943,20 +943,20 @@ The click area of the widget is also transformed accordingly.
<br>


如果 ``opa``、 ``blend_mode``、 ``transform_angle`` 或 ``transform_zoom`` 属性被设置为它们的非默认值,LVGL将为小部件及其所有子级创建一个快照,以便将整个小部件与设置的不透明度、混合模式和变换属性混合在一起。
如果 ``opa``、 ``blend_mode``、 ``transform_angle`` 或 ``transform_zoom`` 属性被设置为它们的非默认值,LVGL将为控件及其所有子级创建一个快照,以便将整个控件与设置的不透明度、混合模式和变换属性混合在一起。

这些属性仅在小部件的 ``MAIN`` 部分上产生作用。
这些属性仅在控件的 ``MAIN`` 部分上产生作用。

创建的快照称为“中间层”或简称为“层”。如果只有 ``opa`` 和/或 ``blend_mode`` 设置为非默认值,LVGL可以从较小的块构建图层。这些块的大小可以通过 ``lv_conf.h`` 中的以下属性配置:

- :cpp:enumerator:`LV_LAYER_SIMPLE_BUF_SIZE`: [字节] 的理想目标缓冲区大小。LVGL将尝试分配此内存大小。
- :cpp:enumerator:`LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE`: [字节] 如果无法分配 :cpp:enumerator:`LV_LAYER_SIMPLE_BUF_SIZE`,则使用该大小。

如果还使用了变换属性,则图层无法以块的形式渲染,而需要分配更大的内存。所需的内存取决于角度、缩放和枢轴参数以及要重绘的区域大小,但永远不会大于小部件的大小(包括用于阴影、轮廓等的额外绘制大小)。
如果还使用了变换属性,则图层无法以块的形式渲染,而需要分配更大的内存。所需的内存取决于角度、缩放和枢轴参数以及要重绘的区域大小,但永远不会大于控件的大小(包括用于阴影、轮廓等的额外绘制大小)。

如果小部件可以完全覆盖要重绘的区域,LVGL将创建一个RGB图层(渲染速度更快,占用的内存更少)。如果相反情况需要使用ARGB渲染。如果小部件具有半径、 ``bg_opa != 255``、有阴影、轮廓等,则小部件可能无法覆盖其区域
如果控件可以完全覆盖要重绘的区域,LVGL将创建一个RGB图层(渲染速度更快,占用的内存更少)。如果相反情况需要使用ARGB渲染。如果控件具有半径、 ``bg_opa != 255``、有阴影、轮廓等,则控件可能无法覆盖其区域

小部件的点击区域也会相应地进行变换
控件的点击区域也会相应地进行变换


.. _styles_color_filter:
Expand Down Expand Up @@ -1011,7 +1011,7 @@ and sets it when a display is created.
<br>


主题是一系列的样式。如果有一个激活的主题,LVGL会应用它到每个创建的部件上。这将为UI提供一个默认的外观,可以通过添加更多样式来进行修改。
主题是一系列的样式。如果有一个活动主题,LVGL会应用它到每个创建控件上。这将为UI提供一个默认的外观,可以通过添加更多样式来进行修改。

每个显示器可以有不同的主题。例如,你可以在TFT上有一个多彩的主题,在第二个单色显示器上有一个单色的主题。

Expand Down
26 changes: 13 additions & 13 deletions docs/overview/timer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ timer. Therefore, you can call any LVGL related function in a timer.
<br>


LVGL有一个内置的计时器系统。您可以注册一个函数,让它定期被调用。这些计时器在 :cpp:func:`lv_timer_handler` 中进行处理和调用,需要每隔几毫秒调用一次。更多信息请参阅 `Porting </porting/timer-handler>`__ 。
LVGL有一个内置的定时器系统。您可以注册一个函数,让它定期被调用。这些定时器在 :cpp:func:`lv_timer_handler` 函数中进行处理和调用,该函数需要每隔几毫秒调用一次。更多信息请参阅 `Porting </porting/timer-handler>`__ 。

计时器是非抢占式的,这意味着一个计时器不能中断另一个计时器。因此,您可以在计时器中调用任何与LVGL相关的函数
定时器是非抢占式的,这意味着一个定时器不能中断另一个定时器。因此,您可以在定时器中调用任何与LVGL相关的函数


Create a timer(创建定时器)
Expand Down Expand Up @@ -74,9 +74,9 @@ For example:
<br>


要创建一个新定时器,使用 :cpp:expr:`lv_timer_create(timer_cb, period_ms, user_data)`。这将创建一个 :cpp:type:`lv_timer_t` ``*`` 变量,可以稍后用来修改定时器的参数:cpp:func:`lv_timer_create_basic` 也可以使用。这允许您在不指定任何参数的情况下创建一个新定时器。
要创建一个新定时器,使用 :cpp:expr:`lv_timer_create(timer_cb, period_ms, user_data)`。这将创建一个 :cpp:type:`lv_timer_t` ``*`` 类型的变量,之后可以使用这个变量来修改定时器的参数:cpp:func:`lv_timer_create_basic` 也可以使用。这允许您在不指定任何参数的情况下创建一个新定时器。

定时器回调函数应该有一个 ``void (*lv_timer_cb_t)(lv_timer_t *)`` 原型
定时器回调函数的原型应该是 ``void (*lv_timer_cb_t)(lv_timer_t *)`` 。

例如:

Expand Down Expand Up @@ -123,9 +123,9 @@ called again after the defined period of milliseconds has elapsed.
<br>


:cpp:expr:`lv_timer_ready(timer)` 使计时器在下一次调用 :cpp:func:`lv_timer_handler` 时运行
:cpp:expr:`lv_timer_ready(timer)` 使定时器在下一次调用 :cpp:func:`lv_timer_handler` 函数时运行

:cpp:expr:`lv_timer_reset(timer)` 重置计时器的周期。在定义的毫秒周期过去后,它将再次被调用。
:cpp:expr:`lv_timer_reset(timer)` 重置定时器的周期。在定义的毫秒周期过去后,它将再次被调用。


Set parameters(参数设置)
Expand All @@ -148,7 +148,7 @@ You can modify some timer parameters later:
<br>


您可以稍后修改一些计时器参数
您可以稍后修改一些定时器参数

- :cpp:expr:`lv_timer_set_cb(timer, new_cb)` (设置新的回调函数)
- :cpp:expr:`lv_timer_set_period(timer, new_period)` (设置新的时间周期)
Expand All @@ -174,8 +174,8 @@ Set the count to ``-1`` to repeat indefinitely.
<br>


你可以使用 :cpp:expr:`lv_timer_set_repeat_count(timer, count)` 来让一个定时器只重复指定次数
当定时器调用了定义的次数后,它会自动被删除。将计数设置为 ``-1`` 表示无限重复。
你可以使用 :cpp:expr:`lv_timer_set_repeat_count(timer, count)` 来让一个定时器只重复给定的次数
当定时器在被调用指定次数后将自动被删除。将计数设置为 ``-1`` 表示无限重复。


Enable and Disable(启用和禁用)
Expand Down Expand Up @@ -242,10 +242,10 @@ it won't actually measure the time the OS spends in an idle thread.

您可以使用 `lv_timer_get_idle` 函数获取 :cpp:func:`lv_timer_handler` 函数的空闲百分比时间。
请注意,它并不测量整个系统的空闲时间,仅测量 :cpp:func:`lv_timer_handler` 的空闲时间。
如果您在操作系统中使用定时器调用 :cpp:func:`lv_timer_handler`,这可能会产生误导,因为它实际上不能测量操作系统在空闲线程中的消耗时间。
如果您使用操作系统并在定时器中调用 :cpp:func:`lv_timer_handler`,这可能会产生误导,因为它实际上不能测量操作系统在空闲线程中的消耗时间。


Timer handler resume callback(计时器处理程序恢复回调
Timer handler resume callback(定时器处理程序恢复回调
*****************************************************

.. raw:: html
Expand Down Expand Up @@ -321,9 +321,9 @@ will delete the object on the next call to :cpp:func:`lv_timer_handler`.
<br>


在某些情况下,您不能立即执行某个操作。例如,如果还有其他东西在使用该对象,或者您不希望阻塞执行
在某些情况下,您不能立即执行某个操作。例如,你不能删除一个对象,因为还有其他东西正在使用它,或者你现在不想阻塞执行
对于这些情况,可以使用 :cpp:expr:`lv_async_call(my_function, data_p)` 在下一次调用 :cpp:func:`lv_timer_handler` 时调用 ``my_function``。
当调用函数时,将传递 ``data_p``。请注意,只保存数据指针,因此您需要确保在调用函数时变量仍然有效。
``data_p``将在函数被调用时传递给该函数。请注意,只保存数据指针,因此您需要确保在调用函数时变量仍然有效。
它可以是 *静态*、全局或动态分配的数据。如果您想要取消异步调用,请调用 :cpp:expr:`lv_async_call_cancel(my_function, data_p)`,
它将清除与 ``my_function`` 和 ``data_p`` 匹配的所有异步调用。

Expand Down
6 changes: 3 additions & 3 deletions docs/overview/vg_lite_tvg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ It has been integrated into the CI automated compilation and testing process to


LVGL集成了一个基于ThorVG的VG-Lite模拟器。
它的目的是简化VG-Lite适配的调试,并减少在硬件设备上调试和定位问题的时间。
它的目的是简化对VG-Lite适配的调试工作,并减少在硬件设备上调试和定位问题的时间。

它已经集成到CI自动化编译和测试流程中,以确保每次PR修改后VG-Lite渲染后端可以经过充分的测试。

Expand Down Expand Up @@ -71,8 +71,8 @@ Make sure :c:macro:`LV_VG_LITE_USE_GPU_INIT` is enabled, because the thorvg draw

1. 启用VG-Lite渲染后端,请参见 `VG-Lite渲染后端 </overview/renderers/vg_lite>`__。

2. 启用ThorVG并打开配置 :c:macro:`LV_USE_THORVG_INTERNAL` 或 :c:macro:`LV_USE_THORVG_EXTERNAL`。
建议使用内部ThorVG库以确保统一的渲染结果
2. 启用ThorVG并打开配置宏 :c:macro:`LV_USE_THORVG_INTERNAL` 或 :c:macro:`LV_USE_THORVG_EXTERNAL`。
建议使用内部ThorVG库以确保渲染结果的一致性

3. 启用 :c:macro:`LV_USE_VG_LITE_THORVG` 并将 :c:macro:`LV_DRAW_BUF_ALIGN` 设置为64。其余选项可以保持默认。
确保启用 :c:macro:`LV_VG_LITE_USE_GPU_INIT` 因为在使用之前需要初始化ThorVG绘图上下文
6 changes: 3 additions & 3 deletions docs/widgets/animimg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ You can specify a duration and repeat count.
<br>


动画图像对象类似于正常的 “图像” 对象。唯一区别是,设置的不是一个图像源,而是多个图像源
动画图像对象类似于普通的 “图像” 对象。唯一区别是,设置的不是一个图像源,而是设置由多个源图像组成的数组

可以指定持续时间和重复计数
可以指定持续时间和重复次数


.. _lv_animimg_parts_and_styles:
Expand All @@ -49,7 +49,7 @@ Parts and Styles(部分和样式)
<br>


:cpp:enumerator:`LV_PART_MAIN` 使用典型背景样式属性的背景样式属性和使用图像样式属性的图像本身。 使用典型背景样式属性和图像本身使用图像样式属性
:cpp:enumerator:`LV_PART_MAIN` 一个背景矩形,它使用典型的背景样式属性,而图像本身使用图像样式属性

.. _lv_animimg_usage:

Expand Down
Loading

0 comments on commit dd39aa3

Please sign in to comment.