X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2F0.61.08%2Fsrc%2Fmodules%2Fmod_geometry%2Fcheckerboard.cpp;fp=synfig-core%2Ftags%2F0.61.08%2Fsrc%2Fmodules%2Fmod_geometry%2Fcheckerboard.cpp;h=0000000000000000000000000000000000000000;hb=6fa8f2f38d4b0b35f8539bf94e27ae27015c7689;hp=25edead42affcc6b0f0ff2ddd161c007f96ae964;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/synfig-core/tags/0.61.08/src/modules/mod_geometry/checkerboard.cpp b/synfig-core/tags/0.61.08/src/modules/mod_geometry/checkerboard.cpp deleted file mode 100644 index 25edead..0000000 --- a/synfig-core/tags/0.61.08/src/modules/mod_geometry/checkerboard.cpp +++ /dev/null @@ -1,200 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file checkerboard.cpp -** \brief Implementation of the "Checkerboard" layer -** -** $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 -*/ -/* ========================================================================= */ - -/* === H E A D E R S ======================================================= */ - -#ifdef USING_PCH -# include "pch.h" -#else -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "checkerboard.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif - -using namespace synfig; -using namespace std; -using namespace etl; - -/* === M A C R O S ========================================================= */ - -/* === G L O B A L S ======================================================= */ - -SYNFIG_LAYER_INIT(CheckerBoard); -SYNFIG_LAYER_SET_NAME(CheckerBoard,"checker_board"); -SYNFIG_LAYER_SET_LOCAL_NAME(CheckerBoard,N_("Checkerboard")); -SYNFIG_LAYER_SET_CATEGORY(CheckerBoard,N_("Geometry")); -SYNFIG_LAYER_SET_VERSION(CheckerBoard,"0.1"); -SYNFIG_LAYER_SET_CVS_ID(CheckerBoard,"$Id$"); - -/* === P R O C E D U R E S ================================================= */ - -/* === M E T H O D S ======================================================= */ - -CheckerBoard::CheckerBoard(): - Layer_Composite (1.0,Color::BLEND_STRAIGHT), - color (Color::black()), - pos (Point(0.125,0.125)), - size (Point(0.25,0.25)) -{ - - set_blend_method(Color::BLEND_STRAIGHT); -} - -inline bool -CheckerBoard::point_test(const synfig::Point& getpos)const -{ - int val=((int)((getpos[0]-pos[0])/size[0])+(int)((getpos[1]-pos[1])/size[1])); - if(getpos[0]-pos[0] < 0.0) - val++; - if(getpos[1]-pos[1] < 0.0) - val++; - return val&1; -} - -bool -CheckerBoard::set_param(const String ¶m, const ValueBase &value) -{ - IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) { - set_blend_method(Color::BLEND_ALPHA_OVER); - color.set_a(1); } else transparent_color_ = true; } }); - IMPORT(pos); - IMPORT(pos[0]); - IMPORT(pos[1]); - IMPORT(size); - - return Layer_Composite::set_param(param,value); -} - -ValueBase -CheckerBoard::get_param(const String ¶m)const -{ - EXPORT(color); - EXPORT(pos); - EXPORT(pos[0]); - EXPORT(pos[1]); - EXPORT(size); - EXPORT_NAME(); - EXPORT_VERSION(); - - return Layer_Composite::get_param(param); -} - -Layer::Vocab -CheckerBoard::get_param_vocab()const -{ - Layer::Vocab ret(Layer_Composite::get_param_vocab()); - - ret.push_back(ParamDesc("color") - .set_local_name(_("Color")) - .set_description(_("Color of checkers")) - ); - ret.push_back(ParamDesc("pos") - .set_local_name(_("Offset")) - ); - ret.push_back(ParamDesc("size") - .set_local_name(_("Size")) - .set_description(_("Size of checkers")) - .set_origin("pos") - ); - - return ret; -} - -synfig::Layer::Handle -CheckerBoard::hit_check(synfig::Context context, const synfig::Point &getpos)const -{ - if(get_amount()!=0.0 && point_test(getpos)) - { - synfig::Layer::Handle tmp; - if(get_blend_method()==Color::BLEND_BEHIND && (tmp=context.hit_check(getpos))) - return tmp; - if(Color::is_onto(get_blend_method()) && !(tmp=context.hit_check(getpos))) - return 0; - return const_cast(this); - } - else - return context.hit_check(getpos); -} - -Color -CheckerBoard::get_color(Context context, const Point &getpos)const -{ - if(get_amount()!=0.0 && point_test(getpos)) - { - if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT) - return color; - else - return Color::blend(color,context.get_color(getpos),get_amount(),get_blend_method()); - } - else - return context.get_color(getpos); -} - -bool -CheckerBoard::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const -{ - SuperCallback supercb(cb,0,9500,10000); - - if(!context.accelerated_render(surface,quality,renddesc,&supercb)) - return false; - if(get_amount()==0) - return true; - - int x,y; - - const Point tl(renddesc.get_tl()); - Point pos; - const int w(surface->get_w()); - const int h(surface->get_h()); - const Real pw(renddesc.get_pw()),ph(renddesc.get_ph()); - - Surface::alpha_pen apen(surface->begin()); - - apen.set_alpha(get_amount()); - apen.set_blend_method(get_blend_method()); - apen.set_value(color); - - for(y=0,pos[1]=tl[1];yamount_complete(10000,10000)) - return false; - - return true; -}