opt: more reasonable buffer size scale

This commit is contained in:
DreamMaoMao 2025-03-25 19:22:01 +08:00
parent 4c59533fad
commit beac396fd5

View file

@ -4215,15 +4215,19 @@ void scene_buffer_apply_size(struct wlr_scene_buffer *buffer, int sx, int sy,
return; return;
} }
struct wlr_scene_surface *surface = wlr_scene_surface_try_from_buffer(buffer); struct wlr_scene_surface *scene_surface = wlr_scene_surface_try_from_buffer(buffer);
if (wlr_subsurface_try_from_wlr_surface(surface->surface) != NULL) { if(scene_surface == NULL) return;
wlr_scene_buffer_set_dest_size(
buffer, buffer->dst_width * scale_data->width_scale, struct wlr_surface *surface = scene_surface->surface;
buffer->dst_height * scale_data->height_scale);
} else { uint32_t surface_width = surface->current.width;
wlr_scene_buffer_set_dest_size(buffer, scale_data->width, uint32_t surface_height = surface->current.height;
scale_data->height);
} surface_width *= scale_data->width_scale;
surface_height *= scale_data->height_scale;
wlr_scene_buffer_set_dest_size(buffer, surface_width, surface_height);
} }
void snap_scene_buffer_apply_size(struct wlr_scene_buffer *buffer, int sx, void snap_scene_buffer_apply_size(struct wlr_scene_buffer *buffer, int sx,