InfiniTime/src/displayapp/screens/Paddle.h
Joaquim 1d3742e14f Big UI and navigation Rewrite
new navigation
add some color to the apps
redesign menus
new settings menu
new quick settings
code clean up
size reduction by converting navigation images to font
and more...
2021-04-04 03:08:51 +01:00

51 lines
1.4 KiB
C++

#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 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;
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
};
}
}
}