X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_geometry%2Frectangle.cpp;h=eea1a217c201a933710312cd35865cf49de99da5;hb=978cd614182c6807b69aee134a9595dbb79efacf;hp=799a0f65666a9b51a325c2db1f5bce46d3f63338;hpb=6046b358f5cc710d4318f2492a848eecdd854999;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp index 799a0f6..eea1a21 100644 --- a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp +++ b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp @@ -1,11 +1,12 @@ /* === S Y N F I G ========================================================= */ /*! \file rectangle.cpp -** \brief Template Header +** \brief Implementation of the "Rectangle" layer ** ** $Id$ ** ** \legal ** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** 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 @@ -54,8 +55,8 @@ using namespace synfig; SYNFIG_LAYER_INIT(Rectangle); SYNFIG_LAYER_SET_NAME(Rectangle,"rectangle"); -SYNFIG_LAYER_SET_LOCAL_NAME(Rectangle,_("Rectangle")); -SYNFIG_LAYER_SET_CATEGORY(Rectangle,_("Geometry")); +SYNFIG_LAYER_SET_LOCAL_NAME(Rectangle,N_("Rectangle")); +SYNFIG_LAYER_SET_CATEGORY(Rectangle,N_("Geometry")); SYNFIG_LAYER_SET_VERSION(Rectangle,"0.2"); SYNFIG_LAYER_SET_CVS_ID(Rectangle,"$Id$"); @@ -421,7 +422,7 @@ Rectangle::accelerated_render(Context context,Surface *surface,int quality, cons surface->blit_to(subimage_pen,left,top,right-left,bottom-top); } - // fill surface with the rectangle's colour + // fill surface with the rectangle's color Surface::alpha_pen surface_pen(surface->begin(),get_amount(),get_blend_method()); surface->fill(color,surface_pen,w,h); @@ -489,14 +490,8 @@ Rectangle::accelerated_render(Context context,Surface *surface,int quality, cons right = std::min(w,right); */ - Surface::alpha_pen pen; - - // In the case where there is nothing to render... - if (right < left || bottom < top) - return true; - - // optimisation - if the whole tile is covered by this rectangle, - // and the rectangle is a solid colour, we don't need to render + // optimization - if the whole tile is covered by this rectangle, + // and the rectangle is a solid color, we don't need to render // what's behind us if (is_solid_color() && top == 0 && left == 0 && bottom == h && right == w) { @@ -512,6 +507,12 @@ Rectangle::accelerated_render(Context context,Surface *surface,int quality, cons return false; } + // In the case where there is nothing to render... + if (right < left || bottom < top) + return true; + + Surface::alpha_pen pen; + if(right-left>0&&bottom-top>0) { if(is_solid_color())