Merge branch 'clemensvonmolo-paint-colorchange-vibration' into develop
This commit is contained in:
		
						commit
						ada96ccdc8
					
				@ -430,7 +430,7 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
 | 
			
		||||
      currentScreen = std::make_unique<Screens::Twos>(this);
 | 
			
		||||
      break;
 | 
			
		||||
    case Apps::Paint:
 | 
			
		||||
      currentScreen = std::make_unique<Screens::InfiniPaint>(this, lvgl);
 | 
			
		||||
      currentScreen = std::make_unique<Screens::InfiniPaint>(this, lvgl, motorController);
 | 
			
		||||
      break;
 | 
			
		||||
    case Apps::Paddle:
 | 
			
		||||
      currentScreen = std::make_unique<Screens::Paddle>(this, lvgl);
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,10 @@
 | 
			
		||||
 | 
			
		||||
using namespace Pinetime::Applications::Screens;
 | 
			
		||||
 | 
			
		||||
InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp* app, Pinetime::Components::LittleVgl& lvgl) : Screen(app), lvgl {lvgl} {
 | 
			
		||||
InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp* app,
 | 
			
		||||
                         Pinetime::Components::LittleVgl& lvgl,
 | 
			
		||||
                         Pinetime::Controllers::MotorController& motor)
 | 
			
		||||
  : Screen(app), lvgl {lvgl}, motor {motor} {
 | 
			
		||||
  std::fill(b, b + bufferSize, selectColor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -15,6 +18,7 @@ InfiniPaint::~InfiniPaint() {
 | 
			
		||||
bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
 | 
			
		||||
  switch (event) {
 | 
			
		||||
    case Pinetime::Applications::TouchEvents::LongTap:
 | 
			
		||||
      color = (color + 1) % 8;
 | 
			
		||||
      switch (color) {
 | 
			
		||||
        case 0:
 | 
			
		||||
          selectColor = LV_COLOR_MAGENTA;
 | 
			
		||||
@ -47,7 +51,7 @@ bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      std::fill(b, b + bufferSize, selectColor);
 | 
			
		||||
      color++;
 | 
			
		||||
      motor.RunForDuration(35);
 | 
			
		||||
      return true;
 | 
			
		||||
    default:
 | 
			
		||||
      return true;
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
#include <algorithm> // std::fill
 | 
			
		||||
#include "displayapp/screens/Screen.h"
 | 
			
		||||
#include "components/motor/MotorController.h"
 | 
			
		||||
 | 
			
		||||
namespace Pinetime {
 | 
			
		||||
  namespace Components {
 | 
			
		||||
@ -14,7 +15,7 @@ namespace Pinetime {
 | 
			
		||||
 | 
			
		||||
      class InfiniPaint : public Screen {
 | 
			
		||||
      public:
 | 
			
		||||
        InfiniPaint(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl);
 | 
			
		||||
        InfiniPaint(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl, Controllers::MotorController& motor);
 | 
			
		||||
 | 
			
		||||
        ~InfiniPaint() override;
 | 
			
		||||
 | 
			
		||||
@ -24,6 +25,7 @@ namespace Pinetime {
 | 
			
		||||
 | 
			
		||||
      private:
 | 
			
		||||
        Pinetime::Components::LittleVgl& lvgl;
 | 
			
		||||
        Controllers::MotorController& motor;
 | 
			
		||||
        static constexpr uint16_t width = 10;
 | 
			
		||||
        static constexpr uint16_t height = 10;
 | 
			
		||||
        static constexpr uint16_t bufferSize = width * height;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user