mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
Calculate preferred size from Galley; Pass it back up the Uis, Frames, etc..
This commit is contained in:
@@ -2,7 +2,7 @@ use egui::{
|
||||
containers::{Frame, Window},
|
||||
emath, epaint,
|
||||
epaint::PathStroke,
|
||||
hex_color, lerp, pos2, remap, vec2, Color32, Context, Pos2, Rect, Ui,
|
||||
hex_color, lerp, pos2, remap, vec2, Color32, Context, Pos2, Rect, Ui, Vec2,
|
||||
};
|
||||
|
||||
#[derive(Default)]
|
||||
@@ -43,7 +43,7 @@ impl crate::View for DancingStrings {
|
||||
let time = ui.input(|i| i.time);
|
||||
|
||||
let desired_size = ui.available_width() * vec2(1.0, 0.35);
|
||||
let (_id, rect) = ui.allocate_space(desired_size);
|
||||
let (_id, rect) = ui.allocate_space(desired_size, Vec2::ZERO); // TODO
|
||||
|
||||
let to_screen =
|
||||
emath::RectTransform::from_to(Rect::from_x_y_ranges(0.0..=1.0, -1.0..=1.0), rect);
|
||||
|
||||
@@ -189,7 +189,8 @@ impl View for MiscDemoWindow {
|
||||
for i in 0..100 {
|
||||
let r = i as f32 * 0.5;
|
||||
let size = Vec2::splat(2.0 * r + 5.0);
|
||||
let (rect, _response) = ui.allocate_at_least(size, Sense::hover());
|
||||
let (rect, _response) =
|
||||
ui.allocate_at_least(size, Sense::hover(), Vec2::ZERO); // TODO
|
||||
ui.painter()
|
||||
.circle_filled(rect.center(), r, ui.visuals().text_color());
|
||||
}
|
||||
@@ -384,7 +385,7 @@ impl BoxPainting {
|
||||
|
||||
ui.horizontal_wrapped(|ui| {
|
||||
for _ in 0..self.num_boxes {
|
||||
let (rect, _response) = ui.allocate_at_least(self.size, Sense::hover());
|
||||
let (rect, _response) = ui.allocate_at_least(self.size, Sense::hover(), Vec2::ZERO); // TODO
|
||||
ui.painter().rect(
|
||||
rect,
|
||||
self.corner_radius,
|
||||
|
||||
@@ -225,7 +225,7 @@ fn huge_content_painter(ui: &mut egui::Ui) {
|
||||
used_rect = used_rect.union(text_rect);
|
||||
}
|
||||
|
||||
ui.allocate_rect(used_rect, Sense::hover()); // make sure it is visible!
|
||||
ui.allocate_rect(used_rect, Sense::hover(), Vec2::ZERO); // TODO // make sure it is visible!
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
use egui::Vec2;
|
||||
|
||||
pub struct WindowResizeTest {
|
||||
text: String,
|
||||
}
|
||||
@@ -91,7 +93,7 @@ impl crate::Demo for WindowResizeTest {
|
||||
ui.vertical_centered(|ui| {
|
||||
ui.add(crate::egui_github_link_file!());
|
||||
});
|
||||
ui.allocate_space(ui.available_size());
|
||||
ui.allocate_space(ui.available_size(), Vec2::ZERO); // TODO
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +269,7 @@ impl ColorTest {
|
||||
}
|
||||
|
||||
fn vertex_gradient(ui: &mut Ui, bg_fill: Color32, gradient: &Gradient) -> Response {
|
||||
let (rect, response) = ui.allocate_at_least(GRADIENT_SIZE, Sense::hover());
|
||||
let (rect, response) = ui.allocate_at_least(GRADIENT_SIZE, Sense::hover(), Vec2::ZERO); // TODO
|
||||
let rect = rect.round_to_pixels(ui.pixels_per_point());
|
||||
if bg_fill != Default::default() {
|
||||
let mut mesh = Mesh::default();
|
||||
|
||||
Reference in New Issue
Block a user