Changes between Version 1 and Version 2 of GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC


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

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC

    v1 v2  
    22                                   Kiran Anjaneya Varma Alluri
    33                                    August 10, 2009
    4 1 Overview
     41 Overview.
     5
    56Popular tools such as Inkscape generate SVG graphics natively. So far MapServer has not supported the SVG format, which
    67leaves many users with the extra work of converting between formats. This RFC aims to introduce support for SVG graphics
    78as an alternate method to define vector symbols in the MapServer symbolset.
    89
    9 2 Method
     102 Method.
     11
    1012The SVG parsing and rendering will be triggered by the following syntax:
    1113SYMBOL
     
    1517The choice for using a SYMBOL for the task is to allow for the reuse of the SVG symbol easily within classes.
    1618
    17 3 Technical Overview
     193 Technical Overview.
     20
    1821In order to support the SVG format, we make use of the AGG library. The reasons for going with the AGG library are:
    19221. It has already been integrated into MapServer. While other popular libraries, such as Cairo, can be used, they would
     
    4548
    4649
    47 4 Files Added and Modified
    48 4.1 AGG/SVG Parser
     504 Files Added and Modified.
     51
     524.1 AGG/SVG Parser.
    4953The SVG parsing and pixmap generation functions will be stored in source files stored at
    5054/ maps e rve r / r e n d e r e r s / agg / svg /
     
    5559All files are within the C++ ’mapserver’ namespace.
    5660
    57 4.2 Rendering Functions
     614.2 Rendering Functions.
    5862The rendering functions in mapgd.c will be modified to support the SVG type. These include all the basic shapes such as
    5963points, lines, circles etc. These will make use of the createBrushFromSVG function to render to a GD pixmap.
    6064
    61 4.3 Lexical Analyzer and Parser
     654.3 Lexical Analyzer and Parser.
    6266The maplexer.l file will be modified to support two new keywords (SVG and SVGPATH). The mapsymbol.h file be modified
    6367by adding SVG related data to the symbolObj structure along with basic enumerations and defines. The mapsymbol.c file’s
     
    6569
    6670
    67 5 Documentation
     715 Documentation.
    6872The following documentation needs to be prepared for this project:
    69731. Missing SVG specification document.