App:Library:LVGL:docs:Overview:Styles

提供: robot-jp wiki
ナビゲーションに移動検索に移動

https://docs.lvgl.io/8.2/overview/style.html

Styles

英文 自動翻訳

Styles are used to set the appearance of objects. Styles in lvgl are heavily inspired by CSS. The concept in a nutshell is as follows:

  • A style is an lv_style_t variable which can hold properties like border width, text color and so on. It's similar to a class in CSS.
  • Styles can be assigned to objects to change their appearance. Upon assignment, the target part (pseudo-element in CSS) and target state (pseudo class) can be specified. For example one can add style_blue to the knob of a slider when it's in pressed state.
  • The same style can be used by any number of objects.
  • Styles can be cascaded which means multiple styles may be assigned to an object and each style can have different properties. Therefore, not all properties have to be specified in a style. LVGL will search for a property until a style defines it or use a default if it's not specified by any of the styles. For example style_btn can result in a default gray button and style_btn_red can add only a background-color=red to overwrite the background color.
  • The most recently added style has higher precedence. This means if a property is specified in two styles the newest style in the object will be used.
  • Some properties (e.g. text color) can be inherited from a parent(s) if it's not specified in an object.
  • Objects can also have local styles with higher precedence than "normal" styles.
  • Unlike CSS (where pseudo-classes describe different states, e.g. :focus), in LVGL a property is assigned to a given state.
  • Transitions can be applied when the object changes state.
スタイルは、オブジェクトの外観を設定するために使用されます。lvglのスタイルは、CSSに大きく影響されています。簡単に言うと、コンセプトは以下の通りです。
  • スタイルは、lv_style_t変数で、ボーダーの幅、テキストの色などのプロパティを保持することができます。CSSの classと同じようなものです。
  • オブジェクトにスタイルを付与し、見た目を変化させることができる。スタイルは、オブジェクトに割り当て、その外観を変えることができます。割り当てに際しては、ターゲット部分(CSSの擬似要素)とターゲット状態(擬似クラス)を指定することができます。例えば、スライダーのつまみが押された状態の時に style_blue を追加することができます。
  • 同じスタイルをいくつものオブジェクトで使用することができます。
  • スタイルはカスケード可能で、1つのオブジェクトに複数のスタイルを割り当てることができ、各スタイルは異なるプロパティを持つことができる。したがって、すべてのプロパティがスタイルで指定される必要はありません。LVGLは、スタイルで定義されるまでプロパティを検索し、どのスタイルでも指定されていない場合はデフォルトを使用します。例えば style_btn デフォルトのグレーのボタンになり、style_btn_red は背景色を上書きするために background-color=red だけを追加することができます。
  • 最近追加されたスタイルがより優先されます。つまり、あるプロパティが2つのスタイルで指定されている場合、オブジェクトの中で最も新しいスタイルが使用されます。
  • 一部のプロパティ(例:テキストカラー)は、オブジェクトで指定されていない場合、親から継承されることがあります。
  • オブジェクトは、"通常の "スタイルよりも高い優先順位を持つローカルスタイルを持つこともできる。
  • LVGLでは、CSS (擬似クラスで異なる状態を記述、例えば:focus)と異なり、プロパティは与えられた状態に割り当てられる。
  • オブジェクトの状態が変化したときに、トランジションを適用することができます。
戻る : Previous


States

英文 自動翻訳

The objects can be in the combination of the following states:

  • LV_STATE_DEFAULT (0x0000) Normal, released state
  • LV_STATE_CHECKED (0x0001) Toggled or checked state
  • LV_STATE_FOCUSED (0x0002) Focused via keypad or encoder or clicked via touchpad/mouse
  • LV_STATE_FOCUS_KEY (0x0004) Focused via keypad or encoder but not via touchpad/mouse
  • LV_STATE_EDITED (0x0008) Edit by an encoder
  • LV_STATE_HOVERED (0x0010) Hovered by mouse (not supported now)
  • LV_STATE_PRESSED (0x0020) Being pressed
  • LV_STATE_SCROLLED (0x0040) Being scrolled
  • LV_STATE_DISABLED (0x0080) Disabled state
  • LV_STATE_USER_1 (0x1000) Custom state
  • LV_STATE_USER_2 (0x2000) Custom state
  • LV_STATE_USER_3 (0x4000) Custom state
  • LV_STATE_USER_4 (0x8000) Custom state

An object can be in a combination of states such as being focused and pressed at the same time.

This is represented as LV_STATE_FOCUSED | LV_STATE_PRESSED.


A style can be added to any state or state combination.

For example, setting a different background color for the default and pressed states.

If a property is not defined in a state the best matching state's property will be used.


Typically this means the property with LV_STATE_DEFAULT is used.

If the property is not set even for the default state the default value will be used. (See later)


But what does the "best matching state's property" really mean?

States have a precedence which is shown by their value (see in the above list).

A higher value means higher precedence.

To determine which state's property to use let's take an example.

Imagine the background color is defined like this:

  • LV_STATE_DEFAULT: white
  • LV_STATE_PRESSED: gray
  • LV_STATE_FOCUSED: red
  1. Initially the object is in the default state, so it's a simple case: the property is perfectly defined in the object's current state as white.
  2. When the object is pressed there are 2 related properties: default with white (default is related to every state) and pressed with gray. The pressed state has 0x0020 precedence which is higher than the default state's 0x0000 precedence, so gray color will be used.
  3. When the object is focused the same thing happens as in pressed state and red color will be used. (Focused state has higher precedence than default state).
  4. When the object is focused and pressed both gray and red would work, but the pressed state has higher precedence than focused so gray color will be used.
  5. It's possible to set e.g. rose color for LV_STATE_PRESSED | LV_STATE_FOCUSED. In this case, this combined state has 0x0020 + 0x0002 = 0x0022 precedence, which is higher than the pressed state's precedence so rose color would be used.
  6. When the object is in the checked state there is no property to set the background color for this state. So for lack of a better option, the object remains white from the default state's property.


Some practical notes:

  • The precedence (value) of states is quite intuitive, and it's something the user would expect naturally. E.g. if an object is focused the user will still want to see if it's pressed, therefore the pressed state has a higher precedence. If the focused state had a higher precedence it would overwrite the pressed color.
  • If you want to set a property for all states (e.g. red background color) just set it for the default state. If the object can't find a property for its current state it will fall back to the default state's property.
  • Use ORed states to describe the properties for complex cases. (E.g. pressed + checked + focused)
  • It might be a good idea to use different style elements for different states. For example, finding background colors for released, pressed, checked + pressed, focused, focused + pressed, focused + pressed + checked, etc. states is quite difficult. Instead, for example, use the background color for pressed and checked states and indicate the focused state with a different border color.
オブジェクトは、以下の状態の組み合わせが可能である。
  • LV_STATE_DEFAULT (0x0000) 通常状態、解除状態
  • LV_STATE_CHECKED (0x0001) トグル状態またはチェック状態
  • LV_STATE_FOCUSED (0x0002) キーパッドまたはエンコーダでフォーカスされた状態、またはタッチパッド/マウスでクリックされた状態
  • LV_STATE_FOCUS_KEY (0x0004) キーパッドまたはエンコーダでフォーカスされ、タッチパッドやマウスではフォーカスされない状態
  • LV_STATE_EDITED (0x0008) エンコーダで編集中
  • LV_STATE_HOVERED (0x0010) マウスでホバリングした状態 (現在サポートされていません)
  • LV_STATE_PRESSED (0x0020) 押された状態
  • LV_STATE_SCROLLED (0x0040) スクロールされている状態
  • LV_STATE_DISABLED (0x0080) 無効状態
  • LV_STATE_USER_1 (0x1000) カスタム状態
  • LV_STATE_USER_2 (0x2000) カスタム状態
  • LV_STATE_USER_3 (0x4000) カスタム状態
  • LV_STATE_USER_4 (0x8000) カスタム状態

オブジェクトは、フォーカスされている状態と押されている状態が同時に存在することができる。

これは、LV_STATE_FOCUSED|LV_STATE_PRESSEDと表現される。


任意の状態や状態の組み合わせにスタイルを追加することができる。

例えば、デフォルトの状態と押された状態で異なる背景色を設定する。

プロパティがステートで定義されていない場合、最もマッチするステートのプロパティが使用されます。


通常はLV_STATE_DEFAULTのプロパティが使用されます。

デフォルトの状態でもプロパティが設定されていない場合は、デフォルト値が使用されます。(後述)


しかし、「ベストマッチする状態のプロパティ」とは、実際にはどのようなものなのでしょうか?

状態には優先順位があり、それは値で示されます(上のリスト参照)。

値が高いほど優先順位が高いことを意味します。

どの状態のプロパティを使用するかを決定するために、例を挙げてみましょう。

背景色がこのように定義されているとします。

  • LV_STATE_DEFAULT: 白
  • LV_STATE_PRESSED: グレー
  • LV_STATE_FOCUSED: 赤
  1. 初期状態ではオブジェクトはデフォルトの状態なので、単純なケースです。オブジェクトの現在の状態では、プロパティは白として完全に定義されています。
  2. オブジェクトが押されたとき、2つの関連するプロパティがあります:白のデフォルト(デフォルトはすべての状態に関連しています)とグレーの押された状態です。押された状態の優先順位は0x0020で、デフォルト状態の優先順位0x0000より高いので、グレーが使われます。
  3. オブジェクトがフォーカスされているときは、pressed 状態と同じことが起こり、赤色が使用されます。(フォーカス状態の方がデフォルト状態より優先順位が高い)。
  4. オブジェクトがフォーカスされており、かつプレスされている場合、グレーと赤の両方が機能しますが、プレスされた状態の方がフォーカスされた状態よりも優先順位が高いため、グレー色が使用されます。
  5. LV_STATE_PRESSED | LV_STATE_FOCUSEDにローズ色などを設定することができます。この場合、この結合状態の優先順位は0x0020 + 0x0002 = 0x0022で、プレス状態の優先順位より高いので、ローズ色が使用されることになります。
  6. オブジェクトがチェック状態にあるときは、この状態の背景色を設定するプロパティはありません。そのため、より良いオプションがない場合、オブジェクトはデフォルトの状態のプロパティから白のままとなります。


実用上の注意点

  • 状態の優先順位(値)は非常に直感的で、ユーザーが自然に期待するものです。例えば、オブジェクトがフォーカスされていても、ユーザーはそれが押されているかどうかを確認したいと思うだろうから、押された状態の方が優先される。もし、フォーカスされた状態の方が優先順位が高ければ、押された状態の色を上書きすることになります。
  • もし、あるプロパティをすべての状態に設定したい場合(例えば、赤の背景色)、デフォルトの状態に設定すればよい。オブジェクトが現在のステートに対応するプロパティを見つけられない場合は、デフォルト・ステートのプロパティにフォールバックします。
  • 複雑なケースのプロパティを記述するには、ORされたステートを使用します。(例:pressed + checked + focused)
  • 状態ごとに異なるスタイル要素を使用するのもよいアイデアです。例えば、release, pressed, checked + pressed, focused, focused + pressed, focused + pressed + checked などの状態の背景色を見つけることは非常に困難です。例えば、pressedとcheckedの状態には背景色を使い、focusedの状態には別のボーダー色で表示するようにします。
戻る : Previous


Cascading styles

英文 自動翻訳

It's not required to set all the properties in one style.

It's possible to add more styles to an object and have the latter added style modify or extend appearance.

For example, create a general gray button style and create a new one for red buttons where only the new background color is set.

This is much like in CSS when used classes are listed like <div class=".btn .btn-red">.

Styles added later have precedence over ones set earlier.

So in the gray/red button example above, the normal button style should be added first and the red style second.

However, the precedence of the states are still taken into account.


So let's examine the following case:

  • the basic button style defines dark-gray color for the default state and light-gray color for the pressed state
  • the red button style defines the background color as red only in the default state


In this case, when the button is released (it's in default state) it will be red because a perfect match is found in the most recently added style (red).

When the button is pressed the light-gray color is a better match because it describes the current state perfectly, so the button will be light-gray.

1つのスタイルですべてのプロパティを設定する必要はありません。

オブジェクトにさらにスタイルを追加して、後から追加したスタイルで外観を変更または拡張することが可能です。

たとえば、一般的な灰色のボタン スタイルを作成し、新しい背景色のみが設定された赤いボタン用のスタイルを新たに作成します。


これは、CSS で使用されるクラスが <div class=".btn .btn-red">のように一覧表示される場合とほぼ同じです。

後から追加されたスタイルは、先に設定されたものよりも優先されます。

したがって、上記の灰色と赤のボタンの例では、通常のボタンスタイルが先に追加され、赤のスタイルが後に追加されるべきです。

ただし、状態の優先順位が考慮されることに変わりはありません。


そこで、次のようなケースを検証してみましょう。

  • 基本ボタンスタイルでは、デフォルトの状態を濃い灰色、押された状態を薄い灰色で定義しています。
  • 赤のボタンスタイルでは、デフォルトの状態でのみ背景色を赤と定義します。

この場合、ボタンが離されたとき(デフォルトの状態)には、最近追加されたスタイル(赤)に完全に一致するものが見つかるので、赤になります。

ボタンが押されたときは、ライト グレー色の方が現在の状態を完璧に表現しているため、ボタンはライト グレー色になります。

戻る : Previous


Inheritance

英文 自動翻訳

Some properties (typically those related to text) can be inherited from the parent object's styles.

Inheritance is applied only if the given property is not set in the object's styles (even in default state).

In this case, if the property is inheritable, the property's value will be searched in the parents until an object specifies a value for the property.

The parents will use their own state to determine the value.

So if a button is pressed, and the text color comes from here, the pressed text color will be used.

いくつかのプロパティ(通常、テキストに関連するもの)は、親オブジェクトのスタイルから継承することができる。

継承は、与えられたプロパティがオブジェクトのスタイルに設定されていない場合(デフォルト状態であっても)にのみ適用される。

この場合、プロパティが継承可能であれば、オブジェクトがそのプロパティの値を指定するまで、プロパティの値は親で検索されます。

親は自分自身の状態を利用して値を決定します。

つまり、ボタンが押され、テキスト色がここから来た場合、押されたテキスト色が使用されます。

戻る : Previous


Parts

英文 自動翻訳

Objects can be composed of parts which may each have their own styles.

The following predefined parts exist in LVGL:

  • LV_PART_MAIN A background like rectangle
  • LV_PART_SCROLLBAR The scrollbar(s)
  • LV_PART_INDICATOR Indicator, e.g. for slider, bar, switch, or the tick box of the checkbox
  • LV_PART_KNOB Like a handle to grab to adjust a value
  • LV_PART_SELECTED Indicate the currently selected option or section
  • LV_PART_ITEMS Used if the widget has multiple similar elements (e.g. table cells)
  • LV_PART_TICKS Ticks on scales e.g. for a chart or meter
  • LV_PART_CURSOR Mark a specific place e.g. text area's or chart's cursor
  • LV_PART_CUSTOM_FIRST Custom part identifiers can be added starting from here.


For example a Slider has three parts:

  • Background
  • Indicator
  • Knob


This means all three parts of the slider can have their own styles. See later how to add styles to objects and parts.

オブジェクトはパーツで構成され、それぞれ独自のスタイルを持つことができる。

LVGLでは、以下のパーツが定義されています。

  • LV_PART_MAIN 矩形のような背景画像
  • LV_PART_SCROLLBAR スクロールバー。
  • LV_PART_INDICATOR スライダ、バー、スイッチ、チェックボックスなどのインジケータ
  • LV_PART_KNOB 値を調整するためにつかむハンドルのようなもの
  • LV_PART_SELECTED 現在選択されているオプションやセクションを表すもの
  • LV_PART_ITEMS ウィジェットに複数の類似した要素がある場合に使用します(例:テーブルセル)。
  • LV_PART_TICKS グラフやメーターのような目盛りの刻み目
  • LV_PART_CURSOR テキストエリアやグラフのカーソルなど、特定の場所を示すマーク
  • LV_PART_CUSTOM_FIRST ここからカスタム部品識別子を追加することができます。


例えば、スライダーは3つのパーツから構成されています。

  • 背景
  • インジケーター
  • つまみ


つまり、スライダーの3つのパーツはすべて独自のスタイルを持つことができます。オブジェクトやパーツにスタイルを追加する方法については後述します。

戻る : Previous


Initialize styles and set/get properties

英文 自動翻訳

Styles are stored in lv_style_t variables. Style variables should be static, global or dynamically allocated. In other words they cannot be local variables in functions which are destroyed when the function exits.


Before using a style it should be initialized with lv_style_init(&my_style). After initializing a style, properties can be added or changed.

Property set functions looks like this: lv_style_set_<property_name>(&style, <value>);

For example:

 static lv_style_t style_btn;
 lv_style_init(&style_btn);
 lv_style_set_bg_color(&style_btn, lv_color_hex(0x115588));
 lv_style_set_bg_opa(&style_btn, LV_OPA_50);
 lv_style_set_border_width(&style_btn, 2);
 lv_style_set_border_color(&style_btn, lv_color_black());
 
 static lv_style_t style_btn_red;
 lv_style_init(&style_btn_red);
 lv_style_set_bg_color(&style_btn_red, lv_plaette_main(LV_PALETTE_RED));
 lv_style_set_bg_opa(&style_btn_red, LV_OPA_COVER);

To remove a property use:

 lv_style_remove_prop(&style, LV_STYLE_BG_COLOR);

To get a property's value from a style:

 lv_style_value_t v;
 lv_res_t res = lv_style_get_prop(&style, LV_STYLE_BG_COLOR, &v);
 if(res == LV_RES_OK) {	/*Found*/
 	do_something(v.color);
 }

lv_style_value_t has 3 fields:

  • num for integer, boolean and opacity properties
  • color for color properties
  • ptr for pointer properties

To reset a style (free all its data) use:

 lv_style_reset(&style);

Styles can be built as const too to save RAM:

 const lv_style_const_prop_t style1_props[] = {
    LV_STYLE_CONST_WIDTH(50),
    LV_STYLE_CONST_HEIGHT(50),
    LV_STYLE_PROP_INV,
 };
      
 LV_STYLE_CONST_INIT(style1, style1_props);

Later const style can be used like any other style but (obviously) new properties can not be added.

スタイルは、lv_style_t 変数に格納される。スタイル変数は、静的か、グローバルか、動的に割り当てる必要があります。つまり、関数内のローカル変数として使用することはできず、関数の終了時に破棄されます。


スタイルを使用する前に、lv_style_init(&my_style).で初期化する必要があります。スタイルを初期化した後、プロパティを追加または変更することができます。

プロパティ設定関数は次のようなものです。lv_style_set_<property_name>(&style, <value>);

For example:
 static lv_style_t style_btn;
 lv_style_init(&style_btn);
 lv_style_set_bg_color(&style_btn, lv_color_hex(0x115588));
 lv_style_set_bg_opa(&style_btn, LV_OPA_50);
 lv_style_set_border_width(&style_btn, 2);
 lv_style_set_border_color(&style_btn, lv_color_black());
 
 static lv_style_t style_btn_red;
 lv_style_init(&style_btn_red);
 lv_style_set_bg_color(&style_btn_red, lv_plaette_main(LV_PALETTE_RED));
 lv_style_set_bg_opa(&style_btn_red, LV_OPA_COVER);

プロパティの使用を削除する場合。

 lv_style_remove_prop(&style, LV_STYLE_BG_COLOR);

スタイルからプロパティの値を取得する。

 lv_style_value_t v;
 lv_res_t res = lv_style_get_prop(&style, LV_STYLE_BG_COLOR, &v);
 if(res == LV_RES_OK) {	/*Found*/
 	do_something(v.color);
 }

lv_style_value_tは3つのフィールドを持っています。

  • num 整数,ブーリアン,不透明度のプロパティに使用します.
  • color色属性
  • ptr ポインタプロパティ

スタイルをリセットする(すべてのデータを解放する)には、以下を使用します。

 lv_style_reset(&style);

スタイルも const として構築することでRAMを節約することができます。

 const lv_style_const_prop_t style1_props[] = {
    LV_STYLE_CONST_WIDTH(50),
    LV_STYLE_CONST_HEIGHT(50),
    LV_STYLE_PROP_INV,
 };
      
 LV_STYLE_CONST_INIT(style1, style1_props);

後の const スタイルは、他のスタイルと同様に使用できますが、(当然)新しいプロパティを追加することはできません。

戻る : Previous


Add and remove styles to a widget

英文 自動翻訳

A style on its own is not that useful. It must be assigned to an object to take effect.

スタイル単体ではあまり意味がありません。効果を発揮するためには、オブジェクトに割り当てる必要があります。
戻る : Previous


Add styles

英文 自動翻訳

To add a style to an object use lv_obj_add_style(obj, &style, <selector>). <selector> is an OR-ed value of parts and state to which the style should be added.


Some examples:

  • LV_PART_MAIN | LV_STATE_DEFAULT
  • LV_STATE_PRESSED: The main part in pressed state. LV_PART_MAIN can be omitted
  • LV_PART_SCROLLBAR: The scrollbar part in the default state. LV_STATE_DEFAULT can be omitted.
  • LV_PART_SCROLLBAR | LV_STATE_SCROLLED: The scrollbar part when the object is being scrolled
  • 0 Same as LV_PART_MAIN | LV_STATE_DEFAULT.
  • LV_PART_INDICATOR | LV_STATE_PRESSED | LV_STATE_CHECKED The indicator part when the object is pressed and checked at the same time.



Using lv_obj_add_style:

 lv_obj_add_style(btn, &style_btn, 0);      				  /*Default button style*/
 lv_obj_add_style(btn, &btn_red, LV_STATE_PRESSED);  /*Overwrite only some colors to red when pressed*/
オブジェクトにスタイルを追加するには、 lv_obj_add_style(obj, &style, <selector>)を使用します。<selector> は、スタイルを追加するパーツとステートの OR 値です。


いくつかの例を挙げる。

  • LV_PART_MAIN | LV_STATE_DEFAULT
  • LV_STATE_PRESSED: プレスされた状態のメインパーツ。LV_PART_MAIN は省略可能です。
  • LV_PART_SCROLLBAR: デフォルト状態のスクロールバーパーツ。 LV_STATE_DEFAULT は省略可能です。
  • LV_PART_SCROLLBAR | LV_STATE_SCROLLED: オブジェクトがスクロールしているときのスクロールバー部分
  • 0LV_PART_MAIN | LV_STATE_DEFAULTと同じです。
  • LV_PART_INDICATOR | LV_STATE_PRESSED | LV_STATE_CHECKED オブジェクトが押されたときと同時にチェックされたときのインジケータ部です。



lv_obj_add_styleを使用します。

 lv_obj_add_style(btn, &style_btn, 0);      				  /*Default button style*/
 lv_obj_add_style(btn, &btn_red, LV_STATE_PRESSED);  /*Overwrite only some colors to red when pressed*/
戻る : Previous


Remove styles

英文 自動翻訳

To remove all styles from an object use lv_obj_remove_style_all(obj).


To remove specific styles use lv_obj_remove_style(obj, style, selector).


This function will remove style only if the selector matches with the selector used in lv_obj_add_style.


style can be NULL to check only the selector and remove all matching styles.


The selector can use the LV_STATE_ANY and LV_PART_ANY values to remove the style from any state or part.

オブジェクトからすべてのスタイルを削除するには、lv_obj_remove_style_all(obj)を使用します。


特定のスタイルを削除するには、 lv_obj_remove_style(obj, style, selector)を使用します。


この関数は,selectorlv_obj_add_style で使用したselector と一致する場合のみ,style を削除します。


styleNULL にすると,selectorのみをチェックし,一致するスタイルをすべて削除します。


selectorは、LV_STATE_ANYLV_PART_ANY 値を使用して、任意の状態または部分からスタイルを削除することができます。

戻る : Previous


Report style changes

英文 自動翻訳

If a style which is already assigned to an object changes (i.e. a property is added or changed), the objects using that style should be notified. There are 3 options to do this:

  1. If you know that the changed properties can be applied by a simple redraw (e.g. color or opacity changes) just call lv_obj_invalidate(obj) or lv_obj_invalidate(lv_scr_act()).
  2. If more complex style properties were changed or added, and you know which object(s) are affected by that style call lv_obj_refresh_style(obj, part, property). To refresh all parts and properties use lv_obj_refresh_style(obj, LV_PART_ANY, LV_STYLE_PROP_ANY).
  3. To make LVGL check all objects to see if they use a style and refresh them when needed, call lv_obj_report_style_change(&style). If style is NULL all objects will be notified about a style change.
あるオブジェクトに既に割り当てられているスタイルが変更された場合(プロパティが追加または変更された場合など)、そのスタイルを使用しているオブジェクトに通知される必要があります。これを行うには、3つのオプションがあります。
  1. 変更されたプロパティが単純な再描画で適用できることがわかっている場合(たとえば、色や不透明度の変更)、単にlv_obj_invalidate(obj) または lv_obj_invalidate(lv_scr_act())を呼び出すだけです。
  2. より複雑なスタイル プロパティが変更または追加され、そのスタイルによって影響を受けるオブジェクトがわかっている場合は、lv_obj_refresh_style(obj, part, property)を呼び出します。すべてのパーツとプロパティをリフレッシュするには、lv_obj_refresh_style(obj, LV_PART_ANY, LV_STYLE_PROP_ANY)を使用してください。
  3. LVGLにすべてのオブジェクトがスタイルを使用しているかどうかをチェックさせ、必要なときにそれらを更新するには、lv_obj_report_style_change(&style).を呼び出します。 styleNULL の場合、すべてのオブジェクトはスタイル変更について通知されます。
戻る : Previous


Get a property's value on an object

英文 自動翻訳

To get a final value of property - considering cascading, inheritance, local styles and transitions (see below) - property get functions like this can be used: lv_obj_get_style_<property_name>(obj, <part>). These functions use the object's current state and if no better candidate exists they return a default value.   For example:

 lv_color_t color = lv_obj_get_style_bg_color(btn, LV_PART_MAIN);
カスケード、継承、ローカルスタイル、トランジション(下記参照)を考慮して、プロパティの最終値を得るには、次のようなプロパティ取得関数を使用できます: lv_obj_get_style_<property_name>(obj, <part>)

これらの関数は、オブジェクトの現在の状態を使用し、より良い候補が存在しない場合は、デフォルト値を返します。   例えば

 lv_color_t color = lv_obj_get_style_bg_color(btn, LV_PART_MAIN);
戻る : Previous


Local styles

英文 自動翻訳

In addition to "normal" styles, objects can also store local styles.

This concept is similar to inline styles in CSS (e.g. <div style="color:red">) with some modification.


Local styles are like normal styles, but they can't be shared among other objects. If used, local styles are allocated automatically, and freed when the object is deleted.

They are useful to add local customization to an object.

Unlike in CSS, LVGL local styles can be assigned to states (pseudo-classes) and parts (pseudo-elements).


To set a local property use functions like lv_obj_set_style_<property_name>(obj, <value>, <selector>);  

For example:

 lv_obj_set_style_bg_color(slider, lv_color_red(), LV_PART_INDICATOR | LV_STATE_FOCUSED);
通常の "スタイルに加えて、オブジェクトはローカルスタイルを保存することができます。

この概念はCSSのインラインスタイル(例:<div style="color:red">) に似ているが、若干の変更が加えられている。


ローカルスタイルは通常のスタイルに似ているが、他のオブジェクトの間で共有することはできない。

使用された場合、ローカルスタイルは自動的に割り当てられ、オブジェクトが削除されたときに解放されます。

オブジェクトに局所的なカスタマイズを追加するのに便利である。


CSSとは異なり、LVGLのローカルスタイルは、ステート(擬似クラス)とパーツ(擬似要素)に割り当てることができる。


ローカル・プロパティを設定するには、 lv_obj_set_style_<property_name>(obj, <value>, <selector>); のような関数を使用します。

For example:

 lv_obj_set_style_bg_color(slider, lv_color_red(), LV_PART_INDICATOR | LV_STATE_FOCUSED);
戻る : Previous


Properties

英文 自動翻訳

For the full list of style properties click here.

スタイルプロパティの一覧はこちらをご覧ください。
戻る : Previous


Typical background properties

英文 自動翻訳

In the documentation of the widgets you will see sentences like "The widget uses the typical background properties". These "typical background properties" are the ones related to:

  • Background
  • Border
  • Outline
  • Shadow
  • Padding
  • Width and height transformation
  • X and Y translation
ウィジェットのドキュメントには、"The widget uses the typical background properties "のような文章が書かれています。この「典型的な背景のプロパティ」とは、関連するものを指します。
  • 背景
  • ボーダー
  • 外枠
  • 余白
  • 幅と高さの変換
  • X・Y変換
戻る : Previous


Transitions

英文 自動翻訳

By default, when an object changes state (e.g. it's pressed) the new properties from the new state are set immediately.

However, with transitions it's possible to play an animation on state change.

For example, on pressing a button its background color can be animated to the pressed color over 300 ms.

The parameters of the transitions are stored in the styles. It's possible to set

  • the time of the transition
  • the delay before starting the transition
  • the animation path (also known as the timing or easing function)
  • the properties to animate


The transition properties can be defined for each state.

For example, setting a 500 ms transition time in the default state means that when the object goes to the default state a 500 ms transition time is applied.

Setting a 100 ms transition time in the pressed state causes a 100 ms transition when going to the pressed state.


This example configuration results in going to the pressed state quickly and then going back to default slowly.

To describe a transition an lv_transition_dsc_t variable needs to be initialized and added to a style:

 /*Only its pointer is saved so must static, global or dynamically allocated */
 static const lv_style_prop_t trans_props[] = {
 											LV_STYLE_BG_OPA, LV_STYLE_BG_COLOR,
 											0, /*End marker*/
 };
 
 static lv_style_transition_dsc_t trans1;
 lv_style_transition_dsc_init(&trans1, trans_props, lv_anim_path_ease_out, duration_ms, delay_ms);
 
 lv_style_set_transition(&style1, &trans1);
デフォルトでは、オブジェクトの状態が変化すると(例えば、押されるなど)、新しい状態からの新しいプロパティがすぐに設定されます。

しかし、トランジションを使えば、ステートが変化したときにアニメーションを再生することができる。

例えば、ボタンが押されたときに、その背景色を押されたときの色に300ミリ秒で変化させることができる。


トランジションのパラメータは、スタイルに格納される。設定可能な項目

  • 遷移の時間
  • トランジションを開始するまでの遅延時間
  • アニメーションパス(タイミングまたはイージング機能とも呼ばれる)
  • アニメートさせるプロパティ


トランジションプロパティは、ステートごとに定義することができます。

例えば、デフォルトの状態で遷移時間を500msに設定すると、オブジェクトがデフォルトの状態になったときに500msの遷移時間が適用されることになる。

pressedの状態で100msの遷移時間を設定すると、pressedの状態に移行するときに100msの遷移が行われます。


この設定例では、pressed 状態に素早く移行し、ゆっくりと default 状態に戻ることになります。


遷移を記述するには、lv_transition_dsc_t変数を初期化し、スタイルに追加する必要があります。

 /*Only its pointer is saved so must static, global or dynamically allocated */
 static const lv_style_prop_t trans_props[] = {
 											LV_STYLE_BG_OPA, LV_STYLE_BG_COLOR,
 											0, /*End marker*/
 };
 
 static lv_style_transition_dsc_t trans1;
 lv_style_transition_dsc_init(&trans1, trans_props, lv_anim_path_ease_out, duration_ms, delay_ms);
 
 lv_style_set_transition(&style1, &trans1);
戻る : Previous


Color filter

英文 自動翻訳

TODO

戻る : Previous


Themes

英文 自動翻訳

Themes are a collection of styles. If there is an active theme LVGL applies it on every created widget.

This will give a default appearance to the UI which can then be modified by adding further styles.


Every display can have a different theme.

For example, you could have a colorful theme on a TFT and monochrome theme on a secondary monochrome display.

To set a theme for a display, two steps are required:

  1. Initialize a theme
  2. Assign the initialized theme to a display.


Theme initialization functions can have different prototypes.


This example shows how to set the "default" theme:

 lv_theme_t * th = lv_theme_default_init(display,  /*Use the DPI, size, etc from this display*/ 
                                         LV_COLOR_PALETTE_BLUE, LV_COLOR_PALETTE_CYAN,   /*Primary and secondary palette*/
                                         false,    /*Light or dark mode*/ 
                                         &lv_font_montserrat_10, &lv_font_montserrat_14, &lv_font_montserrat_18); /*Small, normal, large fonts*/
                                         
 lv_disp_set_theme(display, th); /*Assign the theme to the display*/


The included themes are enabled in lv_conf.h.

If the default theme is enabled by LV_USE_THEME_DEFAULT 1 LVGL automatically initializes and sets it when a display is created.

テーマは、スタイルの集合体です。もしアクティブなテーマがあれば、LVGLは作成されたすべてのウィジェットにそれを適用します。

これは、UIにデフォルトの外観を与え、さらにスタイルを追加することによって変更することができます。


すべてのディスプレイは、異なるテーマを持つことができます。

例えば、TFTディスプレイにはカラフルなテーマを、セカンダリモノクロディスプレイにはモノクロのテーマを持たせることができます。


ディスプレイのテーマを設定するには、2つのステップが必要である。

  1. テーマを初期化する
  2. 初期化されたテーマをディスプレイに割り当てる。


テーマの初期化関数は、異なるプロトタイプを持つことができます。


この例では、「デフォルト」テーマを設定する方法を示します。

 lv_theme_t * th = lv_theme_default_init(display,  /*Use the DPI, size, etc from this display*/ 
                                         LV_COLOR_PALETTE_BLUE, LV_COLOR_PALETTE_CYAN,   /*Primary and secondary palette*/
                                         false,    /*Light or dark mode*/ 
                                         &lv_font_montserrat_10, &lv_font_montserrat_14, &lv_font_montserrat_18); /*Small, normal, large fonts*/
                                         
 lv_disp_set_theme(display, th); /*Assign the theme to the display*/


含まれるテーマはlv_conf.hで有効化される.

If the default theme is enabled by LV_USE_THEME_DEFAULT 1 でデフォルトのテーマを有効にすると,ディスプレイ作成時にLVGLが自動的に初期化し設定する.

戻る : Previous


Extending themes

英文 自動翻訳

Built-in themes can be extended. If a custom theme is created, a parent theme can be selected.

The parent theme's styles will be added before the custom theme's styles.

Any number of themes can be chained this way. E.g. default theme -> custom theme -> dark theme.

lv_theme_set_parent(new_theme, base_theme) extends the base_theme with the new_theme.

There is an example for it below.

内蔵テーマの拡張が可能 カスタムテーマを作成した場合、親テーマを選択することができる。

親テーマのスタイルがカスタムテーマのスタイルの前に追加される。

この方法で、いくつでもテーマを連結することができます。例:デフォルトテーマ→カスタムテーマ→ダークテーマ。

lv_theme_set_parent(new_theme, base_theme) は、base_themenew_themeで拡張します。

以下にその例を示します。

戻る : Previous


Examples

英文 自動翻訳

Size styles

LVGL docs example 004.png

Background styles

LVGL docs example 005.png

Border styles

LVGL docs example 006.png

Outline styles

LVGL docs example 007.png

Shadow styles

LVGL docs example 008.png

Image styles

LVGL docs example 009.png

Arc styles

LVGL docs overview style 07.png

Text styles

LVGL docs example 010.png

Line styles

LVGL docs example 011.png

Transition

LVGL docs example 012.png

Using multiple styles

LVGL docs example 013.png

Local styles

LVGL docs example 014.png

Add styles to parts and states

LVGL docs example 016.png

Extending the current theme

LVGL docs example 017.png

戻る : Previous

API

英文 自動翻訳

Typedefs

typedef uint8_t lv_blend_mode_t

typedef uint8_t lv_text_decor_t

typedef uint8_t lv_border_side_t

typedef uint8_t lv_grad_dir_t

typedef uint8_t lv_dither_mode_t

Enums

enum [anonymous]

Possible options how to blend opaque drawings Values:
enumerator LV_BLEND_MODE_NORMAL
Simply mix according to the opacity value
enumerator LV_BLEND_MODE_ADDITIVE
Add the respective color channels
enumerator LV_BLEND_MODE_SUBTRACTIVE
Subtract the foreground from the background
enumerator LV_BLEND_MODE_MULTIPLY
Multiply the foreground and background
enumerator LV_BLEND_MODE_REPLACE
Replace background with foreground in the area

enum [anonymous]

Some options to apply decorations on texts. 'OR'ed values can be used. Values:
enumerator LV_TEXT_DECOR_NONE
enumerator LV_TEXT_DECOR_UNDERLINE
enumerator LV_TEXT_DECOR_STRIKETHROUGH

enum [anonymous]

Selects on which sides border should be drawn 'OR'ed values can be used. Values:
enumerator LV_BORDER_SIDE_NONE
enumerator LV_BORDER_SIDE_BOTTOM
enumerator LV_BORDER_SIDE_TOP
enumerator LV_BORDER_SIDE_LEFT
enumerator LV_BORDER_SIDE_RIGHT
enumerator LV_BORDER_SIDE_FULL
enumerator LV_BORDER_SIDE_INTERNAL
FOR matrix-like objects (e.g. Button matrix)

enum [anonymous]

The direction of the gradient. Values:
enumerator LV_GRAD_DIR_NONE
No gradient (the grad_color property is ignored)
enumerator LV_GRAD_DIR_VER
Vertical (top to bottom) gradient
enumerator LV_GRAD_DIR_HOR
Horizontal (left to right) gradient

enum [anonymous]

The dithering algorithm for the gradient Depends on LV_DITHER_GRADIENT Values:
enumerator LV_DITHER_NONE
No dithering, colors are just quantized to the output resolution
enumerator LV_DITHER_ORDERED
Ordered dithering. Faster to compute and use less memory but lower quality
enumerator LV_DITHER_ERR_DIFF
Error diffusion mode. Slower to compute and use more memory but give highest dither quality

enum lv_style_prop_t

Enumeration of all built in style properties
Typedefs

typedef uint8_t lv_blend_mode_t

typedef uint8_t lv_text_decor_t

typedef uint8_t lv_border_side_t

typedef uint8_t lv_grad_dir_t

typedef uint8_t lv_dither_mode_t

Enums

enum [anonymous]

不透明な描画をブレンドする方法として考えられるオプション 値。
enumerator LV_BLEND_MODE_NORMAL
不透明度の値に応じて混ぜるだけでOK
enumerator LV_BLEND_MODE_ADDITIVE
それぞれのカラーチャンネルを追加する
enumerator LV_BLEND_MODE_SUBTRACTIVE
背景から前景を差し引く
enumerator LV_BLEND_MODE_MULTIPLY
前景と背景を乗算する
enumerator LV_BLEND_MODE_REPLACE
エリア内の背景を前景に置き換える

enum [anonymous]

エリア内の背景を前景に置き換える
enumerator LV_TEXT_DECOR_NONE
enumerator LV_TEXT_DECOR_UNDERLINE
enumerator LV_TEXT_DECOR_STRIKETHROUGH

enum [anonymous]

ボーダーがどの辺に描かれるかを選択します。値を指定します。
enumerator LV_BORDER_SIDE_NONE
enumerator LV_BORDER_SIDE_BOTTOM
enumerator LV_BORDER_SIDE_TOP
enumerator LV_BORDER_SIDE_LEFT
enumerator LV_BORDER_SIDE_RIGHT
enumerator LV_BORDER_SIDE_FULL
enumerator LV_BORDER_SIDE_INTERNAL
FORマトリックス状オブジェクト (e.g. Button matrix)

enum [anonymous]

グラデーションの方向。値:
enumerator LV_GRAD_DIR_NONE
グラデーションなし (the grad_color property は無視されます)
enumerator LV_GRAD_DIR_VER
垂直方向(上から下へ)のグラデーション
enumerator LV_GRAD_DIR_HOR
水平(左から右へ)グラデーション

enum [anonymous]

グラデーションのディザリングアルゴリズム LV_DITHER_GRADIENT Values に依存する。
enumerator LV_DITHER_NONE
ディザリングを行わず、色を出力解像度に量子化するだけ
enumerator LV_DITHER_ORDERED
オーダーディザリング。計算速度が速く、メモリ使用量も少ないが、画質が落ちる
enumerator LV_DITHER_ERR_DIFF
誤差拡散モード。計算速度が遅く、メモリ使用量も多くなりますが、最高のディザリング品質が得られます。

enum lv_style_prop_t

内蔵されたすべてのスタイルプロパティの列挙

Values:

enumerator LV_STYLE_PROP_INV

enumerator LV_STYLE_WIDTH

enumerator LV_STYLE_MIN_WIDTH

enumerator LV_STYLE_MAX_WIDTH

enumerator LV_STYLE_HEIGHT

enumerator LV_STYLE_MIN_HEIGHT

enumerator LV_STYLE_MAX_HEIGHT

enumerator LV_STYLE_X

enumerator LV_STYLE_Y

enumerator LV_STYLE_ALIGN

enumerator LV_STYLE_TRANSFORM_WIDTH

enumerator LV_STYLE_TRANSFORM_HEIGHT

enumerator LV_STYLE_TRANSLATE_X

enumerator LV_STYLE_TRANSLATE_Y

enumerator LV_STYLE_TRANSFORM_ZOOM

enumerator LV_STYLE_TRANSFORM_ANGLE

enumerator LV_STYLE_PAD_TOP

enumerator LV_STYLE_PAD_BOTTOM

enumerator LV_STYLE_PAD_LEFT

enumerator LV_STYLE_PAD_RIGHT

enumerator LV_STYLE_PAD_ROW

enumerator LV_STYLE_PAD_COLUMN

enumerator LV_STYLE_BG_COLOR

enumerator LV_STYLE_BG_COLOR_FILTERED

enumerator LV_STYLE_BG_OPA

enumerator LV_STYLE_BG_GRAD_COLOR

enumerator LV_STYLE_BG_GRAD_COLOR_FILTERED

enumerator LV_STYLE_BG_GRAD_DIR

enumerator LV_STYLE_BG_MAIN_STOP

enumerator LV_STYLE_BG_GRAD_STOP

enumerator LV_STYLE_BG_GRAD

enumerator LV_STYLE_BG_DITHER_MODE

enumerator LV_STYLE_BG_IMG_SRC

enumerator LV_STYLE_BG_IMG_OPA

enumerator LV_STYLE_BG_IMG_RECOLOR

enumerator LV_STYLE_BG_IMG_RECOLOR_FILTERED

enumerator LV_STYLE_BG_IMG_RECOLOR_OPA

enumerator LV_STYLE_BG_IMG_TILED

enumerator LV_STYLE_BORDER_COLOR

enumerator LV_STYLE_BORDER_COLOR_FILTERED

enumerator LV_STYLE_BORDER_OPA

enumerator LV_STYLE_BORDER_WIDTH

enumerator LV_STYLE_BORDER_SIDE

enumerator LV_STYLE_BORDER_POST

enumerator LV_STYLE_OUTLINE_WIDTH

enumerator LV_STYLE_OUTLINE_COLOR

enumerator LV_STYLE_OUTLINE_COLOR_FILTERED

enumerator LV_STYLE_OUTLINE_OPA

enumerator LV_STYLE_OUTLINE_PAD

enumerator LV_STYLE_SHADOW_WIDTH

enumerator LV_STYLE_SHADOW_OFS_X

enumerator LV_STYLE_SHADOW_OFS_Y

enumerator LV_STYLE_SHADOW_SPREAD

enumerator LV_STYLE_SHADOW_COLOR

enumerator LV_STYLE_SHADOW_COLOR_FILTERED

enumerator LV_STYLE_SHADOW_OPA

enumerator LV_STYLE_IMG_OPA

enumerator LV_STYLE_IMG_RECOLOR

enumerator LV_STYLE_IMG_RECOLOR_FILTERED

enumerator LV_STYLE_IMG_RECOLOR_OPA

enumerator LV_STYLE_LINE_WIDTH

enumerator LV_STYLE_LINE_DASH_WIDTH

enumerator LV_STYLE_LINE_DASH_GAP

enumerator LV_STYLE_LINE_ROUNDED

enumerator LV_STYLE_LINE_COLOR

enumerator LV_STYLE_LINE_COLOR_FILTERED

enumerator LV_STYLE_LINE_OPA

enumerator LV_STYLE_ARC_WIDTH

enumerator LV_STYLE_ARC_ROUNDED

enumerator LV_STYLE_ARC_COLOR

enumerator LV_STYLE_ARC_COLOR_FILTERED

enumerator LV_STYLE_ARC_OPA

enumerator LV_STYLE_ARC_IMG_SRC

enumerator LV_STYLE_TEXT_COLOR

enumerator LV_STYLE_TEXT_COLOR_FILTERED

enumerator LV_STYLE_TEXT_OPA

enumerator LV_STYLE_TEXT_FONT

enumerator LV_STYLE_TEXT_LETTER_SPACE

enumerator LV_STYLE_TEXT_LINE_SPACE

enumerator LV_STYLE_TEXT_DECOR

enumerator LV_STYLE_TEXT_ALIGN

enumerator LV_STYLE_RADIUS

enumerator LV_STYLE_CLIP_CORNER

enumerator LV_STYLE_OPA

enumerator LV_STYLE_COLOR_FILTER_DSC

enumerator LV_STYLE_COLOR_FILTER_OPA

enumerator LV_STYLE_ANIM_TIME

enumerator LV_STYLE_ANIM_SPEED

enumerator LV_STYLE_TRANSITION

enumerator LV_STYLE_BLEND_MODE

enumerator LV_STYLE_LAYOUT

enumerator LV_STYLE_BASE_DIR

enumerator _LV_STYLE_LAST_BUILT_IN_PROP

enumerator LV_STYLE_PROP_ANY

Functions

LV_EXPORT_CONST_INT(LV_IMG_ZOOM_NONE)

void lv_style_init(lv_style_t *style)

Initialize a style Note Do not call lv_style_init on styles that already have some properties because this function won't free the used memory, just sets a default state for the style. In other words be sure to initialize styles only once!
Parameters
style -- pointer to a style to initialize

void lv_style_reset(lv_style_t *style)

Clear all properties from a style and free all allocated memories.
Parameters
style -- pointer to a style

lv_style_prop_t lv_style_register_prop(void)

bool lv_style_remove_prop(lv_style_t *style, lv_style_prop_t prop)

Remove a property from a style
Parameters
  • style -- pointer to a style
  • prop -- a style property ORed with a state.
Returns
true: the property was found and removed;
false: the property wasn't found

void lv_style_set_prop(lv_style_t *style, lv_style_prop_t prop, lv_style_value_t value)

Set the value of property in a style. This function shouldn't be used directly by the user. Instead use lv_style_set_<prop_name>(). E.g. lv_style_set_bg_color()
Parameters
  • style -- pointer to style
  • prop -- the ID of a property (e.g. LV_STYLE_BG_COLOR)
  • value -- lv_style_value_t variable in which a field is set according to the type of prop

lv_res_t lv_style_get_prop(const lv_style_t *style, lv_style_prop_t prop, lv_style_value_t *value)

Get the value of a property Note For performance reasons there are no sanity check on style
Parameters
  • style -- pointer to a style
  • prop -- the ID of a property
  • value -- pointer to a lv_style_value_t variable to store the value
Returns
LV_RES_INV: the property wasn't found in the style (value is unchanged) LV_RES_OK: the property was fond, and value is set accordingly

static inline lv_res_t lv_style_get_prop_inlined(const lv_style_t *style, lv_style_prop_t prop, lv_style_value_t *value)

Get the value of a property Note For performance reasons there are no sanity check on style
Note This function is the same as lv_style_get_prop but inlined. Use it only on performance critical places
Parameters
  • style -- pointer to a style
  • prop -- the ID of a property
  • value -- pointer to a lv_style_value_t variable to store the value
Returns
LV_RES_INV: the property wasn't found in the style (value is unchanged) LV_RES_OK: the property was fond, and value is set accordingly

void lv_style_transition_dsc_init(lv_style_transition_dsc_t *tr, const lv_style_prop_t props[], lv_anim_path_cb_t path_cb, uint32_t time, uint32_t delay, void *user_data)

lv_style_value_t lv_style_prop_get_default(lv_style_prop_t prop)

Get the default value of a property
Parameters
prop -- the ID of a property
Returns
the default value

bool lv_style_is_empty(const lv_style_t *style)

Checks if a style is empty (has no properties)
Parameters
style -- pointer to a style
Returns
true if the style is empty

uint8_t _lv_style_get_prop_group(lv_style_prop_t prop)

Tell the group of a property. If the a property from a group is set in a style the (1 << group) bit of style->has_group is set. It allows early skipping the style if the property is not exists in the style at all.
Parameters
prop -- a style property
Returns
the group [0..7] 7 means all the custom properties with index > 112

static inline void lv_style_set_size(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_all(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_hor(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_ver(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_gap(lv_style_t *style, lv_coord_t value)

struct lv_gradient_stop_t

#include <lv_style.h> A gradient stop definition. This matches a color and a position in a virtual 0-255 scale. Public Members
lv_color_t color
The stop color
uint8_t frac
The stop position in 1/255 unit

struct lv_grad_dsc_t

#include <lv_style.h> A descriptor of a gradient. Public Members
lv_gradient_stop_t stops[LV_GRADIENT_MAX_STOPS]
A gradient stop array
uint8_t stops_count
The number of used stops in the array
lv_grad_dir_t dir
The gradient direction. Any of LV_GRAD_DIR_HOR, LV_GRAD_DIR_VER, LV_GRAD_DIR_NONE
lv_dither_mode_t dither
Whether to dither the gradient or not. Any of LV_DITHER_NONE, LV_DITHER_ORDERED, LV_DITHER_ERR_DIFF

union lv_style_value_t

#include <lv_style.h> A common type to handle all the property types in the same way. Public Members
int32_t num
Number integer number (opacity, enums, booleans or "normal" numbers)
const void *ptr
Constant pointers (font, cone text, etc)
lv_color_t color
Colors


struct lv_style_transition_dsc_t

#include <lv_style.h> Descriptor for style transitions Public Members
const lv_style_prop_t *props
An array with the properties to animate.
void *user_data
A custom user data that will be passed to the animation's user_data
lv_anim_path_cb_t path_xcb
A path for the animation.
uint32_t time
Duration of the transition in [ms]
uint32_t delay
Delay before the transition in [ms]

struct lv_style_const_prop_t

#include <lv_style.h> Descriptor of a constant style property. Public Members
lv_style_prop_t prop
lv_style_value_t value

struct lv_style_t

#include <lv_style.h> Descriptor of a style (a collection of properties and values). Public Members
uint32_t sentinel
lv_style_value_t value1
uint8_t *values_and_props
const lv_style_const_prop_t *const_props
union lv_style_t::[anonymous] v_p
uint16_t prop1
uint16_t is_const
uint8_t has_group
uint8_t prop_cnt

Typedefs

typedef void (*lv_theme_apply_cb_t)(struct _lv_theme_t*, lv_obj_t*)

typedef struct _lv_theme_t lv_theme_t

Functions


lv_theme_t *lv_theme_get_from_obj(lv_obj_t *obj)

Get the theme assigned to the display of the object
Parameters
obj -- pointer to a theme object
Returns
the theme of the object's display (can be NULL)

void lv_theme_apply(lv_obj_t *obj)

Apply the active theme on an object
Parameters
obj -- pointer to an object

void lv_theme_set_parent(lv_theme_t *new_theme, lv_theme_t *parent)

Set a base theme for a theme. The styles from the base them will be added before the styles of the current theme. Arbitrary long chain of themes can be created by setting base themes.
Parameters
  • new_theme -- pointer to theme which base should be set
  • parent -- pointer to the base theme

void lv_theme_set_apply_cb(lv_theme_t *theme, lv_theme_apply_cb_t apply_cb)

Set an apply callback for a theme. The apply callback is used to add styles to different objects
Parameters
  • theme -- pointer to theme which callback should be set
  • apply_cb -- pointer to the callback

const lv_font_t *lv_theme_get_font_small(lv_obj_t *obj)

Get the small font of the theme
Parameters
obj -- pointer to an object
Returns
pointer to the font

const lv_font_t *lv_theme_get_font_normal(lv_obj_t *obj)

Get the normal font of the theme
Parameters
obj -- pointer to an object
Returns
pointer to the font

const lv_font_t *lv_theme_get_font_large(lv_obj_t *obj)

Get the subtitle font of the theme
Parameters
obj -- pointer to an object
Returns
pointer to the font

lv_color_t lv_theme_get_color_primary(lv_obj_t *obj)

Get the primary color of the theme
Parameters
obj -- pointer to an object
Returns
the color

lv_color_t lv_theme_get_color_secondary(lv_obj_t *obj)

Get the secondary color of the theme
Parameters
obj -- pointer to an object
Returns
the color

struct _lv_theme_t

Public Members
lv_theme_apply_cb_t apply_cb
struct _lv_theme_t *parent
Apply the current theme's style on top of this theme.
void *user_data
struct _lv_disp_t *disp
lv_color_t color_primary
lv_color_t color_secondary
const lv_font_t *font_small
const lv_font_t *font_normal
const lv_font_t *font_large
uint32_t flags
Functions

LV_EXPORT_CONST_INT(LV_IMG_ZOOM_NONE)

void lv_style_init(lv_style_t *style)

注意 既にいくつかのプロパティを持つスタイルでlv_style_init を呼び出さないでくだ さい。言い換えれば、スタイルを初期化するのは一度だけにしてください。
Parameters
style -- 初期化するスタイルへのポインタ

void lv_style_reset(lv_style_t *style)

スタイルからすべてのプロパティをクリアし、割り当てられたすべてのメモリを解放します。
Parameters
style -- スタイルへのポインタ

lv_style_prop_t lv_style_register_prop(void)

bool lv_style_remove_prop(lv_style_t *style, lv_style_prop_t prop)

スタイルからプロパティを削除する
Parameters
  • style -- スタイルへのポインタ
  • prop -- スタイルプロパティと状態をORしたもの。
Returns
true: そのプロパティが見つかり削除された、
false: そのプロパティが見つからなかった

void lv_style_set_prop(lv_style_t *style, lv_style_prop_t prop, lv_style_value_t value)

スタイルにプロパティの値を設定します。この関数は、ユーザが直接使用することはできません。代わりに lv_style_set_<prop_name>()を使用してください。
例: lv_style_set_bg_color()
Parameters
  • style -- スタイルへのポインタ
  • prop -- プロパティのID (e.g. LV_STYLE_BG_COLOR)
  • value -- lv_style_value_t 変数でpropの種類に応じてフィールドが設定される。

lv_res_t lv_style_get_prop(const lv_style_t *style, lv_style_prop_t prop, lv_style_value_t *value)

プロパティの値を取得する 注:パフォーマンス上の理由から、styleに関するサニティチェックは行われません。
Parameters
  • style -- スタイルへのポインタ
  • prop -- プロパティのID
  • value -- 値を格納する lv_style_value_t 変数へのポインタを指定します。
Returns
LV_RES_INV: プロパティがスタイル内に見つからなかった (value は変更されない)
LV_RES_OK: プロパティが見つかり、value が適宜に設定される。

static inline lv_res_t lv_style_get_prop_inlined(const lv_style_t *style, lv_style_prop_t prop, lv_style_value_t *value)

プロパティの値を取得する Note パフォーマンス上の理由から、styleに関するサニティチェックはありません。
Note この関数は lv_style_get_prop と同じですが、インライン化されています。パフォーマンスが重要な場所でのみ使用してください。
Parameters
  • style -- スタイルへのポインタ
  • prop -- プロパティのID
  • value -- 値を格納する lv_style_value_t 変数へのポインタを指定します。
Returns
LV_RES_INV:そのプロパティはスタイルに見つからなかった (valueは変更されない)
LV_RES_OK: プロパティが検出され、valueが設定されます。

void lv_style_transition_dsc_init(lv_style_transition_dsc_t *tr, const lv_style_prop_t props[], lv_anim_path_cb_t path_cb, uint32_t time, uint32_t delay, void *user_data)

lv_style_value_t lv_style_prop_get_default(lv_style_prop_t prop)

プロパティのデフォルト値を取得する
Parameters
prop --プロパティのID
Returns
デフォルト値

bool lv_style_is_empty(const lv_style_t *style)

スタイルが空であるかどうか(プロパティを持たないかどうか)をチェックします。
Parameters
style -- スタイルへのポインタ
Returns
スタイルが空であれば真

uint8_t _lv_style_get_prop_group(lv_style_prop_t prop)

プロパティのグループを指定します。あるグループに属するプロパティがスタイルに設定されると、style->has_group の (1 << group) ビットが設定されます。これにより、そのプロパティがスタイルに存在しない場合、早期にそのスタイルをスキップすることができます。
Parameters
prop -- スタイルのプロパティ
Returns
グループ [0..7] 7 は、インデックス > 112 のすべてのカスタムプロパティを意味します。

static inline void lv_style_set_size(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_all(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_hor(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_ver(lv_style_t *style, lv_coord_t value)

static inline void lv_style_set_pad_gap(lv_style_t *style, lv_coord_t value)

struct lv_gradient_stop_t

#include <lv_style.h> グラデーションストップの定義。これは色と仮想的な0-255スケールでの位置を一致させる。
Public Members
lv_color_t color
停止位置の色
uint8_t frac
1/255単位での停止位置

struct lv_grad_dsc_t

#include <lv_style.h> 勾配を表す記述子。公開メンバー
lv_gradient_stop_t stops[LV_GRADIENT_MAX_STOPS]
グラデーションストップ配列
uint8_t stops_count
配列に含まれる使用済みストップの数
lv_grad_dir_t dir
グラデーションの方向。
Any of LV_GRAD_DIR_HOR,
LV_GRAD_DIR_VER,
LV_GRAD_DIR_NONE
lv_dither_mode_t dither
グラデーションをディザリングするかどうか。
Any of LV_DITHER_NONE,
LV_DITHER_ORDERED,
LV_DITHER_ERR_DIFF

union lv_style_value_t

#include <lv_style.h> すべてのプロパティタイプを同じように扱うための共通タイプ。パブリックメンバー
int32_t num
Number 整数(不透明度、列挙型、ブール型、または「通常の」数値)
const void *ptr
定数ポインタ (font, cone text, etc)
lv_color_t color


struct lv_style_transition_dsc_t

#include <lv_style.h> スタイル遷移の記述子 公開メンバー
const lv_style_prop_t *props
アニメートするプロパティを含む配列。
void *user_data
アニメーションの user_data に渡されるカスタムユーザデータ。
lv_anim_path_cb_t path_xcb
アニメーションのパス。
uint32_t time
遷移時間 [ms]
uint32_t delay
遷移前ディレイ [ms]

struct lv_style_const_prop_t

#include <lv_style.h> 定型スタイルプロパティの記述子です。パブリックメンバー
lv_style_prop_t prop
lv_style_value_t value

struct lv_style_t

#include <lv_style.h> スタイルの記述子(プロパティと値の集合体)です。パブリックメンバー
uint32_t sentinel
lv_style_value_t value1
uint8_t *values_and_props
const lv_style_const_prop_t *const_props
union lv_style_t::[anonymous] v_p
uint16_t prop1
uint16_t is_const
uint8_t has_group
uint8_t prop_cnt

Typedefs

typedef void (*lv_theme_apply_cb_t)(struct _lv_theme_t*, lv_obj_t*)

typedef struct _lv_theme_t lv_theme_t

Functions


lv_theme_t *lv_theme_get_from_obj(lv_obj_t *obj)

オブジェクトの表示に割り当てられているテーマを取得します。
Parameters
obj -- テーマオブジェクトへのポインタ
Returns
表示テーマ (NULLでも可)

void lv_theme_apply(lv_obj_t *obj)

オブジェクトにアクティブテーマを適用する
Parameters
obj -- ポインタ

void lv_theme_set_parent(lv_theme_t *new_theme, lv_theme_t *parent)

テーマのベースとなるテーマを設定します。ベースとなるテーマのスタイルは、現在のテーマのスタイルの前に追加されます。ベースとなるテーマを設定することで、任意の長さのテーマの連鎖を作ることができる。
Parameters
  • new_theme -- ベースを設定すべきテーマへのポインタ
  • parent -- 基本テーマへのポインタ

void lv_theme_set_apply_cb(lv_theme_t *theme, lv_theme_apply_cb_t apply_cb)

テーマに対する適用コールバックを設定します。apply コールバックは、さまざまなオブジェクトにスタイルを追加するために使用されます。
Parameters
  • theme -- コールバックが設定されるべきテーマへのポインタ
  • apply_cb -- コールバックへのポインタ

const lv_font_t *lv_theme_get_font_small(lv_obj_t *obj)

テーマのスモールフォントを取得
Parameters
obj -- オブジェクトへのポインタ
Returns
フォントへのポインタ

const lv_font_t *lv_theme_get_font_normal(lv_obj_t *obj)

テーマの通常フォントを取得する
Parameters
obj -- オブジェクトへのポインタ
Returns
フォントへのポインタ

const lv_font_t *lv_theme_get_font_large(lv_obj_t *obj)

テーマのサブタイトルフォントを取得する
Parameters
obj -- オブジェクトへのポインタ
Returns
フォントへのポインタ

lv_color_t lv_theme_get_color_primary(lv_obj_t *obj)

Get the primary color of the theme
Parameters
obj -- オブジェクトへのポインタ
Returns

lv_color_t lv_theme_get_color_secondary(lv_obj_t *obj)

Get the secondary color of the theme
Parameters
obj -- オブジェクトへのポインタ
Returns

struct _lv_theme_t

Public Members
lv_theme_apply_cb_t apply_cb
struct _lv_theme_t *parent
現在のテーマのスタイルをこのテーマの上に適用します。
void *user_data
struct _lv_disp_t *disp
lv_color_t color_primary
lv_color_t color_secondary
const lv_font_t *font_small
const lv_font_t *font_normal
const lv_font_t *font_large
uint32_t flags

Functions

static inline lv_coord_t lv_obj_get_style_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_min_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_max_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_height(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_min_height(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_max_height(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_x(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_y(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_align_t lv_obj_get_style_align(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_transform_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_transform_height(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_translate_x(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_translate_y(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_transform_zoom(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_transform_angle(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_top(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_bottom(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_left(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_right(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_row(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_pad_column(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_bg_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_grad_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_grad_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_grad_dir_t lv_obj_get_style_bg_grad_dir(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_bg_main_stop(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_bg_grad_stop(const struct _lv_obj_t *obj, uint32_t part)

static inline const lv_grad_dsc_t *lv_obj_get_style_bg_grad(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_dither_mode_t lv_obj_get_style_bg_dither_mode(const struct _lv_obj_t *obj, uint32_t part)

static inline const void *lv_obj_get_style_bg_img_src(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_bg_img_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_img_recolor(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_bg_img_recolor_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_bg_img_recolor_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline bool lv_obj_get_style_bg_img_tiled(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_border_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_border_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_border_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_border_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_border_side_t lv_obj_get_style_border_side(const struct _lv_obj_t *obj, uint32_t part)

static inline bool lv_obj_get_style_border_post(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_outline_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_outline_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_outline_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_outline_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_outline_pad(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_shadow_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_shadow_ofs_x(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_shadow_ofs_y(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_shadow_spread(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_shadow_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_shadow_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_shadow_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_img_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_img_recolor(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_img_recolor_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_img_recolor_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_line_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_line_dash_width(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_line_dash_gap(const struct _lv_obj_t *obj, uint32_t part)

static inline bool lv_obj_get_style_line_rounded(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_line_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_line_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_line_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_arc_width(const struct _lv_obj_t *obj, uint32_t part)

static inline bool lv_obj_get_style_arc_rounded(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_arc_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_arc_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_arc_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline const void *lv_obj_get_style_arc_img_src(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_text_color(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_color_t lv_obj_get_style_text_color_filtered(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_text_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline const lv_font_t *lv_obj_get_style_text_font(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_text_letter_space(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_text_line_space(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_text_decor_t lv_obj_get_style_text_decor(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_text_align_t lv_obj_get_style_text_align(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_coord_t lv_obj_get_style_radius(const struct _lv_obj_t *obj, uint32_t part)

static inline bool lv_obj_get_style_clip_corner(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_opa(const struct _lv_obj_t *obj, uint32_t part)

static inline const lv_color_filter_dsc_t *lv_obj_get_style_color_filter_dsc(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_opa_t lv_obj_get_style_color_filter_opa(const struct _lv_obj_t *obj, uint32_t part)


static inline uint32_t lv_obj_get_style_anim_time(const struct _lv_obj_t *obj, uint32_t part)

static inline uint32_t lv_obj_get_style_anim_speed(const struct _lv_obj_t *obj, uint32_t part)

static inline const lv_style_transition_dsc_t *lv_obj_get_style_transition(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_blend_mode_t lv_obj_get_style_blend_mode(const struct _lv_obj_t *obj, uint32_t part)

static inline uint16_t lv_obj_get_style_layout(const struct _lv_obj_t *obj, uint32_t part)

static inline lv_base_dir_t lv_obj_get_style_base_dir(const struct _lv_obj_t *obj, uint32_t part)

void lv_obj_set_style_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_min_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_max_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_height(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_min_height(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_max_height(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_x(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_y(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_align(struct _lv_obj_t *obj, lv_align_t value, lv_style_selector_t selector)

void lv_obj_set_style_transform_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_transform_height(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_translate_x(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_translate_y(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_transform_zoom(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_transform_angle(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_top(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_bottom(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_left(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_right(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_row(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_pad_column(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_grad_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_grad_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_grad_dir(struct _lv_obj_t *obj, lv_grad_dir_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_main_stop(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_grad_stop(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_grad(struct _lv_obj_t *obj, const lv_grad_dsc_t *value, lv_style_selector_t selector)

void lv_obj_set_style_bg_dither_mode(struct _lv_obj_t *obj, lv_dither_mode_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_src(struct _lv_obj_t *obj, const void *value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_recolor(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_recolor_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_recolor_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_bg_img_tiled(struct _lv_obj_t *obj, bool value, lv_style_selector_t selector)

void lv_obj_set_style_border_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_border_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_border_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_border_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_border_side(struct _lv_obj_t *obj, lv_border_side_t value, lv_style_selector_t selector)

void lv_obj_set_style_border_post(struct _lv_obj_t *obj, bool value, lv_style_selector_t selector)

void lv_obj_set_style_outline_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_outline_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_outline_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_outline_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_outline_pad(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_ofs_x(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_ofs_y(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_spread(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_shadow_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_img_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_img_recolor(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_img_recolor_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_img_recolor_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_dash_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_dash_gap(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_rounded(struct _lv_obj_t *obj, bool value, lv_style_selector_t selector)

void lv_obj_set_style_line_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_line_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_arc_width(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_arc_rounded(struct _lv_obj_t *obj, bool value, lv_style_selector_t selector)

void lv_obj_set_style_arc_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_arc_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_arc_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_arc_img_src(struct _lv_obj_t *obj, const void *value, lv_style_selector_t selector)

void lv_obj_set_style_text_color(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_color_filtered(struct _lv_obj_t *obj, lv_color_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_font(struct _lv_obj_t *obj, const lv_font_t *value, lv_style_selector_t selector)

void lv_obj_set_style_text_letter_space(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_line_space(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_decor(struct _lv_obj_t *obj, lv_text_decor_t value, lv_style_selector_t selector)

void lv_obj_set_style_text_align(struct _lv_obj_t *obj, lv_text_align_t value, lv_style_selector_t selector)

void lv_obj_set_style_radius(struct _lv_obj_t *obj, lv_coord_t value, lv_style_selector_t selector)

void lv_obj_set_style_clip_corner(struct _lv_obj_t *obj, bool value, lv_style_selector_t selector)

void lv_obj_set_style_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)

void lv_obj_set_style_color_filter_dsc(struct _lv_obj_t *obj, const lv_color_filter_dsc_t *value, lv_style_selector_t selector)

void lv_obj_set_style_color_filter_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)


void lv_obj_set_style_anim_time(struct _lv_obj_t *obj, uint32_t value, lv_style_selector_t selector)

void lv_obj_set_style_anim_speed(struct _lv_obj_t *obj, uint32_t value, lv_style_selector_t selector)

void lv_obj_set_style_transition(struct _lv_obj_t *obj, const lv_style_transition_dsc_t *value, lv_style_selector_t selector)

void lv_obj_set_style_blend_mode(struct _lv_obj_t *obj, lv_blend_mode_t value, lv_style_selector_t selector)

void lv_obj_set_style_layout(struct _lv_obj_t *obj, uint16_t value, lv_style_selector_t selector)

void lv_obj_set_style_base_dir(struct _lv_obj_t *obj, lv_base_dir_t value, lv_style_selector_t selector)


Functions

void lv_style_set_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_min_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_max_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_height(lv_style_t *style, lv_coord_t value)

void lv_style_set_min_height(lv_style_t *style, lv_coord_t value)

void lv_style_set_max_height(lv_style_t *style, lv_coord_t value)

void lv_style_set_x(lv_style_t *style, lv_coord_t value)

void lv_style_set_y(lv_style_t *style, lv_coord_t value)

void lv_style_set_align(lv_style_t *style, lv_align_t value)

void lv_style_set_transform_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_transform_height(lv_style_t *style, lv_coord_t value)

void lv_style_set_translate_x(lv_style_t *style, lv_coord_t value)

void lv_style_set_translate_y(lv_style_t *style, lv_coord_t value)

void lv_style_set_transform_zoom(lv_style_t *style, lv_coord_t value)

void lv_style_set_transform_angle(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_top(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_bottom(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_left(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_right(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_row(lv_style_t *style, lv_coord_t value)

void lv_style_set_pad_column(lv_style_t *style, lv_coord_t value)

void lv_style_set_bg_color(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_bg_grad_color(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_grad_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_grad_dir(lv_style_t *style, lv_grad_dir_t value)

void lv_style_set_bg_main_stop(lv_style_t *style, lv_coord_t value)

void lv_style_set_bg_grad_stop(lv_style_t *style, lv_coord_t value)

void lv_style_set_bg_grad(lv_style_t *style, const lv_grad_dsc_t *value)

void lv_style_set_bg_dither_mode(lv_style_t *style, lv_dither_mode_t value)

void lv_style_set_bg_img_src(lv_style_t *style, const void *value)

void lv_style_set_bg_img_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_bg_img_recolor(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_img_recolor_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_bg_img_recolor_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_bg_img_tiled(lv_style_t *style, bool value)

void lv_style_set_border_color(lv_style_t *style, lv_color_t value)

void lv_style_set_border_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_border_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_border_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_border_side(lv_style_t *style, lv_border_side_t value)

void lv_style_set_border_post(lv_style_t *style, bool value)

void lv_style_set_outline_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_outline_color(lv_style_t *style, lv_color_t value)

void lv_style_set_outline_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_outline_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_outline_pad(lv_style_t *style, lv_coord_t value)

void lv_style_set_shadow_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_shadow_ofs_x(lv_style_t *style, lv_coord_t value)

void lv_style_set_shadow_ofs_y(lv_style_t *style, lv_coord_t value)

void lv_style_set_shadow_spread(lv_style_t *style, lv_coord_t value)

void lv_style_set_shadow_color(lv_style_t *style, lv_color_t value)

void lv_style_set_shadow_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_shadow_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_img_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_img_recolor(lv_style_t *style, lv_color_t value)

void lv_style_set_img_recolor_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_img_recolor_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_line_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_line_dash_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_line_dash_gap(lv_style_t *style, lv_coord_t value)

void lv_style_set_line_rounded(lv_style_t *style, bool value)

void lv_style_set_line_color(lv_style_t *style, lv_color_t value)

void lv_style_set_line_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_line_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_arc_width(lv_style_t *style, lv_coord_t value)

void lv_style_set_arc_rounded(lv_style_t *style, bool value)

void lv_style_set_arc_color(lv_style_t *style, lv_color_t value)

void lv_style_set_arc_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_arc_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_arc_img_src(lv_style_t *style, const void *value)

void lv_style_set_text_color(lv_style_t *style, lv_color_t value)

void lv_style_set_text_color_filtered(lv_style_t *style, lv_color_t value)

void lv_style_set_text_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_text_font(lv_style_t *style, const lv_font_t *value)

void lv_style_set_text_letter_space(lv_style_t *style, lv_coord_t value)

void lv_style_set_text_line_space(lv_style_t *style, lv_coord_t value)

void lv_style_set_text_decor(lv_style_t *style, lv_text_decor_t value)

void lv_style_set_text_align(lv_style_t *style, lv_text_align_t value)

void lv_style_set_radius(lv_style_t *style, lv_coord_t value)

void lv_style_set_clip_corner(lv_style_t *style, bool value)

void lv_style_set_opa(lv_style_t *style, lv_opa_t value)

void lv_style_set_color_filter_dsc(lv_style_t *style, const lv_color_filter_dsc_t *value)

void lv_style_set_color_filter_opa(lv_style_t *style, lv_opa_t value)


void lv_style_set_anim_time(lv_style_t *style, uint32_t value)

void lv_style_set_anim_speed(lv_style_t *style, uint32_t value)

void lv_style_set_transition(lv_style_t *style, const lv_style_transition_dsc_t *value)

void lv_style_set_blend_mode(lv_style_t *style, lv_blend_mode_t value)

void lv_style_set_layout(lv_style_t *style, uint16_t value)

void lv_style_set_base_dir(lv_style_t *style, lv_base_dir_t value)


戻る : Previous