X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_shape.cpp;h=86bc671b865f964f9eeacf350ae462c432d0531c;hb=792ed706efeef84c5b82abf982078daad15f5d6c;hp=522f42eacf29eee6d7194116363bd7ee7d778bc1;hpb=3ee67beff1b817c5c6ad48a5c5aaf9ee3481e761;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_shape.cpp b/synfig-core/trunk/src/synfig/layer_shape.cpp index 522f42e..86bc671 100644 --- a/synfig-core/trunk/src/synfig/layer_shape.cpp +++ b/synfig-core/trunk/src/synfig/layer_shape.cpp @@ -1,6 +1,6 @@ /* === S Y N F I G ========================================================= */ /*! \file layer_shape.cpp -** \brief Template Header +** \brief Implementation of the "Shape" layer ** ** $Id$ ** @@ -60,8 +60,8 @@ using namespace etl; SYNFIG_LAYER_INIT(Layer_Shape); SYNFIG_LAYER_SET_NAME(Layer_Shape,"shape"); -SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Shape,_("Shape")); -SYNFIG_LAYER_SET_CATEGORY(Layer_Shape,_("Internal")); +SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Shape,N_("Shape")); +SYNFIG_LAYER_SET_CATEGORY(Layer_Shape,N_("Internal")); SYNFIG_LAYER_SET_VERSION(Layer_Shape,"0.1"); SYNFIG_LAYER_SET_CVS_ID(Layer_Shape,"$Id$"); @@ -1877,7 +1877,7 @@ void Layer_Shape::PolySpan::draw_line(Real x1, Real y1, Real x2, Real y2) mult = (1 - fy1) * dxdy; - //x interset scanline + //x intersect scanline x_from = x1 + mult; draw_scanline(iy1,x1,fy1,x_from,1); @@ -1907,7 +1907,7 @@ void Layer_Shape::PolySpan::draw_line(Real x1, Real y1, Real x2, Real y2) mult = fy1 * dxdy; - //x interset scanline + //x intersect scanline x_from = x1 + mult; draw_scanline(iy1,x1,fy1,x_from,0); @@ -2640,6 +2640,10 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/, PolySpan span; + // if the pixels are zero sized then we're too zoomed out to see anything + if (pw == 0 || ph == 0) + return true; + //optimization for tessellating only inside tiles span.window.minx = 0; span.window.miny = 0; @@ -2855,7 +2859,7 @@ Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/, } bool -Layer_Shape::render_shape(surface *surface,int /*quality*/, +Layer_Shape::render_shape(etl::surface *surface,int /*quality*/, const RendDesc &renddesc, ProgressCallback */*cb*/)const { // If our amount is set to zero, no need to render anything