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,129 @@
1
+
2
+ /* Generated data (by glib-mkenums) */
3
+
4
+ #ifndef LSM_SVG_ENUM_TYPES_H
5
+ #define LSM_SVG_ENUM_TYPES_H
6
+
7
+ #include <glib-object.h>
8
+
9
+ G_BEGIN_DECLS
10
+
11
+ /* Enumerations from "lsmsvgenums.h" */
12
+
13
+ #define LSM_TYPE_SVG_ANGLE_TYPE (lsm_svg_angle_type_get_type())
14
+ GType lsm_svg_angle_type_get_type (void) G_GNUC_CONST;
15
+
16
+ #define LSM_TYPE_SVG_BLENDING_MODE (lsm_svg_blending_mode_get_type())
17
+ GType lsm_svg_blending_mode_get_type (void) G_GNUC_CONST;
18
+
19
+ #define LSM_TYPE_SVG_ENABLE_BACKGROUND (lsm_svg_enable_background_get_type())
20
+ GType lsm_svg_enable_background_get_type (void) G_GNUC_CONST;
21
+
22
+ #define LSM_TYPE_SVG_PAINT_TYPE (lsm_svg_paint_type_get_type())
23
+ GType lsm_svg_paint_type_get_type (void) G_GNUC_CONST;
24
+
25
+ #define LSM_TYPE_SVG_LENGTH_DIRECTION (lsm_svg_length_direction_get_type())
26
+ GType lsm_svg_length_direction_get_type (void) G_GNUC_CONST;
27
+
28
+ #define LSM_TYPE_SVG_LENGTH_TYPE (lsm_svg_length_type_get_type())
29
+ GType lsm_svg_length_type_get_type (void) G_GNUC_CONST;
30
+
31
+ #define LSM_TYPE_SVG_FILL_RULE (lsm_svg_fill_rule_get_type())
32
+ GType lsm_svg_fill_rule_get_type (void) G_GNUC_CONST;
33
+
34
+ #define LSM_TYPE_SVG_LINE_JOIN (lsm_svg_line_join_get_type())
35
+ GType lsm_svg_line_join_get_type (void) G_GNUC_CONST;
36
+
37
+ #define LSM_TYPE_SVG_LINE_CAP (lsm_svg_line_cap_get_type())
38
+ GType lsm_svg_line_cap_get_type (void) G_GNUC_CONST;
39
+
40
+ #define LSM_TYPE_SVG_TRANSFORM_TYPE (lsm_svg_transform_type_get_type())
41
+ GType lsm_svg_transform_type_get_type (void) G_GNUC_CONST;
42
+
43
+ #define LSM_TYPE_SVG_OVERFLOW (lsm_svg_overflow_get_type())
44
+ GType lsm_svg_overflow_get_type (void) G_GNUC_CONST;
45
+
46
+ #define LSM_TYPE_SVG_PATTERN_UNITS (lsm_svg_pattern_units_get_type())
47
+ GType lsm_svg_pattern_units_get_type (void) G_GNUC_CONST;
48
+
49
+ #define LSM_TYPE_SVG_MARKER_UNITS (lsm_svg_marker_units_get_type())
50
+ GType lsm_svg_marker_units_get_type (void) G_GNUC_CONST;
51
+
52
+ #define LSM_TYPE_SVG_SPREAD_METHOD (lsm_svg_spread_method_get_type())
53
+ GType lsm_svg_spread_method_get_type (void) G_GNUC_CONST;
54
+
55
+ #define LSM_TYPE_SVG_ALIGN (lsm_svg_align_get_type())
56
+ GType lsm_svg_align_get_type (void) G_GNUC_CONST;
57
+
58
+ #define LSM_TYPE_SVG_MEET_OR_SLICE (lsm_svg_meet_or_slice_get_type())
59
+ GType lsm_svg_meet_or_slice_get_type (void) G_GNUC_CONST;
60
+
61
+ #define LSM_TYPE_SVG_COMP_OP (lsm_svg_comp_op_get_type())
62
+ GType lsm_svg_comp_op_get_type (void) G_GNUC_CONST;
63
+
64
+ #define LSM_TYPE_SVG_FONT_STRETCH (lsm_svg_font_stretch_get_type())
65
+ GType lsm_svg_font_stretch_get_type (void) G_GNUC_CONST;
66
+
67
+ #define LSM_TYPE_SVG_FONT_STYLE (lsm_svg_font_style_get_type())
68
+ GType lsm_svg_font_style_get_type (void) G_GNUC_CONST;
69
+
70
+ #define LSM_TYPE_SVG_FONT_WEIGHT (lsm_svg_font_weight_get_type())
71
+ GType lsm_svg_font_weight_get_type (void) G_GNUC_CONST;
72
+
73
+ #define LSM_TYPE_SVG_TEXT_ANCHOR (lsm_svg_text_anchor_get_type())
74
+ GType lsm_svg_text_anchor_get_type (void) G_GNUC_CONST;
75
+
76
+ #define LSM_TYPE_SVG_FILTER_INPUT (lsm_svg_filter_input_get_type())
77
+ GType lsm_svg_filter_input_get_type (void) G_GNUC_CONST;
78
+
79
+ #define LSM_TYPE_SVG_DISPLAY (lsm_svg_display_get_type())
80
+ GType lsm_svg_display_get_type (void) G_GNUC_CONST;
81
+
82
+ #define LSM_TYPE_SVG_VISIBILITY (lsm_svg_visibility_get_type())
83
+ GType lsm_svg_visibility_get_type (void) G_GNUC_CONST;
84
+
85
+ #define LSM_TYPE_SVG_ELEMENT_CATEGORY (lsm_svg_element_category_get_type())
86
+ GType lsm_svg_element_category_get_type (void) G_GNUC_CONST;
87
+
88
+ #define LSM_TYPE_SVG_WRITING_MODE (lsm_svg_writing_mode_get_type())
89
+ GType lsm_svg_writing_mode_get_type (void) G_GNUC_CONST;
90
+
91
+ #define LSM_TYPE_SVG_COLOR_FILTER_TYPE (lsm_svg_color_filter_type_get_type())
92
+ GType lsm_svg_color_filter_type_get_type (void) G_GNUC_CONST;
93
+
94
+ #define LSM_TYPE_SVG_MORPHOLOGY_OPERATOR (lsm_svg_morphology_operator_get_type())
95
+ GType lsm_svg_morphology_operator_get_type (void) G_GNUC_CONST;
96
+
97
+ #define LSM_TYPE_SVG_EDGE_MODE (lsm_svg_edge_mode_get_type())
98
+ GType lsm_svg_edge_mode_get_type (void) G_GNUC_CONST;
99
+
100
+ #define LSM_TYPE_SVG_STITCH_TILES (lsm_svg_stitch_tiles_get_type())
101
+ GType lsm_svg_stitch_tiles_get_type (void) G_GNUC_CONST;
102
+
103
+ #define LSM_TYPE_SVG_TURBULENCE_TYPE (lsm_svg_turbulence_type_get_type())
104
+ GType lsm_svg_turbulence_type_get_type (void) G_GNUC_CONST;
105
+
106
+ #define LSM_TYPE_SVG_CHANNEL_SELECTOR (lsm_svg_channel_selector_get_type())
107
+ GType lsm_svg_channel_selector_get_type (void) G_GNUC_CONST;
108
+
109
+ /* Enumerations from "lsmsvgview.h" */
110
+
111
+ #define LSM_TYPE_SVG_VIEW_SURFACE_TYPE (lsm_svg_view_surface_type_get_type())
112
+ GType lsm_svg_view_surface_type_get_type (void) G_GNUC_CONST;
113
+
114
+ /* Enumerations from "lsmsvgmatrix.h" */
115
+
116
+ #define LSM_TYPE_SVG_MATRIX_FLAGS (lsm_svg_matrix_flags_get_type())
117
+ GType lsm_svg_matrix_flags_get_type (void) G_GNUC_CONST;
118
+
119
+ /* Enumerations from "lsmsvguseelement.h" */
120
+
121
+ #define LSM_TYPE_SVG_USE_ELEMENT_FLAGS (lsm_svg_use_element_flags_get_type())
122
+ GType lsm_svg_use_element_flags_get_type (void) G_GNUC_CONST;
123
+
124
+ G_END_DECLS
125
+
126
+ #endif /* LSM_SVG_ENUM_TYPES_H */
127
+
128
+ /* Generated data ends here */
129
+
@@ -0,0 +1,115 @@
1
+ /* Lasem
2
+ *
3
+ * Copyright © 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 <lsmsvgfiltercolormatrix.h>
25
+ #include <lsmsvgview.h>
26
+
27
+ static GObjectClass *parent_class;
28
+
29
+ /* GdomNode implementation */
30
+
31
+ static const char *
32
+ lsm_svg_filter_color_matrix_get_node_name (LsmDomNode *node)
33
+ {
34
+ return "feColorMatrix";
35
+ }
36
+
37
+ /* LsmSvgElement implementation */
38
+
39
+ static void
40
+ lsm_svg_filter_color_matrix_apply (LsmSvgFilterPrimitive *self, LsmSvgView *view,
41
+ const char *input, const char *output, const LsmBox *subregion)
42
+ {
43
+ LsmSvgFilterColorMatrix *color_matrix = LSM_SVG_FILTER_COLOR_MATRIX (self);
44
+
45
+ lsm_svg_view_apply_color_matrix (view, input, output, subregion,
46
+ color_matrix->type.value,
47
+ color_matrix->values.value.n_values,
48
+ color_matrix->values.value.values);
49
+ }
50
+
51
+ /* LsmSvgFilterColorMatrix implementation */
52
+
53
+ static const LsmSvgColorFilterType color_filter_type_default = LSM_SVG_COLOR_FILTER_TYPE_MATRIX;
54
+ static const LsmSvgVector values_default = { .n_values = 0, .values = NULL};
55
+
56
+ LsmDomNode *
57
+ lsm_svg_filter_color_matrix_new (void)
58
+ {
59
+ return g_object_new (LSM_TYPE_SVG_FILTER_COLOR_MATRIX, NULL);
60
+ }
61
+
62
+ static void
63
+ lsm_svg_filter_color_matrix_init (LsmSvgFilterColorMatrix *self)
64
+ {
65
+ self->type.value = color_filter_type_default;
66
+ self->values.value = values_default;
67
+ }
68
+
69
+ static void
70
+ lsm_svg_filter_color_matrix_finalize (GObject *object)
71
+ {
72
+ parent_class->finalize (object);
73
+ }
74
+
75
+ /* LsmSvgFilterColorMatrix class */
76
+
77
+ static const LsmAttributeInfos lsm_svg_filter_color_matrix_attribute_infos[] = {
78
+ {
79
+ .name = "type",
80
+ .attribute_offset = offsetof (LsmSvgFilterColorMatrix, type),
81
+ .trait_class = &lsm_svg_color_filter_type_trait_class,
82
+ .trait_default = &color_filter_type_default
83
+ },
84
+ {
85
+ .name = "values",
86
+ .attribute_offset = offsetof (LsmSvgFilterColorMatrix, values),
87
+ .trait_class = &lsm_svg_vector_trait_class,
88
+ .trait_default = &values_default
89
+ }
90
+ };
91
+
92
+ static void
93
+ lsm_svg_filter_color_matrix_class_init (LsmSvgFilterColorMatrixClass *klass)
94
+ {
95
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
96
+ LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (klass);
97
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (klass);
98
+ LsmSvgFilterPrimitiveClass *f_primitive_class = LSM_SVG_FILTER_PRIMITIVE_CLASS (klass);
99
+
100
+ parent_class = g_type_class_peek_parent (klass);
101
+
102
+ object_class->finalize = lsm_svg_filter_color_matrix_finalize;
103
+
104
+ d_node_class->get_node_name = lsm_svg_filter_color_matrix_get_node_name;
105
+
106
+ s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
107
+
108
+ lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
109
+ G_N_ELEMENTS (lsm_svg_filter_color_matrix_attribute_infos),
110
+ lsm_svg_filter_color_matrix_attribute_infos);
111
+
112
+ f_primitive_class->apply = lsm_svg_filter_color_matrix_apply;
113
+ }
114
+
115
+ G_DEFINE_TYPE (LsmSvgFilterColorMatrix, lsm_svg_filter_color_matrix, LSM_TYPE_SVG_FILTER_PRIMITIVE)
@@ -0,0 +1,58 @@
1
+ /* Lasem
2
+ *
3
+ * Copyright © 2015 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_FILTER_COLOR_MATRIX_H
25
+ #define LSM_SVG_FILTER_COLOR_MATRIX_H
26
+
27
+ #include <lsmsvgtypes.h>
28
+ #include <lsmsvgfilterprimitive.h>
29
+
30
+ G_BEGIN_DECLS
31
+
32
+ #define LSM_TYPE_SVG_FILTER_COLOR_MATRIX (lsm_svg_filter_color_matrix_get_type ())
33
+ #define LSM_SVG_FILTER_COLOR_MATRIX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_SVG_FILTER_COLOR_MATRIX, LsmSvgFilterColorMatrix))
34
+ #define LSM_SVG_FILTER_COLOR_MATRIX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_SVG_FILTER_COLOR_MATRIX, LsmSvgFilterColorMatrixClass))
35
+ #define LSM_IS_SVG_FILTER_COLOR_MATRIX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_SVG_FILTER_COLOR_MATRIX))
36
+ #define LSM_IS_SVG_FILTER_COLOR_MATRIX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_SVG_FILTER_COLOR_MATRIX))
37
+ #define LSM_SVG_FILTER_COLOR_MATRIX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_SVG_FILTER_COLOR_MATRIX, LsmSvgFilterColorMatrixClass))
38
+
39
+ typedef struct _LsmSvgFilterColorMatrixClass LsmSvgFilterColorMatrixClass;
40
+
41
+ struct _LsmSvgFilterColorMatrix {
42
+ LsmSvgFilterPrimitive base;
43
+
44
+ LsmSvgColorFilterTypeAttribute type;
45
+ LsmSvgVectorAttribute values;
46
+ };
47
+
48
+ struct _LsmSvgFilterColorMatrixClass {
49
+ LsmSvgFilterPrimitiveClass element_class;
50
+ };
51
+
52
+ GType lsm_svg_filter_color_matrix_get_type (void);
53
+
54
+ LsmDomNode * lsm_svg_filter_color_matrix_new (void);
55
+
56
+ G_END_DECLS
57
+
58
+ #endif
@@ -0,0 +1,206 @@
1
+ /* Lasem
2
+ *
3
+ * Copyright © 2015 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 <lsmsvgfilterconvolvematrix.h>
25
+ #include <lsmsvgview.h>
26
+
27
+ static GObjectClass *parent_class;
28
+
29
+ /* GdomNode implementation */
30
+
31
+ static const char *
32
+ lsm_svg_filter_convolve_matrix_get_node_name (LsmDomNode *node)
33
+ {
34
+ return "feConvolveMatrix";
35
+ }
36
+
37
+ /* LsmSvgElement implementation */
38
+
39
+ static void
40
+ lsm_svg_filter_convolve_matrix_apply (LsmSvgFilterPrimitive *self, LsmSvgView *view,
41
+ const char *input, const char *output, const LsmBox *subregion)
42
+ {
43
+ double divisor;
44
+ int order_x;
45
+ int order_y;
46
+ int target_x;
47
+ int target_y;
48
+
49
+ LsmSvgFilterConvolveMatrix *convolve_matrix = LSM_SVG_FILTER_CONVOLVE_MATRIX (self);
50
+
51
+ order_x = convolve_matrix->order.value.a;
52
+ order_y = convolve_matrix->order.value.b;
53
+
54
+ if (lsm_attribute_is_defined (&convolve_matrix->target_x.base))
55
+ target_x = convolve_matrix->target_x.value;
56
+ else
57
+ target_x = order_x / 2;
58
+
59
+ if (lsm_attribute_is_defined (&convolve_matrix->target_y.base))
60
+ target_y = convolve_matrix->target_y.value;
61
+ else
62
+ target_y = order_y / 2;
63
+
64
+ target_x = CLAMP (target_x, 0, order_x);
65
+ target_y = CLAMP (target_y, 0, order_y);
66
+
67
+ if (lsm_attribute_is_defined (&convolve_matrix->divisor.base))
68
+ divisor = convolve_matrix->divisor.value;
69
+ else {
70
+ int i;
71
+
72
+ divisor = 0.0;
73
+
74
+ for (i = 0; i < convolve_matrix->kernel.value.n_values; i++)
75
+ divisor += convolve_matrix->kernel.value.values[i];
76
+ }
77
+
78
+ if (divisor <= 0.0) {
79
+ lsm_warning_dom ("[SvgFilterConvolveMatrix::apply] Invalid divisor");
80
+ return;
81
+ }
82
+
83
+ lsm_svg_view_apply_convolve_matrix (view, input, output, subregion,
84
+ order_x, order_y,
85
+ convolve_matrix->kernel.value.n_values,
86
+ convolve_matrix->kernel.value.values,
87
+ divisor,
88
+ convolve_matrix->bias.value,
89
+ target_x,
90
+ target_y,
91
+ convolve_matrix->edge_mode.value,
92
+ convolve_matrix->preserve_alpha.value);
93
+ }
94
+
95
+ /* LsmSvgFilterConvolveMatrix implementation */
96
+
97
+ LsmDomNode *
98
+ lsm_svg_filter_convolve_matrix_new (void)
99
+ {
100
+ return g_object_new (LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX, NULL);
101
+ }
102
+
103
+ static const LsmSvgOneOrTwoInteger order_default = {0, 0};
104
+ static const LsmSvgVector kernel_default = { .n_values = 0, .values = NULL};
105
+ static const double divisor_default = 0.0;
106
+ static const double bias_default = 0.0;
107
+ static const int target_default = -1;
108
+ static const LsmSvgEdgeMode edge_mode_default = LSM_SVG_EDGE_MODE_NONE;
109
+ static const gboolean preserve_alpha_default = FALSE;
110
+
111
+ static void
112
+ lsm_svg_filter_convolve_matrix_init (LsmSvgFilterConvolveMatrix *self)
113
+ {
114
+ self->order.value = order_default;
115
+ self->kernel.value = kernel_default;
116
+ self->divisor.value = divisor_default;
117
+ self->bias.value = bias_default;
118
+ self->target_x.value = target_default;
119
+ self->target_y.value = target_default;
120
+ self->edge_mode.value = edge_mode_default;
121
+ self->preserve_alpha.value = preserve_alpha_default;
122
+ }
123
+
124
+ static void
125
+ lsm_svg_filter_convolve_matrix_finalize (GObject *object)
126
+ {
127
+ parent_class->finalize (object);
128
+ }
129
+
130
+ /* LsmSvgFilterConvolveMatrix class */
131
+
132
+ static const LsmAttributeInfos lsm_svg_filter_convolve_matrix_attribute_infos[] = {
133
+ {
134
+ .name = "order",
135
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, order),
136
+ .trait_class = &lsm_svg_one_or_two_integer_trait_class,
137
+ .trait_default = &order_default
138
+ },
139
+ {
140
+ .name = "kernelMatrix",
141
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, kernel),
142
+ .trait_class = &lsm_svg_vector_trait_class,
143
+ .trait_default = &kernel_default
144
+ },
145
+ {
146
+ .name = "divisor",
147
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, divisor),
148
+ .trait_class = &lsm_double_trait_class,
149
+ .trait_default = &divisor_default
150
+ },
151
+ {
152
+ .name = "bias",
153
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, bias),
154
+ .trait_class = &lsm_double_trait_class,
155
+ .trait_default = &bias_default
156
+ },
157
+ {
158
+ .name = "targetX",
159
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, target_x),
160
+ .trait_class = &lsm_integer_trait_class,
161
+ .trait_default = &target_default
162
+ },
163
+ {
164
+ .name = "targetY",
165
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, target_y),
166
+ .trait_class = &lsm_integer_trait_class,
167
+ .trait_default = &target_default
168
+ },
169
+ {
170
+ .name = "edgeMode",
171
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, edge_mode),
172
+ .trait_class = &lsm_svg_edge_mode_trait_class,
173
+ .trait_default = &edge_mode_default
174
+ },
175
+ {
176
+ .name = "preserveAlpha",
177
+ .attribute_offset = offsetof (LsmSvgFilterConvolveMatrix, preserve_alpha),
178
+ .trait_class = &lsm_boolean_trait_class,
179
+ .trait_default = &preserve_alpha_default
180
+ }
181
+ };
182
+
183
+ static void
184
+ lsm_svg_filter_convolve_matrix_class_init (LsmSvgFilterConvolveMatrixClass *klass)
185
+ {
186
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
187
+ LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (klass);
188
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (klass);
189
+ LsmSvgFilterPrimitiveClass *f_primitive_class = LSM_SVG_FILTER_PRIMITIVE_CLASS (klass);
190
+
191
+ parent_class = g_type_class_peek_parent (klass);
192
+
193
+ object_class->finalize = lsm_svg_filter_convolve_matrix_finalize;
194
+
195
+ d_node_class->get_node_name = lsm_svg_filter_convolve_matrix_get_node_name;
196
+
197
+ s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
198
+
199
+ lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
200
+ G_N_ELEMENTS (lsm_svg_filter_convolve_matrix_attribute_infos),
201
+ lsm_svg_filter_convolve_matrix_attribute_infos);
202
+
203
+ f_primitive_class->apply = lsm_svg_filter_convolve_matrix_apply;
204
+ }
205
+
206
+ G_DEFINE_TYPE (LsmSvgFilterConvolveMatrix, lsm_svg_filter_convolve_matrix, LSM_TYPE_SVG_FILTER_PRIMITIVE)
@@ -0,0 +1,64 @@
1
+ /* Lasem
2
+ *
3
+ * Copyright © 2015 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_FILTER_CONVOLVE_MATRIX_H
25
+ #define LSM_SVG_FILTER_CONVOLVE_MATRIX_H
26
+
27
+ #include <lsmsvgtypes.h>
28
+ #include <lsmsvgfilterprimitive.h>
29
+
30
+ G_BEGIN_DECLS
31
+
32
+ #define LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX (lsm_svg_filter_convolve_matrix_get_type ())
33
+ #define LSM_SVG_FILTER_CONVOLVE_MATRIX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX, LsmSvgFilterConvolveMatrix))
34
+ #define LSM_SVG_FILTER_CONVOLVE_MATRIX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX, LsmSvgFilterConvolveMatrixClass))
35
+ #define LSM_IS_SVG_FILTER_CONVOLVE_MATRIX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX))
36
+ #define LSM_IS_SVG_FILTER_CONVOLVE_MATRIX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX))
37
+ #define LSM_SVG_FILTER_CONVOLVE_MATRIX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_SVG_FILTER_CONVOLVE_MATRIX, LsmSvgFilterConvolveMatrixClass))
38
+
39
+ typedef struct _LsmSvgFilterConvolveMatrixClass LsmSvgFilterConvolveMatrixClass;
40
+
41
+ struct _LsmSvgFilterConvolveMatrix {
42
+ LsmSvgFilterPrimitive base;
43
+
44
+ LsmSvgOneOrTwoIntegerAttribute order;
45
+ LsmSvgVectorAttribute kernel;
46
+ LsmSvgDoubleAttribute divisor;
47
+ LsmSvgDoubleAttribute bias;
48
+ LsmSvgIntegerAttribute target_x;
49
+ LsmSvgIntegerAttribute target_y;
50
+ LsmSvgEdgeModeAttribute edge_mode;
51
+ LsmSvgBooleanAttribute preserve_alpha;
52
+ };
53
+
54
+ struct _LsmSvgFilterConvolveMatrixClass {
55
+ LsmSvgFilterPrimitiveClass element_class;
56
+ };
57
+
58
+ GType lsm_svg_filter_convolve_matrix_get_type (void);
59
+
60
+ LsmDomNode * lsm_svg_filter_convolve_matrix_new (void);
61
+
62
+ G_END_DECLS
63
+
64
+ #endif
@@ -0,0 +1,124 @@
1
+ /* Lasem
2
+ *
3
+ * Copyright © 2015 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 <lsmsvgfilterdisplacementmap.h>
25
+ #include <lsmsvgview.h>
26
+
27
+ static GObjectClass *parent_class;
28
+
29
+ /* GdomNode implementation */
30
+
31
+ static const char *
32
+ lsm_svg_filter_displacement_map_get_node_name (LsmDomNode *node)
33
+ {
34
+ return "feDisplacementMap";
35
+ }
36
+
37
+ /* LsmSvgElement implementation */
38
+
39
+ static void
40
+ lsm_svg_filter_displacement_map_apply (LsmSvgFilterPrimitive *self, LsmSvgView *view,
41
+ const char *input, const char *output, const LsmBox *subregion)
42
+ {
43
+ LsmSvgFilterDisplacementMap *displacement_map = LSM_SVG_FILTER_DISPLACEMENT_MAP (self);
44
+
45
+ lsm_svg_view_apply_displacement_map (view, input, displacement_map->in2.value, output, subregion,
46
+ displacement_map->scale.value,
47
+ displacement_map->x_channel_selector.value,
48
+ displacement_map->y_channel_selector.value);
49
+ }
50
+
51
+ /* LsmSvgFilterDisplacementMap implementation */
52
+
53
+ LsmDomNode *
54
+ lsm_svg_filter_displacement_map_new (void)
55
+ {
56
+ return g_object_new (LSM_TYPE_SVG_FILTER_DISPLACEMENT_MAP, NULL);
57
+ }
58
+
59
+ static double scale_default = 0.0;
60
+ static LsmSvgChannelSelector channel_selector_default = LSM_SVG_CHANNEL_SELECTOR_ALPHA;
61
+
62
+ static void
63
+ lsm_svg_filter_displacement_map_init (LsmSvgFilterDisplacementMap *self)
64
+ {
65
+ }
66
+
67
+ static void
68
+ lsm_svg_filter_displacement_map_finalize (GObject *object)
69
+ {
70
+ parent_class->finalize (object);
71
+ }
72
+
73
+ /* LsmSvgFilterDisplacementMap class */
74
+
75
+ static const LsmAttributeInfos lsm_svg_filter_displacement_map_attribute_infos[] = {
76
+ {
77
+ .name = "in2",
78
+ .attribute_offset = offsetof (LsmSvgFilterDisplacementMap, in2),
79
+ .trait_class = &lsm_null_trait_class
80
+ },
81
+ {
82
+ .name = "scale",
83
+ .attribute_offset = offsetof (LsmSvgFilterDisplacementMap, scale),
84
+ .trait_class = &lsm_double_trait_class,
85
+ .trait_default = &scale_default
86
+ },
87
+ {
88
+ .name = "xChannelSelector",
89
+ .attribute_offset = offsetof (LsmSvgFilterDisplacementMap, x_channel_selector),
90
+ .trait_class = &lsm_svg_channel_selector_trait_class,
91
+ .trait_default = &channel_selector_default
92
+ },
93
+ {
94
+ .name = "yChannelSelector",
95
+ .attribute_offset = offsetof (LsmSvgFilterDisplacementMap, y_channel_selector),
96
+ .trait_class = &lsm_svg_channel_selector_trait_class,
97
+ .trait_default = &channel_selector_default
98
+ }
99
+ };
100
+
101
+ static void
102
+ lsm_svg_filter_displacement_map_class_init (LsmSvgFilterDisplacementMapClass *klass)
103
+ {
104
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
105
+ LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (klass);
106
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (klass);
107
+ LsmSvgFilterPrimitiveClass *f_primitive_class = LSM_SVG_FILTER_PRIMITIVE_CLASS (klass);
108
+
109
+ parent_class = g_type_class_peek_parent (klass);
110
+
111
+ object_class->finalize = lsm_svg_filter_displacement_map_finalize;
112
+
113
+ d_node_class->get_node_name = lsm_svg_filter_displacement_map_get_node_name;
114
+
115
+ s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
116
+
117
+ lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
118
+ G_N_ELEMENTS (lsm_svg_filter_displacement_map_attribute_infos),
119
+ lsm_svg_filter_displacement_map_attribute_infos);
120
+
121
+ f_primitive_class->apply = lsm_svg_filter_displacement_map_apply;
122
+ }
123
+
124
+ G_DEFINE_TYPE (LsmSvgFilterDisplacementMap, lsm_svg_filter_displacement_map, LSM_TYPE_SVG_FILTER_PRIMITIVE)