|
1 /* GStreamer |
|
2 * Copyright (C) 2006 Nokia <stefan.kost@nokia.com |
|
3 * |
|
4 * videoorientation.h: video flipping and centering interface |
|
5 * |
|
6 * This library is free software; you can redistribute it and/or |
|
7 * modify it under the terms of the GNU Library General Public |
|
8 * License as published by the Free Software Foundation; either |
|
9 * version 2 of the License, or (at your option) any later version. |
|
10 * |
|
11 * This library is distributed in the hope that it will be useful, |
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
14 * Library General Public License for more details. |
|
15 * |
|
16 * You should have received a copy of the GNU Library General Public |
|
17 * License along with this library; if not, write to the |
|
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
19 * Boston, MA 02111-1307, USA. |
|
20 */ |
|
21 |
|
22 #ifndef __GST_VIDEO_ORIENTATION_H__ |
|
23 #define __GST_VIDEO_ORIENTATION_H__ |
|
24 |
|
25 #include <gst/gst.h> |
|
26 #include <gst/interfaces/interfaces-enumtypes.h> |
|
27 |
|
28 G_BEGIN_DECLS |
|
29 |
|
30 #define GST_TYPE_VIDEO_ORIENTATION \ |
|
31 (gst_video_orientation_get_type ()) |
|
32 #define GST_VIDEO_ORIENTATION(obj) \ |
|
33 (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VIDEO_ORIENTATION, GstVideoOrientation)) |
|
34 #define GST_IS_VIDEO_ORIENTATION(obj) \ |
|
35 (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VIDEO_ORIENTATION)) |
|
36 #define GST_VIDEO_ORIENTATION_GET_IFACE(inst) \ |
|
37 (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_VIDEO_ORIENTATION, GstVideoOrientationInterface)) |
|
38 |
|
39 /** |
|
40 * GstVideoOrientation: |
|
41 * |
|
42 * Opaque #GstVideoOrientation data structure. |
|
43 */ |
|
44 typedef struct _GstVideoOrientation GstVideoOrientation; |
|
45 |
|
46 /** |
|
47 * GstVideoOrientationInterface: |
|
48 * @parent: parent interface type. |
|
49 * @get_hflip: virtual method to get horizontal flipping state |
|
50 * @get_vflip: virtual method to get vertical flipping state |
|
51 * @get_hcenter: virtual method to get horizontal centering state |
|
52 * @get_vcenter: virtual method to get vertical centering state |
|
53 * @set_hflip: virtual method to set horizontal flipping state |
|
54 * @set_vflip: virtual method to set vertical flipping state |
|
55 * @set_hcenter: virtual method to set horizontal centering state |
|
56 * @set_vcenter: virtual method to set vertical centering state |
|
57 * |
|
58 * #GstVideoOrientationInterface interface. |
|
59 */ |
|
60 typedef struct _GstVideoOrientationInterface { |
|
61 GTypeInterface parent; |
|
62 |
|
63 /* virtual functions */ |
|
64 gboolean (* get_hflip) (GstVideoOrientation *video_orientation, gboolean *flip); |
|
65 gboolean (* get_vflip) (GstVideoOrientation *video_orientation, gboolean *flip); |
|
66 gboolean (* get_hcenter) (GstVideoOrientation *video_orientation, gint *center); |
|
67 gboolean (* get_vcenter) (GstVideoOrientation *video_orientation, gint *center); |
|
68 |
|
69 gboolean (* set_hflip) (GstVideoOrientation *video_orientation, gboolean flip); |
|
70 gboolean (* set_vflip) (GstVideoOrientation *video_orientation, gboolean flip); |
|
71 gboolean (* set_hcenter) (GstVideoOrientation *video_orientation, gint center); |
|
72 gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center); |
|
73 |
|
74 /*< private > */ |
|
75 gpointer _gst_reserved[GST_PADDING]; |
|
76 } GstVideoOrientationInterface; |
|
77 #ifdef __SYMBIAN32__ |
|
78 IMPORT_C |
|
79 #endif |
|
80 |
|
81 |
|
82 GType gst_video_orientation_get_type (void); |
|
83 |
|
84 /* virtual class function wrappers */ |
|
85 #ifdef __SYMBIAN32__ |
|
86 IMPORT_C |
|
87 #endif |
|
88 |
|
89 gboolean gst_video_orientation_get_hflip (GstVideoOrientation *video_orientation, gboolean *flip); |
|
90 #ifdef __SYMBIAN32__ |
|
91 IMPORT_C |
|
92 #endif |
|
93 |
|
94 gboolean gst_video_orientation_get_vflip (GstVideoOrientation *video_orientation, gboolean *flip); |
|
95 #ifdef __SYMBIAN32__ |
|
96 IMPORT_C |
|
97 #endif |
|
98 |
|
99 gboolean gst_video_orientation_get_hcenter (GstVideoOrientation *video_orientation, gint *center); |
|
100 #ifdef __SYMBIAN32__ |
|
101 IMPORT_C |
|
102 #endif |
|
103 |
|
104 gboolean gst_video_orientation_get_vcenter (GstVideoOrientation *video_orientation, gint *center); |
|
105 #ifdef __SYMBIAN32__ |
|
106 IMPORT_C |
|
107 #endif |
|
108 |
|
109 |
|
110 gboolean gst_video_orientation_set_hflip (GstVideoOrientation *video_orientation, gboolean flip); |
|
111 #ifdef __SYMBIAN32__ |
|
112 IMPORT_C |
|
113 #endif |
|
114 |
|
115 gboolean gst_video_orientation_set_vflip (GstVideoOrientation *video_orientation, gboolean flip); |
|
116 #ifdef __SYMBIAN32__ |
|
117 IMPORT_C |
|
118 #endif |
|
119 |
|
120 gboolean gst_video_orientation_set_hcenter (GstVideoOrientation *video_orientation, gint center); |
|
121 #ifdef __SYMBIAN32__ |
|
122 IMPORT_C |
|
123 #endif |
|
124 |
|
125 gboolean gst_video_orientation_set_vcenter (GstVideoOrientation *video_orientation, gint center); |
|
126 |
|
127 G_END_DECLS |
|
128 |
|
129 #endif /* __GST_VIDEO_ORIENTATION_H__ */ |