Add View superclass
This commit is contained in:
		@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
									
								
							
							
						
						
									
										13
									
								
								include/View.h
									
									
									
									
									
										Normal 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;
 | 
			
		||||
};
 | 
			
		||||
@ -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
									
								
							
							
						
						
									
										3
									
								
								src/View.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
#include "View.h"
 | 
			
		||||
 | 
			
		||||
View::View(SDL_Renderer* renderer) : renderer{renderer} {}
 | 
			
		||||
		Reference in New Issue
	
	Block a user