Changes between Version 3 and Version 4 of GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC


Ignore:
Timestamp:
Aug 10, 2009, 10:48:50 AM (15 years ago)
Author:
kiranvarma
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC

    v3 v4  
    22                                   Kiran Anjaneya Varma Alluri
    33                                    August 10, 2009
    4 1 Overview.
    5 
     4'''1 Overview.
     5'''
    66Popular tools such as Inkscape generate SVG graphics natively. So far MapServer has not supported the SVG format, which
    77leaves many users with the extra work of converting between formats. This RFC aims to introduce support for SVG graphics
    88as an alternate method to define vector symbols in the MapServer symbolset.
    99
    10 2 Method.
     10'''2 Method.'''
    1111
    1212The SVG parsing and rendering will be triggered by the following syntax:
     
    2121The choice for using a SYMBOL for the task is to allow for the reuse of the SVG symbol easily within classes.
    2222
    23 3 Technical Overview.
     23'''3 Technical Overview.'''
    2424
    2525In order to support the SVG format, we make use of the AGG library. The reasons for going with the AGG library are:
     
    4040
    4141To implement this functionality, the following steps needs to be accomplished:
     42
    42431. Implement an SVG parser. For this, we directly make use of the SVG Viewer example provided along with the AGG
    4344sources.
     
    56576. Render the pixmap into the final image file. This will be done using a mixture of the AGG and GD libraries.
    5758
    58 
    59 4 Files Added and Modified.
    60 
    61 4.1 AGG/SVG Parser.
     59'''
     604 Files Added and Modified.'''
     61'''
     624.1 AGG/SVG Parser.'''
    6263The SVG parsing and pixmap generation functions will be stored in source files stored at
    6364
     
    7172c. SVG to Pixmap generation
    7273All files are within the C++ ’mapserver’ namespace.
    73 
    74 4.2 Rendering Functions.
     74'''
     754.2 Rendering Functions.'''
    7576The rendering functions in mapgd.c will be modified to support the SVG type. These include all the basic shapes such as
    7677points, lines, circles etc. These will make use of the createBrushFromSVG function to render to a GD pixmap.
    77 
    78 4.3 Lexical Analyzer and Parser.
     78'''
     794.3 Lexical Analyzer and Parser.'''
    7980The maplexer.l file will be modified to support two new keywords (SVG and SVGPATH). The mapsymbol.h file be modified
    8081by adding SVG related data to the symbolObj structure along with basic enumerations and defines. The mapsymbol.c file’s
    8182loadSymbol function will be modified to generate the required new fields in the symbolObj structure.
    8283
    83 
    84 5 Documentation.
     84'''
     855 Documentation.'''
    8586The following documentation needs to be prepared for this project:
    86871. Missing SVG specification document.