1 #ifndef __KRY_MARKER_H__ 2 #define __KRY_MARKER_H__ 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif /* __cplusplus */ 7 8 9 #define KRY_TYPE_MARKER (kry_marker_get_type ()) 10 #define KRY_MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KRY_TYPE_MARKER, KryMarker)) 11 #define KRY_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KRY_TYPE_MARKER, KryMarkerClass)) 12 #define KRY_IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KRY_TYPE_MARKER)) 13 #define KRY_IS_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KRY_TYPE_MARKER)) 14 #define KRY_MARKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KRY_TYPE_MARKER, KryMarkerClass)) 15 16 17 enum marker_type 18 { 19 MARKER_NONE, 20 MARKER_START, 21 MARKER_CURRENT, 22 MARKER_END, 23 MARKER_KARAOKE 24 }; 25 26 typedef struct _KryMarker KryMarker; 27 typedef struct _KryMarkerClass KryMarkerClass; 28 29 struct _KryMarker 30 { 31 GObject parent_instance; 32 33 gboolean userAction; 34 gboolean isSet; 35 long value; 36 long value_prev; 37 int multiple; 38 enum marker_type type; 39 }; 40 41 struct _KryMarkerClass 42 { 43 GObjectClass parent_class; 44 45 void (* value_changed) (KryMarker *marker); 46 }; 47 48 49 GType kry_marker_get_type (void) G_GNUC_CONST; 50 GObject* kry_marker_new (enum marker_type type2, int multiple); 51 void kry_marker_changed (KryMarker *marker); 52 void kry_marker_value_changed (KryMarker *marker, int old_val); 53 long kry_marker_get_value (KryMarker *marker); 54 void kry_marker_set_value (KryMarker *marker, long value); 55 void kry_marker_set_multiple(KryMarker *marker, int multiple); 56 enum marker_type kry_marker_get_marker_type(KryMarker *marker); 57 GObject *kry_marker_copy(KryMarker *marker); 58 59 #ifdef __cplusplus 60 } 61 #endif /* __cplusplus */ 62 63 64 #endif /* __KRY_MARKER_H__ */ 65