Struct GlesTexture

Source
pub struct GlesTexture(/* private fields */);
Available on crate feature renderer_gl only.
Expand description

A handle to a GLES texture

The texture can be used with the same GlesRenderer it was created with, or one using a shared EGLContext.

Implementations§

Source§

impl GlesTexture

Source

pub unsafe fn from_raw( renderer: &GlesRenderer, internal_format: Option<GLenum>, opaque: bool, tex: GLuint, size: Size<i32, BufferCoord>, ) -> GlesTexture

Create a GlesTexture from a raw gl texture id.

It is expected to not be external or y_inverted.

Ownership over the texture is taken by the renderer, you should not free the texture yourself.

§Safety

The renderer cannot make sure tex is a valid texture id.

Source

pub fn tex_id(&self) -> GLuint

OpenGL texture id of this texture

This id will become invalid, when the GlesTexture is dropped and does not transfer ownership.

Source

pub fn is_y_inverted(&self) -> bool

Whether the texture is upside down

Source

pub fn is_unique_reference(&mut self) -> bool

Whether this is the only reference to this texture (strong or weak)

Note that this tracks only references to this Smithay object (that you can get by cloning it). If you make a reference via OpenGL directly somehow, you need to keep track of it on your own.

Trait Implementations§

Source§

impl Bind<GlesTexture> for GlesRenderer

Source§

fn bind<'a>( &mut self, texture: &'a mut GlesTexture, ) -> Result<GlesTarget<'a>, GlesError>

Initialize a framebuffer with a given rendering target. Read more
Source§

fn supported_formats(&self) -> Option<FormatSet>

Supported pixel formats for given targets, if applicable.
Source§

impl Clone for GlesTexture

Source§

fn clone(&self) -> GlesTexture

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GlesTexture

Source§

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

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

impl Offscreen<GlesTexture> for GlesRenderer

Source§

fn create_buffer( &mut self, format: Fourcc, size: Size<i32, BufferCoord>, ) -> Result<GlesTexture, GlesError>

Create a new instance of a framebuffer. Read more
Source§

impl Texture for GlesTexture

Source§

fn width(&self) -> u32

Width of the texture plane
Source§

fn height(&self) -> u32

Height of the texture plane
Source§

fn size(&self) -> Size<i32, BufferCoord>

Size of the texture plane
Source§

fn format(&self) -> Option<Fourcc>

Format of the texture, if available. Read more

Auto Trait Implementations§

Blanket Implementations§

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> 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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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

Source§

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> Instrument for T

Source§

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

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

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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