diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-03-25 12:30:52 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-03-25 12:30:52 (GMT) |
| commit | 09dfdbf9117853521a706dfe4724908082dc9695 (patch) | |
| tree | 23497af1018d851152ad1729147d12451b38ae19 /src/displayapp/screens/FlashLight.cpp | |
| parent | 060f7949866303c27dc6b8cb6dcd97ab1019d7d1 (diff) | |
sans torch
Diffstat (limited to 'src/displayapp/screens/FlashLight.cpp')
| -rw-r--r-- | src/displayapp/screens/FlashLight.cpp | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/src/displayapp/screens/FlashLight.cpp b/src/displayapp/screens/FlashLight.cpp deleted file mode 100644 index c4d0264..0000000 --- a/src/displayapp/screens/FlashLight.cpp +++ /dev/null @@ -1,134 +0,0 @@ -#include "displayapp/screens/FlashLight.h" -#include "displayapp/DisplayApp.h" -#include "displayapp/screens/Symbols.h" - -using namespace Pinetime::Applications::Screens; - -namespace { - void event_handler(lv_obj_t* obj, lv_event_t event) { - auto* screen = static_cast<FlashLight*>(obj->user_data); - screen->OnClickEvent(obj, event); - } -} - -FlashLight::FlashLight(Pinetime::Applications::DisplayApp* app, - System::SystemTask& systemTask, - Controllers::BrightnessController& brightnessController) - : Screen(app), - systemTask {systemTask}, - brightnessController {brightnessController} - -{ - brightnessController.Backup(); - - brightnessLevel = brightnessController.Level(); - - flashLight = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_font(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_sys_48); - lv_label_set_text_static(flashLight, Symbols::highlight); - lv_obj_align(flashLight, nullptr, LV_ALIGN_CENTER, 0, 0); - - for (auto & i : indicators) { - i = lv_obj_create(lv_scr_act(), nullptr); - lv_obj_set_size(i, 15, 10); - lv_obj_set_style_local_border_width(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 2); - } - - lv_obj_align(indicators[1], flashLight, LV_ALIGN_OUT_BOTTOM_MID, 0, 5); - lv_obj_align(indicators[0], indicators[1], LV_ALIGN_OUT_LEFT_MID, -8, 0); - lv_obj_align(indicators[2], indicators[1], LV_ALIGN_OUT_RIGHT_MID, 8, 0); - - SetIndicators(); - SetColors(); - - backgroundAction = lv_label_create(lv_scr_act(), nullptr); - lv_label_set_long_mode(backgroundAction, LV_LABEL_LONG_CROP); - lv_obj_set_size(backgroundAction, 240, 240); - lv_obj_set_pos(backgroundAction, 0, 0); - lv_label_set_text(backgroundAction, ""); - lv_obj_set_click(backgroundAction, true); - backgroundAction->user_data = this; - lv_obj_set_event_cb(backgroundAction, event_handler); - - systemTask.PushMessage(Pinetime::System::Messages::DisableSleeping); -} - -FlashLight::~FlashLight() { - lv_obj_clean(lv_scr_act()); - lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); - brightnessController.Restore(); - systemTask.PushMessage(Pinetime::System::Messages::EnableSleeping); -} - -void FlashLight::SetColors() { - if (isOn) { - lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); - lv_obj_set_style_local_text_color(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY); - for (auto & i : indicators) { - lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY); - lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DISABLED, LV_COLOR_WHITE); - lv_obj_set_style_local_border_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY); - } - } else { - lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); - lv_obj_set_style_local_text_color(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); - for (auto & i : indicators) { - lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); - lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DISABLED, LV_COLOR_BLACK); - lv_obj_set_style_local_border_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); - } - } -} - -void FlashLight::SetIndicators() { - using namespace Pinetime::Controllers; - - if (brightnessLevel == BrightnessController::Levels::High) { - lv_obj_set_state(indicators[1], LV_STATE_DEFAULT); - lv_obj_set_state(indicators[2], LV_STATE_DEFAULT); - } else if (brightnessLevel == BrightnessController::Levels::Medium) { - lv_obj_set_state(indicators[1], LV_STATE_DEFAULT); - lv_obj_set_state(indicators[2], LV_STATE_DISABLED); - } else { - lv_obj_set_state(indicators[1], LV_STATE_DISABLED); - lv_obj_set_state(indicators[2], LV_STATE_DISABLED); - } -} - -void FlashLight::OnClickEvent(lv_obj_t* obj, lv_event_t event) { - if (obj == backgroundAction && event == LV_EVENT_CLICKED) { - isOn = !isOn; - SetColors(); - } -} - -bool FlashLight::OnTouchEvent(Pinetime::Applications::TouchEvents event) { - using namespace Pinetime::Controllers; - - if (event == TouchEvents::SwipeLeft) { - if (brightnessLevel == BrightnessController::Levels::High) { - brightnessLevel = BrightnessController::Levels::Medium; - brightnessController.Set(brightnessLevel); - SetIndicators(); - } else if (brightnessLevel == BrightnessController::Levels::Medium) { - brightnessLevel = BrightnessController::Levels::Low; - brightnessController.Set(brightnessLevel); - SetIndicators(); - } - return true; - } - if (event == TouchEvents::SwipeRight) { - if (brightnessLevel == BrightnessController::Levels::Low) { - brightnessLevel = BrightnessController::Levels::Medium; - brightnessController.Set(brightnessLevel); - SetIndicators(); - } else if (brightnessLevel == BrightnessController::Levels::Medium) { - brightnessLevel = BrightnessController::Levels::High; - brightnessController.Set(brightnessLevel); - SetIndicators(); - } - return true; - } - - return false; -} |
