pub struct Display { /* private fields */ }
Implementations
sourceimpl Display
impl Display
sourcepub fn new(
renderer: Option<Renderer>,
onscreen_template: Option<OnscreenTemplate>
) -> Self
pub fn new(
renderer: Option<Renderer>,
onscreen_template: Option<OnscreenTemplate>
) -> Self
Explicitly allocates a new Display
object to encapsulate the
common state of the display pipeline that applies to the whole
application.
Many applications don’t need to explicitly use
Display::new
and can just jump straight to Context::new
and pass a None
display argument so will automatically
connect and setup a renderer and display.
A display
can only be made for a specific choice of renderer which
is why this takes the renderer
argument.
A common use for explicitly allocating a display object is to
define a template for allocating onscreen framebuffers which is
what the onscreen_template
argument is for, or alternatively
you can use Display::set_onscreen_template
.
When a display is first allocated via Display::new
it is in a
mutable configuration mode. It’s designed this way so we can
extend the apis available for configuring a display without
requiring huge numbers of constructor arguments.
When you have finished configuring a display object you can
optionally call Display::setup
to explicitly apply the
configuration and check for errors. Alternaitvely you can pass the
display to Context::new
and will implicitly apply your
configuration but if there are errors then the application will
abort with a message. For simple applications with no fallback
options then relying on the implicit setup can be fine.
renderer
A Renderer
onscreen_template
A OnscreenTemplate
Returns
A newly allocated Display
object in a mutable configuration mode.
sourcepub fn set_onscreen_template(
&mut self,
onscreen_template: Option<OnscreenTemplate>
)
pub fn set_onscreen_template(
&mut self,
onscreen_template: Option<OnscreenTemplate>
)
Specifies a template for creating Onscreen
framebuffers.
Depending on the system, the constraints for creating Onscreen
framebuffers need to be known before setting up a Display
because the
final setup of the display may constrain how onscreen framebuffers may be
allocated. If knows how an application wants to allocate onscreen
framebuffers then it can try to make sure to setup the display accordingly.
onscreen_template
A template for creating Onscreen
framebuffers
sourcepub fn setup(&mut self) -> bool
pub fn setup(&mut self) -> bool
Explicitly sets up the given self
object:: Use of this api is
optional since will internally setup the display if not done
explicitly.
When a display is first allocated via Display::new
it is in a
mutable configuration mode. This allows us to extend the apis
available for configuring a display without requiring huge numbers
of constructor arguments.
Its possible to request a configuration that might not be supportable on the current system and so this api provides a means to apply the configuration explicitly but if it fails then an exception will be returned so you can handle the error gracefully and perhaps fall back to an alternative configuration.
If you instead rely on implicitly calling Display::setup
for you then if there is an error with the configuration you won’t
get an opportunity to handle that and the application may abort
with a message. For simple applications that don’t have any
fallback options this behaviour may be fine.
Returns
Returns true
if there was no error, else it returns
false
and returns an exception via error
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Display
impl Send for Display
impl !Sync for Display
impl Unpin for Display
impl UnwindSafe for Display
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
impl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
sourcefn into_color(self) -> To
fn into_color(self) -> To
Convert into color
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SetParameter for T
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
Sets value
as a parameter of self
.