#include "client/gui/StartGUI.h"

StartGUI::StartGUI(BaseGUI b)
    : base(b), info(base.addLabel("Connect to server ...")),
      address(base.addInput()), connect(base.addButton("Connect ...")) {
}

void StartGUI::tick() {
    base.tick();
}

void StartGUI::render(float lag, ShaderMatrix& sm, Renderer& r) {
    base.updateScale(sm);

    Vector2 size = Vector2(BaseGUI::FIXED_SIZE[0] - 80.0f, 110.0f);
    Vector2 pos = (base.scaledSize - size) * 0.5f;

    info.base.pos = pos;
    info.base.size = Vector2(size[0], 30.0f);

    address.base.pos = pos + Vector2(40.0f, 30.0f);
    address.base.size = Vector2(size[0] - 80.0f, 30.0f);

    connect.base.pos = pos + Vector2(40.0f, 70.0f);
    connect.base.size = Vector2(size[0] - 80.0f, 30.0f);

    r.renderRectangle(pos, size, Color4(0x50, 0x50, 0x50, 0xFF));
    base.render(lag, sm, r);
}

bool StartGUI::getAddress(Address& a) const {
    if(connect.base.pressed) {
        address.text.toString(a);
        return true;
    }
    return false;
}