feat(window): 添加判断窗口能否调整大小的辅助函数
This commit is contained in:
@@ -540,6 +540,7 @@ static void route_pointer_motion(
|
||||
} break;
|
||||
case ZDWM_WINDOW_INTERACTION_RESIZE: {
|
||||
auto window = state_window_get(ctx->state, window_id);
|
||||
if (!window_can_resize(window)) break;
|
||||
|
||||
auto rect = interaction->origin_rect;
|
||||
auto start = interaction->start_coordinate;
|
||||
|
||||
@@ -171,3 +171,10 @@ bool window_should_fix_size(const window_t *window) {
|
||||
auto min = window->min_size;
|
||||
return max.width == min.width && max.height == min.height;
|
||||
}
|
||||
|
||||
bool window_can_resize(const window_t *window) {
|
||||
if (window->fullscreen || window->maximized) return false;
|
||||
if (window_should_fix_size(window)) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -130,3 +130,4 @@ bool window_need_move(const window_t *window, int32_t x, int32_t y);
|
||||
bool window_need_resize(const window_t *window, int32_t width, int32_t height);
|
||||
bool window_should_has_border(const window_t *window);
|
||||
bool window_should_fix_size(const window_t *window);
|
||||
bool window_can_resize(const window_t *window);
|
||||
|
||||
Reference in New Issue
Block a user