#include "gui.h" Vector2 mousePoint = { 0.0f, 0.0f }; void GUI::Init(int button_x, int button_y, int button_width, int button_height, std::string button_title) { x = button_x; y = button_y; width = button_width; height = button_height; title = button_title; rect = Rectangle{float(x), float(y), float(width), float(height)}; } bool GUI::GetChecked() { return isChecked; } void GUI::Update() { mousePoint = GetMousePosition(); if (CheckCollisionPointRec(mousePoint, rect)) isChecked = true; else isChecked = false; } void GUI::Draw() { DrawRectangle(x, y, width, height, DARKGREEN); // 버튼을 그린다. int length = MeasureText(title.c_str(), 20); // 글자의 포인트는 20으로 가정할 것이다. 20으로 가정한 글자의 가로 픽셀 크기를 구한다. DrawText(title.c_str(), x + (width / 2) - (length / 2), y + (height /2) - (20 / 2), 20, DARKBROWN); // 글자를 가로 및 세로 가운데 정렬한다. if (isChecked) { DrawRectangleLinesEx(rect, 6, Fade(BLACK, 0.3f)); } } void GUI::Tick() { BeginDrawing(); Update(); Draw(); EndDrawing(); }