Mercurial > octave
annotate libinterp/corefcn/text-renderer.h @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | a61e1a0f6024 |
children | e88a07dec498 |
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 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30390
diff
changeset
|
3 // Copyright (C) 2009-2022 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), |
30390
a61e1a0f6024
maint: style check C++ files in libinterp/ ahead of 7.1 release.
Rik <rik@octave.org>
parents:
30041
diff
changeset
|
139 m_z (0.0), m_xdata (), m_code (0), m_color (Matrix (1, 3, 0.0)), |
30041
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 |