dw_gui: Defined dw::Widget::LimitPos and dw::Shell::LimitPosDisp

This commit is contained in:
korenkonder
2026-02-21 16:08:20 +03:00
parent 2f389d75d8
commit 81e645fbf0
23 changed files with 58 additions and 58 deletions
+1 -1
View File
@@ -394,7 +394,7 @@ void dtm_aet_load() {
if (!dtw_aet) {
dtw_aet = new DtwAet;
dtw_aet->sub_1402F38B0();
dtw_aet->LimitPosDisp();
}
else
dtw_aet->Disp();
+3 -3
View File
@@ -1809,14 +1809,14 @@ void SelectionButtonBool::Callback(CallbackData* data) {
static void auth_3d_test_window_init() {
if (!auth_3d_test_window) {
Auth3dTestWindow* test_window = new Auth3dTestWindow;
test_window->sub_1402F38B0();
test_window->LimitPosDisp();
Auth3dTestSubWindow* sub_window = new Auth3dTestSubWindow;
sub_window->sub_1402F38B0();
sub_window->LimitPosDisp();
test_window->sub_window = sub_window;
Auth3dTestRobWindow* rob_window = new Auth3dTestRobWindow;
rob_window->sub_1402F38B0();
rob_window->LimitPosDisp();
test_window->rob_window = rob_window;
auth_3d_test_window = test_window;
+1 -1
View File
@@ -841,7 +841,7 @@ void DataTestEquipDw::sub_140261C40(int32_t chara_id) {
void data_test_equip_dw_init() {
if (!data_test_equip_dw) {
data_test_equip_dw = new DataTestEquipDw;
data_test_equip_dw->sub_1402F38B0();
data_test_equip_dw->LimitPosDisp();
}
else {
data_test_item_equip_array_load();
+1 -1
View File
@@ -76,7 +76,7 @@ bool TaskDataTestGlitterParticle::init() {
hash = hash_fnv1a64m_empty;
scene_counter = 0;
dw = new DataTestGlitterParticleDw(this);
dw->sub_1402F38B0();
dw->LimitPosDisp();
frame = 0;
auto_and_repeat = false;
reload = false;
+4 -4
View File
@@ -2944,7 +2944,7 @@ static void data_test_mot_dw_array_init(int32_t chara_id, DtmMot* dtm_mot) {
DataTestMotDw* test_mot_dw = new DataTestMotDw(chara_id, dtm_mot);
data_test_mot_dw_array[chara_id] = test_mot_dw;
test_mot_dw->sub_1402F38B0();
test_mot_dw->LimitPosDisp();
switch (chara_id) {
case 0: {
@@ -2966,7 +2966,7 @@ static void data_test_mot_a3d_dw_init() {
data_test_mot_a3d_add_task();
if (!data_test_mot_a3d_dw) {
data_test_mot_a3d_dw = new DataTestMotA3dDw;
data_test_mot_a3d_dw->sub_1402F38B0();
data_test_mot_a3d_dw->LimitPosDisp();
}
else
data_test_mot_a3d_dw->Disp();
@@ -2979,7 +2979,7 @@ static DataTestMotA3dDw* data_test_mot_a3d_dw_get() {
static void data_test_mot_ctrl_dw_init() {
if (!data_test_mot_ctrl_dw) {
data_test_mot_ctrl_dw = new DataTestMotCtrlDw;
data_test_mot_ctrl_dw->sub_1402F38B0();
data_test_mot_ctrl_dw->LimitPosDisp();
}
else
data_test_mot_ctrl_dw->Disp();
@@ -2995,7 +2995,7 @@ static void data_test_face_mot_dw_array_init(int32_t chara_id) {
if (!data_test_face_mot_dw_array[chara_id]) {
data_test_face_mot_dw_array[chara_id] = new DataTestFaceMotDw(chara_id);
data_test_face_mot_dw_array[chara_id]->sub_1402F38B0();
data_test_face_mot_dw_array[chara_id]->LimitPosDisp();
}
else
data_test_face_mot_dw_array[chara_id]->Disp();
+1 -1
View File
@@ -517,7 +517,7 @@ void DataTestObjDw::StageDisplayCallback(dw::Widget* data) {
static void data_test_obj_dw_init() {
if (!data_test_obj_dw) {
data_test_obj_dw = new DataTestObjDw;
data_test_obj_dw->sub_1402F38B0();
data_test_obj_dw->LimitPosDisp();
}
else
data_test_obj_dw->Disp();
+1 -1
View File
@@ -441,7 +441,7 @@ RobOsageTest::~RobOsageTest() {
bool RobOsageTest::init() {
if (!rob_osage_test_dw) {
rob_osage_test_dw = new RobOsageTestDw;
rob_osage_test_dw->sub_1402F38B0();
rob_osage_test_dw->LimitPosDisp();
}
else
rob_osage_test_dw->Disp();
+25 -25
View File
@@ -136,7 +136,7 @@ namespace dw_gui_detail {
dw::Widget::KeyCallbackData key_callback_data;
std::vector<dw::Widget*> free_widgets;
dw_gui_detail::Input input;
dw::init_data field_F8;
dw::DisplayData data;
int64_t field_118;
vec2 field_120;
float_t field_128;
@@ -144,7 +144,7 @@ namespace dw_gui_detail {
std::wstring name;
RootKeySelection root_key_selection;
Display(dw::init_data& init_data);
Display(dw::DisplayData& data);
virtual ~Display();
void CheckShells();
@@ -441,12 +441,12 @@ namespace dw {
Draw();
}
void Widget::sub_1402F3770(Widget* widget) {
void Widget::LimitPos(Widget* widget) {
if (!widget)
return;
rectangle v10 = widget->GetRectangle();
rectangle v11 = dw_gui_detail_display->field_F8.field_0;
rectangle v11 = dw_gui_detail_display->data.field_0;
if (v11.pos.x > v10.pos.x || v10.pos.x + v10.size.x > v11.pos.x + v11.size.x
|| v11.pos.y > v10.pos.y || v10.pos.y + v10.size.y > v11.pos.y + v11.size.y) {
vec2 v7 = v10.pos;
@@ -1095,6 +1095,11 @@ namespace dw {
return disp;
}
void Shell::LimitPosDisp() {
LimitPos(this);
Disp();
}
void Shell::SetDisp(bool value) {
if (disp == value)
return;
@@ -1124,11 +1129,6 @@ namespace dw {
field_178 = 0;
}
void Shell::sub_1402F38B0() {
sub_1402F3770(this);
Disp();
}
KeyListener::KeyListener() {
}
@@ -2285,8 +2285,8 @@ namespace dw {
vec2 size = list->GetSize();
vec2 pos;
if (dw_gui_detail_display->field_F8.field_0.pos.y
+ dw_gui_detail_display->field_F8.field_0.size.y > rect.pos.y + rect.size.y + size.y)
if (dw_gui_detail_display->data.field_0.pos.y
+ dw_gui_detail_display->data.field_0.size.y > rect.pos.y + rect.size.y + size.y)
pos.y = rect.size.y;
else
pos.y = -size.y;
@@ -2976,7 +2976,7 @@ namespace dw {
return slider;
}
init_data::init_data() {
DisplayData::DisplayData() {
}
@@ -3070,28 +3070,28 @@ namespace dw {
}
void dw_init() {
dw::init_data init_data;
dw::DisplayData data;
resolution_struct* res_wind = res_window_get();
init_data.field_10.size.x = (float_t)res_wind->width;
init_data.field_10.size.y = (float_t)res_wind->height;
init_data.field_0.size = init_data.field_10.size;
dw_init(init_data);
data.field_10.size.x = (float_t)res_wind->width;
data.field_10.size.y = (float_t)res_wind->height;
data.field_0.size = data.field_10.size;
dw_init(data);
}
void dw_init(dw::init_data& init_data) {
void dw_init(dw::DisplayData& data) {
dw::colors_current = dw::colors_default;
//dw::set_color_list(&dw::colors_current);
dw::font_init();
if (!dw::print)
dw::print = new dw::Print(init_data.field_0.size.x, init_data.field_0.size.y);
dw::print = new dw::Print(data.field_0.size.x, data.field_0.size.y);
dw::print->SetColor(dw::colors_current.foreground);
dw::print->SetFillColor(dw::colors_current.background);
if (!dw_gui_detail_display)
dw_gui_detail_display = new dw_gui_detail::Display(init_data);
dw_gui_detail_display = new dw_gui_detail::Display(data);
if (!dw::clipboard)
dw::clipboard = new std::wstring;
@@ -3486,18 +3486,18 @@ void dw_gui_detail::Display::RootKeySelection::Field_8(const dw::Widget::KeyCall
}
dw_gui_detail::Display::Display(dw::init_data& init_data) : active_shell(),
dw_gui_detail::Display::Display(dw::DisplayData& data) : active_shell(),
active_menu(), on(), move(), widget(),
cap(), focused_shell(), find_focus(), field_118() {
set_focus = true;
field_F8 = init_data;
this->data = data;
field_128 = 1.0f;
field_120 = (1.0f / field_128) * init_data.field_10.size;
field_120 = (1.0f / field_128) * this->data.field_10.size;
name.assign(L"Display");
/*drag_bounds_control = new dw::DragBoundsControl;
drag_bounds_control->rect.pos = field_F8.field_0.pos;
drag_bounds_control->SetSize(field_F8.field_0.size);
drag_bounds_control->rect.pos = this->data.field_0.pos;
drag_bounds_control->SetSize(this->data.field_0.size);
drag_bounds_control->AddKeyListener(&root_key_selection);
v10 = new dw::Menu(drag_bounds_control);
+5 -5
View File
@@ -250,7 +250,7 @@ namespace dw {
SetText(str);
}
static void sub_1402F3770(Widget* widget);
static void LimitPos(Widget* widget);
};
class KeyListener;
@@ -395,11 +395,11 @@ namespace dw {
void Disp();
bool GetDisp();
void LimitPosDisp();
void SetDisp(bool value = false);
void sub_1402E43C0(Widget* widget);
void sub_1402E61F0(Widget* widget);
void sub_1402F38B0();
};
class KeyListener {
@@ -855,11 +855,11 @@ namespace dw {
}
};
struct init_data {
struct DisplayData {
rectangle field_0;
rectangle field_10;
init_data();
DisplayData();
};
class DropDownListScrollBarSelectionListener : public SelectionAdapter {
@@ -896,7 +896,7 @@ namespace dw {
}
extern void dw_init();
extern void dw_init(dw::init_data& init_data);
extern void dw_init(dw::DisplayData& data);
extern void dw_free();
extern void dw_gui_ctrl_disp();
+1 -1
View File
@@ -121,7 +121,7 @@ void color_change_dw_init() {
if (!color_change_dw) {
color_change_dw = new ColorChangeDw;
color_change_dw->UpdateLayout();
color_change_dw->sub_1402F38B0();
color_change_dw->LimitPosDisp();
}
else
color_change_dw->Disp();
+1 -1
View File
@@ -46,7 +46,7 @@ DwFaceLight::SliderSelectionListener dw_face_light_slider_selection_listener;
void dw_face_light_init() {
if (!dw_face_light) {
dw_face_light = new DwFaceLight;
dw_face_light->sub_1402F38B0();
dw_face_light->LimitPosDisp();
}
else
dw_face_light->Disp();
+1 -1
View File
@@ -125,7 +125,7 @@ static fog* fog_dw_get_fog();
void fog_dw_init() {
if (!fog_dw) {
fog_dw = new FogDw;
fog_dw->sub_1402F38B0();
fog_dw->LimitPosDisp();
}
else
fog_dw->Disp();
+1 -1
View File
@@ -26,7 +26,7 @@ GlitterDw* glitter_dw;
void glitter_dw_init() {
if (!glitter_dw) {
glitter_dw = new GlitterDw;
glitter_dw->sub_1402F38B0();
glitter_dw->LimitPosDisp();
}
else
glitter_dw->Disp();
+1 -1
View File
@@ -32,7 +32,7 @@ GlobalMaterialDw* global_material_dw;
void global_material_dw_init() {
if (!global_material_dw) {
global_material_dw = new GlobalMaterialDw;
global_material_dw->sub_1402F38B0();
global_material_dw->LimitPosDisp();
global_material_dw->UpdateLayout();
}
else
+1 -1
View File
@@ -275,7 +275,7 @@ static light_data* light_dw_get_light();
void light_dw_init() {
if (!light_dw) {
light_dw = new LightDw;
light_dw->sub_1402F38B0();
light_dw->LimitPosDisp();
}
else
light_dw->Disp();
+1 -1
View File
@@ -107,7 +107,7 @@ MaterialDw* material_dw;
void material_dw_init() {
if (!material_dw) {
material_dw = new MaterialDw;
material_dw->sub_1402F38B0();
material_dw->LimitPosDisp();
material_dw->UpdateLayout();
}
else
+3 -3
View File
@@ -139,7 +139,7 @@ void dw_post_process_init() {
if (!dw_post_process) {
dw_post_process = new dwPostProcess;
dw_post_process->UpdateLayout();
dw_post_process->sub_1402F38B0();
dw_post_process->LimitPosDisp();
}
else
dw_post_process->Disp();
@@ -889,7 +889,7 @@ static void dw_scene_fade_init() {
if (!dw_scene_fade) {
dw_scene_fade = new dwSceneFade;
dw_scene_fade->UpdateLayout();
dw_scene_fade->sub_1402F38B0();
dw_scene_fade->LimitPosDisp();
}
else
dw_scene_fade->Disp();
@@ -899,7 +899,7 @@ static void dw_tone_trans_init() {
if (!dw_tone_trans) {
dw_tone_trans = new dwToneTrans;
dw_tone_trans->UpdateLayout();
dw_tone_trans->sub_1402F38B0();
dw_tone_trans->LimitPosDisp();
}
else
dw_tone_trans->Disp();
+1 -1
View File
@@ -34,7 +34,7 @@ void reflect_refract_dw_init() {
if (!reflect_refract_dw) {
reflect_refract_dw = new ReflectRefractDw;
reflect_refract_dw->UpdateLayout();
reflect_refract_dw->sub_1402F38B0();
reflect_refract_dw->LimitPosDisp();
}
else
reflect_refract_dw->Disp();
+1 -1
View File
@@ -35,7 +35,7 @@ static void render_settings_scale_to_string(char* str, size_t str_len);
void render_settings_dw_init() {
if (!render_settings_dw) {
render_settings_dw = new RenderSettingsDw;
render_settings_dw->sub_1402F38B0();
render_settings_dw->LimitPosDisp();
}
else
render_settings_dw->Disp();
+1 -1
View File
@@ -47,7 +47,7 @@ void shadow_dw_init() {
if (!shadow_dw) {
shadow_dw = new ShadowDw;
shadow_dw->UpdateLayout();
shadow_dw->sub_1402F38B0();
shadow_dw->LimitPosDisp();
}
else
shadow_dw->Disp();
+1 -1
View File
@@ -77,7 +77,7 @@ static const char* dw_console_c_buff_array_get_buf(int32_t index);
void dw_console_init() {
if (!dw_console) {
dw_console = new DwConsole;
dw_console->sub_1402F38B0();
dw_console->LimitPosDisp();
}
else
dw_console->Disp();
+1 -1
View File
@@ -31,7 +31,7 @@ FrameSpeedWindow* frame_speed_window;
void frame_speed_window_init() {
if (!frame_speed_window) {
frame_speed_window = new FrameSpeedWindow;
frame_speed_window->sub_1402F38B0();
frame_speed_window->LimitPosDisp();
frame_speed_window->slider->SetValue(get_delta_frame());
}
else {
+1 -1
View File
@@ -40,7 +40,7 @@ static int32_t task_sort_by_name(void const* src1, void const* src2);
void dw_task_init() {
if (!dw_task) {
dw_task = new DwTask();
dw_task->sub_1402F38B0();
dw_task->LimitPosDisp();
}
else
dw_task->Disp();