X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fasyncrenderer.h;fp=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fasyncrenderer.h;h=0000000000000000000000000000000000000000;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=6678e4efa74655d5eba8b5a86d63bcc0a1639572;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/asyncrenderer.h b/synfig-studio/trunk/src/gtkmm/asyncrenderer.h deleted file mode 100644 index 6678e4e..0000000 --- a/synfig-studio/trunk/src/gtkmm/asyncrenderer.h +++ /dev/null @@ -1,121 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file asyncrenderer.h -** \brief Template Header -** -** $Id$ -** -** \legal -** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore -** -** 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. -** -** 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 __SYNFIG_ASYNCRENDERER_H -#define __SYNFIG_ASYNCRENDERER_H - -/* === H E A D E R S ======================================================= */ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/* === M A C R O S ========================================================= */ - -// uncomment to use a single thread, and hopefully get more stability -// #define SINGLE_THREADED -#ifdef SINGLE_THREADED -# define single_threaded() App::single_threaded -#endif - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -namespace studio { - -class AsyncRenderer : public etl::shared_object, public sigc::trackable -{ - sigc::signal signal_finished_; - sigc::signal signal_success_; - - std::list activity_connection_list; - - //etl::handle target_scanline; - //etl::handle target_tile; - etl::handle target; - - bool error; - bool success; - - synfig::ProgressCallback *cb; - - sigc::signal signal_stop_; - - Glib::Thread* render_thread; - Glib::Dispatcher signal_done_; - Glib::Mutex mutex; - sigc::connection done_connection; - - /* - -- ** -- P A R E N T M E M B E R S ----------------------------------------- - */ -public: - - AsyncRenderer(etl::handle target,synfig::ProgressCallback *cb=0); - virtual ~AsyncRenderer(); - - void start(); - void stop(); - void pause(); - void resume(); -#ifdef SINGLE_THREADED - void rendering_progress(); - bool updating; -#endif - - bool has_error()const { return error; } - bool has_success()const { return success; } - - sigc::signal& signal_finished() { return signal_finished_; } - sigc::signal& signal_success() { return signal_success_; } - -private: - - void render_target(); - void start_(); - - /* - -- ** -- C H I L D M E M B E R S ------------------------------------------- - */ - -protected: - -}; - -}; // END of namespace studio - -/* === E N D =============================================================== */ - -#endif