~ubuntu-branches/debian/sid/cheese/sid

« back to all changes in this revision

Viewing changes to libcheese/cheese-camera.h

  • Committer: Bazaar Package Importer
  • Author(s): Laurent Bigonville
  • Date: 2011-07-17 21:04:16 UTC
  • mfrom: (15.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20110717210416-nt5qi659qei7a2yy
Tags: 3.0.1-2
* debian/control.in:
  - Change gir1.2-cheese-3.0 Section to libs
  - Make library packages depend against cheese-common package
  - Make cheese package recommends against hicolor-icon-theme
  - Move gst Dependency to libcheese package
* debian/patches/0002-fix-linking.patch: Add missing library to fix linking
* debian/watch:
  - Switch to .bz2 tarballs.
  - Bump version to 3

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * Copyright © 2007,2008 Jaap Haitsma <jaap@haitsma.org>
3
3
 * Copyright © 2007-2009 daniel g. siegel <dgsiegel@gnome.org>
4
4
 * Copyright © 2008 Ryan zeigler <zeiglerr@gmail.com>
 
5
 * Copyright © 2010 Yuvaraj Pandian T <yuvipanda@yuvi.in>
5
6
 *
6
7
 * Licensed under the GNU General Public License Version 2
7
8
 *
24
25
#define __CHEESE_CAMERA_H__
25
26
 
26
27
#include <glib-object.h>
27
 
#include <gtk/gtk.h>
28
28
#include <gst/interfaces/xoverlay.h>
 
29
#include <clutter/clutter.h>
29
30
#include <cheese-camera-device.h>
 
31
#include <cheese-effect.h>
 
32
#include <gdk-pixbuf/gdk-pixbuf.h>
30
33
 
31
34
G_BEGIN_DECLS
32
35
 
37
40
#define CHEESE_IS_CAMERA_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), CHEESE_TYPE_CAMERA))
38
41
#define CHEESE_CAMERA_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CHEESE_TYPE_CAMERA, CheeseCameraClass))
39
42
 
40
 
typedef enum
41
 
{
42
 
  CHEESE_CAMERA_EFFECT_NO_EFFECT       = (0),
43
 
  CHEESE_CAMERA_EFFECT_MAUVE           = (1 << 0),
44
 
  CHEESE_CAMERA_EFFECT_NOIR_BLANC      = (1 << 1),
45
 
  CHEESE_CAMERA_EFFECT_SATURATION      = (1 << 2),
46
 
  CHEESE_CAMERA_EFFECT_HULK            = (1 << 3),
47
 
  CHEESE_CAMERA_EFFECT_VERTICAL_FLIP   = (1 << 4),
48
 
  CHEESE_CAMERA_EFFECT_HORIZONTAL_FLIP = (1 << 5),
49
 
  CHEESE_CAMERA_EFFECT_SHAGADELIC      = (1 << 6),
50
 
  CHEESE_CAMERA_EFFECT_VERTIGO         = (1 << 7),
51
 
  CHEESE_CAMERA_EFFECT_EDGE            = (1 << 8),
52
 
  CHEESE_CAMERA_EFFECT_DICE            = (1 << 9),
53
 
  CHEESE_CAMERA_EFFECT_WARP            = (1 << 10),
54
 
}
55
 
CheeseCameraEffect;
56
 
 
57
43
typedef struct
58
44
{
59
45
  GObject parent;
65
51
  void (*photo_saved)(CheeseCamera *camera);
66
52
  void (*photo_taken)(CheeseCamera *camera, GdkPixbuf *pixbuf);
67
53
  void (*video_saved)(CheeseCamera *camera);
 
54
  void (*state_flags_changed)(CheeseCamera *camera, GstState new_state);
68
55
} CheeseCameraClass;
69
56
 
70
57
enum CheeseCameraError
75
62
};
76
63
 
77
64
GType         cheese_camera_get_type (void);
78
 
CheeseCamera *cheese_camera_new (GtkWidget *video_window,
79
 
                                 char      *camera_device_name,
80
 
                                 int        x_resolution,
81
 
                                 int        y_resolution);
 
65
CheeseCamera *cheese_camera_new (ClutterTexture *video_texture,
 
66
                                 char           *camera_device_name,
 
67
                                 int             x_resolution,
 
68
                                 int             y_resolution);
82
69
 
83
70
const CheeseVideoFormat *cheese_camera_get_current_video_format (CheeseCamera *camera);
84
 
void                     cheese_camera_setup (CheeseCamera *camera, char *udi, GError **error);
 
71
void                     cheese_camera_setup (CheeseCamera *camera, const char *id, GError **error);
85
72
void                     cheese_camera_play (CheeseCamera *camera);
86
73
void                     cheese_camera_stop (CheeseCamera *camera);
87
 
void                     cheese_camera_set_effect (CheeseCamera *camera, CheeseCameraEffect effect);
88
 
void                     cheese_camera_start_video_recording (CheeseCamera *camera, char *filename);
89
 
void                     cheese_camera_stop_video_recording (CheeseCamera *camera);
90
 
gboolean                 cheese_camera_take_photo (CheeseCamera *camera, char *filename);
91
 
gboolean                 cheese_camera_take_photo_pixbuf (CheeseCamera *camera);
92
 
gboolean                 cheese_camera_has_camera (CheeseCamera *camera);
93
 
int                      cheese_camera_get_num_camera_devices (CheeseCamera *camera);
94
 
CheeseCameraDevice *     cheese_camera_get_selected_device (CheeseCamera *camera);
95
 
GPtrArray *              cheese_camera_get_camera_devices (CheeseCamera *camera);
96
 
void                     cheese_camera_set_device_by_dev_file (CheeseCamera *camera, char *file);
97
 
void                     cheese_camera_set_device_by_dev_udi (CheeseCamera *camera, char *udi);
98
 
gboolean                 cheese_camera_switch_camera_device (CheeseCamera *camera);
99
 
GList *                  cheese_camera_get_video_formats (CheeseCamera *camera);
100
 
void                     cheese_camera_set_video_format (CheeseCamera      *camera,
101
 
                                                         CheeseVideoFormat *format);
 
74
void                     cheese_camera_set_effect (CheeseCamera *camera, CheeseEffect *effect);
 
75
void                     cheese_camera_connect_effect_texture (CheeseCamera   *camera,
 
76
                                                               CheeseEffect   *effect,
 
77
                                                               ClutterTexture *texture);
 
78
void                cheese_camera_start_video_recording (CheeseCamera *camera, const char *filename);
 
79
void                cheese_camera_stop_video_recording (CheeseCamera *camera);
 
80
gboolean            cheese_camera_take_photo (CheeseCamera *camera, const char *filename);
 
81
gboolean            cheese_camera_take_photo_pixbuf (CheeseCamera *camera);
 
82
CheeseCameraDevice *cheese_camera_get_selected_device (CheeseCamera *camera);
 
83
GPtrArray *         cheese_camera_get_camera_devices (CheeseCamera *camera);
 
84
void                cheese_camera_set_device_by_dev_file (CheeseCamera *camera, const char *file);
 
85
void                cheese_camera_switch_camera_device (CheeseCamera *camera);
 
86
GList *             cheese_camera_get_video_formats (CheeseCamera *camera);
 
87
void                cheese_camera_set_video_format (CheeseCamera      *camera,
 
88
                                                    CheeseVideoFormat *format);
102
89
gboolean cheese_camera_get_balance_property_range (CheeseCamera *camera,
103
 
                                                   gchar *property,
 
90
                                                   const gchar *property,
104
91
                                                   gdouble *min, gdouble *max, gdouble *def);
105
 
void cheese_camera_set_balance_property (CheeseCamera *camera, gchar *property, gdouble value);
 
92
void cheese_camera_set_balance_property (CheeseCamera *camera, const gchar *property, gdouble value);
 
93
void cheese_camera_toggle_effects_pipeline (CheeseCamera *camera, gboolean active);
 
94
 
106
95
G_END_DECLS
107
96
 
108
97
#endif /* __CHEESE_CAMERA_H__ */