mathematical 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -10
  3. data/Rakefile +42 -3
  4. data/lib/mathematical.rb +5 -4
  5. data/lib/mathematical/mathematical.bundle +0 -0
  6. data/lib/mathematical/render.rb +6 -5
  7. data/lib/mathematical/version.rb +1 -1
  8. data/mathematical.gemspec +5 -5
  9. metadata +14 -296
  10. data/.gitignore +0 -24
  11. data/.gitmodules +0 -0
  12. data/Gemfile +0 -4
  13. data/ext/mathematical/README.itex2MML.md +0 -11
  14. data/ext/mathematical/README.lasem.md +0 -11
  15. data/ext/mathematical/extconf.rb +0 -51
  16. data/ext/mathematical/itex2MML.h +0 -63
  17. data/ext/mathematical/lasemrender.c +0 -257
  18. data/ext/mathematical/lex.yy.c +0 -6548
  19. data/ext/mathematical/lsm.c +0 -30
  20. data/ext/mathematical/lsm.h +0 -36
  21. data/ext/mathematical/lsmattributes.c +0 -279
  22. data/ext/mathematical/lsmattributes.h +0 -75
  23. data/ext/mathematical/lsmcairo.c +0 -598
  24. data/ext/mathematical/lsmcairo.h +0 -51
  25. data/ext/mathematical/lsmdebug.c +0 -179
  26. data/ext/mathematical/lsmdebug.h +0 -76
  27. data/ext/mathematical/lsmdom.h +0 -43
  28. data/ext/mathematical/lsmdomcharacterdata.c +0 -114
  29. data/ext/mathematical/lsmdomcharacterdata.h +0 -59
  30. data/ext/mathematical/lsmdomdocument.c +0 -292
  31. data/ext/mathematical/lsmdomdocument.h +0 -82
  32. data/ext/mathematical/lsmdomdocumentfragment.c +0 -81
  33. data/ext/mathematical/lsmdomdocumentfragment.h +0 -55
  34. data/ext/mathematical/lsmdomelement.c +0 -148
  35. data/ext/mathematical/lsmdomelement.h +0 -62
  36. data/ext/mathematical/lsmdomentities.c +0 -2155
  37. data/ext/mathematical/lsmdomentities.h +0 -35
  38. data/ext/mathematical/lsmdomenumtypes.c +0 -99
  39. data/ext/mathematical/lsmdomenumtypes.c.template +0 -39
  40. data/ext/mathematical/lsmdomenumtypes.h +0 -26
  41. data/ext/mathematical/lsmdomenumtypes.h.template +0 -26
  42. data/ext/mathematical/lsmdomimplementation.c +0 -82
  43. data/ext/mathematical/lsmdomimplementation.h +0 -41
  44. data/ext/mathematical/lsmdomnamednodemap.c +0 -118
  45. data/ext/mathematical/lsmdomnamednodemap.h +0 -64
  46. data/ext/mathematical/lsmdomnode.c +0 -725
  47. data/ext/mathematical/lsmdomnode.h +0 -120
  48. data/ext/mathematical/lsmdomnodelist.c +0 -70
  49. data/ext/mathematical/lsmdomnodelist.h +0 -58
  50. data/ext/mathematical/lsmdomparser.c +0 -461
  51. data/ext/mathematical/lsmdomparser.h +0 -54
  52. data/ext/mathematical/lsmdomtext.c +0 -82
  53. data/ext/mathematical/lsmdomtext.h +0 -55
  54. data/ext/mathematical/lsmdomtypes.h +0 -44
  55. data/ext/mathematical/lsmdomview.c +0 -422
  56. data/ext/mathematical/lsmdomview.h +0 -94
  57. data/ext/mathematical/lsmmathml.h +0 -66
  58. data/ext/mathematical/lsmmathmlactionelement.c +0 -93
  59. data/ext/mathematical/lsmmathmlactionelement.h +0 -57
  60. data/ext/mathematical/lsmmathmlaligngroupelement.c +0 -102
  61. data/ext/mathematical/lsmmathmlaligngroupelement.h +0 -56
  62. data/ext/mathematical/lsmmathmlalignmarkelement.c +0 -102
  63. data/ext/mathematical/lsmmathmlalignmarkelement.h +0 -56
  64. data/ext/mathematical/lsmmathmlattributes.c +0 -197
  65. data/ext/mathematical/lsmmathmlattributes.h +0 -126
  66. data/ext/mathematical/lsmmathmldocument.c +0 -306
  67. data/ext/mathematical/lsmmathmldocument.h +0 -61
  68. data/ext/mathematical/lsmmathmlelement.c +0 -491
  69. data/ext/mathematical/lsmmathmlelement.h +0 -107
  70. data/ext/mathematical/lsmmathmlenums.c +0 -429
  71. data/ext/mathematical/lsmmathmlenums.h +0 -182
  72. data/ext/mathematical/lsmmathmlenumtypes.c +0 -666
  73. data/ext/mathematical/lsmmathmlenumtypes.c.template +0 -39
  74. data/ext/mathematical/lsmmathmlenumtypes.h +0 -90
  75. data/ext/mathematical/lsmmathmlenumtypes.h.template +0 -26
  76. data/ext/mathematical/lsmmathmlerrorelement.c +0 -58
  77. data/ext/mathematical/lsmmathmlerrorelement.h +0 -56
  78. data/ext/mathematical/lsmmathmlfencedelement.c +0 -178
  79. data/ext/mathematical/lsmmathmlfencedelement.h +0 -65
  80. data/ext/mathematical/lsmmathmlfractionelement.c +0 -253
  81. data/ext/mathematical/lsmmathmlfractionelement.h +0 -62
  82. data/ext/mathematical/lsmmathmlglyphtableams.c +0 -597
  83. data/ext/mathematical/lsmmathmlglyphtableams.h +0 -45
  84. data/ext/mathematical/lsmmathmlitexelement.c +0 -187
  85. data/ext/mathematical/lsmmathmlitexelement.h +0 -60
  86. data/ext/mathematical/lsmmathmllayoututils.c +0 -191
  87. data/ext/mathematical/lsmmathmllayoututils.h +0 -58
  88. data/ext/mathematical/lsmmathmlmathelement.c +0 -204
  89. data/ext/mathematical/lsmmathmlmathelement.h +0 -81
  90. data/ext/mathematical/lsmmathmloperatordictionary.c +0 -3332
  91. data/ext/mathematical/lsmmathmloperatordictionary.h +0 -54
  92. data/ext/mathematical/lsmmathmloperatorelement.c +0 -307
  93. data/ext/mathematical/lsmmathmloperatorelement.h +0 -73
  94. data/ext/mathematical/lsmmathmlpaddedelement.c +0 -58
  95. data/ext/mathematical/lsmmathmlpaddedelement.h +0 -56
  96. data/ext/mathematical/lsmmathmlphantomelement.c +0 -71
  97. data/ext/mathematical/lsmmathmlphantomelement.h +0 -56
  98. data/ext/mathematical/lsmmathmlpresentationcontainer.c +0 -43
  99. data/ext/mathematical/lsmmathmlpresentationcontainer.h +0 -54
  100. data/ext/mathematical/lsmmathmlpresentationtoken.c +0 -303
  101. data/ext/mathematical/lsmmathmlpresentationtoken.h +0 -83
  102. data/ext/mathematical/lsmmathmlradicalelement.c +0 -266
  103. data/ext/mathematical/lsmmathmlradicalelement.h +0 -71
  104. data/ext/mathematical/lsmmathmlrowelement.c +0 -58
  105. data/ext/mathematical/lsmmathmlrowelement.h +0 -56
  106. data/ext/mathematical/lsmmathmlscriptelement.c +0 -282
  107. data/ext/mathematical/lsmmathmlscriptelement.h +0 -78
  108. data/ext/mathematical/lsmmathmlsemanticselement.c +0 -82
  109. data/ext/mathematical/lsmmathmlsemanticselement.h +0 -56
  110. data/ext/mathematical/lsmmathmlspaceelement.c +0 -142
  111. data/ext/mathematical/lsmmathmlspaceelement.h +0 -60
  112. data/ext/mathematical/lsmmathmlstringelement.c +0 -123
  113. data/ext/mathematical/lsmmathmlstringelement.h +0 -58
  114. data/ext/mathematical/lsmmathmlstyle.c +0 -130
  115. data/ext/mathematical/lsmmathmlstyle.h +0 -81
  116. data/ext/mathematical/lsmmathmlstyleelement.c +0 -307
  117. data/ext/mathematical/lsmmathmlstyleelement.h +0 -87
  118. data/ext/mathematical/lsmmathmltablecellelement.c +0 -122
  119. data/ext/mathematical/lsmmathmltablecellelement.h +0 -62
  120. data/ext/mathematical/lsmmathmltableelement.c +0 -545
  121. data/ext/mathematical/lsmmathmltableelement.h +0 -78
  122. data/ext/mathematical/lsmmathmltablerowelement.c +0 -120
  123. data/ext/mathematical/lsmmathmltablerowelement.h +0 -64
  124. data/ext/mathematical/lsmmathmltraits.c +0 -819
  125. data/ext/mathematical/lsmmathmltraits.h +0 -119
  126. data/ext/mathematical/lsmmathmltypes.h +0 -66
  127. data/ext/mathematical/lsmmathmlunderoverelement.c +0 -485
  128. data/ext/mathematical/lsmmathmlunderoverelement.h +0 -82
  129. data/ext/mathematical/lsmmathmlutils.c +0 -170
  130. data/ext/mathematical/lsmmathmlutils.h +0 -50
  131. data/ext/mathematical/lsmmathmlview.c +0 -1048
  132. data/ext/mathematical/lsmmathmlview.h +0 -164
  133. data/ext/mathematical/lsmproperties.c +0 -418
  134. data/ext/mathematical/lsmproperties.h +0 -85
  135. data/ext/mathematical/lsmstr.c +0 -231
  136. data/ext/mathematical/lsmstr.h +0 -114
  137. data/ext/mathematical/lsmsvg.h +0 -67
  138. data/ext/mathematical/lsmsvgaelement.c +0 -73
  139. data/ext/mathematical/lsmsvgaelement.h +0 -55
  140. data/ext/mathematical/lsmsvgattributes.h +0 -113
  141. data/ext/mathematical/lsmsvgcircleelement.c +0 -153
  142. data/ext/mathematical/lsmsvgcircleelement.h +0 -59
  143. data/ext/mathematical/lsmsvgclippathelement.c +0 -134
  144. data/ext/mathematical/lsmsvgclippathelement.h +0 -59
  145. data/ext/mathematical/lsmsvgcolors.c +0 -212
  146. data/ext/mathematical/lsmsvgcolors.h +0 -39
  147. data/ext/mathematical/lsmsvgdefselement.c +0 -74
  148. data/ext/mathematical/lsmsvgdefselement.h +0 -55
  149. data/ext/mathematical/lsmsvgdocument.c +0 -230
  150. data/ext/mathematical/lsmsvgdocument.h +0 -58
  151. data/ext/mathematical/lsmsvgelement.c +0 -367
  152. data/ext/mathematical/lsmsvgelement.h +0 -81
  153. data/ext/mathematical/lsmsvgellipseelement.c +0 -158
  154. data/ext/mathematical/lsmsvgellipseelement.h +0 -60
  155. data/ext/mathematical/lsmsvgenums.c +0 -544
  156. data/ext/mathematical/lsmsvgenums.h +0 -357
  157. data/ext/mathematical/lsmsvgenumtypes.c +0 -1083
  158. data/ext/mathematical/lsmsvgenumtypes.c.template +0 -39
  159. data/ext/mathematical/lsmsvgenumtypes.h +0 -111
  160. data/ext/mathematical/lsmsvgenumtypes.h.template +0 -26
  161. data/ext/mathematical/lsmsvgfilterblend.c +0 -105
  162. data/ext/mathematical/lsmsvgfilterblend.h +0 -58
  163. data/ext/mathematical/lsmsvgfiltercomposite.c +0 -109
  164. data/ext/mathematical/lsmsvgfiltercomposite.h +0 -58
  165. data/ext/mathematical/lsmsvgfilterelement.c +0 -266
  166. data/ext/mathematical/lsmsvgfilterelement.h +0 -66
  167. data/ext/mathematical/lsmsvgfilterflood.c +0 -86
  168. data/ext/mathematical/lsmsvgfilterflood.h +0 -55
  169. data/ext/mathematical/lsmsvgfiltergaussianblur.c +0 -114
  170. data/ext/mathematical/lsmsvgfiltergaussianblur.h +0 -57
  171. data/ext/mathematical/lsmsvgfiltermerge.c +0 -98
  172. data/ext/mathematical/lsmsvgfiltermerge.h +0 -55
  173. data/ext/mathematical/lsmsvgfiltermergenode.c +0 -87
  174. data/ext/mathematical/lsmsvgfiltermergenode.h +0 -57
  175. data/ext/mathematical/lsmsvgfilteroffset.c +0 -112
  176. data/ext/mathematical/lsmsvgfilteroffset.h +0 -58
  177. data/ext/mathematical/lsmsvgfilterprimitive.c +0 -168
  178. data/ext/mathematical/lsmsvgfilterprimitive.h +0 -66
  179. data/ext/mathematical/lsmsvgfilterspecularlighting.c +0 -127
  180. data/ext/mathematical/lsmsvgfilterspecularlighting.h +0 -60
  181. data/ext/mathematical/lsmsvgfiltersurface.c +0 -455
  182. data/ext/mathematical/lsmsvgfiltersurface.h +0 -66
  183. data/ext/mathematical/lsmsvgfiltertile.c +0 -102
  184. data/ext/mathematical/lsmsvgfiltertile.h +0 -57
  185. data/ext/mathematical/lsmsvggelement.c +0 -73
  186. data/ext/mathematical/lsmsvggelement.h +0 -55
  187. data/ext/mathematical/lsmsvggradientelement.c +0 -151
  188. data/ext/mathematical/lsmsvggradientelement.h +0 -68
  189. data/ext/mathematical/lsmsvgimageelement.c +0 -261
  190. data/ext/mathematical/lsmsvgimageelement.h +0 -67
  191. data/ext/mathematical/lsmsvglength.c +0 -93
  192. data/ext/mathematical/lsmsvglength.h +0 -59
  193. data/ext/mathematical/lsmsvglineargradientelement.c +0 -271
  194. data/ext/mathematical/lsmsvglineargradientelement.h +0 -60
  195. data/ext/mathematical/lsmsvglineelement.c +0 -153
  196. data/ext/mathematical/lsmsvglineelement.h +0 -60
  197. data/ext/mathematical/lsmsvgmarkerelement.c +0 -266
  198. data/ext/mathematical/lsmsvgmarkerelement.h +0 -74
  199. data/ext/mathematical/lsmsvgmaskelement.c +0 -232
  200. data/ext/mathematical/lsmsvgmaskelement.h +0 -64
  201. data/ext/mathematical/lsmsvgmatrix.c +0 -205
  202. data/ext/mathematical/lsmsvgmatrix.h +0 -59
  203. data/ext/mathematical/lsmsvgpathelement.c +0 -115
  204. data/ext/mathematical/lsmsvgpathelement.h +0 -59
  205. data/ext/mathematical/lsmsvgpatternelement.c +0 -398
  206. data/ext/mathematical/lsmsvgpatternelement.h +0 -69
  207. data/ext/mathematical/lsmsvgpolygonelement.c +0 -106
  208. data/ext/mathematical/lsmsvgpolygonelement.h +0 -57
  209. data/ext/mathematical/lsmsvgpolylineelement.c +0 -106
  210. data/ext/mathematical/lsmsvgpolylineelement.h +0 -57
  211. data/ext/mathematical/lsmsvgradialgradientelement.c +0 -323
  212. data/ext/mathematical/lsmsvgradialgradientelement.h +0 -61
  213. data/ext/mathematical/lsmsvgrectelement.c +0 -184
  214. data/ext/mathematical/lsmsvgrectelement.h +0 -62
  215. data/ext/mathematical/lsmsvgstopelement.c +0 -106
  216. data/ext/mathematical/lsmsvgstopelement.h +0 -57
  217. data/ext/mathematical/lsmsvgstyle.c +0 -558
  218. data/ext/mathematical/lsmsvgstyle.h +0 -217
  219. data/ext/mathematical/lsmsvgsvgelement.c +0 -260
  220. data/ext/mathematical/lsmsvgsvgelement.h +0 -71
  221. data/ext/mathematical/lsmsvgswitchelement.c +0 -103
  222. data/ext/mathematical/lsmsvgswitchelement.h +0 -55
  223. data/ext/mathematical/lsmsvgsymbolelement.c +0 -74
  224. data/ext/mathematical/lsmsvgsymbolelement.h +0 -55
  225. data/ext/mathematical/lsmsvgtextelement.c +0 -170
  226. data/ext/mathematical/lsmsvgtextelement.h +0 -58
  227. data/ext/mathematical/lsmsvgtraits.c +0 -1158
  228. data/ext/mathematical/lsmsvgtraits.h +0 -103
  229. data/ext/mathematical/lsmsvgtransformable.c +0 -106
  230. data/ext/mathematical/lsmsvgtransformable.h +0 -54
  231. data/ext/mathematical/lsmsvgtspanelement.c +0 -143
  232. data/ext/mathematical/lsmsvgtspanelement.h +0 -58
  233. data/ext/mathematical/lsmsvgtypes.h +0 -77
  234. data/ext/mathematical/lsmsvguseelement.c +0 -237
  235. data/ext/mathematical/lsmsvguseelement.h +0 -69
  236. data/ext/mathematical/lsmsvgview.c +0 -2400
  237. data/ext/mathematical/lsmsvgview.h +0 -168
  238. data/ext/mathematical/lsmtraits.c +0 -119
  239. data/ext/mathematical/lsmtraits.h +0 -49
  240. data/ext/mathematical/lsmtypes.h +0 -36
  241. data/ext/mathematical/lsmutils.c +0 -54
  242. data/ext/mathematical/lsmutils.h +0 -56
  243. data/ext/mathematical/mathematical.c +0 -122
  244. data/ext/mathematical/y.tab.c +0 -6179
  245. data/ext/mathematical/y.tab.h +0 -389
  246. data/script/bench +0 -21
  247. data/script/bootstrap +0 -9
  248. data/script/single_test +0 -7
  249. data/test/mathematical/basic_test.rb +0 -38
  250. data/test/mathematical/fixtures/after/brackets_display.html +0 -1
  251. data/test/mathematical/fixtures/after/dollar_sign_inline.html +0 -1
  252. data/test/mathematical/fixtures/after/equation_display.html +0 -1
  253. data/test/mathematical/fixtures/after/multiple_dollar_inline.html +0 -1
  254. data/test/mathematical/fixtures/after/parens_inline.html +0 -1
  255. data/test/mathematical/fixtures/before/brackets_display.text +0 -1
  256. data/test/mathematical/fixtures/before/dollar_sign_inline.text +0 -1
  257. data/test/mathematical/fixtures/before/equation_display.text +0 -1
  258. data/test/mathematical/fixtures/before/multiple_dollar_inline.text +0 -1
  259. data/test/mathematical/fixtures/before/parens_inline.text +0 -1
  260. data/test/mathematical/fixtures/performance/big_file.text +0 -1767
  261. data/test/mathematical/fixtures_test.rb +0 -31
  262. data/test/mathematical/performance_test.rb +0 -13
  263. data/test/test_helper.rb +0 -4
@@ -1,168 +0,0 @@
1
- /* Lasem
2
- *
3
- * Copyright © 2009 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #ifndef LSM_SVG_VIEW_H
25
- #define LSM_SVG_VIEW_H
26
-
27
- #include <lsmdom.h>
28
- #include <lsmsvgtypes.h>
29
- #include <lsmsvgelement.h>
30
- #include <gdk-pixbuf/gdk-pixbuf.h>
31
-
32
- G_BEGIN_DECLS
33
-
34
- typedef enum {
35
- LSM_SVG_VIEW_SURFACE_TYPE_AUTO,
36
- LSM_SVG_VIEW_SURFACE_TYPE_IMAGE
37
- } LsmSvgViewSurfaceType;
38
-
39
- #define LSM_TYPE_SVG_VIEW (lsm_svg_view_get_type ())
40
- #define LSM_SVG_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_SVG_VIEW, LsmSvgView))
41
- #define LSM_SVG_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_SVG_VIEW, LsmSvgViewClass))
42
- #define LSM_IS_SVG_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_SVG_VIEW))
43
- #define LSM_IS_SVG_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_SVG_VIEW))
44
- #define LSM_SVG_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_SVG_VIEW, LsmSvgViewClass))
45
-
46
- typedef struct _LsmSvgViewClass LsmSvgViewClass;
47
- typedef struct _LsmSvgViewPrivate LsmSvgViewPrivate;
48
-
49
- typedef struct _LsmSvgViewPatternData LsmSvgViewPatternData;
50
-
51
- struct _LsmSvgView {
52
- LsmDomView dom_view;
53
-
54
- double resolution_ppi;
55
-
56
- const LsmSvgStyle *style;
57
-
58
- GSList *style_stack;
59
- GSList *element_stack;
60
- GSList *viewbox_stack;
61
- GSList *matrix_stack;
62
- GSList *pango_layout_stack;
63
- GList *background_stack;
64
-
65
- gboolean is_pango_layout_in_use;
66
-
67
- LsmSvgViewPatternData *pattern_data;
68
- PangoLayout *pango_layout;
69
-
70
- GSList *pattern_stack;
71
-
72
- gboolean is_clipping;
73
- LsmBox clip_extents;
74
-
75
- double last_stop_offset;
76
-
77
- GSList *filter_surfaces;
78
-
79
- gboolean debug_filter;
80
- gboolean debug_mask;
81
- gboolean debug_pattern;
82
- };
83
-
84
- struct _LsmSvgViewClass {
85
- LsmDomViewClass parent_class;
86
- };
87
-
88
- GType lsm_svg_view_get_type (void);
89
-
90
- LsmSvgView * lsm_svg_view_new (LsmSvgDocument *document);
91
-
92
- double lsm_svg_view_normalize_length (LsmSvgView *view, const LsmSvgLength *length,
93
- LsmSvgLengthDirection direction);
94
-
95
- const LsmBox * lsm_svg_view_get_pattern_extents (LsmSvgView *view);
96
- const LsmBox * lsm_svg_view_get_object_extents (LsmSvgView *view);
97
- const LsmBox * lsm_svg_view_get_clip_extents (LsmSvgView *view);
98
-
99
- void lsm_svg_view_path_extents (LsmSvgView *view, const char *path, LsmExtents *extents);
100
-
101
- void lsm_svg_view_create_radial_gradient (LsmSvgView *view, double cx, double cy,
102
- double r, double fx, double fy);
103
- void lsm_svg_view_create_linear_gradient (LsmSvgView *view, double x1, double y1,
104
- double x2, double y2);
105
- void lsm_svg_view_add_gradient_color_stop (LsmSvgView *view, double offset);
106
- G_GNUC_WARN_UNUSED_RESULT gboolean
107
- lsm_svg_view_set_gradient_properties (LsmSvgView *view,
108
- LsmSvgSpreadMethod method,
109
- LsmSvgPatternUnits units,
110
- const LsmSvgMatrix *matrix);
111
-
112
- G_GNUC_WARN_UNUSED_RESULT gboolean
113
- lsm_svg_view_create_surface_pattern (LsmSvgView *view, const LsmBox *viewport,
114
- const LsmSvgMatrix *matrix,
115
- LsmSvgViewSurfaceType surface_type) G_GNUC_WARN_UNUSED_RESULT;
116
-
117
- void lsm_svg_view_show_viewport (LsmSvgView*view, const LsmBox *viewport);
118
- void lsm_svg_view_show_rectangle (LsmSvgView *view, double x, double y,
119
- double width, double height,
120
- double rx, double ry);
121
- void lsm_svg_view_show_circle (LsmSvgView *view, double cx, double cy, double r);
122
- void lsm_svg_view_show_ellipse (LsmSvgView *view, double cx, double cy, double rx, double ry);
123
- void lsm_svg_view_show_path (LsmSvgView *view, const char *d);
124
- void lsm_svg_view_show_line (LsmSvgView *view, double x1, double y1, double x2, double y2);
125
- void lsm_svg_view_show_polyline (LsmSvgView *view, const char *points);
126
- void lsm_svg_view_show_polygon (LsmSvgView *view, const char *points);
127
- void lsm_svg_view_show_text (LsmSvgView *view, char const *text, double x, double y);
128
- void lsm_svg_view_text_extents (LsmSvgView *view, char const *string, double x, double y, LsmExtents *extents);
129
- void lsm_svg_view_show_pixbuf (LsmSvgView *view, GdkPixbuf *pixbuf);
130
-
131
- void lsm_svg_view_push_viewbox (LsmSvgView *view, const LsmBox *viewbox);
132
- void lsm_svg_view_pop_viewbox (LsmSvgView *view);
133
- void lsm_svg_view_push_viewport (LsmSvgView *view, const LsmBox *viewport,
134
- const LsmBox *viewbox,
135
- const LsmSvgPreserveAspectRatio *aspect_ratio,
136
- LsmSvgOverflow overflow);
137
- void lsm_svg_view_pop_viewport (LsmSvgView *view);
138
- void lsm_svg_view_viewbox_to_viewport (LsmSvgView *view,
139
- const LsmBox *viewport, const LsmBox *viewbox,
140
- const LsmSvgPreserveAspectRatio *aspect_ratio,
141
- double *x, double *y);
142
- gboolean lsm_svg_view_push_matrix (LsmSvgView *view, const LsmSvgMatrix *matrix);
143
- void lsm_svg_view_pop_matrix (LsmSvgView *view);
144
-
145
- void lsm_svg_view_push_element (LsmSvgView *view, const LsmSvgElement *element);
146
- void lsm_svg_view_pop_element (LsmSvgView *view);
147
-
148
- void lsm_svg_view_push_style (LsmSvgView *view, LsmSvgStyle *style);
149
- void lsm_svg_view_pop_style (LsmSvgView *view);
150
- LsmSvgStyle * lsm_svg_view_get_current_style (LsmSvgView *view);
151
-
152
- void lsm_svg_view_push_composition (LsmSvgView *view, LsmSvgStyle *style);
153
- void lsm_svg_view_pop_composition (LsmSvgView *view);
154
-
155
- LsmBox lsm_svg_view_get_filter_surface_extents (LsmSvgView *view, const char *name);
156
- void lsm_svg_view_apply_blend (LsmSvgView *view, const char *input_1, const char*input_2, const char *output,
157
- const LsmBox *subregion, LsmSvgBlendingMode mode);
158
- void lsm_svg_view_apply_flood (LsmSvgView *view, const char *output, const LsmBox *subregion);
159
- void lsm_svg_view_apply_gaussian_blur (LsmSvgView *view, const char *input, const char *output, const LsmBox *subregion,
160
- double std_x, double std_y);
161
- void lsm_svg_view_apply_offset (LsmSvgView *view, const char *input, const char *output, const LsmBox *subregion,
162
- double dx, double dy);
163
- void lsm_svg_view_apply_merge (LsmSvgView *view, const char *input, const char *output, const LsmBox *subregion);
164
- void lsm_svg_view_apply_tile (LsmSvgView *view, const char *input, const char *output, const LsmBox *subregion);
165
-
166
- G_END_DECLS
167
-
168
- #endif
@@ -1,119 +0,0 @@
1
- /* Lasem - SVG and Mathml library
2
- *
3
- * Copyright © 2010 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #include <lsmtraits.h>
25
- #include <lsmutils.h>
26
- #include <lsmstr.h>
27
- #include <string.h>
28
-
29
- const LsmTraitClass lsm_null_trait_class = {
30
- .size = 0
31
- };
32
-
33
- static gboolean
34
- lsm_double_trait_from_string (LsmTrait *abstract_trait, char *string)
35
- {
36
- double *trait = (double *) abstract_trait;
37
- char *end_ptr;
38
-
39
- *trait = g_ascii_strtod (string, &end_ptr);
40
-
41
- return end_ptr != string;
42
- }
43
-
44
- static char *
45
- lsm_double_trait_to_string (LsmTrait *abstract_trait)
46
- {
47
- double *trait = (double *) abstract_trait;
48
-
49
- return g_strdup_printf ("%g", *trait);
50
- }
51
-
52
- const LsmTraitClass lsm_double_trait_class = {
53
- .size = sizeof (double),
54
- .from_string = lsm_double_trait_from_string,
55
- .to_string = lsm_double_trait_to_string
56
- };
57
-
58
- static gboolean
59
- lsm_box_trait_from_string (LsmTrait *abstract_trait, char *string)
60
- {
61
- LsmBox *trait = (LsmBox *) abstract_trait;
62
- unsigned int i;
63
- double value[4];
64
-
65
- for (i = 0; i < 4 && *string != '\0'; i++) {
66
- lsm_str_skip_comma_and_spaces (&string);
67
-
68
- if (!lsm_str_parse_double (&string, &value[i]))
69
- break;
70
- }
71
-
72
- if (i == 4) {
73
- trait->x = value[0];
74
- trait->y = value[1];
75
- trait->width = value[2];
76
- trait->height = value[3];
77
-
78
- return TRUE;
79
- }
80
-
81
- trait->x =
82
- trait->y =
83
- trait->width =
84
- trait->height = 0.0;
85
-
86
- return FALSE;
87
- }
88
-
89
- char *
90
- lsm_box_trait_to_string (LsmTrait *abstract_trait)
91
- {
92
- LsmBox *trait = (LsmBox *) abstract_trait;
93
-
94
- return g_strdup_printf ("%g %g %g %g",
95
- trait->x, trait->y,
96
- trait->width, trait->height);
97
- }
98
-
99
- const LsmTraitClass lsm_box_trait_class = {
100
- .size = sizeof (LsmBox),
101
- .from_string = lsm_box_trait_from_string,
102
- .to_string = lsm_box_trait_to_string
103
- };
104
-
105
- int
106
- lsm_enum_value_from_string (const char *string, const char **strings, unsigned int n_strings)
107
- {
108
- int i;
109
-
110
- if (string == NULL)
111
- return -1;
112
-
113
- for (i = 0; i < n_strings; i++)
114
- if (strcmp (string, strings[i]) == 0)
115
- return i;
116
-
117
- return -1;
118
- }
119
-
@@ -1,49 +0,0 @@
1
- /* Lasem - SVG and Mathml library
2
- *
3
- * Copyright © 2009-2010 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #ifndef LSM_TRAITS_H
25
- #define LSM_TRAITS_H
26
-
27
- #include <lsmtypes.h>
28
-
29
- G_BEGIN_DECLS
30
-
31
- typedef void LsmTrait;
32
-
33
- typedef struct {
34
- size_t size;
35
- void (*init) (LsmTrait *abstract_trait, const LsmTrait *trait_default);
36
- void (*finalize) (LsmTrait *abstract_trait);
37
- gboolean (*from_string) (LsmTrait *abstract_trait, char *string);
38
- char * (*to_string) (LsmTrait *abstract_trait);
39
- } LsmTraitClass;
40
-
41
- extern const LsmTraitClass lsm_null_trait_class;
42
- extern const LsmTraitClass lsm_double_trait_class;
43
- extern const LsmTraitClass lsm_box_trait_class;
44
-
45
- int lsm_enum_value_from_string (const char *string, const char **strings, unsigned int n_strings);
46
-
47
- G_END_DECLS
48
-
49
- #endif
@@ -1,36 +0,0 @@
1
- /* Lasem - SVG and Mathml library
2
- *
3
- * Copyright © 2007-2010 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #ifndef LSM_TYPES_H
25
- #define LSM_TYPES_H
26
-
27
- #include <glib-object.h>
28
-
29
- G_BEGIN_DECLS
30
-
31
- typedef struct _LsmExtents LsmExtents;
32
- typedef struct _LsmBox LsmBox;
33
-
34
- G_END_DECLS
35
-
36
- #endif
@@ -1,54 +0,0 @@
1
- /* Lasem
2
- *
3
- * Copyright © 2007-2012 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #include <lsmutils.h>
25
-
26
- LsmExtents *
27
- lsm_extents_duplicate (const LsmExtents *from)
28
- {
29
- LsmExtents *extents;
30
-
31
- g_return_val_if_fail (from != NULL, NULL);
32
-
33
- extents = g_new (LsmExtents, 1);
34
- *extents = *from;
35
-
36
- return extents;
37
- }
38
-
39
- G_DEFINE_BOXED_TYPE (LsmExtents, lsm_extents, lsm_extents_duplicate, g_free)
40
-
41
- LsmBox *
42
- lsm_box_duplicate (const LsmBox *from)
43
- {
44
- LsmBox *box;
45
-
46
- g_return_val_if_fail (from != NULL, NULL);
47
-
48
- box = g_new (LsmBox, 1);
49
- *box = *from;
50
-
51
- return box;
52
- }
53
-
54
- G_DEFINE_BOXED_TYPE (LsmBox, lsm_box, lsm_box_duplicate, g_free)
@@ -1,56 +0,0 @@
1
- /* Lasem
2
- *
3
- * Copyright © 2007-2012 Emmanuel Pacaud
4
- *
5
- * This library is free software; you can redistribute it and/or
6
- * modify it under the terms of the GNU Lesser General Public
7
- * License as published by the Free Software Foundation; either
8
- * version 2 of the License, or (at your option) any later version.
9
- *
10
- * This library is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * Lesser General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Lesser General
16
- * Public License along with this library; if not, write to the
17
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
- * Boston, MA 02111-1307, USA.
19
- *
20
- * Author:
21
- * Emmanuel Pacaud <emmanuel@gnome.org>
22
- */
23
-
24
- #ifndef LSM_UTILS_H
25
- #define LSM_UTILS_H
26
-
27
- #include <lsmtypes.h>
28
-
29
- G_BEGIN_DECLS
30
-
31
- struct _LsmExtents {
32
- double x1;
33
- double y1;
34
- double x2;
35
- double y2;
36
- };
37
-
38
- #define LSM_TYPE_EXTENTS (lsm_extents_get_type())
39
-
40
- GType lsm_extents_get_type (void);
41
-
42
- struct _LsmBox {
43
- double x;
44
- double y;
45
- double width;
46
- double height;
47
- };
48
-
49
- #define LSM_TYPE_BOX (lsm_box_get_type())
50
-
51
- GType lsm_box_get_type (void);
52
-
53
- G_END_DECLS
54
-
55
- #endif
56
-