Select a mission

This commit is contained in:
2022-05-22 14:24:40 +02:00
parent 882a645926
commit 654c71f3ee
7 changed files with 117 additions and 6 deletions

View File

@ -1,11 +1,13 @@
#pragma once
#include "View.h"
#include "events.h"
#include "widgets.h"
#include <SDL2/SDL.h>
#include <memory>
#include <queue>
#include <vector>
class AMI final : public View {
@ -14,6 +16,7 @@ public:
~AMI();
void draw() override;
void handle_events(std::queue<Event>& events) override;
private:
TTF_Font* avenir;

View File

@ -1,13 +1,18 @@
#pragma once
#include "events.h"
#include <SDL2/SDL.h>
#include <queue>
class View {
public:
View(SDL_Renderer* renderer);
virtual ~View();
virtual void draw() = 0;
virtual void handle_events(std::queue<Event>& events) = 0;
protected:
SDL_Renderer* renderer;

3
include/events.h Normal file
View File

@ -0,0 +1,3 @@
#pragma once
enum class Event { Next, Prev, Confirm };

View File

@ -85,10 +85,16 @@ public:
virtual void draw() override;
void select_next();
void select_prev();
size_t get_selection();
protected:
int element_height;
Alignment element_alignment;
size_t selection;
std::vector<Widget*> elements;
void place_element(Widget* element, int index);