[gtkmm] Gtk::DropTarget, MediaStream: Ignore deprecations



commit 5ea48106662407c7505b0b32f283a6e0a6891f75
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Wed Jun 16 18:49:53 2021 +0200

    Gtk::DropTarget, MediaStream: Ignore deprecations
    
    * gtk/src/droptarget.[ccg|hg]: Ignore deprecation of
    gtk_drop_target_get_drop() and the :drop property.
    * gtk/src/mediastream.[ccg|hg]: Ignore deprecation of
    gtk_media_stream_prepared() and gtk_media_stream_unprepared().
    
    The replacements can be wrapped only when gtkmm requires gtk > 4.3.1.

 gtk/src/droptarget.ccg  | 19 +++++++++++++++++++
 gtk/src/droptarget.hg   | 21 +++++++++++++++++++--
 gtk/src/mediastream.ccg | 20 ++++++++++++++++++++
 gtk/src/mediastream.hg  | 20 ++++++++++++++++++--
 4 files changed, 76 insertions(+), 4 deletions(-)
---
diff --git a/gtk/src/droptarget.ccg b/gtk/src/droptarget.ccg
index 3f2fe850..c50366c9 100644
--- a/gtk/src/droptarget.ccg
+++ b/gtk/src/droptarget.ccg
@@ -41,4 +41,23 @@ Glib::ValueBase DropTarget::get_value() const
   return retvalue;
 }
 
+// We hand-code get_drop().
+// gtk_drop_target_get_drop() is deprecated in gtk 4.4.
+// We can't use the replacement gtk_drop_target_get_current_drop(),
+// which is new in gtk 4.4. This version of gtkmm does not require gtk 4.4.
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+Glib::RefPtr<Gdk::Drop> DropTarget::get_drop()
+{
+  auto retvalue = Glib::wrap(gtk_drop_target_get_drop(gobj()));
+  if(retvalue)
+    retvalue->reference(); //The function does not do a ref for us.
+  return retvalue;
+}
+
+Glib::RefPtr<const Gdk::Drop> DropTarget::get_drop() const
+{
+  return const_cast<DropTarget*>(this)->get_drop();
+}
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 } // namesoace Gtk
diff --git a/gtk/src/droptarget.hg b/gtk/src/droptarget.hg
index 080ca632..7560b3a7 100644
--- a/gtk/src/droptarget.hg
+++ b/gtk/src/droptarget.hg
@@ -89,8 +89,22 @@ public:
   _WRAP_METHOD(void set_preload(bool preload = true), gtk_drop_target_set_preload)
   _WRAP_METHOD(bool get_preload() const, gtk_drop_target_get_preload)
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Drop> get_drop(), gtk_drop_target_get_drop, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Gdk::Drop> get_drop() const, gtk_drop_target_get_drop, refreturn, 
constversion)
+  //TODO: Update in gtkmm 4.4.
+  // We hand-code get_drop(). gtk_drop_target_get_drop() is deprecated in gtk 4.4.
+  // We can't use the replacement gtk_drop_target_get_current_drop(),
+  // which is new in gtk 4.4. This version of gtkmm does not require gtk 4.4.
+  //_WRAP_METHOD(Glib::RefPtr<Gdk::Drop> get_drop(), gtk_drop_target_get_drop, refreturn,
+  //  deprecated "Use get_current_drop() instead.")
+  //_WRAP_METHOD(Glib::RefPtr<const Gdk::Drop> get_drop() const, gtk_drop_target_get_drop, refreturn, 
constversion,
+  //  deprecated "Use get_current_drop() instead.")
+  //_WRAP_METHOD(Glib::RefPtr<Gdk::Drop> get_current_drop(), gtk_drop_target_get_current_drop, refreturn, 
newin "4,4")
+  //_WRAP_METHOD(Glib::RefPtr<const Gdk::Drop> get_current_drop() const, gtk_drop_target_get_current_drop,
+  //   refreturn, constversion, newin "4,4")
+
+  _WRAP_METHOD_DOCS_ONLY(gtk_drop_target_get_drop)
+  Glib::RefPtr<Gdk::Drop> get_drop();
+  _WRAP_METHOD_DOCS_ONLY(gtk_drop_target_get_drop)
+  Glib::RefPtr<const Gdk::Drop> get_drop() const;
 
   _WRAP_METHOD_DOCS_ONLY(gtk_drop_target_get_value)
   Glib::ValueBase get_value() const;
@@ -98,6 +112,9 @@ public:
   _WRAP_METHOD(void reject(), gtk_drop_target_reject)
 
   _WRAP_PROPERTY("actions", Gdk::DragAction)
+  //TODO: Update in gtkmm 4.4.
+  //_WRAP_PROPERTY("drop", Glib::RefPtr<Gdk::Drop>, deprecated "Use property_current_drop() instead.")
+  //_WRAP_PROPERTY("current-drop", Glib::RefPtr<Gdk::Drop>, newin "4,4")
   _WRAP_PROPERTY("drop", Glib::RefPtr<Gdk::Drop>)
   _WRAP_PROPERTY("formats", Glib::RefPtr<Gdk::ContentFormats>)
   _WRAP_PROPERTY("preload", bool)
diff --git a/gtk/src/mediastream.ccg b/gtk/src/mediastream.ccg
index 78aa7456..102d20af 100644
--- a/gtk/src/mediastream.ccg
+++ b/gtk/src/mediastream.ccg
@@ -16,3 +16,23 @@
 
 #include <gtk/gtk.h>
 
+namespace Gtk
+{
+
+// We hand-code prepared() and unprepared(). gtk_media_stream_prepared() and
+// gtk_media_stream_unprepared() are deprecated in gtk 4.4.
+// We can't use the replacements gtk_media_stream_set_prepared() and gtk_media_stream_unset_prepared(),
+// which are new in gtk 4.4. This version of gtkmm does not require gtk 4.4.
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+void MediaStream::prepared(bool has_audio, bool has_video, bool seekable, gint64 duration)
+{
+  gtk_media_stream_prepared(gobj(), static_cast<int>(has_audio), static_cast<int>(has_video), 
static_cast<int>(seekable), duration);
+}
+
+void MediaStream::unprepared()
+{
+  gtk_media_stream_unprepared(gobj());
+}
+G_GNUC_END_IGNORE_DEPRECATIONS
+
+} // namesoace Gtk
diff --git a/gtk/src/mediastream.hg b/gtk/src/mediastream.hg
index 30d969ec..99fb0b56 100644
--- a/gtk/src/mediastream.hg
+++ b/gtk/src/mediastream.hg
@@ -81,8 +81,24 @@ public:
   _WRAP_METHOD(void unrealize(const Glib::RefPtr<Gdk::Surface>& surface), gtk_media_stream_unrealize)
 
   // For implementations only
-  _WRAP_METHOD(void prepared(bool has_audio, bool has_video, bool seekable, gint64 duration), 
gtk_media_stream_prepared)
-  _WRAP_METHOD(void unprepared(), gtk_media_stream_unprepared)
+
+  //TODO: Update in gtkmm 4.4.
+  // We hand-code prepared() and unprepared(). gtk_media_stream_prepared() and
+  // gtk_media_stream_unprepared() are deprecated in gtk 4.4.
+  // We can't use the replacements gtk_media_stream_set_prepared() and gtk_media_stream_unset_prepared(),
+  // which are new in gtk 4.4. This version of gtkmm does not require gtk 4.4.
+  //_WRAP_METHOD(void prepared(bool has_audio, bool has_video, bool seekable, gint64 duration),
+  //  gtk_media_stream_prepared, deprecated "Use set_prepared() instead.")
+  //_WRAP_METHOD(void unprepared(), gtk_media_stream_unprepared, deprecated "Use unset_prepared() instead.")
+  //_WRAP_METHOD(void set_prepared(bool has_audio, bool has_video, bool seekable, gint64 duration),
+  //   gtk_media_stream_set_prepared, newin "4,4")
+  //_WRAP_METHOD(void unprepared(), gtk_media_stream_unset_prepared, newin "4,4")
+
+  _WRAP_METHOD_DOCS_ONLY(gtk_media_stream_prepared)
+  void prepared(bool has_audio, bool has_video, bool seekable, gint64 duration);
+  _WRAP_METHOD_DOCS_ONLY(gtk_media_stream_unprepared)
+  void unprepared();
+
   _WRAP_METHOD(void update(gint64 timestamp), gtk_media_stream_update)
   _WRAP_METHOD(void ended(), gtk_media_stream_ended)
   _WRAP_METHOD(void seek_success(), gtk_media_stream_seek_success)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]