pub trait GskRendererExt: 'static {
// Required methods
fn surface(&self) -> Option<Surface>;
fn is_realized(&self) -> bool;
fn realize(&self, surface: Option<&Surface>) -> Result<(), Error>;
fn render(&self, root: impl AsRef<RenderNode>, region: Option<&Region>);
fn render_texture(
&self,
root: impl AsRef<RenderNode>,
viewport: Option<&Rect>
) -> Texture;
fn unrealize(&self);
fn connect_realized_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_surface_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}