tiling: Also render resize indicators without active hint
This commit is contained in:
parent
235248d445
commit
0ebcfa24a3
1 changed files with 35 additions and 36 deletions
|
|
@ -2557,42 +2557,6 @@ where
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some((mode, resize)) = resize_indicator.as_mut() {
|
|
||||||
let mut geo = geo.clone();
|
|
||||||
geo.loc -= (18, 18).into();
|
|
||||||
geo.size += (36, 36).into();
|
|
||||||
|
|
||||||
resize.resize(geo.size);
|
|
||||||
resize.output_enter(output, output_geo);
|
|
||||||
let possible_edges =
|
|
||||||
TilingLayout::possible_resizes(target_tree, node_id);
|
|
||||||
if !possible_edges.is_empty() {
|
|
||||||
if resize.with_program(|internal| {
|
|
||||||
let mut edges = internal.edges.lock().unwrap();
|
|
||||||
if *edges != possible_edges {
|
|
||||||
*edges = possible_edges;
|
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}) {
|
|
||||||
resize.force_update();
|
|
||||||
}
|
|
||||||
resize_elements = Some(
|
|
||||||
resize
|
|
||||||
.render_elements::<CosmicWindowRenderElement<R>>(
|
|
||||||
renderer,
|
|
||||||
geo.loc.to_physical_precise_round(output_scale),
|
|
||||||
output_scale.into(),
|
|
||||||
alpha * mode.alpha().unwrap_or(1.0),
|
|
||||||
)
|
|
||||||
.into_iter()
|
|
||||||
.map(CosmicMappedRenderElement::from)
|
|
||||||
.collect::<Vec<_>>(),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
indicator = Some(IndicatorShader::focus_element(
|
indicator = Some(IndicatorShader::focus_element(
|
||||||
renderer,
|
renderer,
|
||||||
match data {
|
match data {
|
||||||
|
|
@ -2608,6 +2572,41 @@ where
|
||||||
1.0,
|
1.0,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Some((mode, resize)) = resize_indicator.as_mut() {
|
||||||
|
let mut geo = geo.clone();
|
||||||
|
geo.loc -= (18, 18).into();
|
||||||
|
geo.size += (36, 36).into();
|
||||||
|
|
||||||
|
resize.resize(geo.size);
|
||||||
|
resize.output_enter(output, output_geo);
|
||||||
|
let possible_edges = TilingLayout::possible_resizes(target_tree, node_id);
|
||||||
|
if !possible_edges.is_empty() {
|
||||||
|
if resize.with_program(|internal| {
|
||||||
|
let mut edges = internal.edges.lock().unwrap();
|
||||||
|
if *edges != possible_edges {
|
||||||
|
*edges = possible_edges;
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}) {
|
||||||
|
resize.force_update();
|
||||||
|
}
|
||||||
|
resize_elements = Some(
|
||||||
|
resize
|
||||||
|
.render_elements::<CosmicWindowRenderElement<R>>(
|
||||||
|
renderer,
|
||||||
|
geo.loc.to_physical_precise_round(output_scale),
|
||||||
|
output_scale.into(),
|
||||||
|
alpha * mode.alpha().unwrap_or(1.0),
|
||||||
|
)
|
||||||
|
.into_iter()
|
||||||
|
.map(CosmicMappedRenderElement::from)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Data::Mapped { mapped, .. } = data {
|
if let Data::Mapped { mapped, .. } = data {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue