Changeset 678

Show
Ignore:
Timestamp:
09/03/03 00:54:47 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBRapier/RBRapier/Formats/SVG/RapierRenderItems.py

    r677 r678  
    351351     
    352352    def Commit(self, target): 
    353         if target is not None: 
     353        if self and target is not None: 
    354354            points = Numeric.concatenate(self._pointslist) 
    355355            vertices = VertexArrays.VertexArray(points, points.typecode) 
     
    583583 
    584584            transform = Transform() 
    585             transform.scale(1., -1.) 
    586             ux, uy, uw, uh = -1., -1., 2., 2. 
     585            if self.position != (None, None): 
     586                ux, uy = self.position 
     587            else: ux, uy = 0., 0. 
     588            if self.dimensions != (None, None): 
     589                uw, uh = self.dimensions 
     590            else: uw, uh = 2., 2. 
     591 
     592            transform.matrix(2./uw,0,-1.-2.*ux/uw, 0., -2./uh, 1.+2.*uy/uh) 
    587593        else:  
    588594            transform = transform.copy() 
     
    594600                uw, uh = self.dimensions 
    595601 
    596         vx, vy, vw, vh = self.viewbox or (0, 0, 0, 0
     602        vx, vy, vw, vh = self.viewbox or (ux, uy, uw, uh
    597603        uw, uh = uw or vw, uh or vh 
     604        print 
     605        print 'view:', vx, vy, vw, vh 
     606        print 'user:', ux, uy, uw, uh 
     607        print 
    598608 
    599609        if vw > 0. and vh > 0.: 
     
    784794 
    785795class Polyline(RenderItem): 
     796    tesselator = SVGTesselator() 
     797 
    786798    def Compile(self, style, transform, target): 
     799        if len(self.points) < 2: return  
    787800        style, transform = self._GetStyleAndTransform(style, transform) 
    788801 
     
    792805            if windingrule is None: windingrule = FillRuleLookup[None] 
    793806 
    794             glmodedatalist = SVGTesselator([self.points], windingrule=windingrule).results 
     807            points = self.points[:] 
     808            if points[0] != points[-1]: 
     809                points.append(points[0]) 
     810            glmodedatalist = self.tesselator.tessellate([points], windingrule=windingrule) 
    795811            for glmode, fillpoints in glmodedatalist: 
    796812                fillpoints = transform.TransformPoints(fillpoints) 
     
    814830 
    815831class Polygon(Polyline): 
     832    tesselator = SVGTesselator() 
    816833 
    817834    def Compile(self, style, transform, target): 
     835        if len(self.points) < 2: return  
    818836        style, transform = self._GetStyleAndTransform(style, transform) 
     837 
     838        windingrule = FillRuleLookup.get(style.get('fill-rule')) 
     839        if windingrule is None: windingrule = FillRuleLookup[None] 
    819840 
    820841        fillcolor = style.GetFillColor() 
    821842        if fillcolor is not None: 
    822             windingrule = FillRuleLookup.get(style.get('fill-rule')) 
    823             if windingrule is None: windingrule = FillRuleLookup[None] 
    824  
    825             glmodedatalist = SVGTesselator([self.points], windingrule=windingrule).results 
     843            points = self.points[:] 
     844            if points[0] != points[-1]: 
     845                points.append(points[0]) 
     846            glmodedatalist = self.tesselator.tessellate([points], windingrule=windingrule) 
    826847            for glmode, fillpoints in glmodedatalist: 
    827848                fillpoints = transform.TransformPoints(fillpoints) 
     
    832853        strokecolor = style.GetStrokeColor() 
    833854        if strokecolor is not None: 
    834             glmodedatalist = [] 
    835             glmodedatalist = SVGTesselator([self.points], boundary=True).results 
     855            points = self.points[:] 
     856            if points[0] != points[-1]: 
     857                points.append(points[0]) 
     858            glmodedatalist = self.tesselator.tessellate([points], windingrule=windingrule) 
    836859            for glmode, strokepoints in glmodedatalist: 
    837860                strokepoints = transform.TransformPoints(strokepoints) 
     
    850873 
    851874class Path(RenderItem): 
     875    tesselator = SVGTesselator() 
     876 
    852877    def Compile(self, style, transform, target): 
    853878        contours = SVGPathConnector.fromSVGPath(self.path).GetContours() 
     
    865890                if windingrule is None: windingrule = FillRuleLookup[None] 
    866891 
    867                 glmodedatalist = SVGTesselator(contourlist, windingrule=windingrule).results 
     892                glmodedatalist = self.tesselator.tessellate(contours, windingrule=windingrule) 
    868893                for glmode, fillpoints in glmodedatalist: 
    869894                    fillpoints = transform.TransformPoints(fillpoints) 
  • trunk/RBRapier/demo/SVG/display.py

    r672 r678  
    4141from RBRapier.Renderer.View import TransformationSettings 
    4242 
    43 from RBRapier.Formats.SVGNew import SVGSkinner 
    44 from RBRapier.Formats.SVGNew import RapierRenderItems 
     43from RBRapier.Formats.SVG import SVGSkinner 
     44from RBRapier.Formats.SVG import RapierRenderItems 
    4545 
    4646#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    109109        self.root = SequenceMgr.RootSequence() 
    110110 
    111         self.clearcolor = Buffers.ClearColor((0.0,0.0,0.0,0.0)) 
     111        self.clearcolor = Buffers.ClearColor((1.0,1.0,1.0,1.0)) 
    112112        self.root.AddElement(self.clearcolor, -2) 
    113113 
  • trunk/RBRapier/demo/SVG/nulldisplay.py

    r667 r678  
    2626import sys 
    2727import time 
    28 from RBRapier.Formats.SVGNew.SVGSkinner import SkinFile 
     28from RBRapier.Formats.SVG.SVGSkinner import SkinFile 
    2929 
    3030#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/demo/SVG/svgprofile.py

    r667 r678  
    2828import hotshot, hotshot.stats 
    2929 
    30 from RBRapier.Formats.SVGNew.SVGSkinner import SkinFile 
    31 from RBRapier.Formats.SVGNew import RapierRenderItems 
     30from RBRapier.Formats.SVG.SVGSkinner import SkinFile 
     31from RBRapier.Formats.SVG import RapierRenderItems 
    3232 
    3333#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/demo/SVG/timeit.py

    r667 r678  
    2626import sys 
    2727import time 
    28 from RBRapier.Formats.SVGNew.SVGSkinner import SkinFile 
    29 from RBRapier.Formats.SVGNew import RapierRenderItems 
     28from RBRapier.Formats.SVG.SVGSkinner import SkinFile 
     29from RBRapier.Formats.SVG import RapierRenderItems 
    3030 
    3131#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~