65 lines
2.8 KiB
C
65 lines
2.8 KiB
C
|
|
|
||
|
|
#include "../global.h"
|
||
|
|
|
||
|
|
void util_resize_borders() {
|
||
|
|
if (ui_base_border_handle != NULL) {
|
||
|
|
if (ui_base_border_handle == ui_nodes_hwnd || ui_base_border_handle == ui_view2d_hwnd) {
|
||
|
|
if (ui_base_border_started == BORDER_SIDE_LEFT) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_W] -= math_floor(mouse_movement_x);
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_NODES_W] < 32) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_W] = 32;
|
||
|
|
}
|
||
|
|
else if (g_config->layout->buffer[LAYOUT_SIZE_NODES_W] > iron_window_width() * 0.7) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_W] = math_floor(iron_window_width() * 0.7);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else { // UINodes / UIView2D ratio
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_H] -= math_floor(mouse_movement_y);
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_NODES_H] < 32) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_H] = 32;
|
||
|
|
}
|
||
|
|
else if (g_config->layout->buffer[LAYOUT_SIZE_NODES_H] > sys_h() * 0.95) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_H] = math_floor(sys_h() * 0.95);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (ui_base_border_handle == ui_base_hwnds->buffer[TAB_AREA_STATUS]) {
|
||
|
|
i32 my = math_floor(mouse_movement_y);
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_STATUS_H] - my >= ui_statusbar_default_h * g_config->window_scale &&
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_STATUS_H] - my < iron_window_height() * 0.7) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_STATUS_H] -= my;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else { // Sidebar
|
||
|
|
if (ui_base_border_started == BORDER_SIDE_LEFT) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] -= math_floor(mouse_movement_x);
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] < ui_sidebar_w_mini) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] = ui_sidebar_w_mini;
|
||
|
|
}
|
||
|
|
else if (g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] > iron_window_width() - ui_sidebar_w_mini * 2) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] = iron_window_width() - ui_sidebar_w_mini * 2;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ui_nodes_show || ui_base_show) {
|
||
|
|
// Scale down node view if viewport is already at minimal size
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_NODES_W] + g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] + ui_sidebar_w_mini >
|
||
|
|
iron_window_width()) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_NODES_W] =
|
||
|
|
iron_window_width() - g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_W] - ui_sidebar_w_mini;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
i32 my = math_floor(mouse_movement_y);
|
||
|
|
if (ui_base_border_handle == ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1] && ui_base_border_started == BORDER_SIDE_TOP) {
|
||
|
|
if (g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_H0] + my > 32 && g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_H1] - my > 32) {
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_H0] += my;
|
||
|
|
g_config->layout->buffer[LAYOUT_SIZE_SIDEBAR_H1] -= my;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
base_resize();
|
||
|
|
}
|
||
|
|
}
|