pub struct DrawingArea<DB: DrawingBackend, CT: CoordTranslate> { /* private fields */ }
Expand description
The abstraction of a region
Implementations§
Source§impl<DB: DrawingBackend, X: Ranged, Y: Ranged> DrawingArea<DB, RangedCoord<X, Y>>
impl<DB: DrawingBackend, X: Ranged, Y: Ranged> DrawingArea<DB, RangedCoord<X, Y>>
Sourcepub fn draw_mesh<DrawFunc>(
&self,
draw_func: DrawFunc,
y_count_max: usize,
x_count_max: usize,
) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn draw_mesh<DrawFunc>( &self, draw_func: DrawFunc, y_count_max: usize, x_count_max: usize, ) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Draw the mesh on a area
Sourcepub fn get_x_range(&self) -> Range<X::ValueType>
pub fn get_x_range(&self) -> Range<X::ValueType>
Get the range of X of the guest coordinate for current drawing area
Sourcepub fn get_y_range(&self) -> Range<Y::ValueType>
pub fn get_y_range(&self) -> Range<Y::ValueType>
Get the range of Y of the guest coordinate for current drawing area
Source§impl<DB: DrawingBackend, CT: CoordTranslate> DrawingArea<DB, CT>
impl<DB: DrawingBackend, CT: CoordTranslate> DrawingArea<DB, CT>
Sourcepub fn get_base_pixel(&self) -> BackendCoord
pub fn get_base_pixel(&self) -> BackendCoord
Get the left upper conner of this area in the drawing backend
Sourcepub fn strip_coord_spec(&self) -> DrawingArea<DB, Shift>
pub fn strip_coord_spec(&self) -> DrawingArea<DB, Shift>
Strip the applied coordinate specification and returns a shift-based drawing area
Sourcepub fn dim_in_pixel(&self) -> (u32, u32)
pub fn dim_in_pixel(&self) -> (u32, u32)
Get the area dimension in pixel
Sourcepub fn fill<ColorType: Color>(
&self,
color: &ColorType,
) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn fill<ColorType: Color>( &self, color: &ColorType, ) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Fill the entire drawing area with a color
Sourcepub fn draw_pixel<ColorType: Color>(
&self,
pos: CT::From,
color: &ColorType,
) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn draw_pixel<ColorType: Color>( &self, pos: CT::From, color: &ColorType, ) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Draw a single pixel
Sourcepub fn present(&self) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn present(&self) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Present all the pending changes to the backend
Sourcepub fn draw<'a, E>(
&self,
element: &'a E,
) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn draw<'a, E>( &self, element: &'a E, ) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Draw an high-level element
Sourcepub fn map_coordinate(&self, coord: &CT::From) -> BackendCoord
pub fn map_coordinate(&self, coord: &CT::From) -> BackendCoord
Map coordinate to the backend coordinate
Source§impl<DB: DrawingBackend> DrawingArea<DB, Shift>
impl<DB: DrawingBackend> DrawingArea<DB, Shift>
Sourcepub fn shrink(
self,
left_upper: (u32, u32),
dimension: (u32, u32),
) -> DrawingArea<DB, Shift>
pub fn shrink( self, left_upper: (u32, u32), dimension: (u32, u32), ) -> DrawingArea<DB, Shift>
Shrink the region, note all the locaitions are in guest coordinate
Sourcepub fn apply_coord_spec<CT: CoordTranslate>(
&self,
coord_spec: CT,
) -> DrawingArea<DB, CT>
pub fn apply_coord_spec<CT: CoordTranslate>( &self, coord_spec: CT, ) -> DrawingArea<DB, CT>
Apply a new coord transformation object and returns a new drawing area
Sourcepub fn margin(
&self,
top: i32,
bottom: i32,
left: i32,
right: i32,
) -> DrawingArea<DB, Shift>
pub fn margin( &self, top: i32, bottom: i32, left: i32, right: i32, ) -> DrawingArea<DB, Shift>
Create a margin for the given drawing area and returns the new drawing area
Sourcepub fn split_vertically(&self, y: i32) -> (Self, Self)
pub fn split_vertically(&self, y: i32) -> (Self, Self)
Split the drawing area vertically
Sourcepub fn split_horizentally(&self, x: i32) -> (Self, Self)
pub fn split_horizentally(&self, x: i32) -> (Self, Self)
Split the drawing area horizentally
Sourcepub fn split_evenly(&self, (row, col): (usize, usize)) -> Vec<Self>
pub fn split_evenly(&self, (row, col): (usize, usize)) -> Vec<Self>
Split the drawing area evenly
Sourcepub fn titled<'a, S: Into<TextStyle<'a>>>(
&self,
text: &str,
style: S,
) -> Result<Self, DrawingAreaErrorKind<DB::ErrorType>>
pub fn titled<'a, S: Into<TextStyle<'a>>>( &self, text: &str, style: S, ) -> Result<Self, DrawingAreaErrorKind<DB::ErrorType>>
Draw a title of the drawing area and return the remaining drawing area
Sourcepub fn draw_text(
&self,
text: &str,
style: &TextStyle<'_>,
pos: BackendCoord,
) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
pub fn draw_text( &self, text: &str, style: &TextStyle<'_>, pos: BackendCoord, ) -> Result<(), DrawingAreaErrorKind<DB::ErrorType>>
Draw text on the drawing area
Source§impl<DB: DrawingBackend, CT: CoordTranslate> DrawingArea<DB, CT>
impl<DB: DrawingBackend, CT: CoordTranslate> DrawingArea<DB, CT>
pub fn into_coord_spec(self) -> CT
Trait Implementations§
Source§impl<DB: DrawingBackend, CT: CoordTranslate + Clone> Clone for DrawingArea<DB, CT>
impl<DB: DrawingBackend, CT: CoordTranslate + Clone> Clone for DrawingArea<DB, CT>
Source§impl<DB: DrawingBackend> From<DB> for DrawingArea<DB, Shift>
impl<DB: DrawingBackend> From<DB> for DrawingArea<DB, Shift>
Auto Trait Implementations§
impl<DB, CT> Freeze for DrawingArea<DB, CT>where
CT: Freeze,
impl<DB, CT> !RefUnwindSafe for DrawingArea<DB, CT>
impl<DB, CT> !Send for DrawingArea<DB, CT>
impl<DB, CT> !Sync for DrawingArea<DB, CT>
impl<DB, CT> Unpin for DrawingArea<DB, CT>where
CT: Unpin,
impl<DB, CT> !UnwindSafe for DrawingArea<DB, CT>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more