Trait kernel::hil::screen::ScreenSetup
source · pub trait ScreenSetup<'a> {
// Required methods
fn set_client(&self, client: &'a dyn ScreenSetupClient);
fn set_resolution(
&self,
resolution: (usize, usize),
) -> Result<(), ErrorCode>;
fn set_pixel_format(
&self,
format: ScreenPixelFormat,
) -> Result<(), ErrorCode>;
fn set_rotation(&self, rotation: ScreenRotation) -> Result<(), ErrorCode>;
fn get_num_supported_resolutions(&self) -> usize;
fn get_supported_resolution(&self, index: usize) -> Option<(usize, usize)>;
fn get_num_supported_pixel_formats(&self) -> usize;
fn get_supported_pixel_format(
&self,
index: usize,
) -> Option<ScreenPixelFormat>;
}
Expand description
Interface to configure the screen.
Required Methods§
fn set_client(&self, client: &'a dyn ScreenSetupClient)
sourcefn set_resolution(&self, resolution: (usize, usize)) -> Result<(), ErrorCode>
fn set_resolution(&self, resolution: (usize, usize)) -> Result<(), ErrorCode>
Set the screen resolution in pixels with (X, Y)
.
Returns Ok(())
if the request is registered and will be sent to the
screen. A command_complete
callback function will be triggered when
the resolution change is finished and will provide a Result<(), ErrorCode>
to indicate if the resolution change was successful.
Returns Err(NOSUPPORT)
if the resolution is not supported. No callback will
be triggered.
sourcefn set_pixel_format(&self, format: ScreenPixelFormat) -> Result<(), ErrorCode>
fn set_pixel_format(&self, format: ScreenPixelFormat) -> Result<(), ErrorCode>
Set the pixel format.
Returns Ok(())
if the request is registered and will be sent to the
screen. A command_complete
callback function will be triggered when
the pixel format change is finished and will provide a Result<(), ErrorCode>
to indicate if the pixel format change was successful.
Returns Err(NOSUPPORT)
if the pixel format is not supported.
sourcefn set_rotation(&self, rotation: ScreenRotation) -> Result<(), ErrorCode>
fn set_rotation(&self, rotation: ScreenRotation) -> Result<(), ErrorCode>
Set the rotation of the display.
Returns Ok(())
if the request is registered and will be sent to the
screen. A command_complete
callback function will be triggered when
the rotation update is finished and will provide a Result<(), ErrorCode>
to indicate if the rotation change was successful.
Note that Rotated90
or Rotated270
will swap the width and height.
sourcefn get_num_supported_resolutions(&self) -> usize
fn get_num_supported_resolutions(&self) -> usize
Get the number of supported resolutions.
This must return at least one (the current resolution).
This function is synchronous as the driver should know this value without requesting it from the screen (most screens do not support such a request, resolutions are described in the data sheet).
sourcefn get_supported_resolution(&self, index: usize) -> Option<(usize, usize)>
fn get_supported_resolution(&self, index: usize) -> Option<(usize, usize)>
Get the resolution specified by the given index.
index
is from 0..get_num_supported_resolutions()-1
and this returns
a tuple (width, height)
of the associated resolution (in pixels). Note
that width and height may change due to rotation. Returns None
if
index
is invalid.
This function is synchronous as the driver should know this value without requesting it from the screen.
sourcefn get_num_supported_pixel_formats(&self) -> usize
fn get_num_supported_pixel_formats(&self) -> usize
Get the number of the pixel formats supported.
This function is synchronous as the driver should know this value without requesting it from the screen (most screens do not support such a request, pixel formats are described in the data sheet).
sourcefn get_supported_pixel_format(&self, index: usize) -> Option<ScreenPixelFormat>
fn get_supported_pixel_format(&self, index: usize) -> Option<ScreenPixelFormat>
Get the pixel format specified by the given index.
index
is from 0..get_num_supported_pixel_formats()-1
and this
returns the associated pixel format. Returns None
if index
is
invalid.
This function is synchronous as the driver should know this value without requesting it from the screen.