From 4080a2eec207b35b36f7d0ceae7c2afcfcdfd977 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Tue, 17 Dec 2024 14:44:48 +0100 Subject: small changes --- src/crepe/facade/Font.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/crepe/facade') diff --git a/src/crepe/facade/Font.cpp b/src/crepe/facade/Font.cpp index f202c05..771002f 100644 --- a/src/crepe/facade/Font.cpp +++ b/src/crepe/facade/Font.cpp @@ -9,7 +9,7 @@ using namespace std; using namespace crepe; Font::Font(const Asset & src, Mediator & mediator) : Resource(src, mediator) { - Config & config = Config::get_instance(); + const Config & config = Config::get_instance(); const std::string FONT_PATH = src.get_path(); TTF_Font * loaded_font = TTF_OpenFont(FONT_PATH.c_str(), config.font.size); if (loaded_font == NULL) { -- cgit v1.2.3 From e1e7ead5df44383c78c8da65fc5916be13d111b6 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Tue, 17 Dec 2024 15:14:32 +0100 Subject: feedback changes --- src/crepe/api/Text.cpp | 6 ++---- src/crepe/api/Text.h | 3 +-- src/crepe/facade/FontFacade.cpp | 48 ++++++++++++++++++++++------------------- src/example/loadfont.cpp | 7 ++++-- 4 files changed, 34 insertions(+), 30 deletions(-) (limited to 'src/crepe/facade') diff --git a/src/crepe/api/Text.cpp b/src/crepe/api/Text.cpp index 58dc6c6..6c632f3 100644 --- a/src/crepe/api/Text.cpp +++ b/src/crepe/api/Text.cpp @@ -5,10 +5,8 @@ using namespace crepe; Text::Text(game_object_id_t id, const vec2 & dimensions, const vec2 & offset, - const std::string & font_family, const Data & data, const std::string & text, - std::optional font) + const std::string & font_family, const Data & data, const std::string & text) : UIObject(id, dimensions, offset), text(text), data(data), - font_family(font_family), - font(font) {} + font_family(font_family){} diff --git a/src/crepe/api/Text.h b/src/crepe/api/Text.h index 92cca18..c30dc80 100644 --- a/src/crepe/api/Text.h +++ b/src/crepe/api/Text.h @@ -51,8 +51,7 @@ public: * \param font Optional font asset that can be passed or left empty. */ Text(game_object_id_t id, const vec2 & dimensions, const vec2 & offset, - const std::string & font_family, const Data & data, const std::string & text = "", - std::optional font = std::nullopt); + const std::string & font_family, const Data & data, const std::string & text = ""); //! Label text. std::string text = ""; diff --git a/src/crepe/facade/FontFacade.cpp b/src/crepe/facade/FontFacade.cpp index 7edfeb8..5382f1a 100644 --- a/src/crepe/facade/FontFacade.cpp +++ b/src/crepe/facade/FontFacade.cpp @@ -1,51 +1,55 @@ #include #include +#include +#include +#include #include "FontFacade.h" -using namespace crepe; using namespace std; +using namespace crepe; FontFacade::FontFacade() { if (!FcInit()) { throw runtime_error("Failed to initialize Fontconfig."); } } + FontFacade::~FontFacade() { FcFini(); } -Asset FontFacade::get_font_asset(const string & font_family) { +Asset FontFacade::get_font_asset(const string& font_family) { // Create a pattern to search for the font family - FcPattern * pattern = FcNameParse(reinterpret_cast(font_family.c_str())); - if (pattern == NULL) { + FcPattern* raw_pattern = FcNameParse(reinterpret_cast(font_family.c_str())); + if (!raw_pattern) { throw runtime_error("Failed to create font pattern."); } - // Default configuration - FcConfig * config = FcConfigGetCurrent(); - if (config == NULL) { - // FcPatternDestroy(pattern); + std::unique_ptr> pattern( + raw_pattern, + [](FcPattern* p) { FcPatternDestroy(p); } + ); + + FcConfig* config = FcConfigGetCurrent(); + if (!config) { throw runtime_error("Failed to get current Fontconfig configuration."); } - // Match the font pattern FcResult result; - FcPattern * matched_pattern = FcFontMatch(config, pattern, &result); - FcPatternDestroy(pattern); - - if (matched_pattern == NULL) { - FcPatternDestroy(matched_pattern); + FcPattern* raw_matched_pattern = FcFontMatch(config, pattern.get(), &result); + if (!raw_matched_pattern) { throw runtime_error("No matching font found."); } - // Extract the file path - FcChar8 * file_path = nullptr; - if (FcPatternGetString(matched_pattern, FC_FILE, 0, &file_path) != FcResultMatch - || file_path == NULL) { - // FcPatternDestroy(matched_pattern); + + std::unique_ptr> matched_pattern( + raw_matched_pattern, + [](FcPattern* p) { FcPatternDestroy(p); } + ); + + FcChar8* file_path = nullptr; + if (FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path) != FcResultMatch || !file_path) { throw runtime_error("Failed to get font file path."); } - // Convert the file path to a string - string font_file_path = reinterpret_cast(file_path); - FcPatternDestroy(matched_pattern); + string font_file_path = reinterpret_cast(file_path); return Asset(font_file_path); } diff --git a/src/example/loadfont.cpp b/src/example/loadfont.cpp index 78b3adb..788fac4 100644 --- a/src/example/loadfont.cpp +++ b/src/example/loadfont.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -14,15 +15,17 @@ int main() { // SDLFontContext font_facade; Mediator mediator; + FontFacade font_facade{}; SDLContext sdl_context{mediator}; // ComponentManager component_manager{mediator}; ResourceManager resource_manager{mediator}; try { // Correct way to create a unique pointer for Text std::unique_ptr label = std::make_unique( - 1, vec2(100, 100), vec2(0, 0), "OpenSymbol", Text::Data{}, "test text", Asset("")); + 1, vec2(100, 100), vec2(0, 0), "OpenSymbol", Text::Data{}, "test text"); // std::cout << "Path: " << label->font.get_path() << std::endl; - + Asset asset1 = font_facade.get_font_asset("OpenSymbol"); + std::cout << asset1.get_path() << std::endl; std::unique_ptr label2 = std::make_unique( 1, vec2(100, 100), vec2(0, 0), "fsaafdafsdafsdafsdasfdds", Text::Data{}); Asset asset = Asset("test test"); -- cgit v1.2.3 From 2772bb158f10fc051d35006041303f2e5418e817 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Tue, 17 Dec 2024 15:15:12 +0100 Subject: make format --- src/crepe/api/Text.cpp | 2 +- src/crepe/facade/FontFacade.cpp | 34 ++++++++++++++++------------------ src/example/loadfont.cpp | 2 +- 3 files changed, 18 insertions(+), 20 deletions(-) (limited to 'src/crepe/facade') diff --git a/src/crepe/api/Text.cpp b/src/crepe/api/Text.cpp index 6c632f3..54a4370 100644 --- a/src/crepe/api/Text.cpp +++ b/src/crepe/api/Text.cpp @@ -9,4 +9,4 @@ Text::Text(game_object_id_t id, const vec2 & dimensions, const vec2 & offset, : UIObject(id, dimensions, offset), text(text), data(data), - font_family(font_family){} + font_family(font_family) {} diff --git a/src/crepe/facade/FontFacade.cpp b/src/crepe/facade/FontFacade.cpp index 5382f1a..5db06d2 100644 --- a/src/crepe/facade/FontFacade.cpp +++ b/src/crepe/facade/FontFacade.cpp @@ -1,7 +1,7 @@ #include -#include -#include #include +#include +#include #include #include "FontFacade.h" @@ -17,39 +17,37 @@ FontFacade::FontFacade() { FontFacade::~FontFacade() { FcFini(); } -Asset FontFacade::get_font_asset(const string& font_family) { - // Create a pattern to search for the font family - FcPattern* raw_pattern = FcNameParse(reinterpret_cast(font_family.c_str())); +Asset FontFacade::get_font_asset(const string & font_family) { + + FcPattern * raw_pattern + = FcNameParse(reinterpret_cast(font_family.c_str())); if (!raw_pattern) { throw runtime_error("Failed to create font pattern."); } - std::unique_ptr> pattern( - raw_pattern, - [](FcPattern* p) { FcPatternDestroy(p); } - ); + std::unique_ptr> pattern( + raw_pattern, [](FcPattern * p) { FcPatternDestroy(p); }); - FcConfig* config = FcConfigGetCurrent(); + FcConfig * config = FcConfigGetCurrent(); if (!config) { throw runtime_error("Failed to get current Fontconfig configuration."); } FcResult result; - FcPattern* raw_matched_pattern = FcFontMatch(config, pattern.get(), &result); + FcPattern * raw_matched_pattern = FcFontMatch(config, pattern.get(), &result); if (!raw_matched_pattern) { throw runtime_error("No matching font found."); } - std::unique_ptr> matched_pattern( - raw_matched_pattern, - [](FcPattern* p) { FcPatternDestroy(p); } - ); + std::unique_ptr> matched_pattern( + raw_matched_pattern, [](FcPattern * p) { FcPatternDestroy(p); }); - FcChar8* file_path = nullptr; - if (FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path) != FcResultMatch || !file_path) { + FcChar8 * file_path = nullptr; + if (FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path) != FcResultMatch + || !file_path) { throw runtime_error("Failed to get font file path."); } - string font_file_path = reinterpret_cast(file_path); + string font_file_path = reinterpret_cast(file_path); return Asset(font_file_path); } diff --git a/src/example/loadfont.cpp b/src/example/loadfont.cpp index 788fac4..e459332 100644 --- a/src/example/loadfont.cpp +++ b/src/example/loadfont.cpp @@ -2,8 +2,8 @@ #include #include #include -#include #include +#include #include #include #include -- cgit v1.2.3 From b4335bd670cb7f3f622e6ab701123cfbabd15d37 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Tue, 17 Dec 2024 15:32:57 +0100 Subject: fix tests + nitpick #77 --- src/crepe/facade/FontFacade.cpp | 32 +++++++++++++------------------- src/test/InputTest.cpp | 7 ++++++- 2 files changed, 19 insertions(+), 20 deletions(-) (limited to 'src/crepe/facade') diff --git a/src/crepe/facade/FontFacade.cpp b/src/crepe/facade/FontFacade.cpp index 5db06d2..d47095f 100644 --- a/src/crepe/facade/FontFacade.cpp +++ b/src/crepe/facade/FontFacade.cpp @@ -10,44 +10,38 @@ using namespace std; using namespace crepe; FontFacade::FontFacade() { - if (!FcInit()) { + if (!FcInit()) throw runtime_error("Failed to initialize Fontconfig."); - } } FontFacade::~FontFacade() { FcFini(); } Asset FontFacade::get_font_asset(const string & font_family) { - FcPattern * raw_pattern = FcNameParse(reinterpret_cast(font_family.c_str())); - if (!raw_pattern) { - throw runtime_error("Failed to create font pattern."); - } + if (raw_pattern == NULL) throw runtime_error("Failed to create font pattern."); - std::unique_ptr> pattern( - raw_pattern, [](FcPattern * p) { FcPatternDestroy(p); }); + unique_ptr> pattern{ + raw_pattern, [](FcPattern * p) { FcPatternDestroy(p); } + }; FcConfig * config = FcConfigGetCurrent(); - if (!config) { - throw runtime_error("Failed to get current Fontconfig configuration."); - } + if (config == NULL) throw runtime_error("Failed to get current Fontconfig configuration."); FcResult result; FcPattern * raw_matched_pattern = FcFontMatch(config, pattern.get(), &result); - if (!raw_matched_pattern) { - throw runtime_error("No matching font found."); - } + if (raw_matched_pattern == NULL) throw runtime_error("No matching font found."); - std::unique_ptr> matched_pattern( - raw_matched_pattern, [](FcPattern * p) { FcPatternDestroy(p); }); + unique_ptr> matched_pattern = { + raw_matched_pattern, [](FcPattern * p) { FcPatternDestroy(p); } + }; FcChar8 * file_path = nullptr; - if (FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path) != FcResultMatch - || !file_path) { + FcResult res = FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path); + if (res != FcResultMatch || file_path == NULL) throw runtime_error("Failed to get font file path."); - } string font_file_path = reinterpret_cast(file_path); return Asset(font_file_path); } + diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp index d893276..2d844d4 100644 --- a/src/test/InputTest.cpp +++ b/src/test/InputTest.cpp @@ -1,7 +1,11 @@ -#include "system/RenderSystem.h" #include + +#include +#include + #define protected public #define private public + #include "api/KeyCodes.h" #include "manager/ComponentManager.h" #include "manager/EventManager.h" @@ -29,6 +33,7 @@ public: SDLContext sdl_context{mediator}; InputSystem input_system{mediator}; + ResourceManager resman{mediator}; RenderSystem render{mediator}; EventManager event_manager{mediator}; //GameObject camera; -- cgit v1.2.3 From a8ccf7fe8662086bb223aa4eafd0f85e717d16cf Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Tue, 17 Dec 2024 15:33:31 +0100 Subject: `make format` --- mwe/events/include/event.h | 2 +- src/crepe/facade/FontFacade.cpp | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) (limited to 'src/crepe/facade') diff --git a/mwe/events/include/event.h b/mwe/events/include/event.h index e1b220b..ee1bf52 100644 --- a/mwe/events/include/event.h +++ b/mwe/events/include/event.h @@ -148,7 +148,7 @@ private: }; class ShutDownEvent : public Event { public: - ShutDownEvent() : Event("ShutDownEvent"){}; + ShutDownEvent() : Event("ShutDownEvent") {}; REGISTER_EVENT_TYPE(ShutDownEvent) diff --git a/src/crepe/facade/FontFacade.cpp b/src/crepe/facade/FontFacade.cpp index d47095f..87f95ab 100644 --- a/src/crepe/facade/FontFacade.cpp +++ b/src/crepe/facade/FontFacade.cpp @@ -10,8 +10,7 @@ using namespace std; using namespace crepe; FontFacade::FontFacade() { - if (!FcInit()) - throw runtime_error("Failed to initialize Fontconfig."); + if (!FcInit()) throw runtime_error("Failed to initialize Fontconfig."); } FontFacade::~FontFacade() { FcFini(); } @@ -22,8 +21,7 @@ Asset FontFacade::get_font_asset(const string & font_family) { if (raw_pattern == NULL) throw runtime_error("Failed to create font pattern."); unique_ptr> pattern{ - raw_pattern, [](FcPattern * p) { FcPatternDestroy(p); } - }; + raw_pattern, [](FcPattern * p) { FcPatternDestroy(p); }}; FcConfig * config = FcConfigGetCurrent(); if (config == NULL) throw runtime_error("Failed to get current Fontconfig configuration."); @@ -32,9 +30,8 @@ Asset FontFacade::get_font_asset(const string & font_family) { FcPattern * raw_matched_pattern = FcFontMatch(config, pattern.get(), &result); if (raw_matched_pattern == NULL) throw runtime_error("No matching font found."); - unique_ptr> matched_pattern = { - raw_matched_pattern, [](FcPattern * p) { FcPatternDestroy(p); } - }; + unique_ptr> matched_pattern + = {raw_matched_pattern, [](FcPattern * p) { FcPatternDestroy(p); }}; FcChar8 * file_path = nullptr; FcResult res = FcPatternGetString(matched_pattern.get(), FC_FILE, 0, &file_path); @@ -44,4 +41,3 @@ Asset FontFacade::get_font_asset(const string & font_family) { string font_file_path = reinterpret_cast(file_path); return Asset(font_file_path); } - -- cgit v1.2.3