X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fasyncrenderer.h;h=9d19fd66a6528a007d3126f15b60afa7c228ab45;hb=334e15ce6c4d9b1f30a168a55e7ef4d31320d568;hp=f9721c919f7a795ef9e067782c86160e1a2afe3f;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/asyncrenderer.h b/synfig-studio/trunk/src/gtkmm/asyncrenderer.h index f9721c9..9d19fd6 100644 --- a/synfig-studio/trunk/src/gtkmm/asyncrenderer.h +++ b/synfig-studio/trunk/src/gtkmm/asyncrenderer.h @@ -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 #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -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 signal_success_; std::list activity_connection_list; - - //etl::handle target_scanline; - //etl::handle target_tile; - etl::handle target; + + //etl::handle target_scanline; + //etl::handle target_tile; + etl::handle target; bool error; bool success; - - sinfg::ProgressCallback *cb; - + + synfig::ProgressCallback *cb; + sigc::signal signal_stop_; Glib::Thread* render_thread; @@ -75,17 +80,20 @@ class AsyncRenderer : public etl::shared_object, public sigc::trackable */ public: - AsyncRenderer(etl::handle target,sinfg::ProgressCallback *cb=0); + AsyncRenderer(etl::handle 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& signal_finished() { return signal_finished_; } sigc::signal& signal_success() { return signal_success_; } @@ -99,7 +107,7 @@ private: */ protected: - + }; }; // END of namespace studio