Explorar o código

nested clipping of canvas items now works

Zher Huei Lee %!s(int64=10) %!d(string=hai) anos
pai
achega
7f001a2c76
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  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 {