# mapscript_wrap.c

# Contents

- 1. class featureListNodeObj
- 2. class colorObj
- 3. class queryObj
- 4. class shapeResultObj
- 5. class queryResultObj
- 6. class queryMapObj
- 7. class labelObj
- 8. class webObj
- 9. class classObj
- 10. class labelCacheMemberObj
- 11. class markerCacheMemberObj
- 12. class labelCacheObj
- 13. class symbolSetObj
- 14. class referenceMapObj
- 15. class scalebarObj
- 16. class legendObj
- 17. class layerObj
- 18. class mapObj
- 19. class errorObj
- 20. class rectObj
- 21. class pointObj
- 22. class lineObj
- 23. class shapeObj
- 24. class DBFInfo
- 25. class shapefileObj

`mapscript::MS_VERSION = 3.4 (pre-release)`

> [ Constant : char * ]
> logical control variables

`mapscript::MS_TRUE = 1`

> [ Constant : int ]

`mapscript::MS_FALSE = 0`

> [ Constant : int ]

`mapscript::MS_ON = 1`

> [ Constant : int ]

`mapscript::MS_OFF = 0`

> [ Constant : int ]

`mapscript::MS_DEFAULT = 2`

> [ Constant : int ]

`mapscript::MS_QUERY = 3`

> [ Constant : int ]

`mapscript::MS_EMBED = 4`

> [ Constant : int ]

`mapscript::MS_YES = 1`

> [ Constant : int ]

`mapscript::MS_NO = 0`

> [ Constant : int ]
> modes for searching (spatial/database)

`mapscript::MS_SINGLE = 0`

> [ Constant : int ]

`mapscript::MS_MULTIPLE = 1`

> [ Constant : int ]
> General defines, not wrapable

`mapscript::MS_FILE_MAP = MS_FILE_MAP`

> [ Constant : int ]

`mapscript::MS_FILE_SYMBOL = MS_FILE_SYMBOL`

> [ Constant : int ]

`mapscript::MS_INCHES = MS_INCHES`

> [ Constant : int ]

`mapscript::MS_FEET = MS_FEET`

> [ Constant : int ]

`mapscript::MS_MILES = MS_MILES`

> [ Constant : int ]

`mapscript::MS_METERS = MS_METERS`

> [ Constant : int ]

`mapscript::MS_NAUTICALMILES = MS_NAUTICALMILES`

> [ Constant : int ]

`mapscript::MS_KILOMETERS = MS_KILOMETERS`

> [ Constant : int ]

`mapscript::MS_DD = MS_DD`

> [ Constant : int ]

`mapscript::MS_PIXELS = MS_PIXELS`

> [ Constant : int ]

`mapscript::MS_POINT = MS_POINT`

> [ Constant : int ]

`mapscript::MS_LINE = MS_LINE`

> [ Constant : int ]

`mapscript::MS_POLYGON = MS_POLYGON`

> [ Constant : int ]

`mapscript::MS_POLYLINE = MS_POLYLINE`

> [ Constant : int ]

`mapscript::MS_RASTER = MS_RASTER`

> [ Constant : int ]

`mapscript::MS_ANNOTATION = MS_ANNOTATION`

> [ Constant : int ]

`mapscript::MS_NULL = MS_NULL`

> [ Constant : int ]

`mapscript::MS_TRUETYPE = MS_TRUETYPE`

> [ Constant : int ]

`mapscript::MS_BITMAP = MS_BITMAP`

> [ Constant : int ]

`mapscript::MS_UL = MS_UL`

> [ Constant : int ]

`mapscript::MS_LR = MS_LR`

> [ Constant : int ]

`mapscript::MS_UR = MS_UR`

> [ Constant : int ]

`mapscript::MS_LL = MS_LL`

> [ Constant : int ]

`mapscript::MS_CR = MS_CR`

> [ Constant : int ]

`mapscript::MS_CL = MS_CL`

> [ Constant : int ]

`mapscript::MS_UC = MS_UC`

> [ Constant : int ]

`mapscript::MS_LC = MS_LC`

> [ Constant : int ]

`mapscript::MS_CC = MS_CC`

> [ Constant : int ]

`mapscript::MS_AUTO = MS_AUTO`

> [ Constant : int ]

`mapscript::MS_XY = MS_XY`

> [ Constant : int ]
> arrangement matters for auto placement

`mapscript::MS_TINY = MS_TINY`

> [ Constant : int ]

`mapscript::MS_SMALL = MS_SMALL`

> [ Constant : int ]

`mapscript::MS_MEDIUM = MS_MEDIUM`

> [ Constant : int ]

`mapscript::MS_LARGE = MS_LARGE`

> [ Constant : int ]

`mapscript::MS_GIANT = MS_GIANT`

> [ Constant : int ]

`mapscript::MS_NORMAL = MS_NORMAL`

> [ Constant : int ]

`mapscript::MS_HILITE = MS_HILITE`

> [ Constant : int ]

`mapscript::MS_SELECTED = MS_SELECTED`

> [ Constant : int ]

`mapscript::MS_INVERTED = MS_INVERTED`

> [ Constant : int ]

`mapscript::MS_LOCAL = MS_LOCAL`

> [ Constant : int ]

`mapscript::MS_SDE = MS_SDE`

> [ Constant : int ]

`mapscript::MS_OGR = MS_OGR`

> [ Constant : int ]

`mapscript::MS_GIF = MS_GIF`

> [ Constant : int ]

`mapscript::MS_PNG = MS_PNG`

> [ Constant : int ]

`mapscript::MS_JPEG = MS_JPEG`

> [ Constant : int ]

`mapscript::MS_WBMP = MS_WBMP`

> [ Constant : int ]

`mapscript::MS_FILE_DEFAULT = (MS_FILE_MAP)`

> [ Constant : int ]

## 1. class featureListNodeObj

[ created from struct featureListNodeObj ]

`-shape`

> [ Member data: returns shapeObj * ]

`-next`

> [ Member data: returns struct listNode * ]

## 2. class colorObj

[ created from struct colorObj ]

`-red`

> [ Member data: returns int ]

`-green`

> [ Member data: returns int ]

`-blue`

> [ Member data: returns int ]

## 3. class queryObj

[ created from struct queryObj ]

`-expression`

> [ Member data: returns expressionObj * ]
> the expression to be matched

`-template`

> [ Member data: returns char * ]

`queryObj name layer`

> [ Constructor: returns queryObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`setExpression string`

> [ Member : returns int ]

## 4. class shapeResultObj

[ created from struct shapeResultObj ]

`-layer`

> [ Member data: returns int ]

`-tile`

> [ Member data: returns int ]

`-shape`

> [ Member data: returns int ]

`-query`

> [ Member data: returns int ]

## 5. class queryResultObj

[ created from struct queryResultObj ]

`-numlayers`

> [ Member data: returns int ]

`-numresults`

> [ Member data: returns int ]

`-numquerylayers`

> [ Member data: returns int ]

`-currentlayer`

> [ Member data: returns int ]

`-currenttile`

> [ Member data: returns int ]

`-currentshape`

> [ Member data: returns int ]
> allows for cursors-like access to results

`queryResultObj name filename`

> [ Constructor: returns queryResultObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`free`

> [ Member : returns void ]

`save filename`

> [ Member : returns int ]

`next`

> [ Member : returns shapeResultObj ]

## 6. class queryMapObj

[ created from struct queryMapObj ]

`-height`

> [ Member data: returns int ]

`-width`

> [ Member data: returns int ]

`-status`

> [ Member data: returns int ]

`-style`

> [ Member data: returns int ]
> HILITE, SELECTED or NORMAL

`-color`

> [ Member data: returns int ]

## 7. class labelObj

[ created from struct labelObj ]

`-font`

> [ Member data: returns char * ]

`-type`

> [ Member data: returns enum MS_FONT_TYPE ]

`-color`

> [ Member data: returns int ]

`-outlinecolor`

> [ Member data: returns int ]

`-shadowcolor`

> [ Member data: returns int ]

`-shadowsizex`

> [ Member data: returns int ]

`-shadowsizey`

> [ Member data: returns int ]

`-backgroundcolor`

> [ Member data: returns int ]

`-backgroundshadowcolor`

> [ Member data: returns int ]

`-backgroundshadowsizex`

> [ Member data: returns int ]

`-backgroundshadowsizey`

> [ Member data: returns int ]

`-size`

> [ Member data: returns int ]

`-sizescaled`

> [ Member data: returns int ]

`-minsize`

> [ Member data: returns int ]

`-maxsize`

> [ Member data: returns int ]

`-position`

> [ Member data: returns int ]

`-offsetx`

> [ Member data: returns int ]

`-offsety`

> [ Member data: returns int ]

`-angle`

> [ Member data: returns double ]

`-autoangle`

> [ Member data: returns int ]
> true or false

`-buffer`

> [ Member data: returns int ]
> space to reserve around a label

`-antialias`

> [ Member data: returns int ]

`-wrap`

> [ Member data: returns char ]

`-minfeaturesize`

> [ Member data: returns int ]
> minimum feature size (in pixels) to label

`-autominfeaturesize`

> [ Member data: returns int ]
> true or false

`-mindistance`

> [ Member data: returns int ]

`-partials`

> [ Member data: returns int ]
> can labels run of an image

`-force`

> [ Member data: returns int ]
> labels *must* be drawn

## 8. class webObj

[ created from struct webObj ]

`-log`

> [ Member data: returns char * ]

`-imagepath`

> [ Member data: returns char * ]

`-imageurl`

> [ Member data: returns char * ]

`-template`

> [ Member data: returns char * ]

`-header`

> [ Member data: returns char * ]

`-footer`

> [ Member data: returns char * ]

`-empty`

> [ Member data: returns char * ]

`-error`

> [ Member data: returns char * ]
> error handling

`-extent`

> [ Member data: returns rectObj * ]
> clipping extent

`-minscale`

> [ Member data: returns double ]

`-maxscale`

> [ Member data: returns double ]

`-mintemplate`

> [ Member data: returns char * ]

`-maxtemplate`

> [ Member data: returns char * ]

## 9. class classObj

[ created from struct classObj ]

`-color`

> [ Member data: returns int ]

`-backgroundcolor`

> [ Member data: returns int ]

`-outlinecolor`

> [ Member data: returns int ]

`-overlaycolor`

> [ Member data: returns int ]

`-overlaybackgroundcolor`

> [ Member data: returns int ]

`-overlayoutlinecolor`

> [ Member data: returns int ]

`-symbol`

> [ Member data: returns int ]

`-symbolname`

> [ Member data: returns char * ]

`-overlaysymbol`

> [ Member data: returns int ]

`-overlaysymbolname`

> [ Member data: returns char * ]

`-size`

> [ Member data: returns int ]

`-sizescaled`

> [ Member data: returns int ]

`-minsize`

> [ Member data: returns int ]

`-maxsize`

> [ Member data: returns int ]

`-overlaysize`

> [ Member data: returns int ]

`-overlaysizescaled`

> [ Member data: returns int ]

`-overlayminsize`

> [ Member data: returns int ]

`-overlaymaxsize`

> [ Member data: returns int ]

`-label`

> [ Member data: returns labelObj * ]

`-name`

> [ Member data: returns char * ]
> used for legend labeling

`classObj name layer`

> [ Constructor: returns classObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`setExpression string`

> [ Member : returns int ]

`setText layer string`

> [ Member : returns int ]

## 10. class labelCacheMemberObj

[ created from struct labelCacheMemberObj ]

`-size`

> [ Member data: returns int ]
> parameters that can vary for each label/feature

`-angle`

> [ Member data: returns double ]

`-string`

> [ Member data: returns char * ]

`-featuresize`

> [ Member data: returns double ]

`-layeridx`

> [ Member data: returns int ]
> indexes

`-classidx`

> [ Member data: returns int ]

`-tileidx`

> [ Member data: returns int ]

`-shapeidx`

> [ Member data: returns int ]

`-point`

> [ Member data: returns pointObj * ]
> label point

`-poly`

> [ Member data: returns shapeObj * ]
> label bounding box

`-status`

> [ Member data: returns int ]
> has this label been drawn or not

## 11. class markerCacheMemberObj

[ created from struct markerCacheMemberObj ]

`-id`

> [ Member data: returns int ]
> corresponding label

`-poly`

> [ Member data: returns shapeObj * ]
> marker bounding box (POINT layers only)

## 12. class labelCacheObj

[ created from struct labelCacheObj ]

`-labels`

> [ Member data: returns labelCacheMemberObj * ]

`-numlabels`

> [ Member data: returns int ]

`-cachesize`

> [ Member data: returns int ]

`-markers`

> [ Member data: returns markerCacheMemberObj * ]

`-nummarkers`

> [ Member data: returns int ]

`-markercachesize`

> [ Member data: returns int ]

`freeCache`

> [ Member : returns void ]

## 13. class symbolSetObj

[ created from struct symbolSetObj ]

`-filename`

> [ Member data: returns char * ]

`-fontset`

> [ Member data: returns fontSetObj * ]
> a pointer to the main mapObj version

`-numsymbols`

> [ Member data: returns int ]

`-symbol`

> [ Member data: returns symbolObj * ]

`-imagecache`

> [ Member data: returns struct imageCacheObj * ]

`-imagecachesize`

> [ Member data: returns int ]

## 14. class referenceMapObj

[ created from struct referenceMapObj ]

`-extent`

> [ Member data: returns rectObj * ]

`-height`

> [ Member data: returns int ]

`-width`

> [ Member data: returns int ]

`-color`

> [ Member data: returns colorObj * ]

`-outlinecolor`

> [ Member data: returns colorObj * ]

`-image`

> [ Member data: returns char * ]

`-status`

> [ Member data: returns int ]

## 15. class scalebarObj

[ created from struct scalebarObj ]

`-imagecolor`

> [ Member data: returns colorObj * ]

`-height`

> [ Member data: returns int ]

`-width`

> [ Member data: returns int ]

`-style`

> [ Member data: returns int ]

`-intervals`

> [ Member data: returns int ]

`-label`

> [ Member data: returns labelObj * ]

`-color`

> [ Member data: returns int ]

`-backgroundcolor`

> [ Member data: returns int ]

`-outlinecolor`

> [ Member data: returns int ]

`-units`

> [ Member data: returns int ]

`-status`

> [ Member data: returns int ]
> ON, OFF or EMBED

`-position`

> [ Member data: returns int ]
> for embedded scalebars

`-transparent`

> [ Member data: returns int ]

`-interlace`

> [ Member data: returns int ]

`-postlabelcache`

> [ Member data: returns int ]

## 16. class legendObj

[ created from struct legendObj ]

`-imagecolor`

> [ Member data: returns colorObj * ]

`-label`

> [ Member data: returns labelObj * ]

`-keysizex`

> [ Member data: returns int ]

`-keysizey`

> [ Member data: returns int ]

`-keyspacingx`

> [ Member data: returns int ]

`-keyspacingy`

> [ Member data: returns int ]

`-outlinecolor`

> [ Member data: returns int ]
> Color of outline of box, -1 for no outline

`-status`

> [ Member data: returns int ]
> ON, OFF or EMBED

`-height`

> [ Member data: returns int ]

`-width`

> [ Member data: returns int ]

`-position`

> [ Member data: returns int ]
> for embedded legends

`-transparent`

> [ Member data: returns int ]

`-interlace`

> [ Member data: returns int ]

`-postlabelcache`

> [ Member data: returns int ]

## 17. class layerObj

[ created from struct layerObj ]

`-index`

> [ Member data: returns int ]

`-classitem`

> [ Member data: returns char * ]
> .DBF item to be used for symbol lookup

`-class`

> [ Member data: returns classObj * ]
> always at least 1 class

`-numclasses`

> [ Member data: returns int ]

`-name`

> [ Member data: returns char * ]
> layer name, must be unique

`-group`

> [ Member data: returns char * ]

`-description`

> [ Member data: returns char * ]
> layer title or description

`-legend`

> [ Member data: returns char * ]
> legend graphic

`-status`

> [ Member data: returns int ]
> layer status, either ON or OFF

`-data`

> [ Member data: returns char * ]
> layer data filename, including path

`-type`

> [ Member data: returns enum MS_FEATURE_TYPE ]

`-tolerance`

> [ Member data: returns double ]
> search buffer for point and line queries (in toleranceunits)

`-toleranceunits`

> [ Member data: returns int ]

`-symbolscale`

> [ Member data: returns double ]
> scale at which symbols are default size

`-maxscale`

> [ Member data: returns double ]
> layer is active only BELOW this scale value (<=)

`-minscale`

> [ Member data: returns double ]
> layer is active only ABOVE this scale value (>)

`-labelminscale`

> [ Member data: returns double ]
> annotation is active only BELOW this scale value (<=)

`-labelmaxscale`

> [ Member data: returns double ]
> annotation is active only ABOVE this scale value (>)

`-maxfeatures`

> [ Member data: returns int ]

`-offsite`

> [ Member data: returns int ]
> offsite value for raster images

`-transform`

> [ Member data: returns int ]
> does this layer have to be transformed to file coordinates

`-labelcache`

> [ Member data: returns int ]
> on or off

`-postlabelcache`

> [ Member data: returns int ]

`-labelitem`

> [ Member data: returns char * ]
> .DBF item to be used for text

`-labelsizeitem`

> [ Member data: returns char * ]

`-labelangleitem`

> [ Member data: returns char * ]

`-tileitem`

> [ Member data: returns char * ]

`-tileindex`

> [ Member data: returns char * ]
> layer index file for tiling support

`-projection`

> [ Member data: returns projectionObj * ]
> projection information for the layer

`-features`

> [ Member data: returns featureListNodeObjPtr ]
> linked list so we don't need a counter

`-connection`

> [ Member data: returns char * ]

`-connectiontype`

> [ Member data: returns enum MS_CONNECTION_TYPE ]

`layerObj name map`

> [ Constructor: returns layerObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`getClass i`

> [ Member : returns classObj * ]

`draw map img`

> [ Member : returns int ]

`queryUsingPoint map point mode buffer`

> [ Member : returns queryResultObj * ]

`queryUsingRect map rect`

> [ Member : returns queryResultObj * ]

`queryUsingFeatures map results`

> [ Member : returns int ]

`queryUsingShape map shape`

> [ Member : returns queryResultObj * ]

`setProjection string`

> [ Member : returns int ]

`addFeature shape`

> [ Member : returns int ]

`classify string`

> [ Member : returns int ]

## 18. class mapObj

[ created from struct mapObj ]
structure for a map

`-name`

> [ Member data: returns char * ]
> small identifier for naming etc.

`-status`

> [ Member data: returns int ]
> is map creation on or off

`-height`

> [ Member data: returns int ]

`-width`

> [ Member data: returns int ]

`-layers`

> [ Member data: returns layerObj * ]

`-numlayers`

> [ Member data: returns int ]
> number of layers in mapfile

`-labelcache`

> [ Member data: returns labelCacheObj * ]
> we need this here so multiple feature processors can access it

`-transparent`

> [ Member data: returns int ]

`-interlace`

> [ Member data: returns int ]

`-extent`

> [ Member data: returns rectObj * ]
> map extent array

`-cellsize`

> [ Member data: returns double ]
> in map units

`-units`

> [ Member data: returns enum MS_UNITS ]
> units of the projection

`-scale`

> [ Member data: returns double ]
> scale of the output image

`-shapepath`

> [ Member data: returns char * ]
> where are the shape files located

`-tile`

> [ Member data: returns char * ]
> an optional tile name to use as well

`-palette`

> [ Member data: returns paletteObj * ]
> holds a map palette

`-imagecolor`

> [ Member data: returns colorObj * ]
> holds the initial image color value

`-imagetype`

> [ Member data: returns int ]

`-imagequality`

> [ Member data: returns int ]

`-projection`

> [ Member data: returns projectionObj * ]
> projection information for output map

`-reference`

> [ Member data: returns referenceMapObj * ]

`-scalebar`

> [ Member data: returns scalebarObj * ]

`-legend`

> [ Member data: returns legendObj * ]

`-web`

> [ Member data: returns webObj * ]

`mapObj name filename`

> [ Constructor: returns mapObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`getLayer i`

> [ Member : returns layerObj * ]

`getLayerByName name`

> [ Member : returns layerObj * ]

`addColor r g b`

> [ Member : returns int ]

`getSymbolByName type name`

> [ Member : returns int ]

`prepareQuery`

> [ Member : returns void ]

`prepareImage`

> [ Member : returns gdImagePtr ]

`draw`

> [ Member : returns gdImagePtr ]

`drawQueryMap results`

> [ Member : returns gdImagePtr ]

`drawLegend`

> [ Member : returns gdImagePtr ]

`drawScalebar`

> [ Member : returns gdImagePtr ]

`drawReferenceMap`

> [ Member : returns gdImagePtr ]

`embedScalebar img`

> [ Member : returns int ]

`embedLegend img`

> [ Member : returns int ]

`drawLabelCache img`

> [ Member : returns int ]

`nextLabel`

> [ Member : returns labelCacheMemberObj * ]

`queryUsingPoint point mode buffer`

> [ Member : returns queryResultObj * ]

`queryUsingRect rect`

> [ Member : returns queryResultObj * ]

`queryUsingFeatures results`

> [ Member : returns int ]

`queryUsingShape map shape`

> [ Member : returns queryResultObj * ]

`setProjection string`

> [ Member : returns int ]

`save filename`

> [ Member : returns int ]

`mapscript::msSaveImage img filename transparent interlace`

> [ returns int ]

`mapscript::msFreeImage img`

> [ returns void ]

`mapscript::MS_NOERR = 0`

> [ Constant : int ]

`mapscript::MS_IOERR = 1`

> [ Constant : int ]

`mapscript::MS_MEMERR = 2`

> [ Constant : int ]

`mapscript::MS_TYPEERR = 3`

> [ Constant : int ]

`mapscript::MS_SYMERR = 4`

> [ Constant : int ]

`mapscript::MS_REGEXERR = 5`

> [ Constant : int ]

`mapscript::MS_TTFERR = 6`

> [ Constant : int ]

`mapscript::MS_DBFERR = 7`

> [ Constant : int ]

`mapscript::MS_GDERR = 8`

> [ Constant : int ]

`mapscript::MS_IDENTERR = 9`

> [ Constant : int ]

`mapscript::MS_EOFERR = 10`

> [ Constant : int ]

`mapscript::MS_PROJERR = 11`

> [ Constant : int ]

`mapscript::MS_MISCERR = 12`

> [ Constant : int ]

`mapscript::MS_CGIERR = 13`

> [ Constant : int ]

`mapscript::MS_WEBERR = 14`

> [ Constant : int ]

`mapscript::MS_IMGERR = 15`

> [ Constant : int ]

`mapscript::MS_HASHERR = 16`

> [ Constant : int ]

`mapscript::MS_JOINERR = 17`

> [ Constant : int ]
> empty search results

`mapscript::MS_NOTFOUND = 18`

> [ Constant : int ]

`mapscript::MS_SHPERR = 19`

> [ Constant : int ]

`mapscript::MS_PARSEERR = 20`

> [ Constant : int ]

`mapscript::MS_SDEERR = 21`

> [ Constant : int ]

`mapscript::MS_OGRERR = 22`

> [ Constant : int ]

`mapscript::MS_NUMERRORCODES = 23`

> [ Constant : int ]

`mapscript::MESSAGELENGTH = 2048`

> [ Constant : int ]

`mapscript::ROUTINELENGTH = 64`

> [ Constant : int ]

## 19. class errorObj

[ created from struct errorObj ]

`-code`

> [ Member data: returns int ]

`-routine`

> [ Member data: returns char * ]

`-message`

> [ Member data: returns char * ]

`mapscript::ms_error_set { errorObj * } mapscript::ms_error_get`

> [ Global : errorObj ms_error ]

`mapscript::msSetError code message routine`

> [ returns void ]

`mapscript::msWriteError stream`

> [ returns void ]

## 20. class rectObj

[ created from struct rectObj ]

`-minx`

> [ Member data: returns double ]

`-miny`

> [ Member data: returns double ]

`-maxx`

> [ Member data: returns double ]

`-maxy`

> [ Member data: returns double ]

`rectObj name`

> [ Constructor: returns rectObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`fit width height`

> [ Member : returns double ]

`draw map layer img class_string label_string`

> [ Member : returns int ]

## 21. class pointObj

[ created from struct pointObj ]

`-x`

> [ Member data: returns double ]

`-y`

> [ Member data: returns double ]

`pointObj name`

> [ Constructor: returns pointObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`draw map layer img class_string label_string`

> [ Member : returns int ]

`distanceToPoint point`

> [ Member : returns double ]

`distanceToLine a b`

> [ Member : returns double ]

`distanceToShape shape`

> [ Member : returns double ]

## 22. class lineObj

[ created from struct lineObj ]

`-numpoints`

> [ Member data: returns int ]

`-point`

> [ Member data: returns pointObj * ]

`lineObj name`

> [ Constructor: returns lineObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`get i`

> [ Member : returns pointObj * ]

`add p`

> [ Member : returns int ]

## 23. class shapeObj

[ created from struct shapeObj ]

`-numlines`

> [ Member data: returns int ]

`-line`

> [ Member data: returns lineObj * ]

`-bounds`

> [ Member data: returns rectObj * ]

`-type`

> [ Member data: returns int ]

`-classindex`

> [ Member data: returns int ]

`-queryindex`

> [ Member data: returns int ]

`-text`

> [ Member data: returns char * ]

`shapeObj name type`

> [ Constructor: returns shapeObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`get i`

> [ Member : returns lineObj * ]

`add line`

> [ Member : returns int ]

`draw map layer img class_string label_string`

> [ Member : returns int ]

`setBounds`

> [ Member : returns void ]

`copy dest`

> [ Member : returns int ]

`contains point`

> [ Member : returns int ]

`intersects shape`

> [ Member : returns int ]

`mapscript::MS_SHAPEFILE_POINT = 1`

> [ Constant : int ]

`mapscript::MS_SHAPEFILE_ARC = 3`

> [ Constant : int ]

`mapscript::MS_SHAPEFILE_POLYGON = 5`

> [ Constant : int ]

`mapscript::MS_SHAPEFILE_MULTIPOINT = 8`

> [ Constant : int ]

## 24. class DBFInfo

[ created from struct DBFInfo ]

`-fp`

> [ Member data: returns FILE * ]

`-nRecords`

> [ Member data: returns int ]

`-nRecordLength`

> [ Member data: returns int ]

`-nHeaderLength`

> [ Member data: returns int ]

`-nFields`

> [ Member data: returns int ]

`-panFieldOffset`

> [ Member data: returns int * ]

`-panFieldSize`

> [ Member data: returns int * ]

`-panFieldDecimals`

> [ Member data: returns int * ]

`-pachFieldType`

> [ Member data: returns char * ]

`-pszHeader`

> [ Member data: returns char * ]

`-nCurrentRecord`

> [ Member data: returns int ]

`-bCurrentRecordModified`

> [ Member data: returns int ]

`-pszCurrentRecord`

> [ Member data: returns char * ]

`-bNoHeader`

> [ Member data: returns int ]

`-bUpdated`

> [ Member data: returns int ]

`getFieldName iField`

> [ Member : returns char * ]

`getFieldWidth iField`

> [ Member : returns int ]

`getFieldDecimals iField`

> [ Member : returns int ]

`getFieldType iField`

> [ Member : returns DBFFieldType ]

`mapscript::FTString = FTString`

> [ Constant : int ]

`mapscript::FTInteger = FTInteger`

> [ Constant : int ]

`mapscript::FTDouble = FTDouble`

> [ Constant : int ]

`mapscript::FTInvalid = FTInvalid`

> [ Constant : int ]

## 25. class shapefileObj

[ created from struct shapefileObj ]

`-source`

> [ Member data: returns char * ]
> full path to the shapefile data

`-hSHP`

> [ Member data: returns SHPHandle * ]
> .SHP/.SHX file pointer

`-type`

> [ Member data: returns int ]
> shape type

`-numshapes`

> [ Member data: returns int ]
> number of shapes

`-bounds`

> [ Member data: returns rectObj * ]
> shape extent

`-hDBF`

> [ Member data: returns DBFHandle ]
> .DBF file pointer

`shapefileObj name filename type`

> [ Constructor: returns shapefileObj * ]

`rename obj {}`

> [ Destructor: returns void ]

`get i shape`

> [ Member : returns int ]

`getTransformed map i shape`

> [ Member : returns int ]

`getExtent i rect`

> [ Member : returns void ]

`add shape`

> [ Member : returns int ]

`mapscript::DBFOpen pszDBFFile pszAccess`

> [ returns DBFHandle ]

`mapscript::DBFCreate pszDBFFile`

> [ returns DBFHandle ]

`mapscript::DBFGetFieldCount psDBF`

> [ returns int ]

`mapscript::DBFGetRecordCount psDBF`

> [ returns int ]

`mapscript::DBFAddField hDBF pszFieldName eType nWidth nDecimals`

> [ returns int ]

`mapscript::DBFGetFieldInfo psDBF iField pszFieldName pnWidth pnDecimals`

> [ returns DBFFieldType ]

`mapscript::DBFReadIntegerAttribute hDBF iShape iField`

> [ returns int ]

`mapscript::DBFReadDoubleAttribute hDBF iShape iField`

> [ returns double ]

`mapscript::DBFReadStringAttribute hDBF iShape iField`

> [ returns char * ]

`mapscript::DBFWriteIntegerAttribute hDBF iShape iField nFieldValue`

> [ returns int ]

`mapscript::DBFWriteDoubleAttribute hDBF iShape iField dFieldValue`

> [ returns int ]

`mapscript::DBFWriteStringAttribute hDBF iShape iField pszFieldValue`

> [ returns int ]

`mapscript::DBFClose hDBF`

> [ returns void ]