Skip to content

Commit

Permalink
Merge branch 'InfiniTimeOrg:develop' into dice
Browse files Browse the repository at this point in the history
  • Loading branch information
yusufmte authored Oct 16, 2022
2 parents b47b13a + b56c5f2 commit 257a593
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 30 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)

set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose Debug or Release")

project(pinetime VERSION 1.10.0 LANGUAGES C CXX ASM)
project(pinetime VERSION 1.11.0 LANGUAGES C CXX ASM)

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 14)
Expand Down
32 changes: 7 additions & 25 deletions src/displayapp/screens/CheckboxList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,16 @@ CheckboxList::CheckboxList(const uint8_t screenID,
uint32_t originalValue,
std::function<void(uint32_t)> OnValueChanged,
std::array<Item, MaxItems> options)
: Screen(app), screenID {screenID}, OnValueChanged {std::move(OnValueChanged)}, options {options}, value {originalValue} {
: Screen(app),
screenID {screenID},
OnValueChanged {std::move(OnValueChanged)},
options {options},
value {originalValue},
pageIndicator(screenID, numScreens) {
// Set the background to Black
lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);

if (numScreens > 1) {
pageIndicatorBasePoints[0].x = LV_HOR_RES - 1;
pageIndicatorBasePoints[0].y = 0;
pageIndicatorBasePoints[1].x = LV_HOR_RES - 1;
pageIndicatorBasePoints[1].y = LV_VER_RES;

pageIndicatorBase = lv_line_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_line_width(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_line_color(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x111111));
lv_line_set_points(pageIndicatorBase, pageIndicatorBasePoints.data(), 2);

const uint16_t indicatorSize = LV_VER_RES / numScreens;
const uint16_t indicatorPos = indicatorSize * screenID;

pageIndicatorPoints[0].x = LV_HOR_RES - 1;
pageIndicatorPoints[0].y = indicatorPos;
pageIndicatorPoints[1].x = LV_HOR_RES - 1;
pageIndicatorPoints[1].y = indicatorPos + indicatorSize;

pageIndicator = lv_line_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_line_width(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_line_set_points(pageIndicator, pageIndicatorPoints.data(), 2);
}
pageIndicator.Create();

lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr);

Expand Down
7 changes: 3 additions & 4 deletions src/displayapp/screens/CheckboxList.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <functional>
#include <lvgl/lvgl.h>
#include <memory>
#include "displayapp/widgets/PageIndicator.h"

namespace Pinetime {
namespace Applications {
Expand Down Expand Up @@ -35,11 +36,9 @@ namespace Pinetime {
std::function<void(uint32_t)> OnValueChanged;
std::array<Item, MaxItems> options;
std::array<lv_obj_t*, MaxItems> cbOption;
std::array<lv_point_t, 2> pageIndicatorBasePoints;
std::array<lv_point_t, 2> pageIndicatorPoints;
lv_obj_t* pageIndicatorBase;
lv_obj_t* pageIndicator;
uint32_t value;

Widgets::PageIndicator pageIndicator;
};
}
}
Expand Down

0 comments on commit 257a593

Please sign in to comment.