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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
From 6f1ab5f4b470bcf4e7e72aac6e2f7f6ee3e7b424 Mon Sep 17 00:00:00 2001
From: Tom Hughes <tom@compton.nu>
Date: Sat, 22 Jun 2013 12:16:42 +0100
Subject: [PATCH 13/15] Modify agg conv classes to allow access to the original
geometry type
---
include/agg_conv_adaptor_vcgen.h | 2 ++
include/agg_conv_adaptor_vpgen.h | 1 +
include/agg_conv_clip_polygon.h | 1 +
include/agg_conv_clip_polyline.h | 1 +
include/agg_conv_smooth_poly1.h | 2 ++
5 files changed, 7 insertions(+)
diff --git a/include/agg_conv_adaptor_vcgen.h b/include/agg_conv_adaptor_vcgen.h
index 7bd9b07..fef4579 100644
--- a/include/agg_conv_adaptor_vcgen.h
+++ b/include/agg_conv_adaptor_vcgen.h
@@ -38,6 +38,7 @@ namespace agg
void rewind(unsigned) {}
unsigned vertex(double*, double*) { return path_cmd_stop; }
+ unsigned type() const { return 0; }
};
@@ -73,6 +74,7 @@ namespace agg
}
unsigned vertex(double* x, double* y);
+ unsigned type() const { return m_source->type(); }
private:
// Prohibit copying
diff --git a/include/agg_conv_adaptor_vpgen.h b/include/agg_conv_adaptor_vpgen.h
index dca9415..a39102d 100644
--- a/include/agg_conv_adaptor_vpgen.h
+++ b/include/agg_conv_adaptor_vpgen.h
@@ -42,6 +42,7 @@ namespace agg
void rewind(unsigned path_id);
unsigned vertex(double* x, double* y);
+ unsigned type() const { return m_source->type(); }
private:
conv_adaptor_vpgen(const conv_adaptor_vpgen<VertexSource, VPGen>&);
diff --git a/include/agg_conv_clip_polygon.h b/include/agg_conv_clip_polygon.h
index 3c34590..e417a7d 100644
--- a/include/agg_conv_clip_polygon.h
+++ b/include/agg_conv_clip_polygon.h
@@ -60,6 +60,7 @@ namespace agg
double y1() const { return base_type::vpgen().y1(); }
double x2() const { return base_type::vpgen().x2(); }
double y2() const { return base_type::vpgen().y2(); }
+ unsigned type() const { return base_type::type(); }
private:
conv_clip_polygon(const conv_clip_polygon<VertexSource>&);
diff --git a/include/agg_conv_clip_polyline.h b/include/agg_conv_clip_polyline.h
index d45067f..0de4b57 100644
--- a/include/agg_conv_clip_polyline.h
+++ b/include/agg_conv_clip_polyline.h
@@ -60,6 +60,7 @@ namespace agg
double y1() const { return base_type::vpgen().y1(); }
double x2() const { return base_type::vpgen().x2(); }
double y2() const { return base_type::vpgen().y2(); }
+ unsigned type() const { return base_type::type(); }
private:
conv_clip_polyline(const conv_clip_polyline<VertexSource>&);
diff --git a/include/agg_conv_smooth_poly1.h b/include/agg_conv_smooth_poly1.h
index 15f7f8d..0956c4e 100644
--- a/include/agg_conv_smooth_poly1.h
+++ b/include/agg_conv_smooth_poly1.h
@@ -48,6 +48,7 @@ namespace agg
void smooth_value(double v) { base_type::generator().smooth_value(v); }
double smooth_value() const { return base_type::generator().smooth_value(); }
+ unsigned type() const { return base_type::type(); }
private:
conv_smooth_poly1(const conv_smooth_poly1<VertexSource>&);
@@ -70,6 +71,7 @@ namespace agg
void smooth_value(double v) { m_smooth.generator().smooth_value(v); }
double smooth_value() const { return m_smooth.generator().smooth_value(); }
+ unsigned type() const { return m_smooth.type(); }
private:
conv_smooth_poly1_curve(const conv_smooth_poly1_curve<VertexSource>&);
--
1.8.1.4
|