Struct kludgine::Graphics

source ·
pub struct Graphics<'gfx> { /* private fields */ }
Expand description

A context used to prepare graphics to render.

This type is used in these APIs:

Implementations§

source§

impl<'gfx> Graphics<'gfx>

source

pub fn prepare_text( &mut self, buffer: &Buffer, default_color: Color, origin: TextOrigin<Px> ) -> PreparedText

Prepares the text layout contained in buffer to be rendered.

When the text in buffer has no color defined, default_color will be used.

origin allows controlling how the text will be drawn relative to the coordinate provided in render().

source§

impl<'gfx> Graphics<'gfx>

source

pub fn new( kludgine: &'gfx mut Kludgine, device: &'gfx Device, queue: &'gfx Queue ) -> Self

Returns a new instance.

source

pub const fn device(&self) -> &'gfx Device

Returns a reference to the underlying [wgpu::Device].

source

pub const fn queue(&self) -> &'gfx Queue

Returns a reference to the underlying [wgpu::Queue].

source

pub fn font_system(&mut self) -> &mut FontSystem

Returns a mutable reference to the [cosmic_text::FontSystem] used when rendering text.

source

pub const fn size(&self) -> Size<UPx>

Returns the current clipped size of the context.

If this context has not been clipped, the value returned will be equivalent to Kludgine::size.

source

pub const fn clip_rect(&self) -> Rect<UPx>

Returns the current rectangular area of the context.

If this context has not been clipped, the value returned will be equivalent to Kludgine::size with an origin of 0,0.

Methods from Deref<Target = Kludgine>§

source

pub fn font_system(&mut self) -> &mut FontSystem

Returns a mutable reference to the [cosmic_text::FontSystem] used when rendering text.

source

pub fn rebuild_font_system(&mut self)

Rebuilds the font system, invalidating font database caches.

This function can be invoked after loading fonts into the font database to ensure that all future text rendering considers the newly loaded fonts.

source

pub fn set_font_size(&mut self, size: impl ScreenScale<Lp = Lp>)

Sets the font size.

source

pub fn font_size(&self) -> Lp

Returns the current font size.

source

pub fn set_line_height(&mut self, size: impl ScreenScale<Lp = Lp>)

Sets the line height for multi-line layout.

source

pub fn line_height(&self) -> Lp

Returns the current line height.

source

pub fn set_font_family(&mut self, family: FamilyOwned)

Sets the current font family.

source

pub fn font_family(&self) -> Family<'_>

Returns the current font family.

source

pub fn set_font_style(&mut self, style: Style)

Sets the current font style.

source

pub fn font_style(&self) -> Style

Returns the current font style.

source

pub fn set_font_weight(&mut self, weight: Weight)

Sets the current font weight.

source

pub fn font_weight(&self) -> Weight

Returns the current font weight.

source

pub fn set_text_stretch(&mut self, width: Stretch)

Sets the current text stretching.

source

pub fn text_stretch(&self) -> Stretch

Returns the current text stretch.

source

pub fn text_attrs(&self) -> Attrs<'_>

Returns the current text attributes.

source

pub fn set_text_attributes(&mut self, attrs: Attrs<'_>)

Sets the current text attributes.

source

pub fn reset_text_attributes(&mut self)

Resets all of the text related properties to their default settings.

source

pub const REQURED_FEATURES: Features = wgpu::Features::PUSH_CONSTANTS

source

pub fn id(&self) -> KludgineId

Returns the unique id of this instance.

source

pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

Updates the size and scale of this Kludgine instance.

This function updates data stored in the GPU that affects how graphics are rendered. It should be called before calling next_frame() if the size or scale of the underlying surface has changed.

source

pub fn next_frame(&mut self) -> Frame<'_>

Begins rendering a new frame.

source

pub fn size(&self) -> Size<UPx>

Returns the currently configured size to render.

source

pub fn scale(&self) -> Fraction

Returns the current scaling factor for the display this instance is rendering to.

Trait Implementations§

source§

impl AsRef<Device> for Graphics<'_>

source§

fn as_ref(&self) -> &Device

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Queue> for Graphics<'_>

source§

fn as_ref(&self) -> &Queue

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clipped for Graphics<'_>

source§

fn push_clip(&mut self, clip: Rect<UPx>)

Pushes a new clipping state to the clipping stack. Read more
source§

fn pop_clip(&mut self)

Restores the clipping rect to the previous state before the last call to Clipped::push_clip(). Read more
source§

fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

Returns a ClipGuard that causes all drawing operations to be offset and clipped to clip until it is dropped. Read more
source§

impl<'gfx> Debug for Graphics<'gfx>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Graphics<'_>

§

type Target = Kludgine

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl DerefMut for Graphics<'_>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl KludgineGraphics for Graphics<'_>

Auto Trait Implementations§

§

impl<'gfx> Freeze for Graphics<'gfx>

§

impl<'gfx> !RefUnwindSafe for Graphics<'gfx>

§

impl<'gfx> Send for Graphics<'gfx>

§

impl<'gfx> Sync for Graphics<'gfx>

§

impl<'gfx> Unpin for Graphics<'gfx>

§

impl<'gfx> !UnwindSafe for Graphics<'gfx>

Blanket Implementations§

source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromAngle<T> for T

source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> IntoAngle<U> for T
where U: FromAngle<T>,

source§

fn into_angle(self) -> U

Performs a conversion into T.
source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
source§

impl<T> IntoStimulus<T> for T

source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,