njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin::ui_widget_data Struct Tham chiếu

Dữ liệu cấu hình và trạng thái của một widget. Tiếp...

#include <njin_ui_layout.h>

Các thuộc tính Public

ui_widget_kind kind = ui_widget_kind::label
 Loại widget.
std::string id
 Mã định danh duy nhất (dùng để truy vấn sự kiện/giá trị).
std::string label
 Nhãn hiển thị trên widget (hỗ trợ ## để ẩn id).
std::string text
 Chuỗi phụ hoặc chữ vẽ trên progress bar.
bool enabled = true
 Trạng thái kích hoạt.
bool bool_val = false
 Trạng thái toggle.
f32 float_val = 0.0f
 Giá trị slider hoặc progress (0..1).
f32 min_val = 0.0f
 Giá trị nhỏ nhất của slider.
f32 max_val = 1.0f
 Giá trị lớn nhất của slider.
f32 step = 0.0f
 Bước nhảy của slider.
bool percent = false
 Hiển thị dạng % thay vì con số (slider, circle).
i32 int_val = 0
 Lựa chọn hiện tại của choice (index).
std::vector< std::string > options
 Các lựa chọn cho choice.
f32 height = 10.0f
 Chiều cao (dùng cho kind == space).
i32 columns = 2
 Số cột (dùng cho kind == row).
std::string texture_path
 Đường dẫn file ảnh.
texture_handle texture {}
 Handle ảnh khi đã nạp.
vec2 size {64.0f, 64.0f}
 Kích thước vẽ ảnh.
rect source {}
 Vùng cắt trong ảnh.
f32 diameter = 96.0f
 Đường kính vòng.
f32 thickness = 10.0f
 Độ dày vòng.
f32 start_angle = 0.0f
 Điểm bắt đầu, độ từ đỉnh theo chiều kim đồng hồ.
bool clockwise = true
 false: đầy dần ngược chiều kim đồng hồ.
bool round_caps = false
 Hai đầu phần đầy bo tròn.
bool show_track = true
 Vẽ vòng nền.
rgba track_color {0.0f, 0.0f, 0.0f, 0.0f}
 Màu vòng nền. Alpha 0: dùng style.
rgba fill_color {0.0f, 0.0f, 0.0f, 0.0f}
 Màu phần đầy. Alpha 0: dùng style.
std::string action_name
 Tên action cần rebind.
bool pad = false
 Rebind nút tay cầm thay vì phím.
bool clicked = false
 Vừa được bấm trong frame này (đối với button).
bool changed = false
 Giá trị vừa thay đổi trong frame này (slider, toggle, choice).

Mô tả chi tiết

Dữ liệu cấu hình và trạng thái của một widget.