App:Library:LVGL:docs:Overview:Displays

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

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

Displays

英文 自動翻訳

Important

The basic concept of a display in LVGL is explained in the [Porting](/porting/display) section.

So before reading further, please read the [Porting](/porting/display) section first.

重要

LVGLにおけるディスプレイの基本的な考え方は、[Porting](/porting/display)のセクションで説明されています。

ですから、この先を読む前に、まず[Porting](/porting/display)のセクションを読んでください。

戻る : Previous


Multiple display support

英文 自動翻訳

In LVGL you can have multiple displays, each with their own driver and objects. The only limitation is that every display needs to have the same color depth (as defined in LV_COLOR_DEPTH).

If the displays are different in this regard the rendered image can be converted to the correct format in the drivers flush_cb.


Creating more displays is easy: just initialize more display buffers and register another driver for every display.

When you create the UI, use lv_disp_set_default(disp) to tell the library on which display to create objects.

Why would you want multi-display support? Here are some examples:

  • Have a "normal" TFT display with local UI and create "virtual" screens on VNC on demand. (You need to add your VNC driver).
  • Have a large TFT display and a small monochrome display.
  • Have some smaller and simple displays in a large instrument or technology.
  • Have two large TFT displays: one for a customer and one for the shop assistant.
LVGLでは、複数のディスプレイを持つことができ、それぞれが独自のドライバとオブジェクトを持つことができます。唯一の制限は、すべてのディスプレイが同じ色深度(LV_COLOR_DEPTH)である必要があることです。

ディスプレイが異なる場合、レンダリング画像はドライバの flush_cbで正しいフォーマットに変換されます。


ディスプレイを増やすのは簡単です: ディスプレイバッファをさらに初期化して、ディスプレイごとに別のドライバを登録するだけです。

UI を作成するとき、lv_disp_set_default(disp) を使って、どのディスプレイでオブジェクトを作成するかをライブラリに知らせます。


なぜ、マルチディスプレイのサポートが必要なのでしょうか?いくつか例を挙げてみましょう。

  • ローカル UI を持つ "通常の" TFT ディスプレイを持ち、オンデマンドで VNC 上の "仮想" スクリーンを作成します。(VNCドライバを追加する必要があります)。
  • 大きなTFTディスプレイと小さな モノクロのディスプレイがある。
  • 大型の機器や技術に、小型でシンプルなディスプレイをいくつか設置する。
  • 2つの大きなTFTディスプレイを持つ:1つは顧客用、もう1つは店員用。
戻る : Previous


Using only one display

英文 自動翻訳

Using more displays can be useful but in most cases it's not required.

Therefore, the whole concept of multi-display handling is completely hidden if you register only one display. By default, the last created (and only) display is used.


lv_scr_act(), lv_scr_load(scr), lv_layer_top(), lv_layer_sys(), LV_HOR_RES and LV_VER_RES are always applied on the most recently created (default) display.


If you pass NULL as disp parameter to display related functions the default display will usually be used.

E.g. lv_disp_trig_activity(NULL) will trigger a user activity on the default display. (See below in Inactivity).

より多くのディスプレイを使用することは便利ですが、ほとんどの場合、それは必要ではありません。

したがって、ディスプレイを1つだけ登録する場合、マルチディスプレイ処理の全コンセプトは完全に隠蔽されます。デフォルトでは、最後に作成された(そして唯一の)ディスプレイが使用されます。


lv_scr_act(), lv_scr_load(scr), lv_layer_top(), lv_layer_sys(), LV_HOR_RESLV_VER_RES は常に最近作成した(デフォルト)ディスプレイに対して適用されます。


ディスプレイに関連する関数の disp パラメータに NULLを渡すと、通常、デフォルトのディスプレイが使用されます。

例えば、lv_disp_trig_activity(NULL) は、デフォルトのディスプレイでユーザ活動を開始します。(後述する非活性化を参照)。

戻る : Previous


Mirror display

英文 自動翻訳

To mirror the image of a display to another display, you don't need to use multi-display support.

Just transfer the buffer received in drv.flush_cb to the other display too.

あるディスプレイの画像を別のディスプレイにミラーリングするには、マルチディスプレイのサポートは必要ありません。

drv.flush_cb で受け取ったバッファをもう一方のディスプレイにも転送するだけです。

戻る : Previous


Split image

英文 自動翻訳

You can create a larger virtual display from an array of smaller ones. You can create it as below:

  1. Set the resolution of the displays to the large display's resolution.
  2. In drv.flush_cb, truncate and modify the area parameter for each display.
  3. Send the buffer's content to each real display with the truncated area.
小さなディスプレイの配列から大きな仮想ディスプレイを作成することができます。

以下のように作成することができます。

  1. ディスプレイの解像度を大型ディスプレイの解像度に設定する。
  2. drv.flush_cbで、各ディスプレイの area パラメータを切り捨てて変更する。
  3. バッファの内容を、切り捨てた領域で各実ディスプレイに送信する。
戻る : Previous


Screens

英文 自動翻訳

Every display has its own set of screens and the objects on each screen.

Be sure not to confuse displays and screens:

  • Displays are the physical hardware drawing the pixels.
  • Screens are the high-level root objects associated with a particular display. One display can have multiple screens associated with it, but not vice versa.


Screens can be considered the highest level containers which have no parent.

A screen's size is always equal to its display and their origin is (0;0).

Therefore, a screen's coordinates can't be changed, i.e. lv_obj_set_pos(), lv_obj_set_size() or similar functions can't be used on screens.

A screen can be created from any object type but the two most typical types are Base object and Image (to create a wallpaper).


To create a screen,

use lv_obj_t * scr = lv_<type>_create(NULL, copy).

copy can be an existing screen copied into the new screen.


To load a screen, use lv_scr_load(scr).

To get the active screen, use lv_scr_act().

These functions work on the default display.


If you want to specify which display to work on, use lv_disp_get_scr_act(disp) and lv_disp_load_scr(disp, scr).

A screen can be loaded with animations too.

Read more here.

Screens can be deleted with lv_obj_del(scr), but ensure that you do not delete the currently loaded screen.

ディスプレイには、それぞれ画面とその画面上にあるオブジェクトがあります。

ディスプレイとスクリーンを混同しないように注意してください。

  • ディスプレイは、ピクセルを描画する物理的なハードウェアです。
  • ディスプレイはピクセルを描画する物理的なハードウェアで、スクリーンは特定のディスプレイに関連付けられた高レベルのルートオブジェクトです。1つのディスプレイに複数のスクリーンを関連付けることができますが、その逆はできません。


スクリーンは、親を持たない最上位のコンテナと考えることができます。

スクリーンのサイズは常にディスプレイと同じで、その原点は(0;0)です。

つまり、lv_obj_set_pos()lv_obj_set_size() などの関数はスクリーンに対して使用することができません。


スクリーンはどのようなオブジェクトタイプからも作成できますが、最も典型的な2つのタイプは Base オブジェクトと Image (壁紙を作成するため)です。


スクリーンを作成するには、 lv_obj_t * scr = lv_<type>_create(NULL, copy).

を使用します。copy には、新しい画面にコピーされた既存の画面を指定できます。


画面を読み込むには、lv_scr_load(scr)を使用します。

アクティブなスクリーンを取得するには、lv_scr_act()を使用します。

これらの関数は、デフォルトのディスプレイで動作します。


作業するディスプレイを指定したい場合は、lv_disp_get_scr_act(disp) および lv_disp_load_scr(disp, scr).を使用してください。

画面にアニメーションを読み込むこともできます。

詳細はこちら。


スクリーンはlv_obj_del(scr)で削除できますが、現在ロードされているスクリーンを削除しないように注意してください。

戻る : Previous


Transparent screens

英文 自動翻訳

Usually, the opacity of the screen is LV_OPA_COVER to provide a solid background for its children.

If this is not the case (opacity < 100%) the display's background color or image will be visible.

See the Display background section for more details.

If the display's background opacity is also not LV_OPA_COVER LVGL has no solid background to draw.

This configuration (transparent screen and display) could be used to create for example OSD menus where a video is played on a lower layer, and a menu is overlayed on an upper layer.


To handle transparent displays, special (slower) color mixing algorithms need to be used by LVGL so this feature needs to enabled with LV_COLOR_SCREEN_TRANSP in lv_conf.h.

As this mode operates on the Alpha channel of the pixels LV_COLOR_DEPTH = 32 is also required.

The Alpha channel of 32-bit colors will be 0 where there are no objects and 255 where there are solid objects.

In summary, to enable transparent screens and displays for OSD menu-like UIs:

  • Enable LV_COLOR_SCREEN_TRANSP in lv_conf.h
  • Be sure to use LV_COLOR_DEPTH 32
  • Set the screen's opacity to LV_OPA_TRANSP e.g. with lv_obj_set_style_local_bg_opa(lv_scr_act(), LV_OBJMASK_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP)
  • Set the display opacity to LV_OPA_TRANSP with lv_disp_set_bg_opa(NULL, LV_OPA_TRANSP);
通常、スクリーンの不透明度は LV_OPA_COVER で、その子にソリッドな背景を提供します。

そうでない場合 (不透明度<100%) 、ディスプレイの背景色またはイメージが表示されます。

詳細については、 「背景を表示する」 セクションを参照してください。

ディスプレイの背景の不透明度もLV_OPA_COVER でない場合、LVGLには描画するソリッドの背景がありません。


この構成 (透明スクリーンおよびディスプレイ) は、例えば、ビデオが下位レイヤで再生され、メニューが上位レイヤにオーバーレイされるOSDメニューを作成するために使用することができる。


透明ディスプレイを扱うには、特別な (遅い) カラーミキシングアルゴリズムをLVGLで使用する必要があるため、lv_conf.hLV_COLOR_SCREEN_TRANSP でこの機能を有効にする必要があります。

このモードはピクセルのアルファチャネルで動作するため、LV_COLOR_DEPTH=32も必要です。

32ビットカラーのアルファチャネルは、オブジェクトがない場合は0、ソリッドオブジェクトがある場合は255になります。透明ディスプレイを扱うには、特別な (遅い) カラーミキシングアルゴリズムをLVGLで使用する必要があるため、lv_conf.hのLV_COLOR_SCREEN_TRANSPでこの機能を有効にする必要があります。

このモードはピクセルのアルファチャネルで動作するため、LV_COLOR_DEPTH = 32も必要です。

32ビットカラーのアルファチャネルは、オブジェクトがない場合は0、ソリッドオブジェクトがある場合は255になります。


要約すると、OSDメニューのようなUIで透過的な画面と表示を有効にするには、次のようにします。

  • lv_conf.hLV_COLOR_SCREEN_TRANSP を有効にします。
  • 必ずLV_COLOR_DEPTH 32を使用してください。
  • 画面の不透明度を LV_OPA_TRANSP に設定します。例: lv_obj_set_style_local_bg_opa(lv_scr_act(), LV_OBJMASK_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP)
  • 表示の不透明度をlv_disp_set_bg_opa(NULL, LV_OPA_TRANSP);と共に LV_OPA_TRANSP に設定します。
戻る : Previous


Features of displays

Inactivity

英文 自動翻訳

A user's inactivity time is measured on each display.

Every use of an Input device (if associated with the display) counts as an activity.

To get time elapsed since the last activity, use lv_disp_get_inactive_time(disp).

If NULL is passed, the lowest inactivity time among all displays will be returned (NULL isn't just the default display).


You can manually trigger an activity using lv_disp_trig_activity(disp).

If disp is NULL, the default screen will be used (and not all displays).

ユーザーの非アクティブ時間は、各ディスプレイで測定されます。

入力デバイス (ディスプレイに関連付けられている場合) を使用するたびに、アクティビティとしてカウントされます。

最後のアクティビティからの経過時間を取得するには、lv_disp_get_inactive_time(disp)を使用します。

NULLが渡された場合、すべての表示の中で最も低い非アクティブ時間が返されます (NULLはデフォルトの表示だけではありません) 。


lv_disp_trig_activity(disp) を使用すると、アクティビティを手動でトリガできます。

dispNULLの場合、デフォルトのスクリーンが使用されます (すべてのディスプレイではありません) 。

戻る : Previous


Background

英文 自動翻訳

Every display has a background color, background image and background opacity properties.

They become visible when the current screen is transparent or not positioned to cover the whole display.


The background color is a simple color to fill the display.

It can be adjusted with lv_disp_set_bg_color(disp, color);


The display background image is a path to a file or a pointer to an lv_img_dsc_t variable (converted image data) to be used as wallpaper.

It can be set with lv_disp_set_bg_image(disp, &my_img);

If a background image is configured the background won't be filled with bg_color.

The opacity of the background color or image can be adjusted with lv_disp_set_bg_opa(disp, opa).

The disp parameter of these functions can be NULL to select the default display.

すべてのディスプレイには、背景色、背景画像、背景不透明度のプロパティがあります。

現在の画面が透明になっているか、画面全体を覆うように配置されていない場合に表示されます。


背景色は、表示を塗りつぶす単純な色です。

それはlv_disp_set_bg_color(disp, color); で調整することができます。


表示背景画像は、壁紙として使用するファイルへのパスまたは lv_img_dsc_t 変数へのポインタ(変換後の画像データ)である。


lv_disp_set_bg_image(disp, &my_img) で設定することができます。

背景画像が設定されている場合、背景はbg_colorで塗りつぶされることはありません。


背景色や画像の不透明度はlv_disp_set_bg_opa(disp, opa) で調整することができる。

これらの関数の disp パラメータを NULL にすると、デフォルトの表示が選択されます。

戻る : Previous


API

英文 自動翻訳

Enums

enum lv_scr_load_anim_t

Values:
enumerator LV_SCR_LOAD_ANIM_NONE
enumerator LV_SCR_LOAD_ANIM_OVER_LEFT
enumerator LV_SCR_LOAD_ANIM_OVER_RIGHT
enumerator LV_SCR_LOAD_ANIM_OVER_TOP
enumerator LV_SCR_LOAD_ANIM_OVER_BOTTOM
enumerator LV_SCR_LOAD_ANIM_MOVE_LEFT
enumerator LV_SCR_LOAD_ANIM_MOVE_RIGHT
enumerator LV_SCR_LOAD_ANIM_MOVE_TOP
enumerator LV_SCR_LOAD_ANIM_MOVE_BOTTOM
enumerator LV_SCR_LOAD_ANIM_FADE_ON

Functions

lv_obj_t *lv_disp_get_scr_act(lv_disp_t *disp)

Return with a pointer to the active screen
Parameters
disp -- pointer to display which active screen should be get. (NULL to use the default screen)
Returns
pointer to the active screen object (loaded by 'lv_scr_load()')

lv_obj_t *lv_disp_get_scr_prev(lv_disp_t *disp)

Return with a pointer to the previous screen.
Only used during screen transitions.
Parameters
disp -- pointer to display which previous screen should be get. (NULL to use the default screen)
Returns
pointer to the previous screen object or NULL if not used now

void lv_disp_load_scr(lv_obj_t *scr)

Make a screen active
Parameters
scr -- pointer to a screen

lv_obj_t *lv_disp_get_layer_top(lv_disp_t *disp)

Return with the top layer. (Same on every screen and it is above the normal screen layer)
Parameters
disp -- pointer to display which top layer should be get. (NULL to use the default screen)
Returns
pointer to the top layer object (transparent screen sized lv_obj)

lv_obj_t *lv_disp_get_layer_sys(lv_disp_t *disp)

Return with the sys. layer. (Same on every screen and it is above the normal screen and the top layer)
Parameters
disp -- pointer to display which sys. layer should be retrieved. (NULL to use the default screen)
Returns
pointer to the sys layer object (transparent screen sized lv_obj)

void lv_disp_set_theme(lv_disp_t *disp, lv_theme_t *th)

Set the theme of a display
Parameters
disp -- pointer to a display

lv_theme_t *lv_disp_get_theme(lv_disp_t *disp)

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

void lv_disp_set_bg_color(lv_disp_t *disp, lv_color_t color)

Set the background color of a display
Parameters
  • disp -- pointer to a display
  • color -- color of the background

void lv_disp_set_bg_image(lv_disp_t *disp, const void *img_src)

Set the background image of a display
Parameters
  • disp -- pointer to a display
  • img_src -- path to file or pointer to an lv_img_dsc_t variable

void lv_disp_set_bg_opa(lv_disp_t *disp, lv_opa_t opa)

Set opacity of the background
Parameters
  • disp -- pointer to a display
  • opa -- opacity (0..255)

void lv_scr_load_anim(lv_obj_t *scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)

Switch screen with animation
Parameters
  • scr -- pointer to the new screen to load
  • anim_type -- type of the animation from lv_scr_load_anim_t. E.g. LV_SCR_LOAD_ANIM_MOVE_LEFT
  • time -- time of the animation
  • delay -- delay before the transition
  • auto_del -- true: automatically delete the old screen

uint32_t lv_disp_get_inactive_time(const lv_disp_t *disp)

Get elapsed time since last user activity on a display (e.g. click)
Parameters
disp -- pointer to a display (NULL to get the overall smallest inactivity)
Returns
elapsed ticks (milliseconds) since the last activity

void lv_disp_trig_activity(lv_disp_t *disp)

Manually trigger an activity on a display
Parameters
disp -- pointer to a display (NULL to use the default display)

void lv_disp_clean_dcache(lv_disp_t *disp)

Clean any CPU cache that is related to the display.
Parameters
disp -- pointer to a display (NULL to use the default display)

lv_timer_t *_lv_disp_get_refr_timer(lv_disp_t *disp)

Get a pointer to the screen refresher timer to modify its parameters with lv_timer_... functions.
Parameters
disp -- pointer to a display
Returns
pointer to the display refresher timer. (NULL on error)

static inline lv_obj_t *lv_scr_act(void)

Get the active screen of the default display
Returns
pointer to the active screen

static inline lv_obj_t *lv_layer_top(void)

Get the top layer of the default display
Returns
pointer to the top layer

static inline lv_obj_t *lv_layer_sys(void)

Get the active screen of the default display
Returns
pointer to the sys layer

static inline void lv_scr_load(lv_obj_t *scr)

static inline lv_coord_t lv_dpx(lv_coord_t n)

Scale the given number of pixels (a distance or size) relative to a 160 DPI display considering the DPI of the default display. It ensures that e.g. lv_dpx(100) will have the same physical size regardless to the DPI of the display.
Parameters
n -- the number of pixels to scale
Returns
n x current_dpi/160

static inline lv_coord_t lv_disp_dpx(const lv_disp_t *disp, lv_coord_t n)

Scale the given number of pixels (a distance or size) relative to a 160 DPI display considering the DPI of the given display.
It ensures that e.g. lv_dpx(100) will have the same physical size regardless to the DPI of the display.
Parameters
  • obj -- a display whose dpi should be considered
  • n -- the number of pixels to scale
Returns
n x current_dpi/160
Enums

enum lv_scr_load_anim_t

Values:
enumerator LV_SCR_LOAD_ANIM_NONE
enumerator LV_SCR_LOAD_ANIM_OVER_LEFT
enumerator LV_SCR_LOAD_ANIM_OVER_RIGHT
enumerator LV_SCR_LOAD_ANIM_OVER_TOP
enumerator LV_SCR_LOAD_ANIM_OVER_BOTTOM
enumerator LV_SCR_LOAD_ANIM_MOVE_LEFT
enumerator LV_SCR_LOAD_ANIM_MOVE_RIGHT
enumerator LV_SCR_LOAD_ANIM_MOVE_TOP
enumerator LV_SCR_LOAD_ANIM_MOVE_BOTTOM
enumerator LV_SCR_LOAD_ANIM_FADE_ON

Functions

lv_obj_t *lv_disp_get_scr_act(lv_disp_t *disp)

アクティブな画面へのポインタで戻る
Parameters
disp -- どのアクティブな画面を取得するかを表示するためのポインタ。 (デフォルト画面を使用するにはNULL)
Returns
アクティブな画面オブジェクトへのポインタ('lv_scr_load()'によってロードされます)

lv_obj_t *lv_disp_get_scr_prev(lv_disp_t *disp)

前の画面へのポインタを持って戻ります。 画面遷移中にのみ使用されます。
Parameters
disp -- 前の画面を表示するためのポインタ。 (デフォルト画面を使用するにはNULL)
Returns
前の画面オブジェクトへのポインタ、または現在使用されていない場合はNULL

void lv_disp_load_scr(lv_obj_t *scr)

画面をアクティブにする
Parameters
scr -- 画面へのポインタ

lv_obj_t *lv_disp_get_layer_top(lv_disp_t *disp)

最上層に戻ります。 (すべての画面で同じで、通常の画面レイヤーの上にあります)
Parameters
disp --どの最上層を取得するかを表示するためのポインタ。 (デフォルト画面を使用するにはNULL)
Returns
最上層オブジェクトへのポインタ(透明な画面サイズのlv_obj)

lv_obj_t *lv_disp_get_layer_sys(lv_disp_t *disp)

sysで戻ります。 層。 (すべての画面で同じで、通常の画面と最上層の上にあります)
Parameters
disp -- どのシステムを表示するためのポインタ。 レイヤーを取得する必要があります。 (デフォルト画面を使用するにはNULL)
Returns
sysレイヤーオブジェクトへのポインター(透明な画面サイズのlv_obj)

void lv_disp_set_theme(lv_disp_t *disp, lv_theme_t *th)

ディスプレイのテーマを設定する
Parameters
disp -- ディスプレイへのポインタ

lv_theme_t *lv_disp_get_theme(lv_disp_t *disp)

ディスプレイのテーマを取得する
Parameters
disp -- ディスプレイへのポインタ
Returns
ディスプレイのテーマ(NULLにすることができます)

void lv_disp_set_bg_color(lv_disp_t *disp, lv_color_t color)

ディスプレイの背景色を設定します
Parameters
  • disp -- ディスプレイへのポインタ
  • color -- 背景の色

void lv_disp_set_bg_image(lv_disp_t *disp, const void *img_src)

ディスプレイの背景画像を設定する
Parameters
  • disp -- ディスプレイへのポインタ
  • img_src -- ファイルへのパスまたは lv_img_dsc_t 変数へのポインター

void lv_disp_set_bg_opa(lv_disp_t *disp, lv_opa_t opa)

Set opacity of the background
Parameters
  • disp -- ディスプレイへのポインタ
  • opa -- 不透明度 (0..255)

void lv_scr_load_anim(lv_obj_t *scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)

アニメーションで画面を切り替える
Parameters
  • scr -- ロードする新しい画面へのポインタ
  • anim_type -- lv_scr_load_anim_tからのアニメーションの種類。 例: LV_SCR_LOAD_ANIM_MOVE_LEFT
  • time -- アニメーションの時間
  • delay -- 移行前の遅延
  • auto_del -- true:古い画面を自動的に削除します

uint32_t lv_disp_get_inactive_time(const lv_disp_t *disp)

ディスプレイでの最後のユーザーアクティビティからの経過時間を取得します(クリックなど)
Parameters
disp --ディスプレイへのポインタ(全体的に最小の非アクティブを取得するにはNULL)
Returns
最後のアクティビティからの経過ティック(ミリ秒)

void lv_disp_trig_activity(lv_disp_t *disp)

ディスプレイ上のアクティビティを手動でトリガーする
Parameters
disp --ディスプレイへのポインタ(デフォルトのディスプレイを使用するにはNULL)

void lv_disp_clean_dcache(lv_disp_t *disp)

ディスプレイに関連するCPUキャッシュをすべてクリーンアップします。
Parameters
disp -- ディスプレイへのポインタ(デフォルトの表示を使用するにはNULL)

lv_timer_t *_lv_disp_get_refr_timer(lv_disp_t *disp)

画面リフレッシャータイマーへのポインターを取得して、lv_timer_...関数でパラメーターを変更します。
Parameters
disp -- ディスプレイへのポインタ
Returns
ディスプレイリフレッシャータイマーへのポインター。 (エラーの場合はNULL)

static inline lv_obj_t *lv_scr_act(void)

Get the active screen of the default display
Returns
アクティブな画面へのポインタ

static inline lv_obj_t *lv_layer_top(void)

Get the top layer of the default display
Returns
最上層へのポインタ

static inline lv_obj_t *lv_layer_sys(void)

デフォルト表示のアクティブな画面を取得します
Returns
sysレイヤーへのポインター

static inline void lv_scr_load(lv_obj_t *scr)

static inline lv_coord_t lv_dpx(lv_coord_t n)

デフォルトのディスプレイのDPIを考慮して、160 DPIディスプレイを基準にして指定されたピクセル数(距離またはサイズ)をスケーリングします。 それは例えばlv_dpx(100)は、ディスプレイのDPIに関係なく、同じ物理サイズになります。
Parameters
n -- スケーリングするピクセル数
Returns
n x current_dpi/160

static inline lv_coord_t lv_disp_dpx(const lv_disp_t *disp, lv_coord_t n)

指定されたディスプレイのDPIを考慮して、160 DPIディスプレイに対して指定されたピクセル数(距離またはサイズ)をスケーリングします。 それは例えば lv_dpx(100)は、ディスプレイのDPIに関係なく、同じ物理サイズになります。
Parameters
  • obj -- dpiを考慮する必要があるディスプレイ
  • n --拡大縮小する画素数
Returns
n x current_dpi/160


戻る : Previous