callback_list_add(this_->cbl, cb);
}
+void graphics_remove_callback(struct graphics *this_, struct callback *cb)
+{
+ callback_list_remove(this_->cbl, cb);
+}
+
/**
* FIXME
* @param <>
void graphics_init(struct graphics *this_);
void *graphics_get_data(struct graphics *this_, char *type);
void graphics_add_callback(struct graphics *this_, struct callback *cb);
+void graphics_remove_callback(struct graphics *this_, struct callback *cb);
struct graphics_font *graphics_font_new(struct graphics *gra, int size, int flags);
void graphics_font_destroy_all(struct graphics *gra);
struct graphics_gc *graphics_gc_new(struct graphics *gra);
g_free(center_file);
callback_destroy(navit_command_unregister(this_, "zoom_in"));
callback_destroy(navit_command_unregister(this_, "zoom_out"));
+ callback_destroy(this_->nav_speech_cb);
+ callback_destroy(this_->roadbook_window);
+ callback_destroy(this_->popup_callback);
+ callback_destroy(this_->motion_timeout_callback);
+ graphics_remove_callback(this_->gra, this_->resize_callback);
+ callback_destroy(this_->resize_callback);
+ graphics_remove_callback(this_->gra, this_->button_callback);
+ callback_destroy(this_->button_callback);
+ graphics_remove_callback(this_->gra, this_->motion_callback);
+ callback_destroy(this_->motion_callback);
g_hash_table_destroy(this_->commands);
g_free(this_);
}