mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-04-21 02:45:07 +00:00
Improved button margin setting for vertical layouts
This commit is contained in:
parent
00f2e3b88e
commit
a63a78e959
@ -24,12 +24,17 @@ static int getButtonSize(hal::UiScale scale) {
|
|||||||
|
|
||||||
class LauncherApp final : public App {
|
class LauncherApp final : public App {
|
||||||
|
|
||||||
static lv_obj_t* createAppButton(lv_obj_t* parent, hal::UiScale uiScale, const char* imageFile, const char* appId, int32_t horizontalMargin) {
|
static lv_obj_t* createAppButton(lv_obj_t* parent, hal::UiScale uiScale, const char* imageFile, const char* appId, int32_t itemMargin, bool isLandscape) {
|
||||||
auto button_size = getButtonSize(uiScale);
|
auto button_size = getButtonSize(uiScale);
|
||||||
|
|
||||||
auto* apps_button = lv_button_create(parent);
|
auto* apps_button = lv_button_create(parent);
|
||||||
lv_obj_set_style_pad_all(apps_button, 0, LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_all(apps_button, 0, LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_margin_hor(apps_button, horizontalMargin, LV_STATE_DEFAULT);
|
if (isLandscape) {
|
||||||
|
lv_obj_set_style_margin_hor(apps_button, itemMargin, LV_STATE_DEFAULT);
|
||||||
|
} else {
|
||||||
|
lv_obj_set_style_margin_ver(apps_button, itemMargin, LV_STATE_DEFAULT);
|
||||||
|
}
|
||||||
|
|
||||||
lv_obj_set_style_shadow_width(apps_button, 0, LV_STATE_DEFAULT);
|
lv_obj_set_style_shadow_width(apps_button, 0, LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_opa(apps_button, 0, LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_opa(apps_button, 0, LV_STATE_DEFAULT);
|
||||||
|
|
||||||
@ -110,7 +115,7 @@ public:
|
|||||||
lv_obj_set_flex_flow(buttons_wrapper, LV_FLEX_FLOW_COLUMN);
|
lv_obj_set_flex_flow(buttons_wrapper, LV_FLEX_FLOW_COLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
const int32_t available_width = lv_display_get_horizontal_resolution(display) - (3 * button_size);
|
const int32_t available_width = std::max<int32_t>(0, lv_display_get_horizontal_resolution(display) - (3 * button_size));
|
||||||
const int32_t margin = is_landscape_display ? std::min<int32_t>(available_width / 16, button_size) : 0;
|
const int32_t margin = is_landscape_display ? std::min<int32_t>(available_width / 16, button_size) : 0;
|
||||||
|
|
||||||
const auto paths = app.getPaths();
|
const auto paths = app.getPaths();
|
||||||
@ -118,9 +123,9 @@ public:
|
|||||||
const auto files_icon_path = lvgl::PATH_PREFIX + paths->getAssetsPath("icon_files.png");
|
const auto files_icon_path = lvgl::PATH_PREFIX + paths->getAssetsPath("icon_files.png");
|
||||||
const auto settings_icon_path = lvgl::PATH_PREFIX + paths->getAssetsPath("icon_settings.png");
|
const auto settings_icon_path = lvgl::PATH_PREFIX + paths->getAssetsPath("icon_settings.png");
|
||||||
|
|
||||||
createAppButton(buttons_wrapper, ui_scale, apps_icon_path.c_str(), "AppList", margin);
|
createAppButton(buttons_wrapper, ui_scale, apps_icon_path.c_str(), "AppList", margin, is_landscape_display);
|
||||||
createAppButton(buttons_wrapper, ui_scale, files_icon_path.c_str(), "Files", margin);
|
createAppButton(buttons_wrapper, ui_scale, files_icon_path.c_str(), "Files", margin, is_landscape_display);
|
||||||
createAppButton(buttons_wrapper, ui_scale, settings_icon_path.c_str(), "Settings", margin);
|
createAppButton(buttons_wrapper, ui_scale, settings_icon_path.c_str(), "Settings", margin, is_landscape_display);
|
||||||
|
|
||||||
if (shouldShowPowerButton()) {
|
if (shouldShowPowerButton()) {
|
||||||
auto* power_button = lv_btn_create(parent);
|
auto* power_button = lv_btn_create(parent);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user