The linux buildbots have started to fail compilation due to not
finding the gtk headers. The quotes have been changed to angle brackets
to indicate to the compiler that these are system includes.
specific code. As a result of this, HAVE_GTK3 no longer needs to be
exposed.
The use of HAVE_GTK, and HAVE_ GTK3 have been changed to mirror the
method used by HAVE_QT and HAVE_QT5.
On branch gtk3
Changes to be committed:
modified: CMakeLists.txt
modified: cmake/OpenCVFindLibsGUI.cmake
modified: cmake/templates/cvconfig.h.in
modified: modules/highgui/src/window.cpp
modified: modules/highgui/src/window_gtk.cpp
The linux buildbots have started to fail compilation due to not
finding the gtk headers. The quotes have been changed to angle brackets
to indicate to the compiler that these are system includes.
specific code. As a result of this, HAVE_GTK3 no longer needs to be
exposed.
The use of HAVE_GTK, and HAVE_ GTK3 have been changed to mirror the
method used by HAVE_QT and HAVE_QT5.
On branch gtk3
Changes to be committed:
modified: CMakeLists.txt
modified: cmake/OpenCVFindLibsGUI.cmake
modified: cmake/templates/cvconfig.h.in
modified: modules/highgui/src/window.cpp
modified: modules/highgui/src/window_gtk.cpp
The gtk3 resize functions fail to shrink the window after it has been
resized. This edit changes this and allows the window to be shrunk
back to its original size.
This edit also cleans up the draw/expose functions.
A new option WITH_GTK3 has been added to the cmake configure system to enable compilation under Gtk version 3.The flag HAVE_GTK3 is also introduced to select the new Gtk3 code in the source files. (Gtk2 is disbled when Gtk3 is selected).
window_gtk.cpp has been modified to remove obsolete (and deleted from libgtk 3) and introduce new Gtk3 code in its place when compiled for Gtk3.
To compile for Gtk2, disable WITH_GTK3 in cmake. To build for Gtk3 both WITH_GTK and WITH_GTK3 must be selected.
This update replaces depreciated Gtk1.x symbols with Gtk2.x symbols in
preparation for adding Gtk3 support. These edits aim to be fully
compatible with Gtk2.x, allowing backward compatibility.
The following symbols have been replaced in this commit:
Gtk symbols that have been moved to the Gdk library:
- GtkType -> Gtype
- GTK_CHECK_CAST -> G_TYPE_CHECK_INSTANCE_CAST
- GTK_CHECK_TYPE -> G_TYPE_CHECK_INSTANCE_TYPE
- gtk_signal_connect -> g_signal_connect
- GTK_SIGNAL_FUNC -> G_CALLBACK
- gtk_type_class -> g_type_class_peek
- gtk_type_new-> g_object_new
- GtkTypeInfo -> GtypeInfo (Not required for
g_type_register_static_simple)
- gtk_type_unique -> g_type_register_static_simple
- gdk_draw_image_rgb -> replaced by gdk_cairo_source_pixbuf
NB: This requires porting to use cairo contexts and GdkPixbufs.
The following gtk symbols are changed for their modern equivalent:
- GTK_WIDGET_REALIZED -> gtk_widget_get_realized
- GTK_OBJECT_FLAGS -> gtk_widget_set_realized
Symbols without replacement:
- gtk_range_set_update_policy -> No replacement; as default policy is
set to continuous we can delete this line.
* removed OpenGLFuncTab, now extensions are loaded internally
* added support of GlBuffer and GlTexture2D to InputArray/OutputArray
* added ELEMENT_ARRAY_BUFFER and PIXEL_PACK_BUFFER targets
* added copyFrom/copyTo method for GlBuffer and GlTexture2D
* removed GlFont
* removed pointCloudShow
* removed OpenGLCleanCallback
* added Access parameter to GlBuffer::mapHost
* added autoRelease parameter to all create methods
* removed OpenGLFuncTab, now extensions are loaded internally
* renamed GlTexture -> GlTexture2D
* added support of GlBuffer and GlTexture2D to InputArray/OutputArray
* added ELEMENT_ARRAY_BUFFER and PIXEL_PACK_BUFFER targets
* added copyFrom/copyTo method for GlBuffer and GlTexture2D
* removed GlFont
* removed pointCloudShow
* removed OpenGLCleanCallback