pub trait GLWindowExt: 'static {
Show 20 methods fn controls_viewport(&self) -> bool;
fn draw(&self);
fn context(&self) -> Option<GLContext>;
fn surface_dimensions(&self) -> (u32, u32);
fn handle_events(&self, handle_events: bool);
fn has_output_surface(&self) -> bool;
fn queue_resize(&self);
fn quit(&self);
fn resize(&self, width: u32, height: u32);
fn run(&self);
fn send_key_event(&self, event_type: &str, key_str: &str);
fn send_mouse_event(
        &self,
        event_type: &str,
        button: i32,
        posx: f64,
        posy: f64
    );
fn send_scroll_event(
        &self,
        posx: f64,
        posy: f64,
        delta_x: f64,
        delta_y: f64
    );
fn set_preferred_size(&self, width: i32, height: i32);
fn set_render_rectangle(
        &self,
        x: i32,
        y: i32,
        width: i32,
        height: i32
    ) -> Result<(), BoolError>;
fn show(&self);
fn connect_key_event<F: Fn(&Self, &str, &str) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_mouse_event<F: Fn(&Self, &str, i32, f64, f64) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_scroll_event<F: Fn(&Self, f64, f64, f64, f64) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_window_handle_changed<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Trait containing all GLWindow methods.

Implementors

GLWindow

Required methods

This is supported on crate feature v1_16 only.

Checks if self controls the GL viewport.

Returns

true if self controls the GL viewport, otherwise false

Redraw the window contents. Implementations should invoke the draw callback.

Returns

the GLContext associated with this self

Returns
width

resulting surface width

height

resulting surface height

Tell a self that it should handle events from the window system. These events are forwarded upstream as navigation events. In some window systems events are not propagated in the window hierarchy if a client is listening for them. This method allows you to disable events handling completely from the self.

handle_events

a gboolean indicating if events should be handled or not.

This is supported on crate feature v1_18 only.

Query whether self has output surface or not

Returns

true if self has useable output surface

Queue resizing of self.

Quit the runloop’s execution.

Resize self to the given width and height.

width

new width

height

new height

Start the execution of the runloop.

This is supported on crate feature v1_18 only.

Notify a self about a scroll event. A scroll signal holding the event coordinates will be emitted.

posx

x position of the mouse cursor

posy

y position of the mouse cursor

delta_x

the x offset of the scroll event

delta_y

the y offset of the scroll event

Set the preferred width and height of the window. Implementations are free to ignore this information.

width

new preferred width

height

new preferred height

Tell a self that it should render into a specific region of the window according to the gst_video::VideoOverlay interface.

x

x position

y

y position

width

width

height

height

Returns

whether the specified region could be set

Present the window to the screen.

Will be emitted when a key event is received by the GstGLwindow.

id

the name of the event

key

the id of the key pressed

Will be emitted when a mouse event is received by the GstGLwindow.

id

the name of the event

button

the id of the button

x

the x coordinate of the mouse event

y

the y coordinate of the mouse event

This is supported on crate feature v1_18 only.

Will be emitted when a mouse scroll event is received by the GstGLwindow.

x

the x coordinate of the mouse event

y

the y coordinate of the mouse event

delta_x

the x offset of the scroll event

delta_y

the y offset of the scroll event

This is supported on crate feature v1_20 only.

Will be emitted when the window handle has been set into the native implementation, but before the context is re-activated. By using this signal, elements can refresh associated resource without relying on direct handle comparision.

Implementors