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

List:       kde-commits
Subject:    koffice/filters/karbon/svg
From:       Jan Hambrecht <jaham () gmx ! net>
Date:       2009-03-01 0:33:57
Message-ID: 1235867637.618399.8840.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 933472 by jaham:

take care of stretched repeat mode when exporting and importing patterns



 M  +14 -3     svgexport.cc  
 M  +5 -0      svgimport.cc  


--- trunk/koffice/filters/karbon/svg/svgexport.cc #933471:933472
@@ -501,9 +501,20 @@
     *m_defs << "<pattern id=\"" << uid << "\"";
     *m_defs << " x=\"" << toUserSpace(offset.x()) << "\"";
     *m_defs << " y=\"" << toUserSpace(offset.y()) << "\"";
-    *m_defs << " width=\"" << toUserSpace(patternSize.width()) << "\"";
-    *m_defs << " height=\"" << toUserSpace(patternSize.height()) << "\"";
-    *m_defs << " patternUnits=\"userSpaceOnUse\"";
+
+    if( pattern->repeat() == KoPatternBackground::Stretched )
+    {
+        *m_defs << " width=\"100%\"";
+        *m_defs << " height=\"100%\"";
+        *m_defs << " patternUnits=\"objectBoundingBox\"";
+    }
+    else
+    {
+        *m_defs << " width=\"" << toUserSpace(patternSize.width()) << "\"";
+        *m_defs << " height=\"" << toUserSpace(patternSize.height()) << "\"";
+        *m_defs << " patternUnits=\"userSpaceOnUse\"";
+    }
+
     *m_defs << " viewBox=\"0 0 " << imageSize.width() << " " << imageSize.height() << "\"";
     //*m_defs << " patternContentUnits=\"userSpaceOnUse\""; 
     *m_defs << ">" << endl;
--- trunk/koffice/filters/karbon/svg/svgimport.cc #933471:933472
@@ -1434,6 +1434,11 @@
                 QSizeF tileSize = pattern->size( objectBound );
 
                 bg->setPatternDisplaySize( tileSize );
+                if( pattern->patternUnits() == SvgPatternHelper::ObjectBoundingBox )
+                {
+                    if( tileSize == objectBound.size() )
+                        bg->setRepeat( KoPatternBackground::Stretched );
+                }
                 
                 // calculate pattern reference point offset in percent of tileSize
                 // and relative to the topleft corner of the shape
[prev in list] [next in list] [prev in thread] [next in thread] 

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