mathematical 1.4.2 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +11 -21
- data/ext/mathematical/extconf.rb +21 -12
- data/ext/mathematical/lasem/Makefile +10 -10
- data/ext/mathematical/lasem/docs/Makefile +9 -9
- data/ext/mathematical/lasem/docs/reference/Makefile +9 -9
- data/ext/mathematical/lasem/docs/reference/lasem/Makefile +15 -9
- data/ext/mathematical/lasem/docs/reference/lasem/lasem-decl-list.txt +245 -0
- data/ext/mathematical/lasem/docs/reference/lasem/lasem-decl.txt +856 -0
- data/ext/mathematical/lasem/docs/reference/lasem/lasem-overrides.txt +0 -0
- data/ext/mathematical/lasem/itex2mml/Makefile +9 -9
- data/ext/mathematical/lasem/src/Makefile +34 -13
- data/ext/mathematical/lasem/src/lasemrender.c +13 -7
- data/ext/mathematical/lasem/src/lsmdomenumtypes.c +99 -0
- data/ext/mathematical/lasem/src/lsmdomenumtypes.h +26 -0
- data/ext/mathematical/lasem/src/lsmmathmlenums.c +24 -0
- data/ext/mathematical/lasem/src/lsmmathmlenums.h +12 -1
- data/ext/mathematical/lasem/src/lsmmathmlenumtypes.c +793 -0
- data/ext/mathematical/lasem/src/lsmmathmlenumtypes.h +96 -0
- data/ext/mathematical/lasem/src/lsmmathmlspaceelement.c +14 -0
- data/ext/mathematical/lasem/src/lsmmathmlspaceelement.h +1 -1
- data/ext/mathematical/lasem/src/lsmmathmltraits.c +24 -0
- data/ext/mathematical/lasem/src/lsmmathmltraits.h +1 -0
- data/ext/mathematical/lasem/src/lsmsvgattributes.h +50 -0
- data/ext/mathematical/lasem/src/lsmsvgdocument.c +18 -0
- data/ext/mathematical/lasem/src/lsmsvgenums.c +130 -0
- data/ext/mathematical/lasem/src/lsmsvgenums.h +59 -0
- data/ext/mathematical/lasem/src/lsmsvgenumtypes.c +1254 -0
- data/ext/mathematical/lasem/src/lsmsvgenumtypes.h +129 -0
- data/ext/mathematical/lasem/src/lsmsvgfiltercolormatrix.c +115 -0
- data/ext/mathematical/lasem/src/lsmsvgfiltercolormatrix.h +58 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterconvolvematrix.c +206 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterconvolvematrix.h +64 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterdisplacementmap.c +124 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterdisplacementmap.h +60 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterimage.c +167 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterimage.h +61 -0
- data/ext/mathematical/lasem/src/lsmsvgfiltermorphology.c +116 -0
- data/ext/mathematical/lasem/src/lsmsvgfiltermorphology.h +58 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterspecularlighting.c +9 -2
- data/ext/mathematical/lasem/src/lsmsvgfiltersurface.c +1169 -87
- data/ext/mathematical/lasem/src/lsmsvgfiltersurface.h +28 -2
- data/ext/mathematical/lasem/src/lsmsvgfilterturbulence.c +142 -0
- data/ext/mathematical/lasem/src/lsmsvgfilterturbulence.h +61 -0
- data/ext/mathematical/lasem/src/lsmsvgtraits.c +249 -0
- data/ext/mathematical/lasem/src/lsmsvgtraits.h +18 -0
- data/ext/mathematical/lasem/src/lsmsvgtypes.h +6 -0
- data/ext/mathematical/lasem/src/lsmsvgview.c +267 -66
- data/ext/mathematical/lasem/src/lsmsvgview.h +23 -0
- data/ext/mathematical/lasem/src/lsmtraits.c +53 -1
- data/ext/mathematical/lasem/src/lsmtraits.h +2 -0
- data/ext/mathematical/lasem/tests/Makefile +26 -15
- data/ext/mathematical/lasem/tests/filter.c +152 -0
- data/ext/mathematical/lasem/tests/lsmtest.c +34 -30
- data/ext/mathematical/lasem/tests/suite.c +5 -2
- data/ext/mathematical/lib/libmtex2MML.a +0 -0
- data/ext/mathematical/mtex2MML/build/CMakeCache.txt +425 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeCCompiler.cmake +55 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeCXXCompiler.cmake +56 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CMakeSystem.cmake +15 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/2.8.10.1/CompilerIdC/CMakeCCompilerId.c +393 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeRuleHashes.txt +34 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Continuous.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Continuous.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Experimental.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Experimental.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Makefile.cmake +95 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Nightly.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/Nightly.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/TargetDirectories.txt +34 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/format.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/format.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/DependInfo.cmake +44 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/cmake_clean.cmake +19 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/link.txt +1 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/DependInfo.cmake +43 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/cmake_clean.cmake +18 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/cmake_clean_target.cmake +3 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/link.txt +2 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/memcheck.dir/DependInfo.cmake +27 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/memcheck.dir/cmake_clean.cmake +8 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/DependInfo.cmake +44 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/cmake_clean.cmake +19 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/link.txt +1 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/DependInfo.cmake +59 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/cmake_clean.cmake +35 -0
- data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/link.txt +1 -0
- data/ext/mathematical/mtex2MML/build/CTestTestfile.cmake +7 -0
- data/ext/mathematical/mtex2MML/build/Makefile +1332 -0
- data/ext/mathematical/mtex2MML/build/cmake_install.cmake +43 -0
- data/ext/mathematical/mtex2MML/build/lexer.c +8877 -0
- data/ext/mathematical/mtex2MML/build/libmtex2MML.a +0 -0
- data/ext/mathematical/mtex2MML/build/mtex2mml_export.h +35 -0
- data/ext/mathematical/mtex2MML/build/parser.c +10202 -0
- data/ext/mathematical/mtex2MML/build/parser.h +619 -0
- data/ext/mathematical/mtex2MML/src/mtex2MML.h +1 -1
- data/lib/mathematical/version.rb +1 -1
- metadata +115 -2
@@ -25,7 +25,9 @@
|
|
25
25
|
#define LSM_SVG_FILTER_SURFACE_H
|
26
26
|
|
27
27
|
#include <lsmtypes.h>
|
28
|
+
#include <lsmsvgtraits.h>
|
28
29
|
#include <cairo.h>
|
30
|
+
#include <gdk-pixbuf/gdk-pixbuf.h>
|
29
31
|
|
30
32
|
G_BEGIN_DECLS
|
31
33
|
|
@@ -40,7 +42,6 @@ LsmSvgFilterSurface * lsm_svg_filter_surface_new (const char *name, unsigned
|
|
40
42
|
LsmSvgFilterSurface * lsm_svg_filter_surface_new_with_content (const char *name, cairo_surface_t *surface, const LsmBox *subregion);
|
41
43
|
LsmSvgFilterSurface * lsm_svg_filter_surface_new_similar (const char *name, LsmSvgFilterSurface *model, const LsmBox *subregion);
|
42
44
|
|
43
|
-
void lsm_svg_filter_surface_copy_data (LsmSvgFilterSurface *to, LsmSvgFilterSurface *from);
|
44
45
|
const char * lsm_svg_filter_surface_get_name (LsmSvgFilterSurface *surface);
|
45
46
|
cairo_surface_t * lsm_svg_filter_surface_get_cairo_surface(LsmSvgFilterSurface *surface);
|
46
47
|
const LsmBox * lsm_svg_filter_surface_get_subregion (LsmSvgFilterSurface *surface);
|
@@ -52,7 +53,7 @@ void lsm_svg_filter_surface_blend (LsmSvgFilterSurface *input_1,
|
|
52
53
|
LsmSvgFilterSurface *input_2,
|
53
54
|
LsmSvgFilterSurface *output,
|
54
55
|
int blending_mode);
|
55
|
-
void
|
56
|
+
void lsm_svg_filter_surface_blur (LsmSvgFilterSurface *input, LsmSvgFilterSurface *output,
|
56
57
|
double sx, double sy);
|
57
58
|
void lsm_svg_filter_surface_flood (LsmSvgFilterSurface *surface,
|
58
59
|
double red, double green, double blue, double opacity);
|
@@ -60,6 +61,31 @@ void lsm_svg_filter_surface_offset (LsmSvgFilterSurface *input, LsmSvgFilte
|
|
60
61
|
int dx, int dy);
|
61
62
|
void lsm_svg_filter_surface_merge (LsmSvgFilterSurface *input, LsmSvgFilterSurface *output);
|
62
63
|
void lsm_svg_filter_surface_tile (LsmSvgFilterSurface *input, LsmSvgFilterSurface *output);
|
64
|
+
void lsm_svg_filter_surface_color_matrix (LsmSvgFilterSurface *input, LsmSvgFilterSurface *output,
|
65
|
+
LsmSvgColorFilterType type, unsigned n_values, const double *values);
|
66
|
+
void lsm_svg_filter_surface_convolve_matrix (LsmSvgFilterSurface *input, LsmSvgFilterSurface *output,
|
67
|
+
unsigned x_order, unsigned y_order,
|
68
|
+
unsigned n_values, const double *values,
|
69
|
+
double divisor, double bias, unsigned target_x, unsigned target_y,
|
70
|
+
LsmSvgEdgeMode edge_mode, gboolean preserve_alpha);
|
71
|
+
void lsm_svg_filter_surface_displacement_map (LsmSvgFilterSurface *input_1,
|
72
|
+
LsmSvgFilterSurface *input_2,
|
73
|
+
LsmSvgFilterSurface *output,
|
74
|
+
double x_scale, double y_scale,
|
75
|
+
LsmSvgChannelSelector x_channel_selector,
|
76
|
+
LsmSvgChannelSelector y_channel_selector);
|
77
|
+
void lsm_svg_filter_surface_image (LsmSvgFilterSurface *output, GdkPixbuf *pixbuf,
|
78
|
+
LsmSvgPreserveAspectRatio preserve_aspect_ratio);
|
79
|
+
void lsm_svg_filter_surface_morphology (LsmSvgFilterSurface *input_surface, LsmSvgFilterSurface *output_surface,
|
80
|
+
LsmSvgMorphologyOperator op, double rx, double ry);
|
81
|
+
void lsm_svg_filter_surface_specular_lighting(LsmSvgFilterSurface *output_surface,
|
82
|
+
double surface_scale, double specular_constant, double specular_exponent,
|
83
|
+
double dx, double dy);
|
84
|
+
void lsm_svg_filter_surface_turbulence (LsmSvgFilterSurface *output_surface,
|
85
|
+
double base_frequency_x, double base_frequency_y,
|
86
|
+
int n_octaves, double seed,
|
87
|
+
LsmSvgStitchTiles stitch_tiles, LsmSvgTurbulenceType type,
|
88
|
+
const cairo_matrix_t *transform);
|
63
89
|
|
64
90
|
G_END_DECLS
|
65
91
|
|
@@ -0,0 +1,142 @@
|
|
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 <lsmsvgfilterturbulence.h>
|
25
|
+
#include <lsmsvgview.h>
|
26
|
+
|
27
|
+
static GObjectClass *parent_class;
|
28
|
+
|
29
|
+
/* GdomNode implementation */
|
30
|
+
|
31
|
+
static const char *
|
32
|
+
lsm_svg_filter_turbulence_get_node_name (LsmDomNode *node)
|
33
|
+
{
|
34
|
+
return "feTurbulence";
|
35
|
+
}
|
36
|
+
|
37
|
+
/* LsmSvgElement implementation */
|
38
|
+
|
39
|
+
static void
|
40
|
+
lsm_svg_filter_turbulence_apply (LsmSvgFilterPrimitive *self, LsmSvgView *view,
|
41
|
+
const char *input, const char *output, const LsmBox *subregion)
|
42
|
+
{
|
43
|
+
LsmSvgFilterTurbulence *turbulence = LSM_SVG_FILTER_TURBULENCE (self);
|
44
|
+
|
45
|
+
lsm_svg_view_apply_turbulence (view, output, subregion,
|
46
|
+
turbulence->base_frequency.value.a,
|
47
|
+
turbulence->base_frequency.value.b,
|
48
|
+
turbulence->n_octaves.value,
|
49
|
+
turbulence->seed.value,
|
50
|
+
turbulence->stitch_tiles.value,
|
51
|
+
turbulence->type.value);
|
52
|
+
}
|
53
|
+
|
54
|
+
/* LsmSvgFilterTurbulence implementation */
|
55
|
+
|
56
|
+
LsmDomNode *
|
57
|
+
lsm_svg_filter_turbulence_new (void)
|
58
|
+
{
|
59
|
+
return g_object_new (LSM_TYPE_SVG_FILTER_TURBULENCE, NULL);
|
60
|
+
}
|
61
|
+
|
62
|
+
static const LsmSvgOneOrTwoDouble base_frequency_default = {0.0, 0.0};
|
63
|
+
static const int n_octaves_default = 1;
|
64
|
+
static const double seed_default = 0.0;
|
65
|
+
static const LsmSvgStitchTiles stitch_tiles_default = LSM_SVG_STITCH_TILES_NO_STITCH;
|
66
|
+
static const LsmSvgTurbulenceType type_default = LSM_SVG_TURBULENCE_TYPE_TURBULENCE;
|
67
|
+
|
68
|
+
static void
|
69
|
+
lsm_svg_filter_turbulence_init (LsmSvgFilterTurbulence *self)
|
70
|
+
{
|
71
|
+
self->base_frequency.value = base_frequency_default;
|
72
|
+
self->n_octaves.value = n_octaves_default;
|
73
|
+
self->seed.value = seed_default;
|
74
|
+
self->stitch_tiles.value = stitch_tiles_default;
|
75
|
+
self->type.value = type_default;
|
76
|
+
}
|
77
|
+
|
78
|
+
static void
|
79
|
+
lsm_svg_filter_turbulence_finalize (GObject *object)
|
80
|
+
{
|
81
|
+
parent_class->finalize (object);
|
82
|
+
}
|
83
|
+
|
84
|
+
/* LsmSvgFilterTurbulence class */
|
85
|
+
|
86
|
+
static const LsmAttributeInfos lsm_svg_filter_turbulence_attribute_infos[] = {
|
87
|
+
{
|
88
|
+
.name = "baseFrequency",
|
89
|
+
.attribute_offset = offsetof (LsmSvgFilterTurbulence, base_frequency),
|
90
|
+
.trait_class = &lsm_svg_one_or_two_double_trait_class,
|
91
|
+
.trait_default = &base_frequency_default
|
92
|
+
},
|
93
|
+
{
|
94
|
+
.name = "numOctaves",
|
95
|
+
.attribute_offset = offsetof (LsmSvgFilterTurbulence, n_octaves),
|
96
|
+
.trait_class = &lsm_integer_trait_class,
|
97
|
+
.trait_default = &n_octaves_default
|
98
|
+
},
|
99
|
+
{
|
100
|
+
.name = "seed",
|
101
|
+
.attribute_offset = offsetof (LsmSvgFilterTurbulence, seed),
|
102
|
+
.trait_class = &lsm_double_trait_class,
|
103
|
+
.trait_default = &seed_default
|
104
|
+
},
|
105
|
+
{
|
106
|
+
.name = "stitchTiles",
|
107
|
+
.attribute_offset = offsetof (LsmSvgFilterTurbulence, stitch_tiles),
|
108
|
+
.trait_class = &lsm_svg_stitch_tiles_trait_class,
|
109
|
+
.trait_default = &stitch_tiles_default
|
110
|
+
},
|
111
|
+
{
|
112
|
+
.name = "type",
|
113
|
+
.attribute_offset = offsetof (LsmSvgFilterTurbulence, type),
|
114
|
+
.trait_class = &lsm_svg_turbulence_type_trait_class,
|
115
|
+
.trait_default = &type_default
|
116
|
+
}
|
117
|
+
};
|
118
|
+
|
119
|
+
static void
|
120
|
+
lsm_svg_filter_turbulence_class_init (LsmSvgFilterTurbulenceClass *klass)
|
121
|
+
{
|
122
|
+
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
123
|
+
LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (klass);
|
124
|
+
LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (klass);
|
125
|
+
LsmSvgFilterPrimitiveClass *f_primitive_class = LSM_SVG_FILTER_PRIMITIVE_CLASS (klass);
|
126
|
+
|
127
|
+
parent_class = g_type_class_peek_parent (klass);
|
128
|
+
|
129
|
+
object_class->finalize = lsm_svg_filter_turbulence_finalize;
|
130
|
+
|
131
|
+
d_node_class->get_node_name = lsm_svg_filter_turbulence_get_node_name;
|
132
|
+
|
133
|
+
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
|
134
|
+
|
135
|
+
lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
|
136
|
+
G_N_ELEMENTS (lsm_svg_filter_turbulence_attribute_infos),
|
137
|
+
lsm_svg_filter_turbulence_attribute_infos);
|
138
|
+
|
139
|
+
f_primitive_class->apply = lsm_svg_filter_turbulence_apply;
|
140
|
+
}
|
141
|
+
|
142
|
+
G_DEFINE_TYPE (LsmSvgFilterTurbulence, lsm_svg_filter_turbulence, LSM_TYPE_SVG_FILTER_PRIMITIVE)
|
@@ -0,0 +1,61 @@
|
|
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_TURBULENCE_H
|
25
|
+
#define LSM_SVG_FILTER_TURBULENCE_H
|
26
|
+
|
27
|
+
#include <lsmsvgtypes.h>
|
28
|
+
#include <lsmsvgfilterprimitive.h>
|
29
|
+
|
30
|
+
G_BEGIN_DECLS
|
31
|
+
|
32
|
+
#define LSM_TYPE_SVG_FILTER_TURBULENCE (lsm_svg_filter_turbulence_get_type ())
|
33
|
+
#define LSM_SVG_FILTER_TURBULENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LSM_TYPE_SVG_FILTER_TURBULENCE, LsmSvgFilterTurbulence))
|
34
|
+
#define LSM_SVG_FILTER_TURBULENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LSM_TYPE_SVG_FILTER_TURBULENCE, LsmSvgFilterTurbulenceClass))
|
35
|
+
#define LSM_IS_SVG_FILTER_TURBULENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LSM_TYPE_SVG_FILTER_TURBULENCE))
|
36
|
+
#define LSM_IS_SVG_FILTER_TURBULENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LSM_TYPE_SVG_FILTER_TURBULENCE))
|
37
|
+
#define LSM_SVG_FILTER_TURBULENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LSM_TYPE_SVG_FILTER_TURBULENCE, LsmSvgFilterTurbulenceClass))
|
38
|
+
|
39
|
+
typedef struct _LsmSvgFilterTurbulenceClass LsmSvgFilterTurbulenceClass;
|
40
|
+
|
41
|
+
struct _LsmSvgFilterTurbulence {
|
42
|
+
LsmSvgFilterPrimitive base;
|
43
|
+
|
44
|
+
LsmSvgOneOrTwoDoubleAttribute base_frequency;
|
45
|
+
LsmSvgIntegerAttribute n_octaves;
|
46
|
+
LsmSvgDoubleAttribute seed;
|
47
|
+
LsmSvgStitchTilesAttribute stitch_tiles;
|
48
|
+
LsmSvgTurbulenceTypeAttribute type;
|
49
|
+
};
|
50
|
+
|
51
|
+
struct _LsmSvgFilterTurbulenceClass {
|
52
|
+
LsmSvgFilterPrimitiveClass element_class;
|
53
|
+
};
|
54
|
+
|
55
|
+
GType lsm_svg_filter_turbulence_get_type (void);
|
56
|
+
|
57
|
+
LsmDomNode * lsm_svg_filter_turbulence_new (void);
|
58
|
+
|
59
|
+
G_END_DECLS
|
60
|
+
|
61
|
+
#endif
|
@@ -103,6 +103,71 @@ const LsmTraitClass lsm_svg_enable_background_trait_class = {
|
|
103
103
|
.to_string = lsm_svg_enable_background_trait_to_string
|
104
104
|
};
|
105
105
|
|
106
|
+
static gboolean
|
107
|
+
lsm_svg_vector_trait_from_string (LsmTrait *abstract_trait, char *string)
|
108
|
+
{
|
109
|
+
LsmSvgVector *vector = (LsmSvgVector *) abstract_trait;
|
110
|
+
unsigned int n_values = 1;
|
111
|
+
gboolean success = FALSE;
|
112
|
+
char *iter = (char *) string;
|
113
|
+
|
114
|
+
g_free (vector->values);
|
115
|
+
vector->n_values = 0;
|
116
|
+
vector->values = NULL;
|
117
|
+
|
118
|
+
while (*iter != '\0') {
|
119
|
+
if (*iter == ',' ||
|
120
|
+
*iter == ' ') {
|
121
|
+
n_values++;
|
122
|
+
do {
|
123
|
+
iter++;
|
124
|
+
} while (*iter == ',' ||
|
125
|
+
*iter == ' ');
|
126
|
+
} else
|
127
|
+
iter++;
|
128
|
+
}
|
129
|
+
|
130
|
+
vector->values = g_new (double, n_values);
|
131
|
+
vector->n_values = n_values;
|
132
|
+
|
133
|
+
iter = (char *)string;
|
134
|
+
n_values = lsm_str_parse_double_list (&iter, vector->n_values, vector->values);
|
135
|
+
success = n_values == vector->n_values;
|
136
|
+
|
137
|
+
if (!success) {
|
138
|
+
g_free (vector->values);
|
139
|
+
vector->values = NULL;
|
140
|
+
vector->n_values = 0;
|
141
|
+
}
|
142
|
+
|
143
|
+
return success;
|
144
|
+
}
|
145
|
+
|
146
|
+
static char *
|
147
|
+
lsm_svg_vector_trait_to_string (LsmTrait *abstract_trait)
|
148
|
+
{
|
149
|
+
g_assert_not_reached ();
|
150
|
+
|
151
|
+
return NULL;
|
152
|
+
}
|
153
|
+
|
154
|
+
static void
|
155
|
+
lsm_svg_vector_trait_finalize (LsmTrait *abstract_trait)
|
156
|
+
{
|
157
|
+
LsmSvgVector *svg_vector = (LsmSvgVector *) abstract_trait;
|
158
|
+
|
159
|
+
g_free (svg_vector->values);
|
160
|
+
svg_vector->n_values = 0;
|
161
|
+
svg_vector->values = NULL;
|
162
|
+
}
|
163
|
+
|
164
|
+
const LsmTraitClass lsm_svg_vector_trait_class = {
|
165
|
+
.size = sizeof (LsmSvgVector),
|
166
|
+
.from_string = lsm_svg_vector_trait_from_string,
|
167
|
+
.to_string = lsm_svg_vector_trait_to_string,
|
168
|
+
.finalize = lsm_svg_vector_trait_finalize
|
169
|
+
};
|
170
|
+
|
106
171
|
static gboolean
|
107
172
|
lsm_svg_length_trait_from_string (LsmTrait *abstract_trait, char *string)
|
108
173
|
{
|
@@ -935,6 +1000,30 @@ const LsmTraitClass lsm_svg_color_trait_class = {
|
|
935
1000
|
.to_string = lsm_svg_color_trait_to_string
|
936
1001
|
};
|
937
1002
|
|
1003
|
+
static gboolean
|
1004
|
+
lsm_svg_color_filter_type_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1005
|
+
{
|
1006
|
+
LsmSvgColorFilterType *trait = (LsmSvgColorFilterType *) abstract_trait;
|
1007
|
+
|
1008
|
+
*trait = lsm_svg_color_filter_type_from_string (string);
|
1009
|
+
|
1010
|
+
return *trait >= 0;
|
1011
|
+
}
|
1012
|
+
|
1013
|
+
static char *
|
1014
|
+
lsm_svg_color_filter_type_trait_to_string (LsmTrait *abstract_trait)
|
1015
|
+
{
|
1016
|
+
LsmSvgColorFilterType *trait = (LsmSvgColorFilterType *) abstract_trait;
|
1017
|
+
|
1018
|
+
return g_strdup (lsm_svg_color_filter_type_to_string (*trait));
|
1019
|
+
}
|
1020
|
+
|
1021
|
+
const LsmTraitClass lsm_svg_color_filter_type_trait_class = {
|
1022
|
+
.size = sizeof (LsmSvgColorFilterType),
|
1023
|
+
.from_string = lsm_svg_color_filter_type_trait_from_string,
|
1024
|
+
.to_string = lsm_svg_color_filter_type_trait_to_string
|
1025
|
+
};
|
1026
|
+
|
938
1027
|
static gboolean
|
939
1028
|
lsm_svg_marker_units_trait_from_string (LsmTrait *abstract_trait, char *string)
|
940
1029
|
{
|
@@ -1182,6 +1271,47 @@ const LsmTraitClass lsm_svg_one_or_two_double_trait_class = {
|
|
1182
1271
|
.to_string = lsm_svg_one_or_two_double_trait_to_string
|
1183
1272
|
};
|
1184
1273
|
|
1274
|
+
static gboolean
|
1275
|
+
lsm_svg_one_or_two_integer_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1276
|
+
{
|
1277
|
+
LsmSvgOneOrTwoInteger *trait = (LsmSvgOneOrTwoInteger *) abstract_trait;
|
1278
|
+
char *end_ptr;
|
1279
|
+
|
1280
|
+
trait->a = g_ascii_strtoll (string, &end_ptr, 10);
|
1281
|
+
if (end_ptr == string) {
|
1282
|
+
trait->a = 0;
|
1283
|
+
trait->b = 0;
|
1284
|
+
return FALSE;
|
1285
|
+
}
|
1286
|
+
|
1287
|
+
string = end_ptr;
|
1288
|
+
|
1289
|
+
lsm_str_skip_spaces (&string);
|
1290
|
+
|
1291
|
+
if (string[0] == '\0') {
|
1292
|
+
trait->b = trait->a;
|
1293
|
+
return TRUE;
|
1294
|
+
}
|
1295
|
+
|
1296
|
+
trait->b = g_ascii_strtoll (string, &end_ptr, 10);
|
1297
|
+
|
1298
|
+
return TRUE;
|
1299
|
+
}
|
1300
|
+
|
1301
|
+
static char *
|
1302
|
+
lsm_svg_one_or_two_integer_trait_to_string (LsmTrait *abstract_trait)
|
1303
|
+
{
|
1304
|
+
LsmSvgOneOrTwoInteger *trait = (LsmSvgOneOrTwoInteger *) abstract_trait;
|
1305
|
+
|
1306
|
+
return g_strdup_printf ("%d %d", trait->a, trait->b);
|
1307
|
+
}
|
1308
|
+
|
1309
|
+
const LsmTraitClass lsm_svg_one_or_two_integer_trait_class = {
|
1310
|
+
.size = sizeof (double),
|
1311
|
+
.from_string = lsm_svg_one_or_two_integer_trait_from_string,
|
1312
|
+
.to_string = lsm_svg_one_or_two_integer_trait_to_string
|
1313
|
+
};
|
1314
|
+
|
1185
1315
|
static gboolean
|
1186
1316
|
lsm_svg_overflow_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1187
1317
|
{
|
@@ -1230,3 +1360,122 @@ const LsmTraitClass lsm_svg_writing_mode_trait_class = {
|
|
1230
1360
|
.to_string = lsm_svg_writing_mode_trait_to_string
|
1231
1361
|
};
|
1232
1362
|
|
1363
|
+
static gboolean
|
1364
|
+
lsm_svg_morphology_operator_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1365
|
+
{
|
1366
|
+
LsmSvgMorphologyOperator *trait = (LsmSvgMorphologyOperator *) abstract_trait;
|
1367
|
+
|
1368
|
+
*trait = lsm_svg_morphology_operator_from_string (string);
|
1369
|
+
|
1370
|
+
return *trait >= 0;
|
1371
|
+
}
|
1372
|
+
|
1373
|
+
static char *
|
1374
|
+
lsm_svg_morphology_operator_trait_to_string (LsmTrait *abstract_trait)
|
1375
|
+
{
|
1376
|
+
LsmSvgMorphologyOperator *trait = (LsmSvgMorphologyOperator *) abstract_trait;
|
1377
|
+
|
1378
|
+
return g_strdup (lsm_svg_morphology_operator_to_string (*trait));
|
1379
|
+
}
|
1380
|
+
|
1381
|
+
const LsmTraitClass lsm_svg_morphology_operator_trait_class = {
|
1382
|
+
.size = sizeof (LsmSvgMorphologyOperator),
|
1383
|
+
.from_string = lsm_svg_morphology_operator_trait_from_string,
|
1384
|
+
.to_string = lsm_svg_morphology_operator_trait_to_string
|
1385
|
+
};
|
1386
|
+
|
1387
|
+
static gboolean
|
1388
|
+
lsm_svg_edge_mode_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1389
|
+
{
|
1390
|
+
LsmSvgEdgeMode *trait = (LsmSvgEdgeMode *) abstract_trait;
|
1391
|
+
|
1392
|
+
*trait = lsm_svg_edge_mode_from_string (string);
|
1393
|
+
|
1394
|
+
return *trait >= 0;
|
1395
|
+
}
|
1396
|
+
|
1397
|
+
static char *
|
1398
|
+
lsm_svg_edge_mode_trait_to_string (LsmTrait *abstract_trait)
|
1399
|
+
{
|
1400
|
+
LsmSvgEdgeMode *trait = (LsmSvgEdgeMode *) abstract_trait;
|
1401
|
+
|
1402
|
+
return g_strdup (lsm_svg_edge_mode_to_string (*trait));
|
1403
|
+
}
|
1404
|
+
|
1405
|
+
const LsmTraitClass lsm_svg_edge_mode_trait_class = {
|
1406
|
+
.size = sizeof (LsmSvgEdgeMode),
|
1407
|
+
.from_string = lsm_svg_edge_mode_trait_from_string,
|
1408
|
+
.to_string = lsm_svg_edge_mode_trait_to_string
|
1409
|
+
};
|
1410
|
+
|
1411
|
+
static gboolean
|
1412
|
+
lsm_svg_stitch_tiles_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1413
|
+
{
|
1414
|
+
LsmSvgStitchTiles *trait = (LsmSvgStitchTiles *) abstract_trait;
|
1415
|
+
|
1416
|
+
*trait = lsm_svg_stitch_tiles_from_string (string);
|
1417
|
+
|
1418
|
+
return *trait >= 0;
|
1419
|
+
}
|
1420
|
+
|
1421
|
+
static char *
|
1422
|
+
lsm_svg_stitch_tiles_trait_to_string (LsmTrait *abstract_trait)
|
1423
|
+
{
|
1424
|
+
LsmSvgStitchTiles *trait = (LsmSvgStitchTiles *) abstract_trait;
|
1425
|
+
|
1426
|
+
return g_strdup (lsm_svg_stitch_tiles_to_string (*trait));
|
1427
|
+
}
|
1428
|
+
|
1429
|
+
const LsmTraitClass lsm_svg_stitch_tiles_trait_class = {
|
1430
|
+
.size = sizeof (LsmSvgStitchTiles),
|
1431
|
+
.from_string = lsm_svg_stitch_tiles_trait_from_string,
|
1432
|
+
.to_string = lsm_svg_stitch_tiles_trait_to_string
|
1433
|
+
};
|
1434
|
+
|
1435
|
+
static gboolean
|
1436
|
+
lsm_svg_turbulence_type_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1437
|
+
{
|
1438
|
+
LsmSvgTurbulenceType *trait = (LsmSvgTurbulenceType *) abstract_trait;
|
1439
|
+
|
1440
|
+
*trait = lsm_svg_turbulence_type_from_string (string);
|
1441
|
+
|
1442
|
+
return *trait >= 0;
|
1443
|
+
}
|
1444
|
+
|
1445
|
+
static char *
|
1446
|
+
lsm_svg_turbulence_type_trait_to_string (LsmTrait *abstract_trait)
|
1447
|
+
{
|
1448
|
+
LsmSvgTurbulenceType *trait = (LsmSvgTurbulenceType *) abstract_trait;
|
1449
|
+
|
1450
|
+
return g_strdup (lsm_svg_turbulence_type_to_string (*trait));
|
1451
|
+
}
|
1452
|
+
|
1453
|
+
const LsmTraitClass lsm_svg_turbulence_type_trait_class = {
|
1454
|
+
.size = sizeof (LsmSvgTurbulenceType),
|
1455
|
+
.from_string = lsm_svg_turbulence_type_trait_from_string,
|
1456
|
+
.to_string = lsm_svg_turbulence_type_trait_to_string
|
1457
|
+
};
|
1458
|
+
|
1459
|
+
static gboolean
|
1460
|
+
lsm_svg_channel_selector_trait_from_string (LsmTrait *abstract_trait, char *string)
|
1461
|
+
{
|
1462
|
+
LsmSvgChannelSelector *trait = (LsmSvgChannelSelector *) abstract_trait;
|
1463
|
+
|
1464
|
+
*trait = lsm_svg_channel_selector_from_string (string);
|
1465
|
+
|
1466
|
+
return *trait >= 0;
|
1467
|
+
}
|
1468
|
+
|
1469
|
+
static char *
|
1470
|
+
lsm_svg_channel_selector_trait_to_string (LsmTrait *abstract_trait)
|
1471
|
+
{
|
1472
|
+
LsmSvgChannelSelector *trait = (LsmSvgChannelSelector *) abstract_trait;
|
1473
|
+
|
1474
|
+
return g_strdup (lsm_svg_channel_selector_to_string (*trait));
|
1475
|
+
}
|
1476
|
+
|
1477
|
+
const LsmTraitClass lsm_svg_channel_selector_trait_class = {
|
1478
|
+
.size = sizeof (LsmSvgChannelSelector),
|
1479
|
+
.from_string = lsm_svg_channel_selector_trait_from_string,
|
1480
|
+
.to_string = lsm_svg_channel_selector_trait_to_string
|
1481
|
+
};
|
@@ -30,6 +30,11 @@
|
|
30
30
|
|
31
31
|
G_BEGIN_DECLS
|
32
32
|
|
33
|
+
typedef struct {
|
34
|
+
unsigned int n_values;
|
35
|
+
double *values;
|
36
|
+
} LsmSvgVector;
|
37
|
+
|
33
38
|
typedef struct {
|
34
39
|
LsmSvgAngleType type;
|
35
40
|
double angle;
|
@@ -72,30 +77,43 @@ typedef struct {
|
|
72
77
|
double b;
|
73
78
|
} LsmSvgOneOrTwoDouble;
|
74
79
|
|
80
|
+
typedef struct {
|
81
|
+
int a;
|
82
|
+
int b;
|
83
|
+
} LsmSvgOneOrTwoInteger;
|
84
|
+
|
75
85
|
extern const LsmTraitClass lsm_svg_angle_trait_class;
|
76
86
|
extern const LsmTraitClass lsm_svg_blending_mode_trait_class;
|
77
87
|
extern const LsmTraitClass lsm_svg_enable_background_trait_class;
|
88
|
+
extern const LsmTraitClass lsm_svg_channel_selector_trait_class;
|
78
89
|
extern const LsmTraitClass lsm_svg_color_trait_class;
|
90
|
+
extern const LsmTraitClass lsm_svg_color_filter_type_trait_class;
|
79
91
|
extern const LsmTraitClass lsm_svg_comp_op_trait_class;
|
80
92
|
extern const LsmTraitClass lsm_svg_dash_array_trait_class;
|
81
93
|
extern const LsmTraitClass lsm_svg_display_trait_class;
|
94
|
+
extern const LsmTraitClass lsm_svg_edge_mode_trait_class;
|
82
95
|
extern const LsmTraitClass lsm_svg_fill_rule_trait_class;
|
83
96
|
extern const LsmTraitClass lsm_svg_font_stretch_trait_class;
|
84
97
|
extern const LsmTraitClass lsm_svg_font_style_trait_class;
|
85
98
|
extern const LsmTraitClass lsm_svg_font_weight_trait_class;
|
99
|
+
extern const LsmTraitClass lsm_svg_one_or_two_integer_trait_class;
|
86
100
|
extern const LsmTraitClass lsm_svg_length_trait_class;
|
87
101
|
extern const LsmTraitClass lsm_svg_length_list_trait_class;
|
88
102
|
extern const LsmTraitClass lsm_svg_line_join_trait_class;
|
89
103
|
extern const LsmTraitClass lsm_svg_line_cap_trait_class;
|
90
104
|
extern const LsmTraitClass lsm_svg_marker_units_trait_class;
|
91
105
|
extern const LsmTraitClass lsm_svg_matrix_trait_class;
|
106
|
+
extern const LsmTraitClass lsm_svg_morphology_operator_trait_class;
|
92
107
|
extern const LsmTraitClass lsm_svg_one_or_two_double_trait_class;
|
93
108
|
extern const LsmTraitClass lsm_svg_overflow_trait_class;
|
94
109
|
extern const LsmTraitClass lsm_svg_paint_trait_class;
|
95
110
|
extern const LsmTraitClass lsm_svg_pattern_units_trait_class;
|
96
111
|
extern const LsmTraitClass lsm_svg_preserve_aspect_ratio_trait_class;
|
97
112
|
extern const LsmTraitClass lsm_svg_spread_method_trait_class;
|
113
|
+
extern const LsmTraitClass lsm_svg_stitch_tiles_trait_class;
|
98
114
|
extern const LsmTraitClass lsm_svg_text_anchor_trait_class;
|
115
|
+
extern const LsmTraitClass lsm_svg_turbulence_type_trait_class;
|
116
|
+
extern const LsmTraitClass lsm_svg_vector_trait_class;
|
99
117
|
extern const LsmTraitClass lsm_svg_visibility_trait_class;
|
100
118
|
extern const LsmTraitClass lsm_svg_writing_mode_trait_class;
|
101
119
|
|
@@ -47,13 +47,19 @@ typedef struct _LsmSvgEllipseElement LsmSvgEllipseElement;
|
|
47
47
|
typedef struct _LsmSvgFilterElement LsmSvgFilterElement;
|
48
48
|
typedef struct _LsmSvgFilterPrimitive LsmSvgFilterPrimitive;
|
49
49
|
typedef struct _LsmSvgFilterBlend LsmSvgFilterBlend;
|
50
|
+
typedef struct _LsmSvgFilterColorMatrix LsmSvgFilterColorMatrix;
|
50
51
|
typedef struct _LsmSvgFilterComposite LsmSvgFilterComposite;
|
52
|
+
typedef struct _LsmSvgFilterConvolveMatrix LsmSvgFilterConvolveMatrix;
|
53
|
+
typedef struct _LsmSvgFilterDisplacementMap LsmSvgFilterDisplacementMap;
|
51
54
|
typedef struct _LsmSvgFilterFlood LsmSvgFilterFlood;
|
52
55
|
typedef struct _LsmSvgFilterGaussianBlur LsmSvgFilterGaussianBlur;
|
56
|
+
typedef struct _LsmSvgFilterImage LsmSvgFilterImage;
|
53
57
|
typedef struct _LsmSvgFilterMerge LsmSvgFilterMerge;
|
54
58
|
typedef struct _LsmSvgFilterMergeNode LsmSvgFilterMergeNode;
|
59
|
+
typedef struct _LsmSvgFilterMorphology LsmSvgFilterMorphology;
|
55
60
|
typedef struct _LsmSvgFilterOffset LsmSvgFilterOffset;
|
56
61
|
typedef struct _LsmSvgFilterSpecularLighting LsmSvgFilterSpecularLighting;
|
62
|
+
typedef struct _LsmSvgFilterTurbulence LsmSvgFilterTurbulence;
|
57
63
|
typedef struct _LsmSvgFilterTile LsmSvgFilterTile;
|
58
64
|
typedef struct _LsmSvgLineElement LsmSvgLineElement;
|
59
65
|
typedef struct _LsmSvgPolylineElement LsmSvgPolylineElement;
|