From b5639e4f41009ce00d077561c9ed107ddd48808f Mon Sep 17 00:00:00 2001 From: Alan Youngblood Date: Fri, 4 Feb 2022 17:08:01 -0500 Subject: [PATCH] Basic WordWrap for UIText feature --- build/BeagleRescue | Bin 341384 -> 341488 bytes src/ecs/UITextComponent.h | 14 ++++---------- src/game/Game.cpp | 4 ++-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/build/BeagleRescue b/build/BeagleRescue index 66f7a2bb546e2635f39cc2077382f085032c0598..27fe35de3b920340a83d93cd636a308e83c3940a 100755 GIT binary patch delta 54026 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 A)c^nh delta 54059 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�VJF!~)wUa@HM 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 ZrGrPO8s6Ew%^S1|B;KNZ*} #include #include - -// Should include and to make an array of tuples with two SDL_Rect type vars to feed to the draw function. +#include class UITextComponent : public Component { @@ -29,7 +28,6 @@ private: TransformComponent *transform; SDL_Texture *texture; SDL_Rect srcRect, destRect; -// char letter; std::string text; int letterWidth, letterHeight; int scale = 1; @@ -46,8 +44,6 @@ public: letterWidth = letterW; letterHeight = letterH; scale = letterScale; -// destRect.w = letterW*letterScale; -// destRect.h = letterH*letterScale; } ~UITextComponent() @@ -63,7 +59,6 @@ public: void init() override { transform = &entity->getComponent(); - } void update() override @@ -74,7 +69,6 @@ public: void draw() override { -// This should be updated to iterate through an array of each letter's srcRect and destRect for (int l = 0; l < text.length(); l++) { std::tuple lttr = getLetterTexture(text[l],l); @@ -85,13 +79,13 @@ public: std::tuple getLetterTexture(char currentLetter, int i) { std::tuple letterTuple; - + int charsPerLine = std::floor(transform->width/letterWidth); srcRect.x = ((currentLetter-ASCII_START_IDX) % ASCII_ROW_COUNT)*letterWidth; srcRect.y = ((currentLetter-ASCII_START_IDX)/ASCII_ROW_COUNT)*letterHeight; srcRect.w = letterWidth; srcRect.h = letterHeight; - destRect.x = static_cast(transform->position.x)*scale+i*letterWidth*scale; - destRect.y = static_cast(transform->position.y)*scale; + destRect.x = static_cast(transform->position.x)*scale+(i%charsPerLine)*letterWidth*scale; + destRect.y = static_cast(transform->position.y)*scale+std::floor(i/charsPerLine)*letterHeight*scale*1.5; destRect.w = letterWidth*scale; destRect.h = letterHeight*scale; letterTuple = std::make_tuple(srcRect,destRect); diff --git a/src/game/Game.cpp b/src/game/Game.cpp index 3322d76..ca0a1bc 100644 --- a/src/game/Game.cpp +++ b/src/game/Game.cpp @@ -151,7 +151,7 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g my9Slice = new UINineSlice("textBox"); my9Slice->MakeSlices("textBox",32,32,14,16,14,16,myDestRect,globalScale,Game::groupUI_Layer0); - uiInfo.addComponent(160,120,64,32,1); + uiInfo.addComponent(10,10,180,56,1); uiInfo.addComponent("font", "UI Text works again!", 8, 12, 1); uiInfo.addGroup(groupUI_Layer3); // debug UI text @@ -258,7 +258,7 @@ void Game::update() SDL_Rect playerCol = player.getComponent().collider; Vector2D playerPos = player.getComponent().position; - uiInfo.getComponent().updateString("New Text Works!"); + uiInfo.getComponent().updateString("Updating UIText works well, even with basic word wrap for new lines."); // if (gsm->currentState == GameStateManager::ST_INIT) // {