Skip to content

Commit

Permalink
Implemented support for rendering wave functions (#296)
Browse files Browse the repository at this point in the history
* [SVG] Implemented feWaveFunction filter effect and WaveFunctionFX class
  • Loading branch information
paul-manias authored Jan 2, 2025
1 parent 0b4e4fe commit 778d8fe
Show file tree
Hide file tree
Showing 84 changed files with 835 additions and 99 deletions.
2 changes: 1 addition & 1 deletion docs/html/modules/classes/audio.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/html/modules/classes/bitmap.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/html/modules/classes/blurfx.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<p>If either value is 0 or less, the effect is disabled on that axis.</p>
</div></div></td></tr><tr id="_" data-toggle="collapse" data-target="#fl-XMLDef" class="clickable"><td class="col-md-1"><a id="tf-XMLDef"></a><span class="glyphicon glyphicon-ok text-danger" data-toggle="tooltip" title="Functional read access"></span>

<span class="glyphicon glyphicon-minus text-muted" data-toggle="tooltip" title="Not writeable"></span></td><th class="col-md-1">XMLDef</th><td class="col-md-1"><span class="text-nowrap">STRING</span></td><td>Returns an SVG compliant XML string that describes the effect.</td></tr></tbody></table><h3>Actions</h3><p>The following actions are currently supported:</p><table class="table table-hover"><thead><th style="width:1%; border-top-style: none; border-bottom-style: none;"></th><th class="col-md-1">Name</th><th>Comment</th></thead><tbody><tr data-toggle="collapse" data-target="#ta-Draw" class="clickable"><td style="width:1%; border-top-style: none; border-bottom-style: none;"></td><th class="col-md-1 text-primary">Draw</th><td>Draws object graphics to drawable areas.</td></tr><tr class="no-hover"><td class="hiddenRow" style="width:1%; border-top-style: none; border-bottom-style: none;"></td><td colspan="2" class="hiddenRow"><div id="ta-Draw" class="accordion-body collapse"><div class="panel panel-info" style="border-radius: 0;"><div class="panel-heading" style="border-radius: 0;"><samp>ERR acDraw(*Object, DOUBLE X, DOUBLE Y, DOUBLE Width, DOUBLE Height)</samp></div><div class="panel-body"><table class="table" style="border: 4px; margin-bottom: 0px; border: 0px; border-bottom: 0px;"><thead><tr><th class="col-md-1">Input</th><th>Description</th></tr></thead><tbody><tr><td>X</td><td>The X position of the region to be drawn.</td></tr><tr><td>Y</td><td>The Y position of the region to be drawn.</td></tr><tr><td>Width</td><td>The width of the region to be drawn.</td></tr><tr><td>Height</td><td>The height of the region to be drawn.</td></tr></tbody></table></div></div><div class="docs-content" style="margin:10px 10px 0px 30px"></div></div></td></tr></tbody></table><div class="footer copyright text-right">BlurFX class documentation © Paul Manias © 2010-2024</div></div></div><div class="col-sm-3"><div id="nav-tree"><div class="panel-group" id="accordion"><table class="table "><thead><th colspan="2"><h4>Class Info</h4></th></thead><tbody><tr><th class="col-md-1 text-primary">ID</th><td>ID_BLURFX</td></tr><tr><th class="col-md-1 text-primary">Category</th><td>Graphics</td></tr><tr><th class="col-md-1 text-primary">Include</th><td>modules/blurfx.h</td></tr><tr><th class="col-md-1 text-primary">Version</th><td>1</td></tr></tbody></table><div class="panel panel-primary"><div class="panel-heading"><h4 class="panel-title">Class List</h4></div><div id="structures" class="panel-collapse"><div class="panel-body"><ul class="list-unstyled"><li>Audio<ul><li><a href="audio.html">Audio</a></li><li><a href="sound.html">Sound</a></li></ul></li><li>Core<ul><li><a href="file.html">File</a></li><li><a href="metaclass.html">MetaClass</a></li><li><a href="module.html">Module</a></li><li><a href="storagedevice.html">StorageDevice</a></li><li><a href="task.html">Task</a></li><li><a href="thread.html">Thread</a></li><li><a href="time.html">Time</a></li></ul></li><li>Data<ul><li><a href="compression.html">Compression</a></li><li><a href="config.html">Config</a></li><li><a href="script.html">Script</a></li><li><a href="xml.html">XML</a></li></ul></li><li>Effects<ul><li><a href="blurfx.html">BlurFX</a></li><li><a href="colourfx.html">ColourFX</a></li><li><a href="compositefx.html">CompositeFX</a></li><li><a href="convolvefx.html">ConvolveFX</a></li><li><a href="displacementfx.html">DisplacementFX</a></li><li><a href="filtereffect.html">FilterEffect</a></li><li><a href="floodfx.html">FloodFX</a></li><li><a href="imagefx.html">ImageFX</a></li><li><a href="lightingfx.html">LightingFX</a></li><li><a href="mergefx.html">MergeFX</a></li><li><a href="morphologyfx.html">MorphologyFX</a></li><li><a href="offsetfx.html">OffsetFX</a></li><li><a href="remapfx.html">RemapFX</a></li><li><a href="sourcefx.html">SourceFX</a></li><li><a href="turbulencefx.html">TurbulenceFX</a></li></ul></li><li>Extensions<ul><li><a href="scintilla.html">Scintilla</a></li><li><a href="scintillasearch.html">ScintillaSearch</a></li></ul></li><li>Graphics<ul><li><a href="bitmap.html">Bitmap</a></li><li><a href="clipboard.html">Clipboard</a></li><li><a href="display.html">Display</a></li><li><a href="document.html">Document</a></li><li><a href="font.html">Font</a></li><li><a href="picture.html">Picture</a></li><li><a href="pointer.html">Pointer</a></li><li><a href="surface.html">Surface</a></li><li><a href="svg.html">SVG</a></li></ul></li><li>Network<ul><li><a href="clientsocket.html">ClientSocket</a></li><li><a href="http.html">HTTP</a></li><li><a href="netsocket.html">NetSocket</a></li><li><a href="proxy.html">Proxy</a></li></ul></li><li>Vectors<ul><li><a href="vector.html">Vector</a></li><li><a href="vectorclip.html">VectorClip</a></li><li><a href="vectorcolour.html">VectorColour</a></li><li><a href="vectorellipse.html">VectorEllipse</a></li><li><a href="vectorfilter.html">VectorFilter</a></li><li><a href="vectorgradient.html">VectorGradient</a></li><li><a href="vectorgroup.html">VectorGroup</a></li><li><a href="vectorimage.html">VectorImage</a></li><li><a href="vectorpath.html">VectorPath</a></li><li><a href="vectorpattern.html">VectorPattern</a></li><li><a href="vectorpolygon.html">VectorPolygon</a></li><li><a href="vectorrectangle.html">VectorRectangle</a></li><li><a href="vectorscene.html">VectorScene</a></li><li><a href="vectorshape.html">VectorShape</a></li><li><a href="vectorspiral.html">VectorSpiral</a></li><li><a href="vectortext.html">VectorText</a></li><li><a href="vectortransition.html">VectorTransition</a></li><li><a href="vectorviewport.html">VectorViewport</a></li><li><a href="vectorwave.html">VectorWave</a></li></ul></li></ul></div></div></div></div></div></div></div></div><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script src="../../js/bootstrap.min.js"></script><script src="../../js/base.js"></script><script type="text/javascript">
<span class="glyphicon glyphicon-minus text-muted" data-toggle="tooltip" title="Not writeable"></span></td><th class="col-md-1">XMLDef</th><td class="col-md-1"><span class="text-nowrap">STRING</span></td><td>Returns an SVG compliant XML string that describes the effect.</td></tr></tbody></table><h3>Actions</h3><p>The following actions are currently supported:</p><table class="table table-hover"><thead><th style="width:1%; border-top-style: none; border-bottom-style: none;"></th><th class="col-md-1">Name</th><th>Comment</th></thead><tbody><tr data-toggle="collapse" data-target="#ta-Draw" class="clickable"><td style="width:1%; border-top-style: none; border-bottom-style: none;"></td><th class="col-md-1 text-primary">Draw</th><td>Draws object graphics to drawable areas.</td></tr><tr class="no-hover"><td class="hiddenRow" style="width:1%; border-top-style: none; border-bottom-style: none;"></td><td colspan="2" class="hiddenRow"><div id="ta-Draw" class="accordion-body collapse"><div class="panel panel-info" style="border-radius: 0;"><div class="panel-heading" style="border-radius: 0;"><samp>ERR acDraw(*Object, DOUBLE X, DOUBLE Y, DOUBLE Width, DOUBLE Height)</samp></div><div class="panel-body"><table class="table" style="border: 4px; margin-bottom: 0px; border: 0px; border-bottom: 0px;"><thead><tr><th class="col-md-1">Input</th><th>Description</th></tr></thead><tbody><tr><td>X</td><td>The X position of the region to be drawn.</td></tr><tr><td>Y</td><td>The Y position of the region to be drawn.</td></tr><tr><td>Width</td><td>The width of the region to be drawn.</td></tr><tr><td>Height</td><td>The height of the region to be drawn.</td></tr></tbody></table></div></div><div class="docs-content" style="margin:10px 10px 0px 30px"></div></div></td></tr></tbody></table><div class="footer copyright text-right">BlurFX class documentation © Paul Manias © 2010-2024</div></div></div><div class="col-sm-3"><div id="nav-tree"><div class="panel-group" id="accordion"><table class="table "><thead><th colspan="2"><h4>Class Info</h4></th></thead><tbody><tr><th class="col-md-1 text-primary">ID</th><td>ID_BLURFX</td></tr><tr><th class="col-md-1 text-primary">Category</th><td>Graphics</td></tr><tr><th class="col-md-1 text-primary">Include</th><td>modules/blurfx.h</td></tr><tr><th class="col-md-1 text-primary">Version</th><td>1</td></tr></tbody></table><div class="panel panel-primary"><div class="panel-heading"><h4 class="panel-title">Class List</h4></div><div id="structures" class="panel-collapse"><div class="panel-body"><ul class="list-unstyled"><li>Audio<ul><li><a href="audio.html">Audio</a></li><li><a href="sound.html">Sound</a></li></ul></li><li>Core<ul><li><a href="file.html">File</a></li><li><a href="metaclass.html">MetaClass</a></li><li><a href="module.html">Module</a></li><li><a href="storagedevice.html">StorageDevice</a></li><li><a href="task.html">Task</a></li><li><a href="thread.html">Thread</a></li><li><a href="time.html">Time</a></li></ul></li><li>Data<ul><li><a href="compression.html">Compression</a></li><li><a href="config.html">Config</a></li><li><a href="script.html">Script</a></li><li><a href="xml.html">XML</a></li></ul></li><li>Effects<ul><li><a href="blurfx.html">BlurFX</a></li><li><a href="colourfx.html">ColourFX</a></li><li><a href="compositefx.html">CompositeFX</a></li><li><a href="convolvefx.html">ConvolveFX</a></li><li><a href="displacementfx.html">DisplacementFX</a></li><li><a href="filtereffect.html">FilterEffect</a></li><li><a href="floodfx.html">FloodFX</a></li><li><a href="imagefx.html">ImageFX</a></li><li><a href="lightingfx.html">LightingFX</a></li><li><a href="mergefx.html">MergeFX</a></li><li><a href="morphologyfx.html">MorphologyFX</a></li><li><a href="offsetfx.html">OffsetFX</a></li><li><a href="remapfx.html">RemapFX</a></li><li><a href="sourcefx.html">SourceFX</a></li><li><a href="turbulencefx.html">TurbulenceFX</a></li><li><a href="wavefunctionfx.html">WaveFunctionFX</a></li></ul></li><li>Extensions<ul><li><a href="scintilla.html">Scintilla</a></li><li><a href="scintillasearch.html">ScintillaSearch</a></li></ul></li><li>Graphics<ul><li><a href="bitmap.html">Bitmap</a></li><li><a href="clipboard.html">Clipboard</a></li><li><a href="display.html">Display</a></li><li><a href="document.html">Document</a></li><li><a href="font.html">Font</a></li><li><a href="picture.html">Picture</a></li><li><a href="pointer.html">Pointer</a></li><li><a href="surface.html">Surface</a></li><li><a href="svg.html">SVG</a></li></ul></li><li>Network<ul><li><a href="clientsocket.html">ClientSocket</a></li><li><a href="http.html">HTTP</a></li><li><a href="netsocket.html">NetSocket</a></li><li><a href="proxy.html">Proxy</a></li></ul></li><li>Vectors<ul><li><a href="vector.html">Vector</a></li><li><a href="vectorclip.html">VectorClip</a></li><li><a href="vectorcolour.html">VectorColour</a></li><li><a href="vectorellipse.html">VectorEllipse</a></li><li><a href="vectorfilter.html">VectorFilter</a></li><li><a href="vectorgradient.html">VectorGradient</a></li><li><a href="vectorgroup.html">VectorGroup</a></li><li><a href="vectorimage.html">VectorImage</a></li><li><a href="vectorpath.html">VectorPath</a></li><li><a href="vectorpattern.html">VectorPattern</a></li><li><a href="vectorpolygon.html">VectorPolygon</a></li><li><a href="vectorrectangle.html">VectorRectangle</a></li><li><a href="vectorscene.html">VectorScene</a></li><li><a href="vectorshape.html">VectorShape</a></li><li><a href="vectorspiral.html">VectorSpiral</a></li><li><a href="vectortext.html">VectorText</a></li><li><a href="vectortransition.html">VectorTransition</a></li><li><a href="vectorviewport.html">VectorViewport</a></li><li><a href="vectorwave.html">VectorWave</a></li></ul></li></ul></div></div></div></div></div></div></div></div><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script src="../../js/bootstrap.min.js"></script><script src="../../js/base.js"></script><script type="text/javascript">
var glCurrentMethod;

$(document).ready(function() {
Expand Down
Loading

0 comments on commit 778d8fe

Please sign in to comment.