[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdegraphics/ksvg/plugin/backends/agg
From:       Rob Buis <rwlbuis () xs4all ! nl>
Date:       2003-10-31 19:29:28
[Download RAW message or body]

CVS commit by buis: 


Rgb/rgba fix for lines.


  M +25 -14    AggCanvasItems.cpp   1.68


--- kdegraphics/ksvg/plugin/backends/agg/AggCanvasItems.cpp  #1.67:1.68
@@ -681,11 +681,4 @@ void AggLine::draw()
         if(isVisible())
         {
-                typedef agg::pixfmt_rgb24 pixfmt;
-                typedef agg::renderer_base<pixfmt> renderer_base;
-                typedef agg::renderer_scanline_p_solid<renderer_base> \
                renderer_solid;
-
-                pixfmt pixf(m_canvas->buf());
-                renderer_base rb(pixf);
-                renderer_solid ren(rb);
                 agg::scanline_p8 sl;
 
@@ -699,4 +692,5 @@ void AggLine::draw()
                 {
                         m_canvas->m_ras.reset();
+                        m_canvas->m_ras.add_path(m_curved_stroked_trans);
                         QColor qcolor;
                         if(m_style->getStrokeColor()->paintType() == \
SVG_PAINTTYPE_CURRENTCOLOR) @@ -706,11 +700,28 @@ void AggLine::draw()
                         agg::rgba8 color(qcolor.red(), qcolor.green(), \
                qcolor.blue());
                         color.opacity(m_style->getStrokeOpacity() * \
m_style->getOpacity()); +                        if(m_canvas->nrChannels() == 3)
+                        {
+                                typedef agg::pixfmt_rgb24 pixfmt;
+                                typedef agg::renderer_base<pixfmt> renderer_base;
+                                typedef \
agg::renderer_scanline_p_solid<renderer_base> renderer_solid; +
+                                pixfmt pixf(m_canvas->buf());
+                                renderer_base rb(pixf);
+                                renderer_solid ren(rb);
                         ren.attribute(color);
-                        \
                /*m_curved_stroked.width(m_style->getStrokeWidth()->baseVal()->value());
                
-                        \
                m_curved_stroked.line_join((agg::gen_stroke::line_join_e)m_style->getJoinStyle());
                
-                        \
                m_curved_stroked.miter_limit(m_style->getStrokeMiterlimit());
-                        \
                m_curved_stroked.line_cap(toAggLineCap(m_style->getCapStyle()));*/
-                        m_canvas->m_ras.add_path(m_curved_stroked_trans);
                         m_canvas->m_ras.render(sl, ren);
+                        }
+                        else
+                        {
+                                typedef agg::pixfmt_rgba32 pixfmt;
+                                typedef agg::renderer_base<pixfmt> renderer_base;
+                                typedef \
agg::renderer_scanline_p_solid<renderer_base> renderer_solid; +
+                                pixfmt pixf(m_canvas->buf());
+                                renderer_base rb(pixf);
+                                renderer_solid ren(rb);
+                                ren.attribute(color);
+                                m_canvas->m_ras.render(sl, ren);
+                        }
                 }
                 //m_transform = transform;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic