mathematical 1.4.2 → 1.5.0

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 (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