diff --git a/CMakeLists.txt b/CMakeLists.txt index f7dc952..a47a7f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/include/AMI.h b/include/AMI.h index 977fa53..08e0ecf 100644 --- a/include/AMI.h +++ b/include/AMI.h @@ -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; diff --git a/include/View.h b/include/View.h new file mode 100644 index 0000000..dfb3ab8 --- /dev/null +++ b/include/View.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +class View { +public: + View(SDL_Renderer* renderer); + + virtual void draw() = 0; + +protected: + SDL_Renderer* renderer; +}; \ No newline at end of file diff --git a/src/AMI.cpp b/src/AMI.cpp index 5a979bb..07e7ea1 100644 --- a/src/AMI.cpp +++ b/src/AMI.cpp @@ -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}, diff --git a/src/View.cpp b/src/View.cpp new file mode 100644 index 0000000..eb92227 --- /dev/null +++ b/src/View.cpp @@ -0,0 +1,3 @@ +#include "View.h" + +View::View(SDL_Renderer* renderer) : renderer{renderer} {} \ No newline at end of file