#ifndef __KRY_MARKER_H__ #define __KRY_MARKER_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define KRY_TYPE_MARKER (kry_marker_get_type ()) #define KRY_MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KRY_TYPE_MARKER, KryMarker)) #define KRY_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KRY_TYPE_MARKER, KryMarkerClass)) #define KRY_IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KRY_TYPE_MARKER)) #define KRY_IS_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KRY_TYPE_MARKER)) #define KRY_MARKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KRY_TYPE_MARKER, KryMarkerClass)) enum marker_type { MARKER_NONE, MARKER_START, MARKER_CURRENT, MARKER_END, MARKER_KARAOKE }; typedef struct _KryMarker KryMarker; typedef struct _KryMarkerClass KryMarkerClass; struct _KryMarker { GObject parent_instance; gboolean userAction; gboolean isSet; long value; long value_prev; int multiple; enum marker_type type; }; struct _KryMarkerClass { GObjectClass parent_class; void (* value_changed) (KryMarker *marker); }; GType kry_marker_get_type (void) G_GNUC_CONST; GObject* kry_marker_new (enum marker_type type2, int multiple); void kry_marker_changed (KryMarker *marker); void kry_marker_value_changed (KryMarker *marker, int old_val); long kry_marker_get_value (KryMarker *marker); void kry_marker_set_value (KryMarker *marker, long value); void kry_marker_set_multiple(KryMarker *marker, int multiple); enum marker_type kry_marker_get_marker_type(KryMarker *marker); GObject *kry_marker_copy(KryMarker *marker); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __KRY_MARKER_H__ */