diff options
Diffstat (limited to 'gtk2_ardour/imageframe_view.h')
-rw-r--r-- | gtk2_ardour/imageframe_view.h | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/gtk2_ardour/imageframe_view.h b/gtk2_ardour/imageframe_view.h deleted file mode 100644 index 88641a4b17..0000000000 --- a/gtk2_ardour/imageframe_view.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __gtk_ardour_imageframe_view_h__ -#define __gtk_ardour_imageframe_view_h__ - -#include <string> -#include <gdkmm/color.h> -#include <sigc++/signal.h> -#include <list> - -#include "enums.h" -#include "time_axis_view_item.h" -#include "marker_view.h" - -class ImageFrameTimeAxis; -class ImageFrameTimeAxisGroup ; - -/** - * An ImageFrameItem to display an image upon the ardour time line - * - */ -class ImageFrameView : public TimeAxisViewItem -{ - public: - //---------------------------------------------------------------------------------------// - // Constructor / Desctructor - - /** - * Constructs a new ImageFrameView upon the canvas - * - * @param item_id unique id of this item - * @param parent the parent canvas item - * @param tv the time axis view that this item is to be placed upon - * @param group the ImageFrameGroup that this item is a member of - * @param spu the current samples per canvas unit - * @param start the start frame ogf this item - * @param duration the duration of this item - * @param rgb_data the rgb data of the image - * @param width the width of the original rgb_data image data - * @param height the width of the origianl rgb_data image data - * @param num_channels the number of color channels within rgb_data - */ - ImageFrameView(const std::string & item_id, - ArdourCanvas::Group *parent, - ImageFrameTimeAxis *tv, - ImageFrameTimeAxisGroup* group, - double spu, - Gdk::Color& base_color, - framepos_t start, - framecnt_t duration, - unsigned char* rgb_data, - uint32_t width, - uint32_t height, - uint32_t num_channels) ; - - /** - * Destructor - * Reposible for removing and destroying all marker items associated with this item - */ - ~ImageFrameView() ; - - static PBD::Signal1<void,ImageFrameView*> CatchDeletion; - - //---------------------------------------------------------------------------------------// - // Position and duration Accessors/Mutators - - /** - * Set the position of this item to the specified value - * - * @param pos the new position - * @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(framepos_t pos, void* src, double* delta = 0) ; - - /** - * Sets the duration of this item - * - * @param dur the new duration of this item - * @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(framepos_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 - * - * @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 - - /** - * Adds a markerView to the list of marker views associated with this item - * - * @param item the marker item to add - * @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 - * - * @param markId the id/name of the item to remove - * @param src the identity of the object that initiated the change - * @return the removed marker item - */ - 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 - * The Marker view is not destroyed on removal, so the caller must handle the item themself - * - * @param item the item to remove - * @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(const std::string & markId) ; - - - //---------------------------------------------------------------------------------// - // Emitted Signals - - /** Emitted when a marker Item is added to this Item */ - sigc::signal<void,MarkerView*,void*> MarkerViewAdded ; - - /** Emitted when a Marker Item is added to this Item */ - sigc::signal<void,MarkerView*,void*> MarkerViewRemoved ; - - private: - /** the list of MarkerViews associated with this item */ - typedef std::list<MarkerView*> 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 */ - ArdourCanvas::ImageFrame* imageframe ; - -} ; /* class ImageFrameView */ - -#endif /* __gtk_ardour_imageframe_view_h__ */ |