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))
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),
77
64
GType cheese_camera_get_type (void);
78
CheeseCamera *cheese_camera_new (GtkWidget *video_window,
79
char *camera_device_name,
65
CheeseCamera *cheese_camera_new (ClutterTexture *video_texture,
66
char *camera_device_name,
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,
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,
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);
108
97
#endif /* __CHEESE_CAMERA_H__ */