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

List:       kde-commits
Subject:    branches/work/khtml-svg
From:       Rob Buis <buis () kde ! org>
Date:       2006-04-02 19:59:41
Message-ID: 1144007981.028583.20405.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 525764 by buis:

Add SVGMarkerElementImpl, no attempt yet at marker drawing though.


 M  +4 -12     rendering/kcanvas/KCanvasResources.cpp  
 M  +16 -6     rendering/kcanvas/KCanvasResources.h  
 M  +0 -3      svg/CONVERSION-TODO-LIST  
 M  +1 -0      svg/Makefile.am  
 A             svg/SVGMarkerElementImpl.cpp   [License: LGPL (v2+) (wrong address)]
 A             svg/SVGMarkerElementImpl.h   [License: LGPL (v2+) (wrong address)]
 M  +7 -1      xml/dom_docimpl.cpp  


--- branches/work/khtml-svg/rendering/kcanvas/KCanvasResources.cpp #525763:525764
@@ -147,9 +147,10 @@
     m_marker = marker;
 }
 
-void KCanvasMarker::setRefX(double refX)
+void KCanvasMarker::setRef(double refX, double refY)
 {
     m_refX = refX;
+    m_refY = refY;
 }
 
 double KCanvasMarker::refX() const
@@ -157,11 +158,6 @@
     return m_refX;
 }
 
-void KCanvasMarker::setRefY(double refY)
-{
-    m_refY = refY;
-}
-
 double KCanvasMarker::refY() const
 {
     return m_refY;
@@ -192,9 +188,10 @@
     return m_useStrokeWidth;
 }
 
-void KCanvasMarker::setScaleX(float scaleX)
+void KCanvasMarker::setScale(float scaleX, float scaleY)
 {
     m_scaleX = scaleX;
+    m_scaleY = scaleY;
 }
 
 float KCanvasMarker::scaleX() const
@@ -202,11 +199,6 @@
     return m_scaleX;
 }
 
-void KCanvasMarker::setScaleY(float scaleY)
-{
-    m_scaleY = scaleY;
-}
-
 float KCanvasMarker::scaleY() const
 {
     return m_scaleY;
--- branches/work/khtml-svg/rendering/kcanvas/KCanvasResources.h #525763:525764
@@ -43,6 +43,20 @@
     RS_FILTER = 3
 } KCResourceType;
 
+enum SVGMarkerUnitsType
+{
+    SVG_MARKERUNITS_UNKNOWN           = 0,
+    SVG_MARKERUNITS_USERSPACEONUSE    = 1,
+    SVG_MARKERUNITS_STROKEWIDTH       = 2
+};
+
+enum SVGMarkerOrientType
+{
+    SVG_MARKER_ORIENT_UNKNOWN    = 0,
+    SVG_MARKER_ORIENT_AUTO        = 1,
+    SVG_MARKER_ORIENT_ANGLE        = 2
+};
+
 typedef Q3ValueList<const khtml::RenderPath *> KCanvasItemList;
 
 class KCanvasMatrix;
@@ -105,10 +119,8 @@
 
     void setMarker(khtml::RenderObject *marker);
 
-    void setRefX(double refX);
+    void setRef(double refX, double refY);
     double refX() const;
-
-    void setRefY(double refY);
     double refY() const;
 
     void setAutoAngle();
@@ -118,10 +130,8 @@
     void setUseStrokeWidth(bool useStrokeWidth = true);
     bool useStrokeWidth() const;
 
-    void setScaleX(float scaleX);
+    void setScale(float scaleX, float scaleY);
     float scaleX() const;
-
-    void setScaleY(float scaleY);
     float scaleY() const;
 
     // Draw onto the canvas
--- branches/work/khtml-svg/svg/CONVERSION-TODO-LIST #525763:525764
@@ -21,9 +21,6 @@
 SVGICCColorImpl.cpp
 SVGICCColorImpl.h
 
-SVGMarkerElementImpl.cpp
-SVGMarkerElementImpl.h
-
 SVGPatternElementImpl.cpp
 SVGPatternElementImpl.h
 
--- branches/work/khtml-svg/svg/Makefile.am #525763:525764
@@ -33,4 +33,5 @@
 						 SVGAElementImpl.cpp SVGClipPathElementImpl.cpp \
 						 SVGTitleElementImpl.cpp SVGStyleElementImpl.cpp \
 						 SVGUseElementImpl.cpp SVGImageElementImpl.cpp \
+						 SVGMarkerElementImpl.cpp \
 						 svgpathparser.cpp KSVGPainterFactory.cpp
--- branches/work/khtml-svg/xml/dom_docimpl.cpp #525763:525764
@@ -100,8 +100,9 @@
 #include "svg/SVGImageElementImpl.h"
 #include "svg/SVGTitleElementImpl.h"
 #include "svg/SVGStyleElementImpl.h"
+#include "svg/SVGCircleElementImpl.h"
+#include "svg/SVGMarkerElementImpl.h"
 #include "svg/SVGSwitchElementImpl.h"
-#include "svg/SVGCircleElementImpl.h"
 #include "svg/SVGSymbolElementImpl.h"
 #include "svg/SVGEllipseElementImpl.h"
 #include "svg/SVGPolygonElementImpl.h"
@@ -1142,6 +1143,11 @@
             n = new KSVG::SVGImageElementImpl(docPtr());
             break;
         }
+        case SVGID_MARKER:
+        {
+            n = new KSVG::SVGMarkerElementImpl(docPtr());
+            break;
+        }
         default:
             break;
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

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