1d3742e14f
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...
41 lines
1 KiB
C++
41 lines
1 KiB
C++
#pragma once
|
|
|
|
#include <lvgl/src/lv_core/lv_obj.h>
|
|
#include "Screen.h"
|
|
|
|
namespace Pinetime {
|
|
namespace Applications {
|
|
struct Tile {
|
|
bool merged = false;
|
|
unsigned int value = 0;
|
|
};
|
|
namespace Screens {
|
|
class Twos : public Screen {
|
|
public:
|
|
Twos(DisplayApp* app);
|
|
~Twos() override;
|
|
bool Refresh() override;
|
|
|
|
bool OnTouchEvent(TouchEvents event) override;
|
|
|
|
private:
|
|
|
|
lv_style_t style_cell1;
|
|
lv_style_t style_cell2;
|
|
lv_style_t style_cell3;
|
|
lv_style_t style_cell4;
|
|
lv_style_t style_cell5;
|
|
|
|
|
|
lv_obj_t *scoreText;
|
|
lv_obj_t *gridDisplay;
|
|
Tile grid[4][4];
|
|
unsigned int score = 0;
|
|
void updateGridDisplay(Tile grid[][4]);
|
|
bool tryMerge(Tile grid[][4], int &newRow, int &newCol, int oldRow, int oldCol);
|
|
bool tryMove(Tile grid[][4], int newRow, int newCol, int oldRow, int oldCol);
|
|
bool placeNewTile();
|
|
};
|
|
}
|
|
}
|
|
} |