X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Ftarget.cpp;h=b6aa1c435b9f1f84c1422d70aa26e3f6929c5462;hb=254ff6880560954f7c1066ad4251a7118530912d;hp=92153b47fe9864f645f90995ec5dc7356dd240b2;hpb=5dcab4f32891574b830e5919a71e72b80a506641;p=synfig.git diff --git a/synfig-core/src/synfig/target.cpp b/synfig-core/src/synfig/target.cpp index 92153b4..b6aa1c4 100644 --- a/synfig-core/src/synfig/target.cpp +++ b/synfig-core/src/synfig/target.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2010 Diego Barrios Romero ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -33,6 +34,7 @@ #include "canvas.h" #include "target_null.h" #include "target_null_tile.h" +#include "targetparam.h" using namespace synfig; using namespace etl; @@ -55,9 +57,16 @@ Target::subsys_init() //default_gamma_->set_black_level(0.05); // Default to 5% black level. // At least one target must be available. - book()["null"]=std::pair(Target_Null::create,"null"); + book()["null"].factory = + reinterpret_cast(&Target_Null::create); + book()["null"].filename = "null"; + book()["null"].target_param = TargetParam(); ext_book()["null"]="null"; - book()["null-tile"]=std::pair(Target_Null_Tile::create,"null-tile"); + + book()["null-tile"].factory = + reinterpret_cast(&Target_Null_Tile::create); + book()["null-tile"].filename = "null-tile"; + book()["null-tile"].target_param = TargetParam(); ext_book()["null-tile"]="null-tile"; return true; @@ -105,10 +114,11 @@ synfig::Target::set_canvas(etl::handle c) Target::Handle -Target::create(const String &name, const String &filename) +Target::create(const String &name, const String &filename, + synfig::TargetParam params) { if(!book().count(name)) return handle(); - return Target::Handle(book()[name].first(filename.c_str())); + return Target::Handle(book()[name].factory(filename.c_str(), params)); }