1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008, 2014, 2015 Henrik Tidefelt
23 #include "elementarylength.h"
24 #include "identifier.h"
27 #include <cstddef> /* For size_t. */
36 extern RefCountPtr
< const char > SEVERAL_TYPES
;
37 extern RefCountPtr
< const char > PUBLIC_SCOPE_NAME
;
38 extern RefCountPtr
< const char > PROTECTED_SCOPE_NAME
;
40 extern const char NAMESPACE_SEPARATOR
[];
41 extern const char ENCAPSULATION_MARK
[];
42 extern const char DYNAMIC_VARIABLE_PREFIX
[];
43 extern const char STATE_PREFIX
[];
44 extern const char DYNAMIC_STATE_PREFIX
[];
45 extern const char BUILD_REQ_LIBJPEG
[];
46 extern const char BUILD_REQ_LIBPNG
[];
47 extern const char BUILD_REQ_FREETYPE
[];
48 extern const char BUILD_REQ_FONTCONFIG
[];
49 extern const char BUILD_REQ_OPENSSL
[];
55 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes
;
56 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Data
;
57 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Data_Type
;
58 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Debug
;
59 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Geometry
;
60 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Geometry3D
;
61 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Graphics
;
62 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Graphics_PDF
;
63 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Graphics_Tag
;
64 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Graphics3D
;
65 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Graphics3D_Tag
;
66 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_IO
;
67 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Layout
;
68 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Numeric
;
69 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Numeric_Constant
;
70 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Numeric_Math
;
71 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Numeric_Random
;
72 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_String
;
73 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Text
;
74 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Text_Font
;
75 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits
;
76 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_BW
;
77 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_Blend
;
78 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_Cap
;
79 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_Device
;
80 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_Join
;
81 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_Light
;
82 extern const RefCountPtr
< const Ast::NamespacePath
> THE_NAMESPACE_Shapes_Traits_RGB
;
84 extern const char TEX_SYNTAX_ID
[];
85 extern const Ast::Identifier SELF_ID
;
87 extern const char MESSAGE_DRAWABLE_DRAW_ID
[];
89 extern const char CONTINUATION_ID_ERROR
[];
91 extern const Ast::PlacedIdentifier HANDLER_NO_INTERSECTION
;
93 extern const Ast::PlacedIdentifier CANVAS_ID
;
94 extern const Ast::PlacedIdentifier CATALOG_ID
;
96 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_EYEZ
;
97 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_TEX_BLEED
;
98 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_DEFAULT_UNIT
;
99 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_BLEND_SPACE
;
100 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_STROKING
;
101 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_WIDTH
;
102 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_NONSTROKING
;
103 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_AUTOINTENSITY
;
105 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_TEXT_SIZE
;
106 extern const Ast::PlacedIdentifier DYNAMIC_VARIABLE_ID_TEXT_FONT
;
113 extern const char SPLIT_VAR_PREFIX
[];
115 extern const char HTML_DIR
[];
116 extern const char RESOURCES_DIR
[];
118 extern const Ast::PlacedIdentifier SEQUENTIAL_EXPR_VAR_ID
;
119 extern const Ast::PlacedIdentifier MUTATOR_CURRY_VAR_ID
;
123 namespace Computation
126 extern const size_t RREL_SIZE
;
127 extern const double RREL_TH_STEP
;
128 extern const double RREL_TABLE
[];
130 extern const double SINGULAR_TRANSFORM_LIMIT
;
137 typedef unsigned short int MemberMode
;
138 extern const MemberMode MEMBER_ACCESS_BITS
;
139 extern const MemberMode MEMBER_ACCESS_PRIVATE
;
140 extern const MemberMode MEMBER_ACCESS_PUBLIC_GET
;
141 extern const MemberMode MEMBER_ACCESS_PUBLIC_INSERT
;
142 extern const MemberMode MEMBER_ACCESS_PROTECTED_GET
;
143 extern const MemberMode MEMBER_ACCESS_PROTECTED_INSERT
;
144 extern const MemberMode MEMBER_CONST
;
145 extern const MemberMode MEMBER_METHOD
;
146 extern const MemberMode MEMBER_ABSTRACT
;
147 extern const MemberMode MEMBER_FINAL
;
148 extern const MemberMode MEMBER_TRANSFORMING
;
150 typedef unsigned short int ClassMode
;
151 extern const ClassMode CLASS_MODE_ABSTRACT
;
152 extern const ClassMode CLASS_MODE_FINAL
;
154 typedef unsigned short int FunctionMode
;
155 extern const FunctionMode FUNCTION_TRANSFORMING
;
162 const Length
HUGE_LENGTH( HUGE_VAL
);
163 const Length
ZERO_LENGTH( 0 );
164 const Length
SOME_LENGTH( 1 );
166 const Speed
ZERO_SPEED( 0 );
168 const Time
ZERO_TIME( 0 );
169 const Time
UNIT_TIME( 1 );
170 const Time
HUGE_TIME( HUGE_VAL
);
174 namespace BuiltInFonts
177 extern RefCountPtr
< const char > TIMES_ROMAN
;
178 extern RefCountPtr
< const char > TIMES_BOLD
;
179 extern RefCountPtr
< const char > TIMES_ITALIC
;
180 extern RefCountPtr
< const char > TIMES_BOLDITALIC
;
181 extern RefCountPtr
< const char > HELVETICA
;
182 extern RefCountPtr
< const char > HELVETICA_BOLD
;
183 extern RefCountPtr
< const char > HELVETICA_OBLIQUE
;
184 extern RefCountPtr
< const char > HELVETICA_BOLDOBLIQUE
;
185 extern RefCountPtr
< const char > COURIER
;
186 extern RefCountPtr
< const char > COURIER_BOLD
;
187 extern RefCountPtr
< const char > COURIER_OBLIQUE
;
188 extern RefCountPtr
< const char > COURIER_BOLDOBLIQUE
;
189 extern RefCountPtr
< const char > SYMBOL
;
190 extern RefCountPtr
< const char > ZAPFDINGBATS
;
191 extern RefCountPtr
< const char > NUM_BUILTIN_FONTS
;