gtk: Export _display_size_to_stream_size()
authorBastien Nocera <hadess@hadess.net>
Wed, 5 May 2021 12:24:31 +0000 (14:24 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 6 May 2021 01:18:18 +0000 (01:18 +0000)
Export _display_size_to_stream_size() so that GstNavigation implementors
can translate from display coordinates to stream coordinates before
pushing the events upstream to the DVD source, for example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974>

ext/gtk/gtkgstbasewidget.c
ext/gtk/gtkgstbasewidget.h

index 4858f27..3ad7903 100644 (file)
@@ -284,9 +284,9 @@ _fit_stream_to_allocated_size (GtkGstBaseWidget * base_widget,
   }
 }
 
-static void
-_display_size_to_stream_size (GtkGstBaseWidget * base_widget, gdouble x,
-    gdouble y, gdouble * stream_x, gdouble * stream_y)
+void
+gtk_gst_base_widget_display_size_to_stream_size (GtkGstBaseWidget * base_widget,
+    gdouble x, gdouble y, gdouble * stream_x, gdouble * stream_y)
 {
   gdouble stream_width, stream_height;
   GtkAllocation allocation;
@@ -337,7 +337,8 @@ gtk_gst_base_widget_button_event (GtkWidget * widget, GdkEventButton * event)
           GDK_BUTTON_PRESS ? "mouse-button-press" : "mouse-button-release";
       gdouble x, y;
 
-      _display_size_to_stream_size (base_widget, event->x, event->y, &x, &y);
+      gtk_gst_base_widget_display_size_to_stream_size (base_widget, event->x,
+          event->y, &x, &y);
 
       gst_navigation_send_mouse_event (GST_NAVIGATION (element), key_type,
           event->button, x, y);
@@ -358,7 +359,8 @@ gtk_gst_base_widget_motion_event (GtkWidget * widget, GdkEventMotion * event)
     if (GST_IS_NAVIGATION (element)) {
       gdouble x, y;
 
-      _display_size_to_stream_size (base_widget, event->x, event->y, &x, &y);
+      gtk_gst_base_widget_display_size_to_stream_size (base_widget, event->x,
+          event->y, &x, &y);
 
       gst_navigation_send_mouse_event (GST_NAVIGATION (element), "mouse-move",
           0, x, y);
index 13737c6..c10ed38 100644 (file)
@@ -91,6 +91,9 @@ void            gtk_gst_base_widget_finalize             (GObject * object);
 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_set_element          (GtkGstBaseWidget * widget, GstElement * element);
+void            gtk_gst_base_widget_display_size_to_stream_size (GtkGstBaseWidget * base_widget,
+                                                                 gdouble x, gdouble y,
+                                                                 gdouble * stream_x, gdouble * stream_y);
 
 G_END_DECLS