Skip to content
Snippets Groups Projects
Commit 16aefe40 authored by John Mitchell's avatar John Mitchell
Browse files

Fixed issue with clipping

parent 4ab3e0c1
No related branches found
No related tags found
No related merge requests found
...@@ -365,6 +365,14 @@ pub fn queue_material_ui_quads<M: MaterialUI>( ...@@ -365,6 +365,14 @@ pub fn queue_material_ui_quads<M: MaterialUI>(
}, },
); );
if quad.quad_type == UIQuadType::Clip {
previous_clip_rect = quad.rect;
}
if previous_clip_rect.width() < 1.0 || previous_clip_rect.height() < 1.0 {
continue;
}
queue_quads_inner( queue_quads_inner(
&mut commands, &mut commands,
&render_device, &render_device,
...@@ -382,7 +390,6 @@ pub fn queue_material_ui_quads<M: MaterialUI>( ...@@ -382,7 +390,6 @@ pub fn queue_material_ui_quads<M: MaterialUI>(
&mut quad_meta, &mut quad_meta,
&mut quad, &mut quad,
camera_entity, camera_entity,
&mut previous_clip_rect,
*quad_types_offsets, *quad_types_offsets,
&mut current_batch, &mut current_batch,
&mut current_batch_entity, &mut current_batch_entity,
......
...@@ -654,6 +654,13 @@ pub fn queue_quads(queue_quads: QueueQuads) { ...@@ -654,6 +654,13 @@ pub fn queue_quads(queue_quads: QueueQuads) {
let spec_pipeline = pipelines.specialize(&mut pipeline_cache, &quad_pipeline, key); let spec_pipeline = pipelines.specialize(&mut pipeline_cache, &quad_pipeline, key);
for quad in extracted_quads.iter_mut() { for quad in extracted_quads.iter_mut() {
if quad.quad_type == UIQuadType::Clip {
previous_clip_rect = quad.rect;
}
if previous_clip_rect.width() < 1.0 || previous_clip_rect.height() < 1.0 {
continue;
}
queue_quads_inner( queue_quads_inner(
&mut commands, &mut commands,
&render_device, &render_device,
...@@ -671,7 +678,6 @@ pub fn queue_quads(queue_quads: QueueQuads) { ...@@ -671,7 +678,6 @@ pub fn queue_quads(queue_quads: QueueQuads) {
&mut quad_meta, &mut quad_meta,
quad, quad,
camera_entity, camera_entity,
&mut previous_clip_rect,
*quad_type_offsets, *quad_type_offsets,
&mut current_batch, &mut current_batch,
&mut current_batch_entity, &mut current_batch_entity,
...@@ -698,7 +704,6 @@ pub fn queue_quads_inner( ...@@ -698,7 +704,6 @@ pub fn queue_quads_inner(
quad_meta: &mut QuadMeta, quad_meta: &mut QuadMeta,
quad: &mut ExtractedQuad, quad: &mut ExtractedQuad,
camera_entity: Entity, camera_entity: Entity,
previous_clip_rect: &mut Rect,
quad_type_offsets: QuadTypeOffsets, quad_type_offsets: QuadTypeOffsets,
current_batch: &mut QuadBatch, current_batch: &mut QuadBatch,
current_batch_entity: &mut Entity, current_batch_entity: &mut Entity,
...@@ -708,10 +713,6 @@ pub fn queue_quads_inner( ...@@ -708,10 +713,6 @@ pub fn queue_quads_inner(
return; return;
} }
if quad.quad_type == UIQuadType::Clip {
*previous_clip_rect = quad.rect;
}
match quad.quad_type { match quad.quad_type {
UIQuadType::Quad => quad.type_index = quad_type_offsets.quad_type_offset, UIQuadType::Quad => quad.type_index = quad_type_offsets.quad_type_offset,
UIQuadType::Text => quad.type_index = quad_type_offsets.text_type_offset, UIQuadType::Text => quad.type_index = quad_type_offsets.text_type_offset,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment