X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fimageframe_view.h;h=1ef2af980acf58a4477b0515232c9c4f65f4c81f;hb=035de2a367acd7ee27c3dbfba2f6c71f3c137eb8;hp=f652482612480929c36a16f14a4b21f080ff1ed9;hpb=183f69970c6c436b102f8b2fbe1bc6070c9e9bfe;p=ardour.git diff --git a/gtk2_ardour/imageframe_view.h b/gtk2_ardour/imageframe_view.h index f652482612..1ef2af980a 100644 --- a/gtk2_ardour/imageframe_view.h +++ b/gtk2_ardour/imageframe_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2003 Paul Davis + Copyright (C) 2003 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,18 +15,18 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #ifndef __gtk_ardour_imageframe_view_h__ #define __gtk_ardour_imageframe_view_h__ #include -#include +#include #include #include #include +#include "canvas.h" #include "enums.h" #include "time_axis_view_item.h" #include "marker_view.h" @@ -43,7 +43,7 @@ class ImageFrameView : public TimeAxisViewItem public: //---------------------------------------------------------------------------------------// // Constructor / Desctructor - + /** * Constructs a new ImageFrameView upon the canvas * @@ -59,14 +59,14 @@ class ImageFrameView : public TimeAxisViewItem * @param height the width of the origianl rgb_data image data * @param num_channels the number of color channels within rgb_data */ - ImageFrameView(std::string item_id, - Gnome::Canvas::Group *parent, + ImageFrameView(const std::string & item_id, + ArdourCanvas::Group *parent, ImageFrameTimeAxis *tv, ImageFrameTimeAxisGroup* group, double spu, Gdk::Color& base_color, - jack_nframes_t start, - jack_nframes_t duration, + nframes_t start, + nframes_t duration, unsigned char* rgb_data, uint32_t width, uint32_t height, @@ -77,12 +77,12 @@ class ImageFrameView : public TimeAxisViewItem * Reposible for removing and destroying all marker items associated with this item */ ~ImageFrameView() ; - - static sigc::signal GoingAway; - + + static PBD::Signal1 CatchDeletion; + //---------------------------------------------------------------------------------------// // Position and duration Accessors/Mutators - + /** * Set the position of this item to the specified value * @@ -90,8 +90,8 @@ class ImageFrameView : public TimeAxisViewItem * @param src the identity of the object that initiated the change * @return true if the position change was a success, false otherwise */ - virtual bool set_position(jack_nframes_t pos, void* src) ; - + virtual bool set_position(nframes64_t pos, void* src, double* delta = 0) ; + /** * Sets the duration of this item * @@ -99,11 +99,11 @@ class ImageFrameView : public TimeAxisViewItem * @param src the identity of the object that initiated the change * @return true if the duration change was succesful, false otherwise */ - virtual bool set_duration(jack_nframes_t dur, void* src) ; - + virtual bool set_duration(nframes64_t dur, void* src) ; + //---------------------------------------------------------------------------------------// // Parent Component Methods - + /** * Sets the parent ImageFrameTimeAxisGroup of thie item * each Item must be part of exactly one group (or 'scene') upon the timeline @@ -111,25 +111,25 @@ class ImageFrameView : public TimeAxisViewItem * @param group the new parent group */ void set_time_axis_group(ImageFrameTimeAxisGroup* group) ; - + /** * Returns the parent group of this item * * @return the parent group of this item */ ImageFrameTimeAxisGroup* get_time_axis_group() ; - + //---------------------------------------------------------------------------------------// // ui methods - + /** * Set the height of this item * * @param h the new height */ virtual void set_height(gdouble h) ; - - + + //---------------------------------------------------------------------------------------// // MarkerView methods @@ -140,7 +140,7 @@ class ImageFrameView : public TimeAxisViewItem * @param src the identity of the object that initiated the change */ void add_marker_view_item(MarkerView* item, void* src) ; - + /** * Removes the named marker view from the list of marker view associated with this item * The Marker view is not destroyed on removal, so the caller must handle the item themself @@ -149,8 +149,8 @@ class ImageFrameView : public TimeAxisViewItem * @param src the identity of the object that initiated the change * @return the removed marker item */ - MarkerView* remove_named_marker_view_item(std::string markId, void* src) ; - + MarkerView* remove_named_marker_view_item(const std::string & markId, void* src) ; + /** * Removes item from the list of marker views assocaited with this item * This method will do nothing if item if not assiciated with this item @@ -160,21 +160,21 @@ class ImageFrameView : public TimeAxisViewItem * @param src the identity of the object that initiated the change */ void remove_marker_view_item(MarkerView* item, void* src) ; - + /** * Determines if the named marker is one of those associated with this item * * @param markId the id/name of the item to search for */ - bool has_marker_view_item(std::string markId) ; + bool has_marker_view_item(const std::string & markId) ; + - //---------------------------------------------------------------------------------// // Emitted Signals - + /** Emitted when a marker Item is added to this Item */ sigc::signal MarkerViewAdded ; - + /** Emitted when a Marker Item is added to this Item */ sigc::signal MarkerViewRemoved ; @@ -182,31 +182,31 @@ class ImageFrameView : public TimeAxisViewItem /** the list of MarkerViews associated with this item */ typedef std::list MarkerViewList ; MarkerViewList marker_view_list ; - - + + /** The parent group that this item is a member of */ ImageFrameTimeAxisGroup* the_parent_group ; - + // ------- Image data ----------- - + /** the image data that we display */ //unsigned char* the_rgb_data ; - + /** The width of the image contained within the_rgb_data */ uint32_t image_data_width ; - + /** The height of the image contained within the_rgb_data */ uint32_t image_data_height ; - + /** the number of channels contained in the_rgb_data */ uint32_t image_data_num_channels ; - - + + // ------- Our canvas element ----------- - + /** the CanvasImageFrame to display the image */ - GnomeCanvasItem* imageframe ; - + ArdourCanvas::ImageFrame* imageframe ; + } ; /* class ImageFrameView */ #endif /* __gtk_ardour_imageframe_view_h__ */