pub trait Backend {
type RenderTarget: Target;
// Required methods
fn d2d1_factory(&self) -> &ID2D1Factory6;
fn d2d1_device(&self) -> &ID2D1Device5;
fn begin_draw(&self, target: &Self::RenderTarget);
fn end_draw(
&self,
target: &Self::RenderTarget,
ret: Result<()>
) -> Result<()>;
}