示例#1
0
    def test_analyze_translate3(self):
        ctm = CurrentTransformation()

        ctm.analyze("translate(10   , -10)")
        assert_equal(ctm.translateX, "10")
        assert_equal(ctm.translateY, "-10")
        assert_equal(ctm.matrix, [[1.0, 0.0, 10.0], [0.0, 1.0, -10.0]])		
示例#2
0
    def test_analyze_scale3(self):
        ctm = CurrentTransformation()

        ctm.analyze("scale(10,-10)")
        assert_equal(ctm.scaleX, "10")
        assert_equal(ctm.scaleY, "-10")
        assert_equal(ctm.matrix, [[10, 0.0, 0.0], [0.0, -10, 0.0]])		
示例#3
0
 def test_analyze_applyTransformToPath(self):
     matrix = [[1, 2, 3], [4, 5, 6]]
     ctm = CurrentTransformation()
     path = "M 10,20 L 60,20 L 60,50 L 10,50 L 10,20"
     path_modified = "M53.0 146.0C53.0 146.0 103.0 346.0 103.0 346.0C103.0 346.0 163.0 496.0 163.0 496.0C163.0 496.0 113.0 296.0 113.0 296.0C113.0 296.0 53.0 146.0 53.0 146.0"
     p = xiaconverter.cubicsuperpath.parsePath(path)
     ctm.applyTransformToPath(matrix,p)
     path_calculated = xiaconverter.cubicsuperpath.formatPath(p)
     assert_equal(path_calculated,path_modified)
示例#4
0
 def test_analyze_rectToPath(self):
     ctm = CurrentTransformation()
     rect = {
         'x': 10,
         'y': 20,
         'width': 50,
         'height': 30
     }
     path = ctm.rectToPath(rect)
     assert_equal(path, "M 10.000000,20.000000 L 60.000000,20.000000 L 60.000000,50.000000 L 10.000000,50.000000 L 10.000000,20.000000 ")
示例#5
0
 def test_analyze_matrix(self):
     ctm = CurrentTransformation()
     ctm.analyze("matrix(1 2 3 4 5 6)")
     assert_equal(ctm.translateX, "5")
     assert_equal(ctm.translateY, "6")
     assert_equal(ctm.scaleX, math.sqrt(float(1)**2+float(3)**2))
     assert_equal(ctm.scaleY, math.sqrt(float(2)**2+float(4)**2))
     assert_equal(ctm.rotate, math.atan2(float(2),float(4)))                
     # @TODO assert_equal(ctm.rX, ??)
     # @TODO assert_equal(ctm.rY, ??)		
     assert_equal(ctm.matrix, [[1.0,3.0,5.0],[2.0,4.0,6.0]])
示例#6
0
    def test_analyze_rectToPath3(self):
        ctm = CurrentTransformation()

        rect = {
            'x': 10,
            'y': 10,
            'width': 40,
            'height': 40,
            'rx': 20,
            'ry': 20
        }
        path = ctm.rectToPath(rect)
        assert_equal(path, "M 30.000000,10.000000 L 30.000000,10.000000 A 20.000000,20.000000 0 0 1 50.000000,30.000000L 50.000000,30.000000 A 20.000000,20.000000 0 0 1 30.000000,50.000000L 30.000000,50.000000 A 20.000000,20.000000 0 0 1 10.000000,30.000000L 10.000000,30.000000 A 20.000000,20.000000 0 0 1 30.000000,10.000000")
示例#7
0
    def test_analyze_rectToPath2(self):
        ctm = CurrentTransformation()

        rect = {
            'x': 10,
            'y': 20,
            'width': 50,
            'height': 30,
            'rx': 5,
            'ry': 10
        }
        path = ctm.rectToPath(rect)
        assert_equal(path, "M 15.000000,20.000000 L 55.000000,20.000000 A 5.000000,10.000000 0 0 1 60.000000,30.000000L 60.000000,40.000000 A 5.000000,10.000000 0 0 1 55.000000,50.000000L 15.000000,50.000000 A 5.000000,10.000000 0 0 1 10.000000,40.000000L 10.000000,30.000000 A 5.000000,10.000000 0 0 1 15.000000,20.000000")
示例#8
0
 def test_analyze_rotate(self):
     ctm = CurrentTransformation()
     ctm.analyze("rotate(10 20 -30)")
     assert_equal(ctm.rotate, "10")
     assert_equal(ctm.rX, "20")
     assert_equal(ctm.rY, "-30")		
     assert_equal(ctm.matrix, 
         [ 
             [
                 math.cos(10), 
                 -math.sin(10), 
                 -20 * math.cos(10) - 30 * math.sin(10) + 20
             ], 
             [
                 math.sin(10), 
                 math.cos(10), 
                 -20 * math.sin(10) + 30 * math.cos(10) - 30
             ]
         ])
示例#9
0
    def test_analyze_rotate2(self):
        ctm = CurrentTransformation()

        ctm.analyze("rotate(10)")
        assert_equal(ctm.rotate, "10")
        assert_equal(ctm.rX, "0")
        assert_equal(ctm.rY, "0")		
        assert_equal(ctm.matrix, 
            [ 
                [
                    math.cos(10), 
                    -math.sin(10), 
                    0
                ], 
                [
                    math.sin(10), 
                    math.cos(10), 
                    0
                ]
            ])