- doxygen documentation files
- added first docs to map.hpp
This commit is contained in:
parent
99d04bbf08
commit
59977745a0
6 changed files with 1876 additions and 9 deletions
1252
docs/doxygen/Doxyfile
Normal file
1252
docs/doxygen/Doxyfile
Normal file
File diff suppressed because it is too large
Load diff
358
docs/doxygen/doxygen.css
Normal file
358
docs/doxygen/doxygen.css
Normal file
|
@ -0,0 +1,358 @@
|
||||||
|
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
|
||||||
|
font-family: Geneva, Arial, Helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
BODY,TD {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
H1 {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 160%;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
CAPTION { font-weight: bold }
|
||||||
|
DIV.qindex {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #e8eef2;
|
||||||
|
border: 1px solid #84b0c7;
|
||||||
|
text-align: center;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
line-height: 140%;
|
||||||
|
}
|
||||||
|
DIV.nav {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #e8eef2;
|
||||||
|
border: 1px solid #84b0c7;
|
||||||
|
text-align: center;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
line-height: 140%;
|
||||||
|
}
|
||||||
|
DIV.navtab {
|
||||||
|
background-color: #e8eef2;
|
||||||
|
border: 1px solid #84b0c7;
|
||||||
|
text-align: center;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 15px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
TD.navtab {
|
||||||
|
font-size: 70%;
|
||||||
|
}
|
||||||
|
A.qindex {
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #1A419D;
|
||||||
|
}
|
||||||
|
A.qindex:visited {
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #1A419D
|
||||||
|
}
|
||||||
|
A.qindex:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #ddddff;
|
||||||
|
}
|
||||||
|
A.qindexHL {
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #6666cc;
|
||||||
|
color: #fbfbfb;
|
||||||
|
border: 1px double #9295C2;
|
||||||
|
}
|
||||||
|
A.qindexHL:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #6666cc;
|
||||||
|
color: #fbfbfb;
|
||||||
|
}
|
||||||
|
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #fbfbfb }
|
||||||
|
A.el { text-decoration: none; font-weight: bold }
|
||||||
|
A.elRef { font-weight: bold }
|
||||||
|
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||||
|
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||||
|
A.codeRef:link { font-weight: normal; color: #0000FF}
|
||||||
|
A.codeRef:visited { font-weight: normal; color: #0000FF}
|
||||||
|
A:hover { text-decoration: none; background-color: #f2f2ff }
|
||||||
|
DL.el { margin-left: -1cm }
|
||||||
|
.fragment {
|
||||||
|
font-family: monospace, fixed;
|
||||||
|
font-size: 95%;
|
||||||
|
}
|
||||||
|
PRE.fragment {
|
||||||
|
border: 1px solid #CCCCCC;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
margin-left: 2px;
|
||||||
|
margin-right: 8px;
|
||||||
|
padding-left: 6px;
|
||||||
|
padding-right: 6px;
|
||||||
|
padding-top: 4px;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
}
|
||||||
|
DIV.ah { background-color: black; font-weight: bold; color: #fbfbfb; margin-bottom: 3px; margin-top: 3px }
|
||||||
|
|
||||||
|
DIV.groupHeader {
|
||||||
|
margin-left: 16px;
|
||||||
|
margin-top: 12px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
|
||||||
|
BODY {
|
||||||
|
background: white;
|
||||||
|
color: black;
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
TD.indexkey {
|
||||||
|
background-color: #e8eef2;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-right : 10px;
|
||||||
|
padding-top : 2px;
|
||||||
|
padding-left : 10px;
|
||||||
|
padding-bottom : 2px;
|
||||||
|
margin-left : 0px;
|
||||||
|
margin-right : 0px;
|
||||||
|
margin-top : 2px;
|
||||||
|
margin-bottom : 2px;
|
||||||
|
border: 1px solid #CCCCCC;
|
||||||
|
}
|
||||||
|
TD.indexvalue {
|
||||||
|
background-color: #e8eef2;
|
||||||
|
font-style: italic;
|
||||||
|
padding-right : 10px;
|
||||||
|
padding-top : 2px;
|
||||||
|
padding-left : 10px;
|
||||||
|
padding-bottom : 2px;
|
||||||
|
margin-left : 0px;
|
||||||
|
margin-right : 0px;
|
||||||
|
margin-top : 2px;
|
||||||
|
margin-bottom : 2px;
|
||||||
|
border: 1px solid #CCCCCC;
|
||||||
|
}
|
||||||
|
TR.memlist {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
P.formulaDsp { text-align: center; }
|
||||||
|
IMG.formulaDsp { }
|
||||||
|
IMG.formulaInl { vertical-align: middle; }
|
||||||
|
SPAN.keyword { color: #008000 }
|
||||||
|
SPAN.keywordtype { color: #604020 }
|
||||||
|
SPAN.keywordflow { color: #e08000 }
|
||||||
|
SPAN.comment { color: #800000 }
|
||||||
|
SPAN.preprocessor { color: #806020 }
|
||||||
|
SPAN.stringliteral { color: #002080 }
|
||||||
|
SPAN.charliteral { color: #008080 }
|
||||||
|
.mdescLeft {
|
||||||
|
padding: 0px 8px 4px 8px;
|
||||||
|
font-size: 80%;
|
||||||
|
font-style: italic;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
border-top: 1px none #E0E0E0;
|
||||||
|
border-right: 1px none #E0E0E0;
|
||||||
|
border-bottom: 1px none #E0E0E0;
|
||||||
|
border-left: 1px none #E0E0E0;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.mdescRight {
|
||||||
|
padding: 0px 8px 4px 8px;
|
||||||
|
font-size: 80%;
|
||||||
|
font-style: italic;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
border-top: 1px none #E0E0E0;
|
||||||
|
border-right: 1px none #E0E0E0;
|
||||||
|
border-bottom: 1px none #E0E0E0;
|
||||||
|
border-left: 1px none #E0E0E0;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.memItemLeft {
|
||||||
|
padding: 1px 0px 0px 8px;
|
||||||
|
margin: 4px;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-top-color: #E0E0E0;
|
||||||
|
border-right-color: #E0E0E0;
|
||||||
|
border-bottom-color: #E0E0E0;
|
||||||
|
border-left-color: #E0E0E0;
|
||||||
|
border-top-style: solid;
|
||||||
|
border-right-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-left-style: none;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.memItemRight {
|
||||||
|
padding: 1px 8px 0px 8px;
|
||||||
|
margin: 4px;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-top-color: #E0E0E0;
|
||||||
|
border-right-color: #E0E0E0;
|
||||||
|
border-bottom-color: #E0E0E0;
|
||||||
|
border-left-color: #E0E0E0;
|
||||||
|
border-top-style: solid;
|
||||||
|
border-right-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-left-style: none;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.memTemplItemLeft {
|
||||||
|
padding: 1px 0px 0px 8px;
|
||||||
|
margin: 4px;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-top-color: #E0E0E0;
|
||||||
|
border-right-color: #E0E0E0;
|
||||||
|
border-bottom-color: #E0E0E0;
|
||||||
|
border-left-color: #E0E0E0;
|
||||||
|
border-top-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-left-style: none;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.memTemplItemRight {
|
||||||
|
padding: 1px 8px 0px 8px;
|
||||||
|
margin: 4px;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-top-color: #E0E0E0;
|
||||||
|
border-right-color: #E0E0E0;
|
||||||
|
border-bottom-color: #E0E0E0;
|
||||||
|
border-left-color: #E0E0E0;
|
||||||
|
border-top-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-left-style: none;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.memTemplParams {
|
||||||
|
padding: 1px 0px 0px 8px;
|
||||||
|
margin: 4px;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-top-color: #E0E0E0;
|
||||||
|
border-right-color: #E0E0E0;
|
||||||
|
border-bottom-color: #E0E0E0;
|
||||||
|
border-left-color: #E0E0E0;
|
||||||
|
border-top-style: solid;
|
||||||
|
border-right-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-left-style: none;
|
||||||
|
color: #606060;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.search { color: #003399;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
FORM.search {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
INPUT.search { font-size: 75%;
|
||||||
|
color: #000080;
|
||||||
|
font-weight: normal;
|
||||||
|
background-color: #e8eef2;
|
||||||
|
}
|
||||||
|
TD.tiny { font-size: 75%;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #1A41A8;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: #2A3798;
|
||||||
|
}
|
||||||
|
.dirtab { padding: 4px;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: 1px solid #84b0c7;
|
||||||
|
}
|
||||||
|
TH.dirtab { background: #e8eef2;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
HR { height: 1px;
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Style for detailed member documentation */
|
||||||
|
.memtemplate {
|
||||||
|
font-size: 80%;
|
||||||
|
color: #606060;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.memnav {
|
||||||
|
background-color: #e8eef2;
|
||||||
|
border: 1px solid #84b0c7;
|
||||||
|
text-align: center;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 15px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
.memitem {
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #eef3f5;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #dedeee;
|
||||||
|
-moz-border-radius: 8px 8px 8px 8px;
|
||||||
|
}
|
||||||
|
.memname {
|
||||||
|
white-space: nowrap;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.memdoc{
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
.memproto {
|
||||||
|
background-color: #d5e1e8;
|
||||||
|
width: 100%;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #84b0c7;
|
||||||
|
font-weight: bold;
|
||||||
|
-moz-border-radius: 8px 8px 8px 8px;
|
||||||
|
}
|
||||||
|
.paramkey {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.paramtype {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.paramname {
|
||||||
|
color: #602020;
|
||||||
|
font-style: italic;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
/* End Styling for detailed member documentation */
|
||||||
|
|
||||||
|
/* for the tree view */
|
||||||
|
.ftvtree {
|
||||||
|
font-family: sans-serif;
|
||||||
|
margin:0.5em;
|
||||||
|
}
|
||||||
|
.directory { font-size: 9pt; font-weight: bold; }
|
||||||
|
.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
|
||||||
|
.directory > h3 { margin-top: 0; }
|
||||||
|
.directory p { margin: 0px; white-space: nowrap; }
|
||||||
|
.directory div { display: none; margin: 0px; }
|
||||||
|
.directory img { vertical-align: -30%; }
|
16
docs/doxygen/header.html
Normal file
16
docs/doxygen/header.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||||
|
<title>Mapnik: Main Page</title>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class=nav>
|
||||||
|
<table bgcolor=#4f96d2 border=0 align=center><tr>
|
||||||
|
<td><img src=images/mapnik-logo.png alt=Mapnik></td>
|
||||||
|
<td width=100% align=center>
|
||||||
|
C++ API DOCUMENTATION
|
||||||
|
</td>
|
||||||
|
</tr></table>
|
||||||
|
</div>
|
||||||
|
|
BIN
docs/doxygen/html/images/mapnik-logo.png
Normal file
BIN
docs/doxygen/html/images/mapnik-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
102
docs/doxygen/tabs.css
Normal file
102
docs/doxygen/tabs.css
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||||
|
|
||||||
|
DIV.tabs
|
||||||
|
{
|
||||||
|
float : left;
|
||||||
|
width : 100%;
|
||||||
|
background : url("tab_b.gif") repeat-x bottom;
|
||||||
|
margin-bottom : 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs UL
|
||||||
|
{
|
||||||
|
margin : 0px;
|
||||||
|
padding-left : 10px;
|
||||||
|
list-style : none;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs LI, DIV.tabs FORM
|
||||||
|
{
|
||||||
|
display : inline;
|
||||||
|
margin : 0px;
|
||||||
|
padding : 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs FORM
|
||||||
|
{
|
||||||
|
float : right;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs A
|
||||||
|
{
|
||||||
|
float : left;
|
||||||
|
background : url("tab_r.gif") no-repeat right top;
|
||||||
|
border-bottom : 1px solid #84B0C7;
|
||||||
|
font-size : x-small;
|
||||||
|
font-weight : bold;
|
||||||
|
text-decoration : none;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs A:hover
|
||||||
|
{
|
||||||
|
background-position: 100% -150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs A:link, DIV.tabs A:visited,
|
||||||
|
DIV.tabs A:active, DIV.tabs A:hover
|
||||||
|
{
|
||||||
|
color: #1A419D;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs SPAN
|
||||||
|
{
|
||||||
|
float : left;
|
||||||
|
display : block;
|
||||||
|
background : url("tab_l.gif") no-repeat left top;
|
||||||
|
padding : 5px 9px;
|
||||||
|
white-space : nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs INPUT
|
||||||
|
{
|
||||||
|
float : right;
|
||||||
|
display : inline;
|
||||||
|
font-size : 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs TD
|
||||||
|
{
|
||||||
|
font-size : x-small;
|
||||||
|
font-weight : bold;
|
||||||
|
text-decoration : none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||||
|
DIV.tabs SPAN {float : none;}
|
||||||
|
/* End IE5-Mac hack */
|
||||||
|
|
||||||
|
DIV.tabs A:hover SPAN
|
||||||
|
{
|
||||||
|
background-position: 0% -150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs LI#current A
|
||||||
|
{
|
||||||
|
background-position: 100% -150px;
|
||||||
|
border-width : 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.tabs LI#current SPAN
|
||||||
|
{
|
||||||
|
background-position: 0% -150px;
|
||||||
|
padding-bottom : 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.nav
|
||||||
|
{
|
||||||
|
background : none;
|
||||||
|
border : none;
|
||||||
|
border-bottom : 1px solid #84B0C7;
|
||||||
|
}
|
|
@ -27,7 +27,6 @@
|
||||||
#include <mapnik/feature_type_style.hpp>
|
#include <mapnik/feature_type_style.hpp>
|
||||||
#include <mapnik/datasource.hpp>
|
#include <mapnik/datasource.hpp>
|
||||||
#include <mapnik/layer.hpp>
|
#include <mapnik/layer.hpp>
|
||||||
#include <boost/optional/optional.hpp>
|
|
||||||
|
|
||||||
namespace mapnik
|
namespace mapnik
|
||||||
{
|
{
|
||||||
|
@ -42,50 +41,190 @@ namespace mapnik
|
||||||
std::map<std::string,feature_type_style> styles_;
|
std::map<std::string,feature_type_style> styles_;
|
||||||
std::vector<Layer> layers_;
|
std::vector<Layer> layers_;
|
||||||
Envelope<double> currentExtent_;
|
Envelope<double> currentExtent_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef std::map<std::string,feature_type_style>::const_iterator const_style_iterator;
|
typedef std::map<std::string,feature_type_style>::const_iterator const_style_iterator;
|
||||||
typedef std::map<std::string,feature_type_style>::iterator style_iterator;
|
typedef std::map<std::string,feature_type_style>::iterator style_iterator;
|
||||||
|
|
||||||
|
/*! \brief Default constructor.
|
||||||
|
*
|
||||||
|
* Creates a map with these parameters:
|
||||||
|
* - width = 400
|
||||||
|
* - height = 400
|
||||||
|
* - projection = "+proj=latlong +datum=WGS84"
|
||||||
|
*/
|
||||||
Map();
|
Map();
|
||||||
Map(int width, int height, std::string const& srs="+proj=latlong +datum=WGS84");
|
|
||||||
Map(const Map& rhs);
|
|
||||||
Map& operator=(const Map& rhs);
|
|
||||||
std::map<std::string,feature_type_style> const& styles() const;
|
|
||||||
std::map<std::string,feature_type_style> & styles();
|
|
||||||
|
|
||||||
|
/*! \brief Constructor
|
||||||
|
* @param width Initial map width.
|
||||||
|
* @param height Initial map height.
|
||||||
|
* @param srs Initial map projection.
|
||||||
|
*/
|
||||||
|
Map(int width, int height, std::string const& srs="+proj=latlong +datum=WGS84");
|
||||||
|
|
||||||
|
/*! \brief Copy Constructur.
|
||||||
|
*
|
||||||
|
* @param rhs Map to copy from.
|
||||||
|
*/
|
||||||
|
Map(const Map& rhs);
|
||||||
|
|
||||||
|
/*! \brief Assignment operator
|
||||||
|
*
|
||||||
|
* TODO: to be documented
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Map& operator=(const Map& rhs);
|
||||||
|
|
||||||
|
/*! \brief Get first iterator in styles.
|
||||||
|
* @return Constant style iterator.
|
||||||
|
*/
|
||||||
const_style_iterator begin_styles() const;
|
const_style_iterator begin_styles() const;
|
||||||
|
|
||||||
|
/*! \brief Get last iterator in styles.
|
||||||
|
* @return Constant style iterator.
|
||||||
|
*/
|
||||||
const_style_iterator end_styles() const;
|
const_style_iterator end_styles() const;
|
||||||
|
|
||||||
|
/*! \brief Get first iterator in styles.
|
||||||
|
* @return Non-constant style iterator.
|
||||||
|
*/
|
||||||
style_iterator begin_styles();
|
style_iterator begin_styles();
|
||||||
|
|
||||||
|
/*! \brief Get last iterator in styles.
|
||||||
|
* @return Non-constant style iterator.
|
||||||
|
*/
|
||||||
style_iterator end_styles();
|
style_iterator end_styles();
|
||||||
|
|
||||||
|
/*! \brief Insert a style in the map.
|
||||||
|
* @param name The name of the style.
|
||||||
|
* @param style The style to insert.
|
||||||
|
* @return true If success.
|
||||||
|
* @return false If no success.
|
||||||
|
*/
|
||||||
bool insert_style(std::string const& name,feature_type_style const& style);
|
bool insert_style(std::string const& name,feature_type_style const& style);
|
||||||
|
|
||||||
|
/*! \brief Remove a style from the map.
|
||||||
|
* @param The name of the style.
|
||||||
|
*/
|
||||||
void remove_style(const std::string& name);
|
void remove_style(const std::string& name);
|
||||||
|
|
||||||
|
/*! \brief Find a style.
|
||||||
|
* @param name The name of the style.
|
||||||
|
* @return The style if found. If not found return the default map style.
|
||||||
|
*/
|
||||||
feature_type_style const& find_style(std::string const& name) const;
|
feature_type_style const& find_style(std::string const& name) const;
|
||||||
|
|
||||||
|
/*! \brief Get number of all layers.
|
||||||
|
*/
|
||||||
size_t layerCount() const;
|
size_t layerCount() const;
|
||||||
|
|
||||||
|
/*! \brief Add a layer to the map.
|
||||||
|
* @param l The layer to add.
|
||||||
|
*/
|
||||||
void addLayer(const Layer& l);
|
void addLayer(const Layer& l);
|
||||||
|
|
||||||
|
/*! \brief Get a layer.
|
||||||
|
* @param index Layer number.
|
||||||
|
* @return Constant layer.
|
||||||
|
*/
|
||||||
const Layer& getLayer(size_t index) const;
|
const Layer& getLayer(size_t index) const;
|
||||||
|
|
||||||
|
/*! \brief Get a layer.
|
||||||
|
* @param index Layer number.
|
||||||
|
* @return Non-constant layer.
|
||||||
|
*/
|
||||||
Layer& getLayer(size_t index);
|
Layer& getLayer(size_t index);
|
||||||
|
|
||||||
|
/*! \brief Remove a layer.
|
||||||
|
* @param index Layer number.
|
||||||
|
*/
|
||||||
void removeLayer(size_t index);
|
void removeLayer(size_t index);
|
||||||
|
|
||||||
|
/*! \brief Get all layers.
|
||||||
|
* @return Constant layers.
|
||||||
|
*/
|
||||||
std::vector<Layer> const& layers() const;
|
std::vector<Layer> const& layers() const;
|
||||||
|
|
||||||
|
/*! \brief Get all layers.
|
||||||
|
* @return Non-constant layers.
|
||||||
|
*/
|
||||||
std::vector<Layer> & layers();
|
std::vector<Layer> & layers();
|
||||||
|
|
||||||
|
/*! \brief Remove all layers and styles from the map.
|
||||||
|
*/
|
||||||
void remove_all();
|
void remove_all();
|
||||||
|
|
||||||
|
/*! \brief Get map width.
|
||||||
|
*/
|
||||||
unsigned getWidth() const;
|
unsigned getWidth() const;
|
||||||
|
|
||||||
|
/*! \brief Get map height.
|
||||||
|
*/
|
||||||
unsigned getHeight() const;
|
unsigned getHeight() const;
|
||||||
|
|
||||||
|
/*! \brief Set map width.
|
||||||
|
*/
|
||||||
void setWidth(unsigned width);
|
void setWidth(unsigned width);
|
||||||
|
|
||||||
|
/*! \brief Set map height.
|
||||||
|
*/
|
||||||
void setHeight(unsigned height);
|
void setHeight(unsigned height);
|
||||||
|
|
||||||
|
/*! \brief Resize the map.
|
||||||
|
*/
|
||||||
void resize(unsigned width,unsigned height);
|
void resize(unsigned width,unsigned height);
|
||||||
|
|
||||||
|
/*! \brief Get the map projection.
|
||||||
|
* @return Map projection.
|
||||||
|
*/
|
||||||
std::string const& srs() const;
|
std::string const& srs() const;
|
||||||
|
|
||||||
|
/*! \brief Set the map projection.
|
||||||
|
* @param srs Map projection.
|
||||||
|
*/
|
||||||
void set_srs(std::string const& srs);
|
void set_srs(std::string const& srs);
|
||||||
void set_background(const Color& c);
|
|
||||||
boost::optional<Color> const& background() const;
|
/*! \brief Set the map background color.
|
||||||
void zoom(double zoom);
|
* @param c Background color.
|
||||||
|
*/
|
||||||
|
void setBackground(const Color& c);
|
||||||
|
|
||||||
|
/*! \brief Get the map background color.
|
||||||
|
* @return Background color.
|
||||||
|
*/
|
||||||
|
const Color& getBackground() const;
|
||||||
|
|
||||||
|
/*! \brief Zoom the map at the current position.
|
||||||
|
* @param factor The factor how much the map is zoomed in or out.
|
||||||
|
*/
|
||||||
|
void zoom(double factor);
|
||||||
|
|
||||||
|
/*! \brief Zoom the map to a bounding box.
|
||||||
|
*
|
||||||
|
* Aspect is handled automatic if not fitting to width/height.
|
||||||
|
* @param box The bounding box where to zoom.
|
||||||
|
*/
|
||||||
void zoomToBox(const Envelope<double>& box);
|
void zoomToBox(const Envelope<double>& box);
|
||||||
|
|
||||||
|
/*! \brief Zoom the map to show all data.
|
||||||
|
*/
|
||||||
void zoom_all();
|
void zoom_all();
|
||||||
|
|
||||||
void pan(int x,int y);
|
void pan(int x,int y);
|
||||||
|
|
||||||
void pan_and_zoom(int x,int y,double zoom);
|
void pan_and_zoom(int x,int y,double zoom);
|
||||||
|
|
||||||
|
/*! \brief Get current bounding box.
|
||||||
|
* @return The current bounding box.
|
||||||
|
*/
|
||||||
const Envelope<double>& getCurrentExtent() const;
|
const Envelope<double>& getCurrentExtent() const;
|
||||||
|
|
||||||
double scale() const;
|
double scale() const;
|
||||||
|
|
||||||
CoordTransform view_transform() const;
|
CoordTransform view_transform() const;
|
||||||
|
|
||||||
featureset_ptr query_point(unsigned index, double x, double y) const;
|
featureset_ptr query_point(unsigned index, double x, double y) const;
|
||||||
|
|
||||||
featureset_ptr query_map_point(unsigned index, double x, double y) const;
|
featureset_ptr query_map_point(unsigned index, double x, double y) const;
|
||||||
~Map();
|
~Map();
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue