#ifndef __kry_region_fixed_list_H__ #define __kry_region_fixed_list_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define KRY_TYPE_REGION_FIXED_LIST (kry_region_fixed_list_get_type ()) #define KRY_REGION_FIXED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KRY_TYPE_REGION_FIXED_LIST, KryRegionFixedList)) #define KRY_REGION_FIXED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KRY_TYPE_REGION_FIXED_LIST, KryRegionFixedListClass)) #define KRY_IS_REGION_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KRY_TYPE_REGION_FIXED_LIST)) #define KRY_IS_REGION_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KRY_TYPE_REGION_FIXED_LIST)) #define KRY_REGION_FIXED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KRY_TYPE_REGION_FIXED_LIST, KryRegionFixedListClass)) typedef struct _KryRegionFixedList KryRegionFixedList; typedef struct _KryRegionFixedListClass KryRegionFixedListClass; struct KryRegionFixed { int start; int end; }; struct KryRegionFixedInfo { GList *regions; void *user_data; }; struct _KryRegionFixedList { GObject parent_instance; struct pavl_table *tree; }; struct _KryRegionFixedListClass { GObjectClass parent_class; void (* region_added) (KryRegionFixedList *marker, KryRegionFixed *region); void (* region_removed) (KryRegionFixedList *marker, KryRegionFixed *region); }; GType kry_region_fixed_list_get_type (void) G_GNUC_CONST; GObject* kry_region_fixed_list_new (); void kry_region_fixed_list_get_iter(KryRegionFixedList *list, struct pavl_traverser *iter); void kry_region_fixed_list_add(KryRegionFixedList *list, int start, int end); void kry_region_fixed_list_remove(KryRegionFixedList *list, int start, int end); void kry_region_fixed_list_print(KryRegionFixedList *list); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __kry_region_fixed_list_H__ */