![]() |
![]() |
![]() |
GStreamer Bad Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Signals |
enum GstGLWindowError; GQuark gst_gl_window_error_quark (void
); #define GST_GL_WINDOW_ERROR void (*GstGLWindowResizeCB) (gpointer data
,guint width
,guint height
); #define GST_GL_WINDOW_RESIZE_CB (f) void (*GstGLWindowCB) (gpointer data
); #define GST_GL_WINDOW_CB (f) GstGLWindow; GstGLWindowClass; GstGLWindow * gst_gl_window_new (GstGLDisplay *display
); void gst_gl_window_draw (GstGLWindow *window
); gboolean gst_gl_window_is_running (GstGLWindow *window
); void gst_gl_window_quit (GstGLWindow *window
); void gst_gl_window_run (GstGLWindow *window
); GstGLContext * gst_gl_window_get_context (GstGLWindow *window
); guintptr gst_gl_window_get_display (GstGLWindow *window
); void gst_gl_window_send_message (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
); void gst_gl_window_send_message_async (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy
); void gst_gl_window_set_close_callback (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy_notify
); void gst_gl_window_set_draw_callback (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy_notify
); void gst_gl_window_set_resize_callback (GstGLWindow *window
,GstGLWindowResizeCB callback
,gpointer data
,GDestroyNotify destroy_notify
); void gst_gl_window_set_window_handle (GstGLWindow *window
,guintptr handle
); guintptr gst_gl_window_get_window_handle (GstGLWindow *window
); void gst_gl_window_set_preferred_size (GstGLWindow *window
,gint width
,gint height
); void gst_gl_window_show (GstGLWindow *window
); void gst_gl_window_get_surface_dimensions (GstGLWindow *window
,guint *width
,guint *height
); void gst_gl_window_handle_events (GstGLWindow *window
,gboolean handle_events
);
GstGLWindow represents a window that elements can render into. A window can either be a user visible window (onscreen) or hidden (offscreen).
typedef enum { GST_GL_WINDOW_ERROR_FAILED, GST_GL_WINDOW_ERROR_OLD_LIBS, GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE, } GstGLWindowError;
typedef struct _GstGLWindow GstGLWindow;
GstGLWindow is an opaque struct and should only be accessed through the provided api.
typedef struct { GstObjectClass parent_class; guintptr (*get_display) (GstGLWindow *window); void (*set_window_handle) (GstGLWindow *window, guintptr id); guintptr (*get_window_handle) (GstGLWindow *window); void (*draw) (GstGLWindow *window); void (*run) (GstGLWindow *window); void (*quit) (GstGLWindow *window); void (*send_message) (GstGLWindow *window, GstGLWindowCB callback, gpointer data); void (*send_message_async) (GstGLWindow *window, GstGLWindowCB callback, gpointer data, GDestroyNotify destroy); gboolean (*open) (GstGLWindow *window, GError **error); void (*close) (GstGLWindow *window); void (*handle_events) (GstGLWindow *window, gboolean handle_events); void (*set_preferred_size) (GstGLWindow *window, gint width, gint height); void (*show) (GstGLWindow *window); gboolean (*set_render_rectangle)(GstGLWindow *window, gint x, gint y, gint width, gint height); void (*queue_resize) (GstGLWindow *window); } GstGLWindowClass;
Parent class | |
Gets the current windowing system display connection | |
Set a window to render into | |
Gets the current window that this GstGLWindow is rendering into | |
redraw the window with the specified dimensions | |
run the mainloop | |
send a quit to the mainloop | |
invoke a function on the window thread. Required to be reentrant. | |
invoke a function on the window thread. run may or may
not have been called. Required to be reentrant. |
|
open the connection to the display | |
close the connection to the display | |
whether to handle 'extra' events from the windowing system. Basic events like surface moves and resizes are still valid things to listen for. | |
request that the window change surface size. The implementation is free to ignore this information. | |
GstGLWindow * gst_gl_window_new (GstGLDisplay *display
);
|
a GstGLDisplay |
Returns : |
a new GstGLWindow using display 's connection. [transfer full]
|
Since 1.4
void gst_gl_window_draw (GstGLWindow *window
);
Redraw the window contents. Implementations should invoke the draw callback.
|
a GstGLWindow |
Since 1.4
gboolean gst_gl_window_is_running (GstGLWindow *window
);
Whether the runloop is running
|
a GstGLWindow |
Since 1.4
void gst_gl_window_quit (GstGLWindow *window
);
Quit the runloop's execution.
|
a GstGLWindow |
Since 1.4
void gst_gl_window_run (GstGLWindow *window
);
Start the execution of the runloop.
|
a GstGLWindow |
Since 1.4
GstGLContext * gst_gl_window_get_context (GstGLWindow *window
);
|
a GstGLWindow |
Returns : |
the GstGLContext associated with this window . [transfer full]
|
Since 1.4
guintptr gst_gl_window_get_display (GstGLWindow *window
);
|
a GstGLWindow |
Returns : |
the windowing system display handle for this window
|
Since 1.4
void gst_gl_window_send_message (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
);
Invoke callback
with data on the window thread. callback
is guarenteed to
have executed when this function returns.
|
a GstGLWindow |
|
function to invoke. [scope async] |
|
data to invoke callback with. [closure]
|
Since 1.4
void gst_gl_window_send_message_async (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy
);
Invoke callback
with data
on the window thread. The callback may not
have been executed when this function returns.
|
a GstGLWindow |
|
function to invoke. [scope async] |
|
data to invoke callback with. [closure]
|
|
called when data is not needed anymore. [destroy]
|
Since 1.4
void gst_gl_window_set_close_callback (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy_notify
);
Sets the callback called when the window is about to close.
|
a GstGLWindow |
|
function to invoke. [scope notified] |
|
data to invoke callback with. [closure]
|
|
called when data is not needed any more. [destroy]
|
Since 1.4
void gst_gl_window_set_draw_callback (GstGLWindow *window
,GstGLWindowCB callback
,gpointer data
,GDestroyNotify destroy_notify
);
Sets the draw callback called everytime gst_gl_window_draw()
is called
|
a GstGLWindow |
|
function to invoke. [scope notified] |
|
data to invoke callback with. [closure]
|
|
called when data is not needed any more. [destroy]
|
Since 1.4
void gst_gl_window_set_resize_callback (GstGLWindow *window
,GstGLWindowResizeCB callback
,gpointer data
,GDestroyNotify destroy_notify
);
Sets the resize callback called everytime a resize of the window occurs.
|
a GstGLWindow |
|
function to invoke. [scope notified] |
|
data to invoke callback with. [closure]
|
|
called when data is not needed any more. [destroy]
|
Since 1.4
void gst_gl_window_set_window_handle (GstGLWindow *window
,guintptr handle
);
Sets the window that this window
should render into. Some implementations
require this to be called with a valid handle before drawing can commence.
|
a GstGLWindow |
|
handle to the window |
Since 1.4
guintptr gst_gl_window_get_window_handle (GstGLWindow *window
);
|
a GstGLWindow |
Returns : |
the window handle we are currently rendering into |
Since 1.4
void gst_gl_window_set_preferred_size (GstGLWindow *window
,gint width
,gint height
);
Set the preferred width and height of the window. Implementations are free to ignore this information.
|
a GstGLWindow |
|
new preferred width |
|
new preferred height |
Since 1.6
void gst_gl_window_show (GstGLWindow *window
);
Present the window to the screen.
|
a GstGLWindow |
Since 1.6
void gst_gl_window_get_surface_dimensions (GstGLWindow *window
,guint *width
,guint *height
);
|
a GstGLWindow |
|
resulting surface width. [out] |
|
resulting surface height. [out] |
Since 1.6
void gst_gl_window_handle_events (GstGLWindow *window
,gboolean handle_events
);
Tell a window
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 window
.
|
a GstGLWindow |
|
a gboolean indicating if events should be handled or not. |
"key-event"
signalvoid user_function (GstGLWindow *object,
gchar *id,
gchar *key,
gpointer user_data) : Run Last
Will be emitted when a key event is received by the GstGLwindow.
|
the GstGLWindow |
|
the name of the event |
|
the id of the key pressed |
|
user data set when the signal handler was connected. |
Since 1.6
"mouse-event"
signalvoid user_function (GstGLWindow *object,
gchar *id,
gint button,
gdouble x,
gdouble y,
gpointer user_data) : Run Last
Will be emitted when a mouse event is received by the GstGLwindow.
|
the GstGLWindow |
|
the name of the event |
|
the id of the button |
|
the x coordinate of the mouse event |
|
the y coordinate of the mouse event |
|
user data set when the signal handler was connected. |
Since 1.6