Details
AMITK_CANVAS_VIEW()
#define AMITK_CANVAS_VIEW(obj) (AMITK_CANVAS(obj)->view)
AMITK_CANVAS_VIEW_MODE()
#define AMITK_CANVAS_VIEW_MODE(obj) (AMITK_CANVAS(obj)->view_mode)
enum AmitkCanvasType
typedef enum {
AMITK_CANVAS_TYPE_NORMAL,
AMITK_CANVAS_TYPE_FLY_THROUGH
} AmitkCanvasType;
enum AmitkCanvasTargetAction
typedef enum {
AMITK_CANVAS_TARGET_ACTION_HIDE,
AMITK_CANVAS_TARGET_ACTION_SHOW,
AMITK_CANVAS_TARGET_ACTION_LEAVE
} AmitkCanvasTargetAction;
struct AmitkCanvas
struct AmitkCanvas {
GtkVBox vbox;
GtkWidget * canvas;
GtkWidget * label;
GtkWidget * scrollbar;
GtkObject * scrollbar_adjustment;
GnomeCanvasItem * arrows[4];
GnomeCanvasItem * orientation_label[4];
AmitkCanvasType type;
AmitkVolume * volume; /* the volume that this canvas slice displays */
AmitkPoint center; /* in base coordinate space */
AmitkView view;
AmitkViewMode view_mode;
gint roi_width;
AmitkObject * active_object;
GList * slices;
GList * slice_cache;
gint max_slice_cache_size;
gint pixbuf_width, pixbuf_height;
gdouble border_width;
GnomeCanvasItem * image;
GdkPixbuf * pixbuf;
gboolean time_on_image;
GnomeCanvasItem * time_label;
AmitkStudy * study;
GList * undrawn_rois;
GList * object_items;
guint next_update;
guint idle_handler_id;
GList * next_update_objects;
/* profile stuff */
GnomeCanvasItem * line_profile_item;
/* target stuff */
GnomeCanvasItem * target[8];
AmitkCanvasTargetAction next_target_action;
AmitkPoint next_target_center;
amide_real_t next_target_thickness;
};
struct AmitkCanvasClass
struct AmitkCanvasClass {
GtkVBoxClass parent_class;
void (* help_event) (AmitkCanvas *Canvas,
AmitkHelpInfo which_help,
AmitkPoint *position,
amide_data_t value);
void (* view_changing) (AmitkCanvas *Canvas,
AmitkPoint *position,
amide_real_t thickness);
void (* view_changed) (AmitkCanvas *Canvas,
AmitkPoint *position,
amide_real_t thickness);
void (* erase_volume) (AmitkCanvas *Canvas,
AmitkRoi *roi,
gboolean outside);
void (* new_object) (AmitkCanvas *Canvas,
AmitkObject * parent,
AmitkObjectType type,
AmitkPoint *position);
};
amitk_canvas_set_active_object ()
void amitk_canvas_set_active_object (AmitkCanvas *canvas,
AmitkObject *active_object);
amitk_canvas_set_time_on_image ()
void amitk_canvas_set_time_on_image (AmitkCanvas *canvas,
gboolean time_on_image);
amitk_canvas_get_width ()
gint amitk_canvas_get_width (AmitkCanvas *canvas);
amitk_canvas_get_height ()
gint amitk_canvas_get_height (AmitkCanvas *canvas);