changed attributes of header files
[platform/core/location/maps-plugin-here.git] / inc / engine / maps / GeoProjectionNode.h
1 /*
2  * Copyright (C) 2013 HERE Global B.V. All rights reserved.
3  * This software, including documentation, is protected by copyright controlled by
4  * HERE Global B.V. (“Software”). All rights are reserved. Copying, including reproducing,
5  * storing, adapting or translating, any or all of this material requires the prior
6  * written consent of HERE Global B.V. You may use this
7  * Software in accordance with the terms and conditions defined in the
8  * HERE Location Platform Services Terms and Conditions, available at
9  * http://developer.here.com/terms-conditions-base
10  *
11  * As an additional permission to the above, you may distribute Software,
12  * in object code format as part of an Application, according to, and subject to, terms and
13  * conditions defined in the Tizen Software Development kit (“SDK”) License Agreement.
14  * You may distribute such object code format Application under terms of your choice,
15  * provided that the header and source files of the Software have not been modified.
16  */
17
18 #ifndef GEOPROJECTIONNODE_P_H
19 #define GEOPROJECTIONNODE_P_H
20
21 #include <vector>
22 #include <tr1/memory>
23
24 #include "common/HereMaps_global.h"
25
26 #ifndef TIZEN_MIGRATION
27 #include <FGraphics.h>
28 #include <FMediaImage.h>
29 #endif
30
31 #include "internal/DoublePoint.h"
32 #include "internal/DoublePoint3.h"
33 #ifdef TIZEN_MIGRATION
34 // chanywa #include "base/BaseByteBuffer.h"
35 #endif
36
37 #include "maps/GeoTile.h"
38
39 HERE_MAPS_BEGIN_NAMESPACE
40
41 class GeoProjectionNode
42 {
43 public:
44     GeoProjectionNode();
45     GeoProjectionNode(const DrawableBitmapPtr& image);
46     ~GeoProjectionNode();
47
48     std::vector<DoublePoint3> m_points;
49     std::vector<DoublePoint3> m_subPoints;
50
51     DrawableBitmapPtr m_image;
52     DrawableBitmapPtr m_layer;
53     double m_r;
54     double m_x;
55     double m_y;
56     bool m_clipped;
57     bool m_culled;
58     bool m_split;
59     bool m_requestImage;
60     bool m_peekImage;
61     bool m_postdrawing;
62     bool m_drawing;
63     bool m_predrawing;
64     int m_splitCount;
65     int m_tx;
66     int m_ty;
67     int m_stx;
68     int m_sty;
69     int m_rtx;
70     int m_rty;
71     int m_rlevel;
72     int m_level;
73     float m_opacity;
74
75     enum{ NUM_OF_CHILDREN = 4 };
76     GeoProjectionNode* m_children[NUM_OF_CHILDREN];
77
78     void setImage(const DrawableBitmapPtr& image);
79     void applyImage(const DrawableBitmapPtr& image,const float opacity);
80
81     bool requestImage(){ return m_requestImage; }
82     bool peekImage(){ return m_peekImage; }
83     bool split(){ return m_split; }
84     bool postdrawing(){ return m_postdrawing && m_image != 0; }
85     bool drawing(){ return m_drawing && m_image != 0; }
86     bool predrawing(){ return m_predrawing && m_image != 0; }
87
88 private:
89     HERE_MAPS_NO_COPY_NO_ASSIGN(GeoProjectionNode);
90 };
91
92 HERE_MAPS_END_NAMESPACE
93
94 #endif // QGEOPROJECTED_P_H