All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Enums.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file Enums.h
22 
23  \brief Declaration of enums for the MapTools module.
24 */
25 
26 #ifndef __TERRALIB_MAPTOOLS_INTERNAL_ENUMS_H
27 #define __TERRALIB_MAPTOOLS_INTERNAL_ENUMS_H
28 
29 namespace te
30 {
31  namespace map
32  {
33  /*!
34  \enum ImageType
35 
36  \brief This enum specifies the possible input and output image formats supported by the canvas API.
37  */
38  enum ImageType
39  {
40  PNG = 1, /*!< Portable Network Graphics (PNG) support. */
41  JPEG = 2, /*!< Joint Photographic Experts Group (JPEG) support. */
42  GIF = 3, /*!< Graphics Interchange Format (GIF) support. */
43  BMP = 4, /*!< Window Bitmap (BMP) support. */
44  XPM = 5, /*!< X PixMap support. */
45  XBM = 6, /*!< X Bitmap support. */
46  WBMP = 7, /*!< Wireless Application Protocol Bitmap. */
47  TIFF = 8 /*!< Tag Image File Format (TIFF) support. */
48  };
49 
50  /*!
51  \enum LineDashStyle
52 
53  \brief This enum encodes enumerated values telling how lines should be drawn. e.g. as a plain line or dash line, etc.
54  */
56  {
57  NoLine = 0, /*!< No line at all. */
58  SolidLine = 1, /*!< A plain line. */
59  DashLine = 2, /*!< Dashes separated by a few pixels. */
60  DotLine = 3, /*!< Dots separated by a few pixels. */
61  DashDotLine = 4, /*!< Alternate dots and dashes. */
62  DashDotDotLine = 5, /*!< One dash, two dots, one dash, two dots. */
63  CustomDashLine = 6 /*!< A custom dash pattern. i.e. defined by a serie of double values. */
64  };
65 
66  /*!
67  \enum LineCapStyle
68 
69  \brief This enum encodes enumerated values telling how line strings should be capped (at the two ends of the line string).
70  */
72  {
73  ButtCap = 0x00, /*!< A square line end that does not cover the end point of the line. */
74  SquareCap = 0x10, /*!< A square line end that covers the end point and extends beyond it by half the line width. */
75  RoundCap = 0x20 /*!< A rounded line end. */
76  };
77 
78  /*!
79  \enum LineJoinStyle
80 
81  \brief This enum encodes enumerated values telling how line strings should be joined (between line segments).
82  */
84  {
85  MiterJoin = 0x00, /*!< The outer edges of the lines are extended to meet at an angle, and this area is filled. */
86  BevelJoin = 0x40, /*!< The triangular notch between the two lines is filled. */
87  RoundJoin = 0x80 /*!< A circular arc between the two lines is filled. */
88  };
89 
90  /*!
91  \enum MarkerType
92 
93  \brief This enum specifies ??????.
94  */
96  {
97  MarkerNone = 0, /*!< ???? */
98  MarkerSquare = 1, /*!< ???? */
99  MarkerDiamond = 2, /*!< ???? */
100  MarkerCircle = 3, /*!< ???? */
101  MarkerCrossedCircle = 4, /*!< ???? */
102  MarkerSemiEllipseLeft = 5, /*!< ???? */
103  MarkerSemiEllipseRight = 6, /*!< ???? */
104  MarkerSemiEllipseUp = 7, /*!< ???? */
105  MarkerSemiEllipseDown = 8, /*!< ???? */
106  MarkerTriangleLeft = 9, /*!< ???? */
107  MarkerTriangleRight = 10, /*!< ???? */
108  MarkerTriangleUp = 11, /*!< ???? */
109  MarkerTriangleDown = 12, /*!< ???? */
110  MarkerFourRays = 13, /*!< ???? */
111  MarkerCross = 14, /*!< ???? */
112  MarkerX = 15, /*!< ???? */
113  MarkerDash = 16, /*!< ???? */
114  MarkerDot = 17, /*!< ???? */
115  MarkerPixel = 18, /*!< ???? */
116  MarkerPattern = 19 /*!< icon marker */
117  };
118 
119  /*!
120  \enum AlignType
121 
122  \brief This enum contains values to control the alignment of components (like Canvas and MapDisplay).
123  */
125  {
126  Top = 1, /*!< Top. */
127  Center = 2, /*!< Center. */
128  Bottom = 3, /*!< Bottom. */
129  Left = 4, /*!< Left. */
130  Right = 5 /*!< Right. */
131  };
132 
133  /*!
134  \enum Visibility
135 
136  \brief Each layer can have three states of visibility.
137  */
139  {
140  NOT_VISIBLE, /*!< If the layer is not visible and if it has children layers and they are not visible too. */
141  VISIBLE, /*!< If the layer is visible or all its children are visible too. */
142  PARTIALLY_VISIBLE /*!< If some of the children layer are visible and some are not. */
143  };
144 
145  /*!
146  \enum GroupingType
147 
148  \brief The grouping type associated to the layer.
149  */
151  {
152  EQUAL_STEPS, /*!< If the legend was generated using the equal steps algorithm. */
153  QUANTIL, /*!< If the legend was generated using the quantil algorithm. */
154  STD_DEVIATION, /*!< If the legend was generated using the standard deviation algorithm. */
155  UNIQUE_VALUE /*!< If the legend was generated using the unique value algorithm. */
156  };
157 
158  /*!
159  \enum ChartType
160 
161  \brief The chart types.
162  */
164  {
165  Pie, /*!< A pie chart. */
166  Bar /*!< A bar chart. */
167  };
168 
169  /*!
170  \enum CompositionMode
171 
172  \brief The composition mode used to render the canvas
173  */
175  {
176  SourceOver, /*!< This is the default mode. The alpha of the source is used to blend the pixel on top of the destination. */
177  DestinationOver, /*!< The alpha of the destination is used to blend it on top of the source pixels. */
178  Clear, /*!< The pixels in the destination are cleared (set to fully transparent) independent of the source. */
179  Source, /*!< The output is the source pixel. (This means a basic copy operation and is identical to SourceOver when the source pixel is opaque). */
180  Destination, /*!< The output is the destination pixel. This means that the blending has no effect. */
181  SourceIn, /*!< The output is the source, where the alpha is reduced by that of the destination. */
182  DestinationIn, /*!< The output is the destination, where the alpha is reduced by that of the source. */
183  SourceOut, /*!< The output is the source, where the alpha is reduced by the inverse of destination. */
184  DestinationOut, /*!< The output is the destination, where the alpha is reduced by the inverse of the source. */
185  SourceAtop, /*!< The source pixel is blended on top of the destination, with the alpha of the source pixel reduced by the alpha of the destination pixel. */
186  DestinationAtop, /*!< The destination pixel is blended on top of the source, with the alpha of the destination pixel is reduced by the alpha of the destination pixel. */
187  Xor, /*!< The source, whose alpha is reduced with the inverse of the destination alpha, is merged with the destination, whose alpha is reduced by the inverse of the source alpha. */
188  Plus, /*!< Both the alpha and color of the source and destination pixels are added together. */
189  Multiply, /*!< The output is the source color multiplied by the destination. Multiplying a color with white leaves the color unchanged, while multiplying a color with black produces black. */
190  Screen, /*!< The source and destination colors are inverted and then multiplied. Screening a color with white produces white, whereas screening a color with black leaves the color unchanged. */
191  Overlay, /*!< Multiplies or screens the colors depending on the destination color. The destination color is mixed with the source color to reflect the lightness or darkness of the destination. */
192  Darken, /*!< The darker of the source and destination colors is selected. */
193  Lighten, /*!< The lighter of the source and destination colors is selected. */
194  ColorDodge, /*!< The destination color is brightened to reflect the source color. A black source color leaves the destination color unchanged. */
195  ColorBurn, /*!< The destination color is darkened to reflect the source color. A white source color leaves the destination color unchanged. */
196  HardLight, /*!< Multiplies or screens the colors depending on the source color. A light source color will lighten the destination color, whereas a dark source color will darken the destination color. */
197  SoftLight, /*!< Darkens or lightens the colors depending on the source color. Similar to CompositionMode_HardLight. */
198  Difference, /*!< Subtracts the darker of the colors from the lighter. Painting with white inverts the destination color, whereas painting with black leaves the destination color unchanged. */
199  Exclusion /*!< Similar to CompositionMode_Difference, but with a lower contrast. Painting with white inverts the destination color, whereas painting with black leaves the destination color unchanged. */
200  };
201 
202  } // end namespace map
203 } // end namespace te
204 
205 #endif // __TERRALIB_MAPTOOLS_INTERNAL_ENUMS_H
206 
ChartType
The chart types.
Definition: Enums.h:163
ImageType
This enum specifies the possible input and output image formats supported by the canvas API...
Definition: Enums.h:38
AlignType
This enum contains values to control the alignment of components (like Canvas and MapDisplay)...
Definition: Enums.h:124
CompositionMode
The composition mode used to render the canvas.
Definition: Enums.h:174
LineCapStyle
This enum encodes enumerated values telling how line strings should be capped (at the two ends of the...
Definition: Enums.h:71
PtMarkerType
Definition: Enums.h:95
GroupingType
The grouping type associated to the layer.
Definition: Enums.h:150
LineDashStyle
This enum encodes enumerated values telling how lines should be drawn. e.g. as a plain line or dash l...
Definition: Enums.h:55
LineJoinStyle
This enum encodes enumerated values telling how line strings should be joined (between line segments)...
Definition: Enums.h:83
Visibility
Each layer can have three states of visibility.
Definition: Enums.h:138