diff options
Diffstat (limited to 'src/displayapp/screens/Paddle.h')
| -rw-r--r-- | src/displayapp/screens/Paddle.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/displayapp/screens/Paddle.h b/src/displayapp/screens/Paddle.h new file mode 100644 index 0000000..358bd2f --- /dev/null +++ b/src/displayapp/screens/Paddle.h @@ -0,0 +1,52 @@ +#pragma once + +#include <lvgl/lvgl.h> +#include <cstdint> +#include "Screen.h" + +namespace Pinetime { + namespace Components { + class LittleVgl; + } + namespace Applications { + namespace Screens { + + class Paddle : public Screen{ + public: + Paddle(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl); + ~Paddle() override; + + bool Refresh() override; + bool OnButtonPushed() override; + bool OnTouchEvent(TouchEvents event) override; + bool OnTouchEvent(uint16_t x, uint16_t y) override; + + private: + Pinetime::Components::LittleVgl& lvgl; + + int paddleBottomY = 90; // bottom extreme of the paddle + int paddleTopY = 150; //top extreme of the paddle + + int ballX = 107; // Initial x_coordinate for the ball (12px offset from the center to counteract the ball's 24px size) + int ballY = 107; // Initial y_coordinate for the ball + + int dx = 2; // Velocity of the ball in the x_coordinate + int dy = 3; // Velocity of the ball in the y_coordinate + + int counter = 0; // init Frame refresh limit counter + int score = 0; + + char scoreStr[10]; + + lv_img_dsc_t paddle; + lv_img_dsc_t ball; + + lv_obj_t* points; + lv_obj_t* paddle_image; // pointer to paddle image + lv_obj_t* ball_image; // pointer to ball image + + bool running = true; + }; + } + } +} |
