Browse Source

Merge pull request #2572 from leezh/clipping-fix

nested clipping of canvas items now works
Juan Linietsky 10 năm trước cách đây
mục cha
commit
652a01f16f
1 tập tin đã thay đổi với 5 bổ sung1 xóa
  1. 5 1
      servers/visual/visual_server_raster.cpp

+ 5 - 1
servers/visual/visual_server_raster.cpp

@@ -6824,7 +6824,11 @@ void VisualServerRaster::_render_canvas_item(CanvasItem *p_canvas_item,const Mat
 	copymem(child_items,ci->child_items.ptr(),child_item_count*sizeof(CanvasItem*));
 
 	if (ci->clip) {
-		ci->final_clip_rect=global_rect;
+		if (p_canvas_clip != NULL) {
+			ci->final_clip_rect=p_canvas_clip->final_clip_rect.clip(global_rect);
+		} else {
+			ci->final_clip_rect=global_rect;
+		}
 		ci->final_clip_owner=ci;
 
 	} else {