From: Diego Barrios Romero Date: Wed, 17 Feb 2010 00:25:52 +0000 (+0100) Subject: Separated several classes into header files from tool main.cpp X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=978ba874aac345ea8a46318589b21e5e8143f89a;p=synfig.git Separated several classes into header files from tool main.cpp --- diff --git a/synfig-core/src/tool/Makefile.am b/synfig-core/src/tool/Makefile.am index dabe04e..2109b1d 100644 --- a/synfig-core/src/tool/Makefile.am +++ b/synfig-core/src/tool/Makefile.am @@ -14,8 +14,11 @@ INCLUDES = \ bin_PROGRAMS = \ synfig - synfig_SOURCES = \ + definitions.h \ + progress.h \ + renderprogress.h \ + job.h \ main.cpp synfig_LDADD = \ diff --git a/synfig-core/src/tool/definitions.h b/synfig-core/src/tool/definitions.h new file mode 100644 index 0000000..bea4b7d --- /dev/null +++ b/synfig-core/src/tool/definitions.h @@ -0,0 +1,71 @@ +/* === S Y N F I G ========================================================= */ +/*! \file tool/definitions.h +** \brief Definitions for synfig tool +** +** $Id$ +** +** \legal +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 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 +*/ +/* ========================================================================= */ + +#ifndef __SYNFIG_DEFINITIONS_H +#define __SYNFIG_DEFINITIONS_H + +/* === M A C R O S ========================================================= */ + +#ifdef ENABLE_NLS +#undef _ +#define _(x) gettext(x) +#else +#undef _ +#define _(x) (x) +#endif + +enum exit_code +{ + SYNFIGTOOL_OK = 0, + SYNFIGTOOL_FILENOTFOUND = 1, + SYNFIGTOOL_BORED = 2, + SYNFIGTOOL_HELP = 3, + SYNFIGTOOL_UNKNOWNARGUMENT = 4, + SYNFIGTOOL_UNKNOWNERROR = 5, + SYNFIGTOOL_INVALIDTARGET = 6, + SYNFIGTOOL_RENDERFAILURE = 7, + SYNFIGTOOL_BLANK = 8, + SYNFIGTOOL_BADVERSION = 9, + SYNFIGTOOL_MISSINGARGUMENT =10 +}; + +#ifndef VERSION +#define VERSION "unknown" +#define PACKAGE "synfig-tool" +#endif + +#ifdef DEFAULT_QUALITY +#undef DEFAULT_QUALITY +#endif + +#define DEFAULT_QUALITY 2 +#define VERBOSE_OUT(x) if(verbosity>=(x))std::cerr + +/* === G L O B A L S ======================================================= */ + +extern const char *progname; +extern int verbosity; +extern bool be_quiet; +extern bool print_benchmarks; + +#endif diff --git a/synfig-core/src/tool/job.h b/synfig-core/src/tool/job.h new file mode 100644 index 0000000..e0bc66f --- /dev/null +++ b/synfig-core/src/tool/job.h @@ -0,0 +1,62 @@ +/* === S Y N F I G ========================================================= */ +/*! \file tool/job.h +** \brief Job class +** +** $Id$ +** +** \legal +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 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 +*/ +/* ========================================================================= */ + +#ifndef __SYNFIG_JOB_H +#define __SYNFIG_JOB_H + +using namespace synfig; + +#include +#include +#include +#include "definitions.h" + +struct Job +{ + String filename; + String outfilename; + + RendDesc desc; + + Canvas::Handle root; + Canvas::Handle canvas; + Target::Handle target; + + int quality; + bool sifout; + bool list_canvases; + + bool canvas_info, canvas_info_all, canvas_info_time_start, canvas_info_time_end, canvas_info_frame_rate, + canvas_info_frame_start, canvas_info_frame_end, canvas_info_w, canvas_info_h, canvas_info_image_aspect, + canvas_info_pw, canvas_info_ph, canvas_info_pixel_aspect, canvas_info_tl, canvas_info_br, + canvas_info_physical_w, canvas_info_physical_h, canvas_info_x_res, canvas_info_y_res, canvas_info_span, + canvas_info_interlaced, canvas_info_antialias, canvas_info_clamp, canvas_info_flags, canvas_info_focus, + canvas_info_bg_color, canvas_info_metadata; + + Job() + { + canvas_info = canvas_info_all = canvas_info_time_start = canvas_info_time_end = canvas_info_frame_rate = canvas_info_frame_start = canvas_info_frame_end = canvas_info_w = canvas_info_h = canvas_info_image_aspect = canvas_info_pw = canvas_info_ph = canvas_info_pixel_aspect = canvas_info_tl = canvas_info_br = canvas_info_physical_w = canvas_info_physical_h = canvas_info_x_res = canvas_info_y_res = canvas_info_span = canvas_info_interlaced = canvas_info_antialias = canvas_info_clamp = canvas_info_flags = canvas_info_focus = canvas_info_bg_color = canvas_info_metadata = false; + }; +}; + +#endif diff --git a/synfig-core/src/tool/main.cpp b/synfig-core/src/tool/main.cpp index e325515..064959a 100644 --- a/synfig-core/src/tool/main.cpp +++ b/synfig-core/src/tool/main.cpp @@ -51,49 +51,16 @@ #include #include #include +#include "definitions.h" +#include "progress.h" +#include "renderprogress.h" +#include "job.h" #endif using namespace std; using namespace etl; using namespace synfig; -/* === M A C R O S ========================================================= */ - -#ifdef ENABLE_NLS -#undef _ -#define _(x) gettext(x) -#else -#undef _ -#define _(x) (x) -#endif - -enum exit_code -{ - SYNFIGTOOL_OK = 0, - SYNFIGTOOL_FILENOTFOUND = 1, - SYNFIGTOOL_BORED = 2, - SYNFIGTOOL_HELP = 3, - SYNFIGTOOL_UNKNOWNARGUMENT = 4, - SYNFIGTOOL_UNKNOWNERROR = 5, - SYNFIGTOOL_INVALIDTARGET = 6, - SYNFIGTOOL_RENDERFAILURE = 7, - SYNFIGTOOL_BLANK = 8, - SYNFIGTOOL_BADVERSION = 9, - SYNFIGTOOL_MISSINGARGUMENT =10 -}; - -#ifndef VERSION -#define VERSION "unknown" -#define PACKAGE "synfig-tool" -#endif - -#ifdef DEFAULT_QUALITY -#undef DEFAULT_QUALITY -#endif - -#define DEFAULT_QUALITY 2 -#define VERBOSE_OUT(x) if(verbosity>=(x))std::cerr - /* === G L O B A L S ======================================================= */ const char *progname; @@ -101,182 +68,13 @@ int verbosity=0; bool be_quiet=false; bool print_benchmarks=false; -/* === M E T H O D S ======================================================= */ - -class Progress : public synfig::ProgressCallback -{ - const char *program; - -public: - - Progress(const char *name):program(name) { } - - virtual bool - task(const String &task) - { - VERBOSE_OUT(1)<=60) - minutes++,seconds-=60; - while(minutes>=60) - hours++,minutes-=60; - while(hours>=24) - days++,hours-=24; - while(days>=7) - weeks++,days-=7; - - cerr<=-time/(h-clk_scanline) ) - cerr<<">"; - */ - if(delta>=0 && clk()>4.0 && scanline>clk_scanline+200) - { - //cerr<<"reset"< arg_list_t; typedef list job_list_t; +/* === M E T H O D S ======================================================= */ + void guid_test() { cout<<"GUID Test"< +#include "definitions.h" + +class Progress : public synfig::ProgressCallback +{ + const char *program; + +public: + + Progress(const char *name):program(name) { } + + virtual bool + task(const String &task) + { + VERBOSE_OUT(1)< +#include "definitions.h" + +class RenderProgress : public synfig::ProgressCallback +{ + string taskname; + + etl::clock clk; + int clk_scanline; // The scanline at which the clock was reset + etl::clock clk2; + + float last_time; +public: + + RenderProgress():clk_scanline(0), last_time(0) { } + + virtual bool + task(const String &thetask) + { + taskname=thetask; + return true; + } + + virtual bool + error(const String &task) + { + std::cout<<_("error")<<": "<=60) + minutes++,seconds-=60; + while(minutes>=60) + hours++,minutes-=60; + while(hours>=24) + days++,hours-=24; + while(days>=7) + weeks++,days-=7; + + cerr<=-time/(h-clk_scanline) ) + cerr<<">"; + */ + if(delta>=0 && clk()>4.0 && scanline>clk_scanline+200) + { + //cerr<<"reset"<