- imageframe = gtk_canvas_item_new(GTK_CANVAS_GROUP(group),
- gtk_canvas_imageframe_get_type(),
- "pixbuf", pbuf,
- "x", (gdouble) 1.0,
- "y", (gdouble) 1.0,
- "anchor", GTK_ANCHOR_NW,
- "width", (gdouble) im_width,
- "height", (gdouble) (trackview.height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE),
- NULL) ;
-
-
- gtk_signal_connect (GTK_OBJECT(frame_handle_start), "event",
- (GtkSignalFunc) PublicEditor::canvas_imageframe_start_handle_event,
- this);
-
- gtk_signal_connect (GTK_OBJECT(frame_handle_end), "event",
- (GtkSignalFunc) PublicEditor::canvas_imageframe_end_handle_event,
- this);
-
- gtk_signal_connect (GTK_OBJECT(group), "event",
- (GtkSignalFunc) PublicEditor::canvas_imageframe_item_view_event, this);
-
- /* handle any specific details required by the initial start end duration values */
-
- gtk_canvas_item_raise_to_top(frame_handle_start) ;
- gtk_canvas_item_raise_to_top(frame_handle_end) ;
+ imageframe = new ImageFrame (*group, pbuf, 1.0, 1.0, ANCHOR_NW, im_width, (trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE));
+
+ frame_handle_start->signal_event().connect (bind (mem_fun (trackview.editor, &PublicEditor::canvas_imageframe_start_handle_event), frame_handle_start, this));
+ frame_handle_end->signal_event().connect (bind (mem_fun (trackview.editor, &PublicEditor::canvas_imageframe_end_handle_event), frame_handle_end, this));
+ group->signal_event().connect (bind (mem_fun (trackview.editor, &PublicEditor::canvas_imageframe_item_view_event), imageframe, this));
+
+ frame_handle_start->raise_to_top();
+ frame_handle_end->raise_to_top();