GstGLWindow: GStreamer Bad Plugins 1.0 Library Reference Manual

## GstGLWindow GstGLWindow |

## Functions

GQuark | gst_gl_window_error_quark ()
void | (*GstGLWindowResizeCB) ()
#define | GST_GL_WINDOW_RESIZE_CB()
void | (*GstGLWindowCB) ()
#define | GST_GL_WINDOW_CB()
GstGLWindow * | gst_gl_window_new ()
void | gst_gl_window_draw ()
gboolean | gst_gl_window_is_running ()
void | gst_gl_window_quit ()
void | gst_gl_window_run ()
GstGLContext * | gst_gl_window_get_context ()
guintptr | gst_gl_window_get_display ()
void | gst_gl_window_send_message ()
void | gst_gl_window_send_message_async ()
void | gst_gl_window_set_close_callback ()
void | gst_gl_window_set_draw_callback ()
void | gst_gl_window_set_resize_callback ()
void | gst_gl_window_set_window_handle ()
guintptr | gst_gl_window_get_window_handle ()
void | gst_gl_window_set_preferred_size ()
void | gst_gl_window_show ()
void | gst_gl_window_get_surface_dimensions ()
void | gst_gl_window_handle_events ()

## Signals

void | key-event | Run Last
void | mouse-event | Run Last

## Types and Values

enum | GstGLWindowError
#define | GST_GL_WINDOW_ERROR
| GstGLWindow
| GstGLWindowClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstGLWindow

## Description

## Functions

### gst_gl_window_error_quark ()

    GQuark
    gst_gl_window_error_quark (void);

### GstGLWindowResizeCB ()

    void
    (*GstGLWindowResizeCB) (gpointer data,
                            guint width,
                            guint height);

### GST_GL_WINDOW_RESIZE_CB()

    #define GST_GL_WINDOW_RESIZE_CB(f)		 ((GstGLWindowResizeCB) (f))

### GstGLWindowCB ()

    void
    (*GstGLWindowCB) (gpointer data);

### GST_GL_WINDOW_CB()

    #define GST_GL_WINDOW_CB(f)			 ((GstGLWindowCB) (f))

### gst_gl_window_new ()

    GstGLWindow *
    gst_gl_window_new (GstGLDisplay *display);

### gst_gl_window_draw ()

    void
    gst_gl_window_draw (GstGLWindow *window);

### gst_gl_window_is_running ()

    gboolean
    gst_gl_window_is_running (GstGLWindow *window);

### gst_gl_window_quit ()

    void
    gst_gl_window_quit (GstGLWindow *window);

### gst_gl_window_run ()

    void
    gst_gl_window_run (GstGLWindow *window);

### gst_gl_window_get_context ()

    GstGLContext *
    gst_gl_window_get_context (GstGLWindow *window);

### gst_gl_window_get_display ()

    guintptr
    gst_gl_window_get_display (GstGLWindow *window);

### gst_gl_window_send_message ()

    void
    gst_gl_window_send_message (GstGLWindow *window,
                                GstGLWindowCB callback,
                                gpointer data);

### gst_gl_window_send_message_async ()

    void
    gst_gl_window_send_message_async (GstGLWindow *window,
                                      GstGLWindowCB callback,
                                      gpointer data,
                                      GDestroyNotify destroy);

### gst_gl_window_set_close_callback ()

    void
    gst_gl_window_set_close_callback (GstGLWindow *window,
                                      GstGLWindowCB callback,
                                      gpointer data,
                                      GDestroyNotify destroy_notify);

### gst_gl_window_set_draw_callback ()

    void
    gst_gl_window_set_draw_callback (GstGLWindow *window,
                                     GstGLWindowCB callback,
                                     gpointer data,
                                     GDestroyNotify destroy_notify);

### gst_gl_window_set_resize_callback ()

    void
    gst_gl_window_set_resize_callback (GstGLWindow *window,
                                       GstGLWindowResizeCB callback,
                                       gpointer data,
                                       GDestroyNotify destroy_notify);

### gst_gl_window_set_window_handle ()

    void
    gst_gl_window_set_window_handle (GstGLWindow *window,
                                     guintptr handle);

### gst_gl_window_get_window_handle ()

    guintptr
    gst_gl_window_get_window_handle (GstGLWindow *window);

### gst_gl_window_set_preferred_size ()

    void
    gst_gl_window_set_preferred_size (GstGLWindow *window,
                                      gint width,
                                      gint height);

### gst_gl_window_show ()

    void
    gst_gl_window_show (GstGLWindow *window);

### gst_gl_window_get_surface_dimensions ()

    void
    gst_gl_window_get_surface_dimensions (GstGLWindow *window,
                                          guint *width,
                                          guint *height);

### gst_gl_window_handle_events ()

    void
    gst_gl_window_handle_events (GstGLWindow *window,
                                 gboolean handle_events);

## Types and Values

### enum GstGLWindowError

#### Members

GST_GL_WINDOW_ERROR_FAILED |  |
GST_GL_WINDOW_ERROR_OLD_LIBS |  |
GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE |  |

### GST_GL_WINDOW_ERROR

    #define GST_GL_WINDOW_ERROR (gst_gl_window_error_quark ())

### GstGLWindow

    typedef struct _GstGLWindow GstGLWindow;

### GstGLWindowClass

    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;

## Signal Details

### The `“key-event”` signal

    void
    user_function (GstGLWindow *gstglwindow,
                   gchar       *arg1,
                   gchar       *arg2,
                   gpointer     user_data)

Flags: Run Last

### The `“mouse-event”` signal

    void
    user_function (GstGLWindow *gstglwindow,
                   gchar       *arg1,
                   gint         arg2,
                   gdouble      arg3,
                   gdouble      arg4,
                   gpointer     user_data)

Flags: Run Last