Added my "Copyright (c) 2007" notices, for files I edited in 2007.
[synfig.git] / synfig-studio / trunk / src / gtkmm / asyncrenderer.h
index f9721c9..9d19fd6 100644 (file)
@@ -1,28 +1,30 @@
-/* === S I N F G =========================================================== */
+/* === S Y N F I G ========================================================= */
 /*!    \file asyncrenderer.h
 **     \brief Template Header
 **
-**     $Id: asyncrenderer.h,v 1.3 2005/01/12 07:03:42 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
-**     This software and associated documentation
-**     are CONFIDENTIAL and PROPRIETARY property of
-**     the above-mentioned copyright holder.
+**     This package 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.
 **
-**     You may not copy, print, publish, or in any
-**     other way distribute this software without
-**     a prior written agreement with
-**     the copyright holder.
+**     This package 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.
 **     \endlegal
 */
 /* ========================================================================= */
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SINFG_ASYNCRENDERER_H
-#define __SINFG_ASYNCRENDERER_H
+#ifndef __SYNFIG_ASYNCRENDERER_H
+#define __SYNFIG_ASYNCRENDERER_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -31,9 +33,9 @@
 #include <sigc++/trackable.h>
 #include <sigc++/connection.h>
 
-#include <sinfg/target_scanline.h>
-#include <sinfg/target_tile.h>
-#include <sinfg/surface.h>
+#include <synfig/target_scanline.h>
+#include <synfig/target_tile.h>
+#include <synfig/surface.h>
 #include <glibmm/main.h>
 #include <ETL/ref_count>
 #include <glibmm/thread.h>
@@ -41,6 +43,9 @@
 
 /* === M A C R O S ========================================================= */
 
+#define single_threaded()      App::single_threaded
+#define NotLock Glib::NOT_LOCK
+
 /* === T Y P E D E F S ===================================================== */
 
 /* === C L A S S E S & S T R U C T S ======================================= */
@@ -53,16 +58,16 @@ class AsyncRenderer : public etl::shared_object, public sigc::trackable
        sigc::signal<void> signal_success_;
 
        std::list<sigc::connection> activity_connection_list;
-       
-       //etl::handle<sinfg::Target_Scanline> target_scanline;
-       //etl::handle<sinfg::Target_Tile> target_tile;
-       etl::handle<sinfg::Target> target;
+
+       //etl::handle<synfig::Target_Scanline> target_scanline;
+       //etl::handle<synfig::Target_Tile> target_tile;
+       etl::handle<synfig::Target> target;
 
        bool error;
        bool success;
-       
-       sinfg::ProgressCallback *cb;
-       
+
+       synfig::ProgressCallback *cb;
+
        sigc::signal<void> signal_stop_;
 
        Glib::Thread* render_thread;
@@ -75,17 +80,20 @@ class AsyncRenderer : public etl::shared_object, public sigc::trackable
        */
 public:
 
-       AsyncRenderer(etl::handle<sinfg::Target> target,sinfg::ProgressCallback *cb=0);
+       AsyncRenderer(etl::handle<synfig::Target> target,synfig::ProgressCallback *cb=0);
        virtual ~AsyncRenderer();
 
        void start();
        void stop();
        void pause();
        void resume();
+       void rendering_progress();
 
        bool has_error()const { return error; }
        bool has_success()const { return success; }
 
+       bool updating;
+
        sigc::signal<void>& signal_finished() { return signal_finished_; }
        sigc::signal<void>& signal_success() { return signal_success_; }
 
@@ -99,7 +107,7 @@ private:
        */
 
 protected:
-       
+
 };
 
 }; // END of namespace studio