mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
gtk: Add a way to queue redrawing the base GTK widget
This will be used to request a redraw of the GTK widget should the display be changed using properties not directly handled by the base GTK widget, but by one of its descendants. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1710>
This commit is contained in:
parent
23adc61ac7
commit
30f85ca806
2 changed files with 17 additions and 0 deletions
|
@ -593,3 +593,19 @@ gtk_gst_base_widget_set_buffer (GtkGstBaseWidget * widget, GstBuffer * buffer)
|
|||
|
||||
GTK_GST_BASE_WIDGET_UNLOCK (widget);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_gst_base_widget_queue_draw (GtkGstBaseWidget * widget)
|
||||
{
|
||||
/* As we have no type, this is better then no check */
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
GTK_GST_BASE_WIDGET_LOCK (widget);
|
||||
|
||||
if (!widget->draw_id) {
|
||||
widget->draw_id = g_idle_add_full (G_PRIORITY_DEFAULT,
|
||||
(GSourceFunc) _queue_draw, widget, NULL);
|
||||
}
|
||||
|
||||
GTK_GST_BASE_WIDGET_UNLOCK (widget);
|
||||
}
|
||||
|
|
|
@ -91,6 +91,7 @@ void gtk_gst_base_widget_finalize (GObject * object);
|
|||
/* API */
|
||||
gboolean gtk_gst_base_widget_set_format (GtkGstBaseWidget * widget, GstVideoInfo * v_info);
|
||||
void gtk_gst_base_widget_set_buffer (GtkGstBaseWidget * widget, GstBuffer * buffer);
|
||||
void gtk_gst_base_widget_queue_draw (GtkGstBaseWidget * widget);
|
||||
void gtk_gst_base_widget_set_element (GtkGstBaseWidget * widget, GstElement * element);
|
||||
void gtk_gst_base_widget_display_size_to_stream_size (GtkGstBaseWidget * base_widget,
|
||||
gdouble x, gdouble y,
|
||||
|
|
Loading…
Reference in a new issue