mathematical 1.4.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +11 -21
  3. data/ext/mathematical/extconf.rb +21 -12
  4. data/ext/mathematical/lasem/Makefile +10 -10
  5. data/ext/mathematical/lasem/docs/Makefile +9 -9
  6. data/ext/mathematical/lasem/docs/reference/Makefile +9 -9
  7. data/ext/mathematical/lasem/docs/reference/lasem/Makefile +15 -9
  8. data/ext/mathematical/lasem/docs/reference/lasem/lasem-decl-list.txt +245 -0
  9. data/ext/mathematical/lasem/docs/reference/lasem/lasem-decl.txt +856 -0
  10. data/ext/mathematical/lasem/docs/reference/lasem/lasem-overrides.txt +0 -0
  11. data/ext/mathematical/lasem/itex2mml/Makefile +9 -9
  12. data/ext/mathematical/lasem/src/Makefile +34 -13
  13. data/ext/mathematical/lasem/src/lasemrender.c +13 -7
  14. data/ext/mathematical/lasem/src/lsmdomenumtypes.c +99 -0
  15. data/ext/mathematical/lasem/src/lsmdomenumtypes.h +26 -0
  16. data/ext/mathematical/lasem/src/lsmmathmlenums.c +24 -0
  17. data/ext/mathematical/lasem/src/lsmmathmlenums.h +12 -1
  18. data/ext/mathematical/lasem/src/lsmmathmlenumtypes.c +793 -0
  19. data/ext/mathematical/lasem/src/lsmmathmlenumtypes.h +96 -0
  20. data/ext/mathematical/lasem/src/lsmmathmlspaceelement.c +14 -0
  21. data/ext/mathematical/lasem/src/lsmmathmlspaceelement.h +1 -1
  22. data/ext/mathematical/lasem/src/lsmmathmltraits.c +24 -0
  23. data/ext/mathematical/lasem/src/lsmmathmltraits.h +1 -0
  24. data/ext/mathematical/lasem/src/lsmsvgattributes.h +50 -0
  25. data/ext/mathematical/lasem/src/lsmsvgdocument.c +18 -0
  26. data/ext/mathematical/lasem/src/lsmsvgenums.c +130 -0
  27. data/ext/mathematical/lasem/src/lsmsvgenums.h +59 -0
  28. data/ext/mathematical/lasem/src/lsmsvgenumtypes.c +1254 -0
  29. data/ext/mathematical/lasem/src/lsmsvgenumtypes.h +129 -0
  30. data/ext/mathematical/lasem/src/lsmsvgfiltercolormatrix.c +115 -0
  31. data/ext/mathematical/lasem/src/lsmsvgfiltercolormatrix.h +58 -0
  32. data/ext/mathematical/lasem/src/lsmsvgfilterconvolvematrix.c +206 -0
  33. data/ext/mathematical/lasem/src/lsmsvgfilterconvolvematrix.h +64 -0
  34. data/ext/mathematical/lasem/src/lsmsvgfilterdisplacementmap.c +124 -0
  35. data/ext/mathematical/lasem/src/lsmsvgfilterdisplacementmap.h +60 -0
  36. data/ext/mathematical/lasem/src/lsmsvgfilterimage.c +167 -0
  37. data/ext/mathematical/lasem/src/lsmsvgfilterimage.h +61 -0
  38. data/ext/mathematical/lasem/src/lsmsvgfiltermorphology.c +116 -0
  39. data/ext/mathematical/lasem/src/lsmsvgfiltermorphology.h +58 -0
  40. data/ext/mathematical/lasem/src/lsmsvgfilterspecularlighting.c +9 -2
  41. data/ext/mathematical/lasem/src/lsmsvgfiltersurface.c +1169 -87
  42. data/ext/mathematical/lasem/src/lsmsvgfiltersurface.h +28 -2
  43. data/ext/mathematical/lasem/src/lsmsvgfilterturbulence.c +142 -0
  44. data/ext/mathematical/lasem/src/lsmsvgfilterturbulence.h +61 -0
  45. data/ext/mathematical/lasem/src/lsmsvgtraits.c +249 -0
  46. data/ext/mathematical/lasem/src/lsmsvgtraits.h +18 -0
  47. data/ext/mathematical/lasem/src/lsmsvgtypes.h +6 -0
  48. data/ext/mathematical/lasem/src/lsmsvgview.c +267 -66
  49. data/ext/mathematical/lasem/src/lsmsvgview.h +23 -0
  50. data/ext/mathematical/lasem/src/lsmtraits.c +53 -1
  51. data/ext/mathematical/lasem/src/lsmtraits.h +2 -0
  52. data/ext/mathematical/lasem/tests/Makefile +26 -15
  53. data/ext/mathematical/lasem/tests/filter.c +152 -0
  54. data/ext/mathematical/lasem/tests/lsmtest.c +34 -30
  55. data/ext/mathematical/lasem/tests/suite.c +5 -2
  56. data/ext/mathematical/lib/libmtex2MML.a +0 -0
  57. data/ext/mathematical/mtex2MML/build/CMakeCache.txt +425 -0
  58. data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeCCompiler.cmake +55 -0
  59. data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeCXXCompiler.cmake +56 -0
  60. data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeSystem.cmake +15 -0
  61. data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CompilerIdC/CMakeCCompilerId.c +393 -0
  62. data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  63. data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeRuleHashes.txt +34 -0
  64. data/ext/mathematical/mtex2MML/build/CMakeFiles/Continuous.dir/DependInfo.cmake +27 -0
  65. data/ext/mathematical/mtex2MML/build/CMakeFiles/Continuous.dir/cmake_clean.cmake +8 -0
  66. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake +27 -0
  67. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +8 -0
  68. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake +27 -0
  69. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +8 -0
  70. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake +27 -0
  71. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +8 -0
  72. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake +27 -0
  73. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +8 -0
  74. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake +27 -0
  75. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +8 -0
  76. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake +27 -0
  77. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +8 -0
  78. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake +27 -0
  79. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +8 -0
  80. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake +27 -0
  81. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +8 -0
  82. data/ext/mathematical/mtex2MML/build/CMakeFiles/Experimental.dir/DependInfo.cmake +27 -0
  83. data/ext/mathematical/mtex2MML/build/CMakeFiles/Experimental.dir/cmake_clean.cmake +8 -0
  84. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake +27 -0
  85. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +8 -0
  86. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake +27 -0
  87. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +8 -0
  88. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake +27 -0
  89. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +8 -0
  90. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake +27 -0
  91. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +8 -0
  92. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake +27 -0
  93. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +8 -0
  94. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake +27 -0
  95. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +8 -0
  96. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake +27 -0
  97. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +8 -0
  98. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake +27 -0
  99. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +8 -0
  100. data/ext/mathematical/mtex2MML/build/CMakeFiles/Makefile.cmake +95 -0
  101. data/ext/mathematical/mtex2MML/build/CMakeFiles/Nightly.dir/DependInfo.cmake +27 -0
  102. data/ext/mathematical/mtex2MML/build/CMakeFiles/Nightly.dir/cmake_clean.cmake +8 -0
  103. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake +27 -0
  104. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +8 -0
  105. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake +27 -0
  106. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +8 -0
  107. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake +27 -0
  108. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +8 -0
  109. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake +27 -0
  110. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +8 -0
  111. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake +27 -0
  112. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +8 -0
  113. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake +27 -0
  114. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake +8 -0
  115. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake +27 -0
  116. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +8 -0
  117. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake +27 -0
  118. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake +8 -0
  119. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake +27 -0
  120. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +8 -0
  121. data/ext/mathematical/mtex2MML/build/CMakeFiles/TargetDirectories.txt +34 -0
  122. data/ext/mathematical/mtex2MML/build/CMakeFiles/format.dir/DependInfo.cmake +27 -0
  123. data/ext/mathematical/mtex2MML/build/CMakeFiles/format.dir/cmake_clean.cmake +8 -0
  124. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/DependInfo.cmake +44 -0
  125. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/cmake_clean.cmake +19 -0
  126. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/link.txt +1 -0
  127. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/DependInfo.cmake +43 -0
  128. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/cmake_clean.cmake +18 -0
  129. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/cmake_clean_target.cmake +3 -0
  130. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/link.txt +2 -0
  131. data/ext/mathematical/mtex2MML/build/CMakeFiles/memcheck.dir/DependInfo.cmake +27 -0
  132. data/ext/mathematical/mtex2MML/build/CMakeFiles/memcheck.dir/cmake_clean.cmake +8 -0
  133. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/DependInfo.cmake +44 -0
  134. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/cmake_clean.cmake +19 -0
  135. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/link.txt +1 -0
  136. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/DependInfo.cmake +59 -0
  137. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/cmake_clean.cmake +35 -0
  138. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/link.txt +1 -0
  139. data/ext/mathematical/mtex2MML/build/CTestTestfile.cmake +7 -0
  140. data/ext/mathematical/mtex2MML/build/Makefile +1332 -0
  141. data/ext/mathematical/mtex2MML/build/cmake_install.cmake +43 -0
  142. data/ext/mathematical/mtex2MML/build/lexer.c +8877 -0
  143. data/ext/mathematical/mtex2MML/build/libmtex2MML.a +0 -0
  144. data/ext/mathematical/mtex2MML/build/mtex2mml_export.h +35 -0
  145. data/ext/mathematical/mtex2MML/build/parser.c +10202 -0
  146. data/ext/mathematical/mtex2MML/build/parser.h +619 -0
  147. data/ext/mathematical/mtex2MML/src/mtex2MML.h +1 -1
  148. data/lib/mathematical/version.rb +1 -1
  149. metadata +115 -2
@@ -0,0 +1,96 @@
1
+
2
+ /* Generated data (by glib-mkenums) */
3
+
4
+ #ifndef LSM_MATHML_ENUM_TYPES_H
5
+ #define LSM_MATHML_ENUM_TYPES_H
6
+
7
+ #include <glib-object.h>
8
+
9
+ G_BEGIN_DECLS
10
+
11
+ /* Enumerations from "lsmmathmlenums.h" */
12
+
13
+ #define LSM_TYPE_MATHML_CSS_TYPE (lsm_mathml_css_type_get_type())
14
+ GType lsm_mathml_css_type_get_type (void) G_GNUC_CONST;
15
+
16
+ #define LSM_TYPE_MATHML_MODE (lsm_mathml_mode_get_type())
17
+ GType lsm_mathml_mode_get_type (void) G_GNUC_CONST;
18
+
19
+ #define LSM_TYPE_MATHML_DISPLAY (lsm_mathml_display_get_type())
20
+ GType lsm_mathml_display_get_type (void) G_GNUC_CONST;
21
+
22
+ #define LSM_TYPE_MATHML_SPACE_NAME (lsm_mathml_space_name_get_type())
23
+ GType lsm_mathml_space_name_get_type (void) G_GNUC_CONST;
24
+
25
+ #define LSM_TYPE_MATHML_UNIT (lsm_mathml_unit_get_type())
26
+ GType lsm_mathml_unit_get_type (void) G_GNUC_CONST;
27
+
28
+ #define LSM_TYPE_MATHML_FONT_STYLE (lsm_mathml_font_style_get_type())
29
+ GType lsm_mathml_font_style_get_type (void) G_GNUC_CONST;
30
+
31
+ #define LSM_TYPE_MATHML_FONT_WEIGHT (lsm_mathml_font_weight_get_type())
32
+ GType lsm_mathml_font_weight_get_type (void) G_GNUC_CONST;
33
+
34
+ #define LSM_TYPE_MATHML_VARIANT (lsm_mathml_variant_get_type())
35
+ GType lsm_mathml_variant_get_type (void) G_GNUC_CONST;
36
+
37
+ #define LSM_TYPE_MATHML_FORM (lsm_mathml_form_get_type())
38
+ GType lsm_mathml_form_get_type (void) G_GNUC_CONST;
39
+
40
+ #define LSM_TYPE_MATHML_ROW_ALIGN (lsm_mathml_row_align_get_type())
41
+ GType lsm_mathml_row_align_get_type (void) G_GNUC_CONST;
42
+
43
+ #define LSM_TYPE_MATHML_COLUMN_ALIGN (lsm_mathml_column_align_get_type())
44
+ GType lsm_mathml_column_align_get_type (void) G_GNUC_CONST;
45
+
46
+ #define LSM_TYPE_MATHML_LINE (lsm_mathml_line_get_type())
47
+ GType lsm_mathml_line_get_type (void) G_GNUC_CONST;
48
+
49
+ #define LSM_TYPE_MATHML_SCRIPT_LEVEL_SIGN (lsm_mathml_script_level_sign_get_type())
50
+ GType lsm_mathml_script_level_sign_get_type (void) G_GNUC_CONST;
51
+
52
+ #define LSM_TYPE_MATHML_NOTATION (lsm_mathml_notation_get_type())
53
+ GType lsm_mathml_notation_get_type (void) G_GNUC_CONST;
54
+
55
+ #define LSM_TYPE_MATHML_LINEBREAK (lsm_mathml_linebreak_get_type())
56
+ GType lsm_mathml_linebreak_get_type (void) G_GNUC_CONST;
57
+
58
+ /* Enumerations from "lsmmathmltablerowelement.h" */
59
+
60
+ #define LSM_TYPE_MATHML_TABLE_ROW_ELEMENT_TYPE (lsm_mathml_table_row_element_type_get_type())
61
+ GType lsm_mathml_table_row_element_type_get_type (void) G_GNUC_CONST;
62
+
63
+ /* Enumerations from "lsmmathmlradicalelement.h" */
64
+
65
+ #define LSM_TYPE_MATHML_RADICAL_ELEMENT_TYPE (lsm_mathml_radical_element_type_get_type())
66
+ GType lsm_mathml_radical_element_type_get_type (void) G_GNUC_CONST;
67
+
68
+ /* Enumerations from "lsmmathmlscriptelement.h" */
69
+
70
+ #define LSM_TYPE_MATHML_SCRIPT_ELEMENT_TYPE (lsm_mathml_script_element_type_get_type())
71
+ GType lsm_mathml_script_element_type_get_type (void) G_GNUC_CONST;
72
+
73
+ /* Enumerations from "lsmmathmlunderoverelement.h" */
74
+
75
+ #define LSM_TYPE_MATHML_UNDER_OVER_ELEMENT_TYPE (lsm_mathml_under_over_element_type_get_type())
76
+ GType lsm_mathml_under_over_element_type_get_type (void) G_GNUC_CONST;
77
+
78
+ /* Enumerations from "lsmmathmlpresentationtoken.h" */
79
+
80
+ #define LSM_TYPE_MATHML_PRESENTATION_TOKEN_TYPE (lsm_mathml_presentation_token_type_get_type())
81
+ GType lsm_mathml_presentation_token_type_get_type (void) G_GNUC_CONST;
82
+
83
+ /* Enumerations from "lsmmathmlview.h" */
84
+
85
+ #define LSM_TYPE_MATHML_GLYPH_FLAGS (lsm_mathml_glyph_flags_get_type())
86
+ GType lsm_mathml_glyph_flags_get_type (void) G_GNUC_CONST;
87
+
88
+ #define LSM_TYPE_MATHML_FONT (lsm_mathml_font_get_type())
89
+ GType lsm_mathml_font_get_type (void) G_GNUC_CONST;
90
+
91
+ G_END_DECLS
92
+
93
+ #endif /* LSM_MATHML_ENUM_TYPES_H */
94
+
95
+ /* Generated data ends here */
96
+
@@ -59,11 +59,17 @@ static const LsmMathmlBbox *
59
59
  lsm_mathml_space_element_measure (LsmMathmlElement *self, LsmMathmlView *view, const LsmMathmlBbox *bbox)
60
60
  {
61
61
  LsmMathmlSpaceElement *space_element = LSM_MATHML_SPACE_ELEMENT (self);
62
+ LsmMathmlLinebreak linebreak;
62
63
 
63
64
  self->bbox.width = space_element->width.value;
64
65
  self->bbox.height = space_element->height.value;
65
66
  self->bbox.depth = space_element->depth.value;
66
67
  self->bbox.is_defined = TRUE;
68
+ linebreak = space_element->linebreak.value;
69
+
70
+ if (linebreak == LSM_MATHML_LINEBREAK_NEWLINE) {
71
+
72
+ }
67
73
 
68
74
  return &self->bbox;
69
75
  }
@@ -85,6 +91,7 @@ lsm_mathml_space_element_new (void)
85
91
 
86
92
  static const LsmMathmlSpace space_default = {LSM_MATHML_SPACE_NAME_ERROR, {0.0, LSM_MATHML_UNIT_EM}};
87
93
  static const LsmMathmlLength length_default = {1.0, LSM_MATHML_UNIT_NONE};
94
+ static const LsmMathmlLinebreak linebreak_default = LSM_MATHML_LINEBREAK_AUTO;
88
95
 
89
96
  static void
90
97
  lsm_mathml_space_element_init (LsmMathmlSpaceElement *self)
@@ -92,6 +99,7 @@ lsm_mathml_space_element_init (LsmMathmlSpaceElement *self)
92
99
  self->width.space = space_default;
93
100
  self->height.length = length_default;
94
101
  self->depth.length = length_default;
102
+ self->linebreak.value = linebreak_default;
95
103
  }
96
104
 
97
105
  /* LsmMathmlSpaceElement class */
@@ -114,6 +122,12 @@ static const LsmAttributeInfos _attribute_infos[] = {
114
122
  .attribute_offset = offsetof (LsmMathmlSpaceElement, height),
115
123
  .trait_class = &lsm_mathml_length_trait_class,
116
124
  .trait_default = &length_default
125
+ },
126
+ {
127
+ .name = "linebreak",
128
+ .attribute_offset = offsetof (LsmMathmlSpaceElement, linebreak),
129
+ .trait_class = &lsm_mathml_linebreak_trait_class,
130
+ .trait_default = &linebreak_default
117
131
  }
118
132
  };
119
133
 
@@ -44,6 +44,7 @@ struct _LsmMathmlSpaceElement {
44
44
  LsmMathmlSpaceAttribute width;
45
45
  LsmMathmlLengthAttribute height;
46
46
  LsmMathmlLengthAttribute depth;
47
+ LsmMathmlEnumAttribute linebreak;
47
48
  };
48
49
 
49
50
  struct _LsmMathmlSpaceElementClass {
@@ -57,4 +58,3 @@ LsmDomNode * lsm_mathml_space_element_new (void);
57
58
  G_END_DECLS
58
59
 
59
60
  #endif
60
-
@@ -275,6 +275,30 @@ const LsmTraitClass lsm_mathml_notation_trait_class = {
275
275
  .to_string = lsm_mathml_notation_trait_to_string
276
276
  };
277
277
 
278
+ static gboolean
279
+ lsm_mathml_linebreak_trait_from_string (LsmTrait *abstract_trait, char *string)
280
+ {
281
+ LsmMathmlLinebreak *value = (LsmMathmlLinebreak *) abstract_trait;
282
+
283
+ *value = lsm_mathml_linebreak_from_string (string);
284
+
285
+ return *value >= 0;
286
+ }
287
+
288
+ static char *
289
+ lsm_mathml_linebreak_trait_to_string (LsmTrait *abstract_trait)
290
+ {
291
+ LsmMathmlLinebreak *value = (LsmMathmlLinebreak *) abstract_trait;
292
+
293
+ return g_strdup (lsm_mathml_linebreak_to_string (*value));
294
+ }
295
+
296
+ const LsmTraitClass lsm_mathml_linebreak_trait_class = {
297
+ .size = sizeof (int),
298
+ .from_string = lsm_mathml_linebreak_trait_from_string,
299
+ .to_string = lsm_mathml_linebreak_trait_to_string
300
+ };
301
+
278
302
  typedef int (*LsmMathmlEnumFromString) (const char *string);
279
303
  typedef char * (*LsmMathmlEnumToString) (unsigned int value);
280
304
 
@@ -107,6 +107,7 @@ extern const LsmTraitClass lsm_mathml_font_weight_trait_class;
107
107
  extern const LsmTraitClass lsm_mathml_variant_trait_class;
108
108
  extern const LsmTraitClass lsm_mathml_form_trait_class;
109
109
  extern const LsmTraitClass lsm_mathml_notation_trait_class;
110
+ extern const LsmTraitClass lsm_mathml_linebreak_trait_class;
110
111
 
111
112
  extern const LsmTraitClass lsm_mathml_row_align_list_trait_class;
112
113
  extern const LsmTraitClass lsm_mathml_column_align_list_trait_class;
@@ -38,6 +38,16 @@ typedef struct {
38
38
  LsmSvgBlendingMode value;
39
39
  } LsmSvgBlendingModeAttribute;
40
40
 
41
+ typedef struct {
42
+ LsmAttribute base;
43
+ gboolean value;
44
+ } LsmSvgBooleanAttribute;
45
+
46
+ typedef struct {
47
+ LsmAttribute base;
48
+ int value;
49
+ } LsmSvgIntegerAttribute;
50
+
41
51
  typedef struct {
42
52
  LsmAttribute base;
43
53
  double value;
@@ -48,6 +58,11 @@ typedef struct {
48
58
  LsmSvgOneOrTwoDouble value;
49
59
  } LsmSvgOneOrTwoDoubleAttribute;
50
60
 
61
+ typedef struct {
62
+ LsmAttribute base;
63
+ LsmSvgVector value;
64
+ } LsmSvgVectorAttribute;
65
+
51
66
  typedef struct {
52
67
  LsmAttribute base;
53
68
  LsmSvgDashArray *value;
@@ -108,11 +123,46 @@ typedef struct {
108
123
  LsmSvgMarkerUnits value;
109
124
  } LsmSvgMarkerUnitsAttribute;
110
125
 
126
+ typedef struct {
127
+ LsmAttribute base;
128
+ LsmSvgColorFilterType value;
129
+ } LsmSvgColorFilterTypeAttribute;
130
+
111
131
  typedef struct {
112
132
  LsmAttribute base;
113
133
  LsmSvgAngle value;
114
134
  } LsmSvgAngleAttribute;
115
135
 
136
+ typedef struct {
137
+ LsmAttribute base;
138
+ LsmSvgMorphologyOperator value;
139
+ } LsmSvgMorphologyOperatorAttribute;
140
+
141
+ typedef struct {
142
+ LsmAttribute base;
143
+ LsmSvgEdgeMode value;
144
+ } LsmSvgEdgeModeAttribute;
145
+
146
+ typedef struct {
147
+ LsmAttribute base;
148
+ LsmSvgOneOrTwoInteger value;
149
+ } LsmSvgOneOrTwoIntegerAttribute;
150
+
151
+ typedef struct {
152
+ LsmAttribute base;
153
+ LsmSvgStitchTiles value;
154
+ } LsmSvgStitchTilesAttribute;
155
+
156
+ typedef struct {
157
+ LsmAttribute base;
158
+ LsmSvgTurbulenceType value;
159
+ } LsmSvgTurbulenceTypeAttribute;
160
+
161
+ typedef struct {
162
+ LsmAttribute base;
163
+ LsmSvgChannelSelector value;
164
+ } LsmSvgChannelSelectorAttribute;
165
+
116
166
  G_END_DECLS
117
167
 
118
168
  #endif
@@ -30,13 +30,19 @@
30
30
  #include <lsmsvgellipseelement.h>
31
31
  #include <lsmsvgfilterelement.h>
32
32
  #include <lsmsvgfilterblend.h>
33
+ #include <lsmsvgfiltercolormatrix.h>
33
34
  #include <lsmsvgfiltercomposite.h>
35
+ #include <lsmsvgfilterconvolvematrix.h>
36
+ #include <lsmsvgfilterdisplacementmap.h>
34
37
  #include <lsmsvgfilterflood.h>
35
38
  #include <lsmsvgfiltergaussianblur.h>
39
+ #include <lsmsvgfilterimage.h>
36
40
  #include <lsmsvgfilteroffset.h>
37
41
  #include <lsmsvgfiltermerge.h>
38
42
  #include <lsmsvgfiltermergenode.h>
43
+ #include <lsmsvgfiltermorphology.h>
39
44
  #include <lsmsvgfilterspecularlighting.h>
45
+ #include <lsmsvgfilterturbulence.h>
40
46
  #include <lsmsvgfiltertile.h>
41
47
  #include <lsmsvggelement.h>
42
48
  #include <lsmsvgimageelement.h>
@@ -154,20 +160,32 @@ _create_element (LsmDomDocument *document, const char *tag_name)
154
160
  node = lsm_svg_filter_blend_new ();
155
161
  else if (strcmp (tag_name, "feComposite") == 0)
156
162
  node = lsm_svg_filter_composite_new ();
163
+ else if (strcmp (tag_name, "feColorMatrix") == 0)
164
+ node = lsm_svg_filter_color_matrix_new ();
165
+ else if (strcmp (tag_name, "feConvolveMatrix") == 0)
166
+ node = lsm_svg_filter_convolve_matrix_new ();
167
+ else if (strcmp (tag_name, "feDisplacementMap") == 0)
168
+ node = lsm_svg_filter_displacement_map_new ();
157
169
  else if (strcmp (tag_name, "feFlood") == 0)
158
170
  node = lsm_svg_filter_flood_new ();
159
171
  else if (strcmp (tag_name, "feGaussianBlur") == 0)
160
172
  node = lsm_svg_filter_gaussian_blur_new ();
173
+ else if (strcmp (tag_name, "feImage") == 0)
174
+ node = lsm_svg_filter_image_new ();
161
175
  else if (strcmp (tag_name, "feMerge") == 0)
162
176
  node = lsm_svg_filter_merge_new ();
163
177
  else if (strcmp (tag_name, "feMergeNode") == 0)
164
178
  node = lsm_svg_filter_merge_node_new ();
179
+ else if (strcmp (tag_name, "feMorphology") == 0)
180
+ node = lsm_svg_filter_morphology_new ();
165
181
  else if (strcmp (tag_name, "feOffset") == 0)
166
182
  node = lsm_svg_filter_offset_new ();
167
183
  else if (strcmp (tag_name, "feSpecularLighting") == 0)
168
184
  node = lsm_svg_filter_specular_lighting_new ();
169
185
  else if (strcmp (tag_name, "feTile") == 0)
170
186
  node = lsm_svg_filter_tile_new ();
187
+ else if (strcmp (tag_name, "feTurbulence") == 0)
188
+ node = lsm_svg_filter_turbulence_new ();
171
189
 
172
190
  if (node != NULL)
173
191
  lsm_debug_dom ("[LsmSvgDocument::create_element] Create a %s element", tag_name);
@@ -542,3 +542,133 @@ lsm_svg_writing_mode_from_string (const char *string)
542
542
  G_N_ELEMENTS (lsm_svg_writing_mode_strings));
543
543
  }
544
544
 
545
+ static const char *lsm_svg_color_filter_type_strings[] = {
546
+ "matrix",
547
+ "saturate",
548
+ "hueRotate",
549
+ "luminanceToAlpha"
550
+ };
551
+
552
+ const char *
553
+ lsm_svg_color_filter_type_to_string (LsmSvgColorFilterType color_filter_type)
554
+ {
555
+ if (color_filter_type < 0 || color_filter_type > LSM_SVG_COLOR_FILTER_TYPE_LUMINANCE_TO_ALPHA)
556
+ return NULL;
557
+
558
+ return lsm_svg_color_filter_type_strings[color_filter_type];
559
+ }
560
+
561
+ LsmSvgColorFilterType
562
+ lsm_svg_color_filter_type_from_string (const char *string)
563
+ {
564
+ return lsm_enum_value_from_string (string, lsm_svg_color_filter_type_strings,
565
+ G_N_ELEMENTS (lsm_svg_color_filter_type_strings));
566
+ }
567
+
568
+ static const char *lsm_svg_morphology_operator_strings[] = {
569
+ "erode",
570
+ "dilate"
571
+ };
572
+
573
+ const char *
574
+ lsm_svg_morphology_operator_to_string (LsmSvgMorphologyOperator morphology_operator)
575
+ {
576
+ if (morphology_operator < 0 || morphology_operator > LSM_SVG_MORPHOLOGY_OPERATOR_DILATE)
577
+ return NULL;
578
+
579
+ return lsm_svg_morphology_operator_strings[morphology_operator];
580
+ }
581
+
582
+ LsmSvgMorphologyOperator
583
+ lsm_svg_morphology_operator_from_string (const char *string)
584
+ {
585
+ return lsm_enum_value_from_string (string, lsm_svg_morphology_operator_strings,
586
+ G_N_ELEMENTS (lsm_svg_morphology_operator_strings));
587
+ }
588
+
589
+ static const char *lsm_svg_edge_mode_strings[] = {
590
+ "duplicate",
591
+ "wrap",
592
+ "none"
593
+ };
594
+
595
+ const char *
596
+ lsm_svg_edge_mode_to_string (LsmSvgEdgeMode edge_mode)
597
+ {
598
+ if (edge_mode < 0 || edge_mode > LSM_SVG_EDGE_MODE_NONE)
599
+ return NULL;
600
+
601
+ return lsm_svg_edge_mode_strings[edge_mode];
602
+ }
603
+
604
+ LsmSvgEdgeMode
605
+ lsm_svg_edge_mode_from_string (const char *string)
606
+ {
607
+ return lsm_enum_value_from_string (string, lsm_svg_edge_mode_strings,
608
+ G_N_ELEMENTS (lsm_svg_edge_mode_strings));
609
+ }
610
+
611
+ static const char *lsm_svg_stitch_tiles_strings[] = {
612
+ "noStitch",
613
+ "stitch"
614
+ };
615
+
616
+ const char *
617
+ lsm_svg_stitch_tiles_to_string (LsmSvgStitchTiles stitch_tiles)
618
+ {
619
+ if (stitch_tiles < 0 || stitch_tiles > LSM_SVG_STITCH_TILES_STITCH)
620
+ return NULL;
621
+
622
+ return lsm_svg_stitch_tiles_strings[stitch_tiles];
623
+ }
624
+
625
+ LsmSvgStitchTiles
626
+ lsm_svg_stitch_tiles_from_string (const char *string)
627
+ {
628
+ return lsm_enum_value_from_string (string, lsm_svg_stitch_tiles_strings,
629
+ G_N_ELEMENTS (lsm_svg_stitch_tiles_strings));
630
+ }
631
+
632
+ static const char *lsm_svg_turbulence_type_strings[] = {
633
+ "turbulence",
634
+ "fractalNoise"
635
+ };
636
+
637
+ const char *
638
+ lsm_svg_turbulence_type_to_string (LsmSvgTurbulenceType turbulence_type)
639
+ {
640
+ if (turbulence_type < 0 || turbulence_type > LSM_SVG_TURBULENCE_TYPE_FRACTAL_NOISE)
641
+ return NULL;
642
+
643
+ return lsm_svg_turbulence_type_strings[turbulence_type];
644
+ }
645
+
646
+ LsmSvgTurbulenceType
647
+ lsm_svg_turbulence_type_from_string (const char *string)
648
+ {
649
+ return lsm_enum_value_from_string (string, lsm_svg_turbulence_type_strings,
650
+ G_N_ELEMENTS (lsm_svg_turbulence_type_strings));
651
+ }
652
+
653
+ static const char *lsm_svg_channel_selector_strings[] = {
654
+ "R",
655
+ "G",
656
+ "B",
657
+ "A"
658
+ };
659
+
660
+ const char *
661
+ lsm_svg_channel_selector_to_string (LsmSvgChannelSelector channel_selector)
662
+ {
663
+ if (channel_selector < 0 || channel_selector > LSM_SVG_CHANNEL_SELECTOR_ALPHA)
664
+ return NULL;
665
+
666
+ return lsm_svg_channel_selector_strings[channel_selector];
667
+ }
668
+
669
+ LsmSvgChannelSelector
670
+ lsm_svg_channel_selector_from_string (const char *string)
671
+ {
672
+ return lsm_enum_value_from_string (string, lsm_svg_channel_selector_strings,
673
+ G_N_ELEMENTS (lsm_svg_channel_selector_strings));
674
+ }
@@ -352,6 +352,65 @@ typedef enum {
352
352
  const char * lsm_svg_writing_mode_to_string (LsmSvgWritingMode writing_mode);
353
353
  LsmSvgWritingMode lsm_svg_writing_mode_from_string (const char *string);
354
354
 
355
+ typedef enum {
356
+ LSM_SVG_COLOR_FILTER_TYPE_ERROR = -1,
357
+ LSM_SVG_COLOR_FILTER_TYPE_MATRIX,
358
+ LSM_SVG_COLOR_FILTER_TYPE_SATURATE,
359
+ LSM_SVG_COLOR_FILTER_TYPE_HUE_ROTATE,
360
+ LSM_SVG_COLOR_FILTER_TYPE_LUMINANCE_TO_ALPHA
361
+ } LsmSvgColorFilterType;
362
+
363
+ const char * lsm_svg_color_filter_type_to_string (LsmSvgColorFilterType type);
364
+ LsmSvgColorFilterType lsm_svg_color_filter_type_from_string (const char *string);
365
+
366
+ typedef enum {
367
+ LSM_SVG_MORPHOLOGY_OPERATOR_ERROR = -1,
368
+ LSM_SVG_MORPHOLOGY_OPERATOR_ERODE,
369
+ LSM_SVG_MORPHOLOGY_OPERATOR_DILATE
370
+ } LsmSvgMorphologyOperator;
371
+
372
+ const char * lsm_svg_morphology_operator_to_string (LsmSvgMorphologyOperator morpholoy_operator);
373
+ LsmSvgMorphologyOperator lsm_svg_morphology_operator_from_string (const char *string);
374
+
375
+ typedef enum {
376
+ LSM_SVG_EDGE_MODE_ERROR = -1,
377
+ LSM_SVG_EDGE_MODE_DUPLICATE,
378
+ LSM_SVG_EDGE_MODE_WRAP,
379
+ LSM_SVG_EDGE_MODE_NONE
380
+ } LsmSvgEdgeMode;
381
+
382
+ const char * lsm_svg_edge_mode_to_string (LsmSvgEdgeMode edge_mode);
383
+ LsmSvgEdgeMode lsm_svg_edge_mode_from_string (const char *string);
384
+
385
+ typedef enum {
386
+ LSM_SVG_STITCH_TILES_ERROR = -1,
387
+ LSM_SVG_STITCH_TILES_NO_STITCH,
388
+ LSM_SVG_STITCH_TILES_STITCH
389
+ } LsmSvgStitchTiles;
390
+
391
+ const char * lsm_svg_stitch_tiles_to_string (LsmSvgStitchTiles stitch_tiles);
392
+ LsmSvgStitchTiles lsm_svg_stitch_tiles_from_string (const char *string);
393
+
394
+ typedef enum {
395
+ LSM_SVG_TURBULENCE_TYPE_ERROR = -1,
396
+ LSM_SVG_TURBULENCE_TYPE_TURBULENCE,
397
+ LSM_SVG_TURBULENCE_TYPE_FRACTAL_NOISE
398
+ } LsmSvgTurbulenceType;
399
+
400
+ const char * lsm_svg_turbulence_type_to_string (LsmSvgTurbulenceType turbulence_type);
401
+ LsmSvgTurbulenceType lsm_svg_turbulence_type_from_string (const char *string);
402
+
403
+ typedef enum {
404
+ LSM_SVG_CHANNEL_SELECTOR_ERROR = -1,
405
+ LSM_SVG_CHANNEL_SELECTOR_RED,
406
+ LSM_SVG_CHANNEL_SELECTOR_GREEN,
407
+ LSM_SVG_CHANNEL_SELECTOR_BLUE,
408
+ LSM_SVG_CHANNEL_SELECTOR_ALPHA
409
+ } LsmSvgChannelSelector;
410
+
411
+ const char * lsm_svg_channel_selector_to_string (LsmSvgChannelSelector channel_selector);
412
+ LsmSvgChannelSelector lsm_svg_channel_selector_from_string (const char *string);
413
+
355
414
  G_END_DECLS
356
415
 
357
416
  #endif