Add View superclass

This commit is contained in:
Jasper Blanckenburg 2022-05-19 21:02:28 +02:00
parent 8aa7267b21
commit 1bfcfd3bf1
5 changed files with 20 additions and 5 deletions

View File

@ -38,6 +38,7 @@ add_executable(
stw-display
src/main.cpp
src/App.cpp
src/View.cpp
src/AMI.cpp
src/widgets.cpp
src/util.cpp

View File

@ -8,15 +8,13 @@
constexpr const char* FT_LOGO_PATH = "resources/Fasttube_Logo-white.bmp";
constexpr const char* AVENIR_FONT_PATH = "resources/Avenir-Book.ttf";
class AMI {
class AMI : public View {
public:
AMI(SDL_Renderer* renderer);
void draw();
void draw() override;
private:
SDL_Renderer* renderer;
TTF_Font* avenir;
ImageWidget ft_logo;

13
include/View.h Normal file
View File

@ -0,0 +1,13 @@
#pragma once
#include <SDL2/SDL.h>
class View {
public:
View(SDL_Renderer* renderer);
virtual void draw() = 0;
protected:
SDL_Renderer* renderer;
};

View File

@ -3,7 +3,7 @@
#include "util.h"
AMI::AMI(SDL_Renderer* renderer)
: renderer{renderer}, avenir{util::load_font(AVENIR_FONT_PATH, 28)},
: View{renderer}, avenir{util::load_font(AVENIR_FONT_PATH, 28)},
ft_logo{renderer, {.x = 182, .y = 0, .w = 116, .h = 40}, FT_LOGO_PATH},
choose{renderer,
{.x = 0, .y = 45, .w = 480, .h = 40},

3
src/View.cpp Normal file
View File

@ -0,0 +1,3 @@
#include "View.h"
View::View(SDL_Renderer* renderer) : renderer{renderer} {}