diff options
author | Carl Hetherington <carl@carlh.net> | 2010-09-20 01:01:53 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-09-20 01:01:53 +0000 |
commit | ac34829f3b46c7f7ded7f2b2164ae37d1b8bf8ab (patch) | |
tree | 183f26ded4099baae082aae6e76956b63ef981bc /libs/ardour/ardour/progress.h | |
parent | a2885a430bbb69a72f901d227cacce979f121020 (diff) |
Add missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@7810 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/progress.h')
-rw-r--r-- | libs/ardour/ardour/progress.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libs/ardour/ardour/progress.h b/libs/ardour/ardour/progress.h new file mode 100644 index 0000000000..891af22059 --- /dev/null +++ b/libs/ardour/ardour/progress.h @@ -0,0 +1,51 @@ +/* + Copyright (C) 2010 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. + +*/ + +#include <list> + +namespace ARDOUR { + +/** A class to handle reporting of progress of something */ +class Progress +{ +public: + Progress (); + virtual ~Progress () {} + void set_progress (float); + + void ascend (); + void descend (float); + +private: + /** Report overall progress. + * @param p Current progress (from 0 to 1) + */ + virtual void set_overall_progress (float p) = 0; + + struct Level { + Level (float a) : allocation (a), normalised (0) {} + + float allocation; + float normalised; + }; + + std::list<Level> _stack; +}; + +} |