Mercurial > octave
annotate libinterp/corefcn/text-renderer.h @ 30041:f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
* ft-text-renderer.cc: Use "m_" prefix for member variables of ft_font class.
* text-renderer.cc, text-renderer.h: Use "m_" prefix for member variables of
text_renderer class.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 25 Aug 2021 11:25:41 -0700 |
parents | af41ebf3d1b3 |
children | a61e1a0f6024 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
3 // Copyright (C) 2009-2021 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
21209 | 25 |
26 #if ! defined (octave_text_renderer_h) | |
27 #define octave_text_renderer_h 1 | |
28 | |
21244
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21209
diff
changeset
|
29 #include "octave-config.h" |
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21209
diff
changeset
|
30 |
21209 | 31 #include <list> |
32 #include <string> | |
24076
1b7e49a72c62
improve text rendering in svg printout (bug #48567)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
23220
diff
changeset
|
33 #include <vector> |
21209 | 34 |
35 #include "caseless-str.h" | |
36 #include "dMatrix.h" | |
37 #include "uint8NDArray.h" | |
38 | |
22326
71dd9d5a5ecd
move more new classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22323
diff
changeset
|
39 namespace octave |
71dd9d5a5ecd
move more new classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22323
diff
changeset
|
40 { |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
41 class base_text_renderer; |
25643
afb5288a25ad
move text engine classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
42 class text_element; |
21209 | 43 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
44 class |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
45 OCTINTERP_API |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
46 text_renderer |
21209 | 47 { |
48 public: | |
49 | |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
50 text_renderer (void); |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
51 |
22869
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
52 // No copying! |
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
53 |
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
54 text_renderer (const text_renderer&) = delete; |
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
55 |
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
56 text_renderer& operator = (const text_renderer&) = delete; |
f75d289645ec
make deleted functions public
John W. Eaton <jwe@octave.org>
parents:
22868
diff
changeset
|
57 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
58 ~text_renderer (void); |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
59 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
60 bool ok (void) const; |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
61 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
62 Matrix get_extent (text_element *elt, double rotation = 0.0); |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
63 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
64 Matrix get_extent (const std::string& txt, double rotation = 0.0, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
65 const caseless_str& interpreter = "tex"); |
21209 | 66 |
26858
0adb232f93b9
Implement axes and text "fontsmoothing" property (bug #55833).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26443
diff
changeset
|
67 void set_anti_aliasing (bool val); |
26995
ab5bfee22d18
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
26858
diff
changeset
|
68 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
69 void set_font (const std::string& name, const std::string& weight, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
70 const std::string& angle, double size); |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
71 |
27623
698c8b08fe8c
New function uisetfont (bug #57130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26995
diff
changeset
|
72 octave_map get_system_fonts (void); |
698c8b08fe8c
New function uisetfont (bug #57130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26995
diff
changeset
|
73 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
74 void set_color (const Matrix& c); |
21209 | 75 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
76 void text_to_pixels (const std::string& txt, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
77 uint8NDArray& pxls, Matrix& bbox, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
78 int halign, int valign, double rotation = 0.0, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
79 const caseless_str& interpreter = "tex", |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
80 bool handle_rotation = true); |
21209 | 81 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
82 class font |
21209 | 83 { |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
84 public: |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
85 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
86 font (void) |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
87 : m_name (), m_weight (), m_angle (), m_size (0) |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
88 { } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
89 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
90 font (const std::string& nm, const std::string& wt, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
91 const std::string& ang, double sz) |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
92 : m_name (nm), m_weight (wt), m_angle (ang), m_size (sz) |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
93 { } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
94 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
95 font (const font& ft) |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
96 : m_name (ft.m_name), m_weight (ft.m_weight), m_angle (ft.m_angle), |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
97 m_size (ft.m_size) |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
98 { } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
99 |
22868
87e3163f6c87
use c++11 "= default" syntax for declaration of trivial destructors
John W. Eaton <jwe@octave.org>
parents:
22865
diff
changeset
|
100 ~font (void) = default; |
21209 | 101 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
102 font& operator = (const font& ft) |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
103 { |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
104 if (&ft != this) |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
105 { |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
106 m_name = ft.m_name; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
107 m_weight = ft.m_weight; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
108 m_angle = ft.m_angle; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
109 m_size = ft.m_size; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
110 } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
111 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
112 return *this; |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
113 } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
114 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
115 std::string get_name (void) const { return m_name; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
116 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
117 std::string get_weight (void) const { return m_weight; } |
21209 | 118 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
119 std::string get_angle (void) const { return m_angle; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
120 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
121 double get_size (void) const { return m_size; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
122 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
123 protected: |
21209 | 124 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
125 std::string m_name; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
126 std::string m_weight; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
127 std::string m_angle; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
128 double m_size; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
129 }; |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
130 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
131 // Container for substrings after parsing. |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
132 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
133 class string |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
134 { |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
135 public: |
21209 | 136 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
137 string (const std::string& s, font& f, const double x, const double y) |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
138 : m_str (s), m_family (f.get_name ()), m_fnt (f), m_x (x), m_y (y), |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
139 m_z (0.0), m_xdata (), m_code (0), m_color (Matrix (1,3,0.0)), |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
140 m_svg_element () |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
141 { } |
21209 | 142 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
143 string (const string& s) |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
144 : m_str (s.m_str), m_family (s.m_family), m_fnt (s.m_fnt), m_x (s.m_x), |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
145 m_y (s.m_y), m_z (s.m_z), m_xdata (s.m_xdata), m_code (s.m_code), |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
146 m_color (s.m_color), m_svg_element (s.m_svg_element) |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
147 { } |
21209 | 148 |
22868
87e3163f6c87
use c++11 "= default" syntax for declaration of trivial destructors
John W. Eaton <jwe@octave.org>
parents:
22865
diff
changeset
|
149 ~string (void) = default; |
21209 | 150 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
151 string& operator = (const string& s) |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
152 { |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
153 if (&s != this) |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
154 { |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
155 m_str = s.m_str; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
156 m_family = s.m_family; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
157 m_fnt = s.m_fnt; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
158 m_x = s.m_x; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
159 m_y = s.m_y; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
160 m_z = s.m_z; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
161 m_xdata = s.m_xdata; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
162 m_code = s.m_code; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
163 m_color = s.m_color; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
164 } |
21209 | 165 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
166 return *this; |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
167 } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
168 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
169 void set_string (const std::string& s) { m_str = s; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
170 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
171 std::string get_string (void) const { return m_str; } |
21209 | 172 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
173 std::string get_name (void) const { return m_fnt.get_name (); } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
174 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
175 std::string get_family (void) const { return m_family; } |
24076
1b7e49a72c62
improve text rendering in svg printout (bug #48567)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
23220
diff
changeset
|
176 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
177 void set_family (const std::string& nm) { m_family = nm; } |
24076
1b7e49a72c62
improve text rendering in svg printout (bug #48567)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
23220
diff
changeset
|
178 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
179 std::string get_weight (void) const { return m_fnt.get_weight (); } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
180 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
181 std::string get_angle (void) const { return m_fnt.get_angle (); } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
182 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
183 double get_size (void) const { return m_fnt.get_size (); } |
21209 | 184 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
185 void set_x (const double x) { m_x = x; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
186 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
187 double get_x (void) const { return m_x; } |
21209 | 188 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
189 void set_xdata (const std::vector<double>& x) { m_xdata = x; } |
24076
1b7e49a72c62
improve text rendering in svg printout (bug #48567)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
23220
diff
changeset
|
190 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
191 std::vector<double> get_xdata (void) const { return m_xdata; } |
24076
1b7e49a72c62
improve text rendering in svg printout (bug #48567)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
23220
diff
changeset
|
192 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
193 void set_y (const double y) { m_y = y; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
194 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
195 double get_y (void) const { return m_y; } |
21209 | 196 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
197 void set_z (const double z) { m_z = z; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
198 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
199 double get_z (void) const { return m_z; } |
21209 | 200 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
201 void set_code (const uint32_t code) { m_code = code; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
202 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
203 uint32_t get_code (void) const { return m_code; } |
21209 | 204 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
205 void set_svg_element (const std::string& svg) { m_svg_element = svg; } |
29470
2ae4764180c6
Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
29358
diff
changeset
|
206 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
207 std::string get_svg_element (void) const { return m_svg_element; } |
29470
2ae4764180c6
Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
29358
diff
changeset
|
208 |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
209 void set_color (const uint8NDArray& c) |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
210 { |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
211 m_color(0) = static_cast<double> (c(0)) / 255; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
212 m_color(1) = static_cast<double> (c(1)) / 255; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
213 m_color(2) = static_cast<double> (c(2)) / 255; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
214 } |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
215 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
216 Matrix get_color (void) const { return m_color; } |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
217 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
218 private: |
21209 | 219 |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
220 std::string m_str; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
221 std::string m_family; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
222 font m_fnt; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
223 double m_x, m_y, m_z; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
224 std::vector<double> m_xdata; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
225 uint32_t m_code; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
226 Matrix m_color; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
227 std::string m_svg_element; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
228 }; |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
229 |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
230 void text_to_strlist (const std::string& txt, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
231 std::list<string>& lst, Matrix& box, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
232 int halign, int valign, double rotation = 0.0, |
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
233 const caseless_str& interpreter = "tex"); |
21209 | 234 |
235 private: | |
236 | |
30041
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
237 base_text_renderer *m_rep; |
f148aff802b6
maint: use "m_" prefix for member variables of text_renderer objects.
Rik <rik@octave.org>
parents:
29483
diff
changeset
|
238 base_text_renderer *m_latex_rep; |
22331
b81b08cc4c83
maint: Indent namespaces in more files.
John W. Eaton <jwe@octave.org>
parents:
22326
diff
changeset
|
239 }; |
22326
71dd9d5a5ecd
move more new classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22323
diff
changeset
|
240 } |
71dd9d5a5ecd
move more new classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22323
diff
changeset
|
241 |
21209 | 242 #endif |