Restore canvas::Program API

This commit is contained in:
Héctor Ramón Jiménez 2024-03-21 23:30:36 +01:00
parent 3d17cf8790
commit b972ebca8f
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
12 changed files with 71 additions and 53 deletions

View file

@ -1,7 +1,9 @@
use std::{f32::consts::PI, time::Instant};
use iced::mouse;
use iced::widget::canvas::{self, stroke, Cache, Canvas, Frame, Path, Stroke};
use iced::widget::canvas::{
self, stroke, Cache, Canvas, Frame, Geometry, Path, Stroke,
};
use iced::{Element, Length, Point, Rectangle, Renderer, Subscription, Theme};
pub fn main() -> iced::Result {
@ -55,11 +57,11 @@ impl<Message> canvas::Program<Message> for Arc {
fn draw(
&self,
_state: &Self::State,
renderer: &mut Renderer,
renderer: &Renderer,
theme: &Theme,
bounds: Rectangle,
_cursor: mouse::Cursor,
) {
) -> Vec<Geometry> {
let geometry = self.cache.draw(renderer, bounds.size(), |frame| {
let palette = theme.palette();
@ -102,6 +104,6 @@ impl<Message> canvas::Program<Message> for Arc {
);
});
renderer.draw_geometry([geometry]);
vec![geometry]
}
}