Don't load font in TextWidget
This commit is contained in:
parent
41a75f7422
commit
8aa7267b21
@ -1,10 +1,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "View.h"
|
||||||
#include "widgets.h"
|
#include "widgets.h"
|
||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
|
|
||||||
constexpr const char* FT_LOGO_PATH = "resources/Fasttube_Logo-white.bmp";
|
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:
|
public:
|
||||||
@ -15,6 +17,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
SDL_Renderer* renderer;
|
SDL_Renderer* renderer;
|
||||||
|
|
||||||
|
TTF_Font* avenir;
|
||||||
|
|
||||||
ImageWidget ft_logo;
|
ImageWidget ft_logo;
|
||||||
TextWidget choose;
|
TextWidget choose;
|
||||||
};
|
};
|
@ -41,8 +41,7 @@ public:
|
|||||||
|
|
||||||
class TextWidget : public TextureWidget {
|
class TextWidget : public TextureWidget {
|
||||||
public:
|
public:
|
||||||
TextWidget(SDL_Renderer* renderer, SDL_Rect dest_rect,
|
TextWidget(SDL_Renderer* renderer, SDL_Rect dest_rect, TTF_Font* font,
|
||||||
const std::string& font_path,
|
|
||||||
const std::string& initial_text = "");
|
const std::string& initial_text = "");
|
||||||
~TextWidget();
|
~TextWidget();
|
||||||
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
#include "AMI.h"
|
#include "AMI.h"
|
||||||
|
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
AMI::AMI(SDL_Renderer* renderer)
|
AMI::AMI(SDL_Renderer* renderer)
|
||||||
: renderer{renderer}, ft_logo{renderer,
|
: renderer{renderer}, avenir{util::load_font(AVENIR_FONT_PATH, 28)},
|
||||||
{.x = 182, .y = 0, .w = 116, .h = 40},
|
ft_logo{renderer, {.x = 182, .y = 0, .w = 116, .h = 40}, FT_LOGO_PATH},
|
||||||
FT_LOGO_PATH},
|
|
||||||
choose{renderer,
|
choose{renderer,
|
||||||
{.x = 0, .y = 45, .w = 480, .h = 40},
|
{.x = 0, .y = 45, .w = 480, .h = 40},
|
||||||
"resources/Avenir-Book.ttf",
|
avenir,
|
||||||
"Choose a Mission:"} {}
|
"Choose a Mission:"} {}
|
||||||
|
|
||||||
void AMI::draw() {
|
void AMI::draw() {
|
||||||
|
@ -41,16 +41,15 @@ ImageWidget::ImageWidget(SDL_Renderer* renderer, SDL_Rect dest_rect,
|
|||||||
: TextureWidget{renderer, dest_rect, util::load_img(renderer, path)} {}
|
: TextureWidget{renderer, dest_rect, util::load_img(renderer, path)} {}
|
||||||
|
|
||||||
TextWidget::TextWidget(SDL_Renderer* renderer, SDL_Rect dest_rect,
|
TextWidget::TextWidget(SDL_Renderer* renderer, SDL_Rect dest_rect,
|
||||||
const std::string& font_path,
|
TTF_Font* font, const std::string& initial_text)
|
||||||
const std::string& initial_text)
|
: TextureWidget{renderer, dest_rect, std::nullopt}, font{font},
|
||||||
: TextureWidget{renderer, dest_rect, std::nullopt},
|
text{initial_text} {
|
||||||
font{util::load_font(font_path, 28)}, text{initial_text} {
|
|
||||||
if (text != "") {
|
if (text != "") {
|
||||||
update_texture(generate_text(text));
|
update_texture(generate_text(text));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextWidget::~TextWidget() { TTF_CloseFont(font); }
|
TextWidget::~TextWidget() {}
|
||||||
|
|
||||||
void TextWidget::update_text(const std::string& new_text) {
|
void TextWidget::update_text(const std::string& new_text) {
|
||||||
if (text != new_text) {
|
if (text != new_text) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user