Unify shader::Program API with canvas::Program
This commit is contained in:
parent
14ec330730
commit
6fc16769c4
3 changed files with 34 additions and 57 deletions
|
|
@ -1,23 +0,0 @@
|
|||
//! Handle events of a custom shader widget.
|
||||
use crate::core::keyboard;
|
||||
use crate::core::mouse;
|
||||
use crate::core::time::Instant;
|
||||
use crate::core::touch;
|
||||
|
||||
/// A [`Shader`] event.
|
||||
///
|
||||
/// [`Shader`]: crate::Shader
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum Event {
|
||||
/// A mouse event.
|
||||
Mouse(mouse::Event),
|
||||
|
||||
/// A touch event.
|
||||
Touch(touch::Event),
|
||||
|
||||
/// A keyboard event.
|
||||
Keyboard(keyboard::Event),
|
||||
|
||||
/// A window requested a redraw.
|
||||
RedrawRequested(Instant),
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
use crate::core::mouse;
|
||||
use crate::core::{Rectangle, Shell};
|
||||
use crate::core::Rectangle;
|
||||
use crate::renderer::wgpu::Primitive;
|
||||
use crate::shader;
|
||||
use crate::shader::{self, Action};
|
||||
|
||||
/// The state and logic of a [`Shader`] widget.
|
||||
///
|
||||
|
|
@ -17,10 +17,10 @@ pub trait Program<Message> {
|
|||
type Primitive: Primitive + 'static;
|
||||
|
||||
/// Update the internal [`State`] of the [`Program`]. This can be used to reflect state changes
|
||||
/// based on mouse & other events. You can use the [`Shell`] to publish messages, request a
|
||||
/// redraw for the window, etc.
|
||||
/// based on mouse & other events. You can return an [`Action`] to publish a message, request a
|
||||
/// redraw, or capture the event.
|
||||
///
|
||||
/// By default, this method does and returns nothing.
|
||||
/// By default, this method returns `None`.
|
||||
///
|
||||
/// [`State`]: Self::State
|
||||
fn update(
|
||||
|
|
@ -29,8 +29,8 @@ pub trait Program<Message> {
|
|||
_event: shader::Event,
|
||||
_bounds: Rectangle,
|
||||
_cursor: mouse::Cursor,
|
||||
_shell: &mut Shell<'_, Message>,
|
||||
) {
|
||||
) -> Option<Action<Message>> {
|
||||
None
|
||||
}
|
||||
|
||||
/// Draws the [`Primitive`].
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue