opencv: forward declare opencv types
authorPhilippe Renon <philippe_renon@yahoo.fr>
Mon, 21 Nov 2016 16:19:46 +0000 (17:19 +0100)
committerLuis <luis@goodgumbo>
Mon, 21 Nov 2016 16:37:46 +0000 (17:37 +0100)
Forward declare opencv types to avoid exposing them in the API.

https://bugzilla.gnome.org/show_bug.cgi?id=774223

ext/opencv/gstcvdilateerode.cpp
gst-libs/gst/opencv/gstopencvvideofilter.cpp
gst-libs/gst/opencv/gstopencvvideofilter.h

index f12c991..2f4babc 100644 (file)
@@ -53,6 +53,8 @@
 #include "gst/opencv/gstopencvutils.h"
 #include "gstcvdilateerode.h"
 
+#include <opencv2/core/core_c.h>
+
 /*
 GST_DEBUG_CATEGORY_STATIC (gst_cv_dilate_erode_debug);
 #define GST_CAT_DEFAULT gst_cv_dilate_erode_debug
index 4b8e536..b8db40f 100644 (file)
@@ -50,6 +50,8 @@
 #include "gstopencvvideofilter.h"
 #include "gstopencvutils.h"
 
+#include <opencv2/core/core_c.h>
+
 GST_DEBUG_CATEGORY_STATIC (gst_opencv_video_filter_debug);
 #define GST_CAT_DEFAULT gst_opencv_video_filter_debug
 
index 7fbafe9..e74d4a2 100644 (file)
 
 #include <gst/gst.h>
 #include <gst/video/gstvideofilter.h>
-#include <opencv2/core/core_c.h>
 
 G_BEGIN_DECLS
+
+/* forward declare opencv type to avoid exposing them in this API */
+typedef struct _IplImage IplImage;
+
 /* #defines don't like whitespacey bits */
 #define GST_TYPE_OPENCV_VIDEO_FILTER \
   (gst_opencv_video_filter_get_type())
@@ -60,7 +63,8 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_OPENCV_VIDEO_FILTER))
 #define GST_IS_OPENCV_VIDEO_FILTER_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_OPENCV_VIDEO_FILTER))
-#define GST_OPENCV_VIDEO_FILTER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_OPENCV_VIDEO_FILTER,GstOpencvVideoFilterClass))
+#define GST_OPENCV_VIDEO_FILTER_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_OPENCV_VIDEO_FILTER,GstOpencvVideoFilterClass))
 #define GST_OPENCV_VIDEO_FILTER_CAST(obj) ((GstOpencvVideoFilter *) (obj))
 
 typedef struct _GstOpencvVideoFilter GstOpencvVideoFilter;