clsCrSurf.h
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**************************************************************************
* file: clsCrSurf.h
* Author: qingxiongf
* Date: 2021-12-12 22:58:23
* Email: qingxiongf@chinadci.com
* copyright: 广州城市信息研究所有限公司
***************************************************************************/
#ifndef __clsCrSurf_h__
#define __clsCrSurf_h__
#include "dmap_core.h"
#include<cairo/cairo.h>
#define gridsize 2 //网格大小
namespace DmapCore_30
{
/*
这个类是为了处理有些地方绘图需要传cairo_t,有些地方需要传 surface_t(比如agg绘线) 而出现的
绘图过程中一律传递这类对象即可
*/
/*
是否改为这种包装??? 之前的包装不要了???
*/
class CORE_EXPORT clsCrSurf
{
public:
clsCrSurf(cairo_surface_t* surface);
clsCrSurf(cairo_surface_t* surface,int w,int h,bool isImage);
~clsCrSurf();
bool Release();
bool SetSurf(cairo_surface_t* surface);
bool IsImage(bool b);
cairo_t* m_pCr;
cairo_surface_t* m_pSurf;
int m_iW;
int m_iH;
int m_iN; //引用计数
/*
文字避让部分
*/
char* m_pFlag;
int m_iFlagW;
int m_iFlagH;
bool InitFlag(); // 文字避让数组初始化
unsigned int m_iBGColor;
bool m_isImage = true;
private:
void DestroyCr();
void DestroySurf();
};
}
#endif // __clsCrSurf_h__