diff --git a/demos/clicker_game.cpp b/demos/clicker_game.cpp index 6e271ec..7651ee1 100644 --- a/demos/clicker_game.cpp +++ b/demos/clicker_game.cpp @@ -73,7 +73,7 @@ struct ClickerUI { ClickerUI() { $gui.position(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); $gui.layout( - "[_|*%(300,400)clicker|_|_|_]" + "[_|=*%(300,400)clicker|_|_|_]" "[_|_ |_|_|_]" "[_|_ |_|_|_]" "[_|_ |_|_|_]" @@ -135,15 +135,14 @@ struct ClickerUI { using enum Event; switch(ev) { case CLICKER: { - auto& shaker = $gui.get($clicker); - auto& sprite = $gui.get($clicker); - shaker.play(sprite); - fmt::println("CLICKER LOVES YOU!"); - } break; + auto& shaker = $gui.get($clicker); + auto& sprite = $gui.get($clicker); + shaker.play(sprite); + fmt::println("CLICKER LOVES YOU!"); + } break; case A_BUTTON: - fmt::println("a button clicked"); - break; - + fmt::println("a button clicked"); + break; default: assert(false && "invalid event"); } diff --git a/src/guecs/sfml/components.cpp b/src/guecs/sfml/components.cpp index db46ad6..06c2f0f 100644 --- a/src/guecs/sfml/components.cpp +++ b/src/guecs/sfml/components.cpp @@ -13,7 +13,7 @@ namespace guecs { if(text == nullptr) text = make_shared(*font, content, size); text->setFillColor(color); - if(centered) { + if(centered || cell.center) { auto bounds = text->getLocalBounds(); auto text_cell = lel::center(bounds.size.x, bounds.size.y, cell); // this stupid / 2 is because SFML renders from baseline rather than from the claimed bounding box @@ -57,6 +57,7 @@ namespace guecs { sf::IntRect rect{{0,0}, bounds}; sprite = make_shared(*sprite_texture.texture, rect); + fmt::println("SPRITE centered: {}", cell.center); sprite->setPosition({float(cell.x + padding), float(cell.y + padding)});