├── .gitignore ├── .kateconfig ├── AUTHORS ├── CNAME ├── COPYING ├── COPYING.LESSER ├── HACKING ├── MAINTAINERS ├── Makefile.am ├── README.md ├── autogen.sh ├── bin ├── .gitignore ├── Makefile.am ├── gegl-options.c ├── gegl-options.h ├── gegl-path-smooth.c ├── gegl-path-smooth.h ├── gegl-path-spiro.c ├── gegl-path-spiro.h ├── gegl.c └── ui.c ├── build └── buildbot │ └── suppressed-warnings.txt ├── configure.ac ├── docs ├── .gitignore ├── ChangeLog ├── Makefile.am ├── NEWS.txt ├── abyss_policy.txt ├── bugzilla.txt ├── build.txt ├── commandline.txt ├── contribute.txt ├── copyright.txt.in ├── development.txt ├── devhelp.css ├── editor.txt ├── environment.txt ├── features.txt ├── gegl-chain.txt ├── gegl-sharp │ └── index.html ├── gegl-vala │ └── index.html ├── gegl.css ├── gegl.html ├── glossary.txt ├── hello-world.txt.in ├── images │ ├── .gitignore │ ├── GEGL.png │ ├── GEGL.svg │ ├── gaussian-blur-graph.png │ ├── gegl.ico │ ├── standard-aux.png │ ├── standard-input.png │ └── standard-panorama.png ├── index.txt.in ├── journal.txt ├── operation-api.txt ├── operations.html ├── pygegl │ └── index.html ├── rgegl │ └── index.html ├── showdown.js ├── source-overview.txt └── xml2json.js ├── examples ├── .gitignore ├── 2geglbuffer.c ├── Makefile.am ├── data │ ├── .gitignore │ ├── Makefile.am │ └── surfer.png ├── frame-counter.c ├── gegl-convert.c ├── gegl-slicer.c ├── gegl-video.c ├── geglbuffer-add-image.c ├── geglbuffer-clock.c ├── hello-world.c ├── lgi.lua ├── sdl-draw.c ├── simple-graph.py ├── video-invert.c └── xml-graph.py ├── gegl-uninstalled.pc.in ├── gegl.doap ├── gegl.pc.in ├── gegl ├── .gitignore ├── Gegl.metadata.in ├── Makefile.am ├── buffer │ ├── .gitignore │ ├── Makefile.am │ ├── gegl-buffer-access.c │ ├── gegl-buffer-backend.h │ ├── gegl-buffer-cl-cache.c │ ├── gegl-buffer-cl-cache.h │ ├── gegl-buffer-cl-iterator.c │ ├── gegl-buffer-cl-iterator.h │ ├── gegl-buffer-index.h │ ├── gegl-buffer-iterator-private.h │ ├── gegl-buffer-iterator.c │ ├── gegl-buffer-iterator.h │ ├── gegl-buffer-linear.c │ ├── gegl-buffer-load.c │ ├── gegl-buffer-private.h │ ├── gegl-buffer-save.c │ ├── gegl-buffer-types.h │ ├── gegl-buffer.c │ ├── gegl-buffer.h │ ├── gegl-cache.c │ ├── gegl-cache.h │ ├── gegl-region-generic.c │ ├── gegl-region-generic.h │ ├── gegl-region.h │ ├── gegl-sampler-cubic.c │ ├── gegl-sampler-cubic.h │ ├── gegl-sampler-linear.c │ ├── gegl-sampler-linear.h │ ├── gegl-sampler-lohalo.c │ ├── gegl-sampler-lohalo.h │ ├── gegl-sampler-nearest.c │ ├── gegl-sampler-nearest.h │ ├── gegl-sampler-nohalo.c │ ├── gegl-sampler-nohalo.h │ ├── gegl-sampler.c │ ├── gegl-sampler.h │ ├── gegl-tile-backend-file-async.c │ ├── gegl-tile-backend-file.h │ ├── gegl-tile-backend-ram.c │ ├── gegl-tile-backend-ram.h │ ├── gegl-tile-backend-swap.c │ ├── gegl-tile-backend-swap.h │ ├── gegl-tile-backend.c │ ├── gegl-tile-backend.h │ ├── gegl-tile-handler-cache.c │ ├── gegl-tile-handler-cache.h │ ├── gegl-tile-handler-chain.c │ ├── gegl-tile-handler-chain.h │ ├── gegl-tile-handler-empty.c │ ├── gegl-tile-handler-empty.h │ ├── gegl-tile-handler-log.c │ ├── gegl-tile-handler-log.h │ ├── gegl-tile-handler-private.h │ ├── gegl-tile-handler-zoom.c │ ├── gegl-tile-handler-zoom.h │ ├── gegl-tile-handler.c │ ├── gegl-tile-handler.h │ ├── gegl-tile-source.c │ ├── gegl-tile-source.h │ ├── gegl-tile-storage.c │ ├── gegl-tile-storage.h │ ├── gegl-tile.c │ └── gegl-tile.h ├── gegl-algorithms-2x2-downscale.inc ├── gegl-algorithms-bilinear.inc ├── gegl-algorithms-boxfilter.inc ├── gegl-algorithms.c ├── gegl-algorithms.h ├── gegl-apply.c ├── gegl-apply.h ├── gegl-config.c ├── gegl-config.h ├── gegl-cpuaccel-private.h ├── gegl-cpuaccel.c ├── gegl-cpuaccel.h ├── gegl-debug.h ├── gegl-dot-visitor.c ├── gegl-dot-visitor.h ├── gegl-dot.c ├── gegl-dot.h ├── gegl-enums.c ├── gegl-enums.h ├── gegl-gio-private.h ├── gegl-gio.c ├── gegl-init-private.h ├── gegl-init.c ├── gegl-init.h ├── gegl-instrument.c ├── gegl-instrument.h ├── gegl-introspection-support.c ├── gegl-introspection-support.h ├── gegl-lookup.c ├── gegl-lookup.h ├── gegl-matrix.c ├── gegl-matrix.h ├── gegl-module.h ├── gegl-op.h ├── gegl-operations-util.h ├── gegl-plugin.h ├── gegl-random-private.h ├── gegl-random.c ├── gegl-random.h ├── gegl-serialize.c ├── gegl-types-internal.h ├── gegl-types.h ├── gegl-utils.c ├── gegl-utils.h ├── gegl-version.h.in ├── gegl-xml.c ├── gegl-xml.h ├── gegl.deps.in ├── gegl.h ├── graph │ ├── .gitignore │ ├── Makefile.am │ ├── gegl-connection.c │ ├── gegl-connection.h │ ├── gegl-node-private.h │ ├── gegl-node.c │ ├── gegl-node.h │ ├── gegl-pad.c │ ├── gegl-pad.h │ ├── gegl-visitable.c │ ├── gegl-visitable.h │ ├── gegl-visitor.c │ └── gegl-visitor.h ├── module │ ├── .gitignore │ ├── Makefile.am │ ├── gegldatafiles.c │ ├── gegldatafiles.h │ ├── geglmodule.c │ ├── geglmodule.h │ ├── geglmoduledb.c │ └── geglmoduledb.h ├── opencl │ ├── .gitignore │ ├── Makefile.am │ ├── cl.h │ ├── cl_d3d10.h │ ├── cl_ext.h │ ├── cl_gl.h │ ├── cl_gl_ext.h │ ├── cl_platform.h │ ├── gegl-cl-color.c │ ├── gegl-cl-color.h │ ├── gegl-cl-init.c │ ├── gegl-cl-init.h │ ├── gegl-cl-introspection-support.h │ ├── gegl-cl-random.c │ ├── gegl-cl-random.h │ ├── gegl-cl-types.h │ ├── gegl-cl.c │ ├── gegl-cl.h │ └── opencl.h ├── operation │ ├── .gitignore │ ├── Makefile.am │ ├── gegl-extension-handler.c │ ├── gegl-extension-handler.h │ ├── gegl-operation-area-filter.c │ ├── gegl-operation-area-filter.h │ ├── gegl-operation-composer.c │ ├── gegl-operation-composer.h │ ├── gegl-operation-composer3.c │ ├── gegl-operation-composer3.h │ ├── gegl-operation-context-private.h │ ├── gegl-operation-context.c │ ├── gegl-operation-context.h │ ├── gegl-operation-filter.c │ ├── gegl-operation-filter.h │ ├── gegl-operation-handlers-private.h │ ├── gegl-operation-handlers.c │ ├── gegl-operation-handlers.h │ ├── gegl-operation-meta-json.c │ ├── gegl-operation-meta-json.h │ ├── gegl-operation-meta.c │ ├── gegl-operation-meta.h │ ├── gegl-operation-point-composer.c │ ├── gegl-operation-point-composer.h │ ├── gegl-operation-point-composer3.c │ ├── gegl-operation-point-composer3.h │ ├── gegl-operation-point-filter.c │ ├── gegl-operation-point-filter.h │ ├── gegl-operation-point-render.c │ ├── gegl-operation-point-render.h │ ├── gegl-operation-property-keys.c │ ├── gegl-operation-property-keys.h │ ├── gegl-operation-sink.c │ ├── gegl-operation-sink.h │ ├── gegl-operation-source.c │ ├── gegl-operation-source.h │ ├── gegl-operation-temporal.c │ ├── gegl-operation-temporal.h │ ├── gegl-operation.c │ ├── gegl-operation.h │ ├── gegl-operations.c │ └── gegl-operations.h ├── process │ ├── .gitignore │ ├── Makefile.am │ ├── gegl-eval-manager.c │ ├── gegl-eval-manager.h │ ├── gegl-graph-debug.h │ ├── gegl-graph-traversal-debug.c │ ├── gegl-graph-traversal-private.h │ ├── gegl-graph-traversal.c │ ├── gegl-graph-traversal.h │ ├── gegl-list-visitor.c │ ├── gegl-list-visitor.h │ ├── gegl-processor-private.h │ ├── gegl-processor.c │ └── gegl-processor.h └── property-types │ ├── .gitignore │ ├── Makefile.am │ ├── gegl-audio-fragment.c │ ├── gegl-audio-fragment.h │ ├── gegl-color.c │ ├── gegl-color.h │ ├── gegl-curve.c │ ├── gegl-curve.h │ ├── gegl-paramspecs.c │ ├── gegl-paramspecs.h │ ├── gegl-path.c │ └── gegl-path.h ├── libs ├── .gitignore ├── Makefile.am ├── npd │ ├── .gitignore │ ├── Makefile.am │ ├── deformation.c │ ├── deformation.h │ ├── graphics.c │ ├── graphics.h │ ├── lattice_cut.c │ ├── lattice_cut.h │ ├── npd.h │ ├── npd_common.c │ ├── npd_common.h │ ├── npd_debug.c │ ├── npd_debug.h │ ├── npd_gegl.c │ ├── npd_gegl.h │ ├── npd_math.c │ └── npd_math.h ├── poly2tri-c │ ├── .gitignore │ ├── COPYING │ ├── LICENSE-Poly2Tri-C.txt │ ├── LICENSE-Poly2Tri.txt │ ├── Makefile.am │ ├── README │ └── poly2tri-c │ │ ├── Makefile.am │ │ ├── p2t │ │ ├── Makefile.am │ │ ├── common │ │ │ ├── Makefile.am │ │ │ ├── cutils.h │ │ │ ├── poly2tri-private.h │ │ │ ├── shapes.c │ │ │ ├── shapes.h │ │ │ ├── utils.c │ │ │ └── utils.h │ │ ├── poly2tri.h │ │ └── sweep │ │ │ ├── Makefile.am │ │ │ ├── advancing_front.c │ │ │ ├── advancing_front.h │ │ │ ├── cdt.c │ │ │ ├── cdt.h │ │ │ ├── sweep.c │ │ │ ├── sweep.h │ │ │ ├── sweep_context.c │ │ │ └── sweep_context.h │ │ ├── refine │ │ ├── Makefile.am │ │ ├── bounded-line.c │ │ ├── bounded-line.h │ │ ├── cdt-flipfix.c │ │ ├── cdt-flipfix.h │ │ ├── cdt.c │ │ ├── cdt.h │ │ ├── circle.c │ │ ├── circle.h │ │ ├── cluster.c │ │ ├── cluster.h │ │ ├── delaunay-terminator.c │ │ ├── delaunay-terminator.h │ │ ├── edge.c │ │ ├── edge.h │ │ ├── line.c │ │ ├── line.h │ │ ├── mesh-action.c │ │ ├── mesh-action.h │ │ ├── mesh.c │ │ ├── mesh.h │ │ ├── point.c │ │ ├── point.h │ │ ├── pslg.c │ │ ├── pslg.h │ │ ├── refine.h │ │ ├── refiner.c │ │ ├── refiner.h │ │ ├── rmath.c │ │ ├── rmath.h │ │ ├── triangle.c │ │ ├── triangle.h │ │ ├── triangulation.h │ │ ├── utils.c │ │ ├── utils.h │ │ ├── vector2.c │ │ ├── vector2.h │ │ ├── vedge.c │ │ ├── vedge.h │ │ ├── visibility.c │ │ ├── visibility.h │ │ ├── vtriangle.c │ │ └── vtriangle.h │ │ └── render │ │ ├── Makefile.am │ │ ├── mesh-render.c │ │ ├── mesh-render.h │ │ ├── svg-plot.c │ │ └── svg-plot.h └── rgbe │ ├── .gitignore │ ├── Makefile.am │ ├── rgbe.c │ └── rgbe.h ├── m4 ├── .gitignore ├── as-compiler-flag.m4 ├── gegl-variadic-macros.m4 ├── gtk-doc.m4 └── introspection.m4 ├── opencl ├── .gitignore ├── Makefile.am ├── alien-map.cl ├── alien-map.cl.h ├── bilateral-filter-fast.cl ├── bilateral-filter-fast.cl.h ├── bilateral-filter.cl ├── bilateral-filter.cl.h ├── box-blur.cl ├── box-blur.cl.h ├── box-max.cl ├── box-max.cl.h ├── box-min.cl ├── box-min.cl.h ├── brightness-contrast.cl ├── brightness-contrast.cl.h ├── c2g.cl ├── c2g.cl.h ├── checkerboard.cl ├── checkerboard.cl.h ├── cltostring.py ├── color-exchange.cl ├── color-exchange.cl.h ├── color-temperature.cl ├── color-temperature.cl.h ├── color-to-alpha.cl ├── color-to-alpha.cl.h ├── colors-8bit-lut.cl ├── colors-8bit-lut.cl.h ├── colors.cl ├── colors.cl.h ├── contrast-curve.cl ├── contrast-curve.cl.h ├── diffraction-patterns.cl ├── diffraction-patterns.cl.h ├── edge-laplace.cl ├── edge-laplace.cl.h ├── edge-sobel.cl ├── edge-sobel.cl.h ├── gaussian-blur-selective.cl ├── gaussian-blur-selective.cl.h ├── gblur-1d.cl ├── gblur-1d.cl.h ├── invert-linear.cl ├── invert-linear.cl.h ├── levels.cl ├── levels.cl.h ├── mono-mixer.cl ├── mono-mixer.cl.h ├── motion-blur-circular.cl ├── motion-blur-circular.cl.h ├── motion-blur-linear.cl ├── motion-blur-linear.cl.h ├── noise-cell.cl ├── noise-cell.cl.h ├── noise-hsv.cl ├── noise-hsv.cl.h ├── noise-hurl.cl ├── noise-hurl.cl.h ├── noise-reduction.cl ├── noise-reduction.cl.h ├── noise-simplex.cl ├── noise-simplex.cl.h ├── oilify.cl ├── oilify.cl.h ├── opacity.cl ├── opacity.cl.h ├── pixelize.cl ├── pixelize.cl.h ├── posterize.cl ├── posterize.cl.h ├── random.cl ├── random.cl.h ├── red-eye-removal.cl ├── red-eye-removal.cl.h ├── snn-mean.cl ├── snn-mean.cl.h ├── stretch-contrast.cl ├── stretch-contrast.cl.h ├── svg-src-over.cl ├── svg-src-over.cl.h ├── texturize-canvas.cl ├── texturize-canvas.cl.h ├── threshold.cl ├── threshold.cl.h ├── value-invert.cl ├── value-invert.cl.h ├── video-degradation.cl ├── video-degradation.cl.h ├── vignette.cl ├── vignette.cl.h ├── weighted-blend.cl └── weighted-blend.cl.h ├── operations ├── .gitignore ├── Makefile-common.am ├── Makefile.am ├── common │ ├── .gitignore │ ├── Makefile.am │ ├── alien-map.c │ ├── antialias.c │ ├── apply-lens.c │ ├── bilateral-filter.c │ ├── box-blur.c │ ├── brightness-contrast.c │ ├── buffer-sink.c │ ├── buffer-source.c │ ├── bump-map.c │ ├── c2g.c │ ├── cartoon.c │ ├── channel-mixer.c │ ├── checkerboard.c │ ├── color-enhance.c │ ├── color-exchange.c │ ├── color-rotate.c │ ├── color-temperature.c │ ├── color-to-alpha.c │ ├── color-warp.c │ ├── color.c │ ├── component-extract.c │ ├── contrast-curve.c │ ├── convolution-matrix.c │ ├── copy-buffer.c │ ├── cubism.c │ ├── deinterlace.c │ ├── difference-of-gaussians.c │ ├── diffraction-patterns.c │ ├── displace.c │ ├── display.c │ ├── distance-transform.c │ ├── dither.c │ ├── dropshadow.c │ ├── edge-laplace.c │ ├── edge-neon.c │ ├── edge-sobel.c │ ├── edge.c │ ├── emboss.c │ ├── engrave.c │ ├── envelopes.h │ ├── exp-combine.c │ ├── exposure.c │ ├── fattal02.c │ ├── fractal-explorer.c │ ├── fractal-trace.c │ ├── gaussian-blur-selective.c │ ├── gaussian-blur.c │ ├── gblur-1d.c │ ├── gegl-buffer-load-op.c │ ├── gegl-buffer-save-op.c │ ├── gegl.c │ ├── grey.c │ ├── grid.c │ ├── high-pass.c │ ├── hue-chroma.c │ ├── illusion.c │ ├── image-compare.c │ ├── image-gradient.c │ ├── introspect.c │ ├── invert-gamma.c │ ├── invert-linear.c │ ├── layer.c │ ├── lens-distortion.c │ ├── lens-flare.c │ ├── levels.c │ ├── linear-gradient.c │ ├── magick-load.c │ ├── mantiuk06.c │ ├── map-absolute.c │ ├── map-relative.c │ ├── matting-global.c │ ├── maze.c │ ├── mblur.c │ ├── mirrors.c │ ├── mono-mixer.c │ ├── mosaic.c │ ├── motion-blur-circular.c │ ├── motion-blur-linear.c │ ├── motion-blur-zoom.c │ ├── newsprint.c │ ├── noise-cell.c │ ├── noise-cie-lch.c │ ├── noise-hsv.c │ ├── noise-hurl.c │ ├── noise-perlin.c │ ├── noise-pick.c │ ├── noise-reduction.c │ ├── noise-rgb.c │ ├── noise-simplex.c │ ├── noise-slur.c │ ├── noise-solid.c │ ├── noise-spread.c │ ├── oilify.c │ ├── opacity.c │ ├── open-buffer.c │ ├── over.c │ ├── panorama-projection.c │ ├── perlin │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── perlin.c │ │ └── perlin.h │ ├── photocopy.c │ ├── pixelize.c │ ├── plasma.c │ ├── polar-coordinates.c │ ├── posterize.c │ ├── radial-gradient.c │ ├── rectangle.c │ ├── red-eye-removal.c │ ├── reinhard05.c │ ├── remap.c │ ├── rgb-clip.c │ ├── ripple.c │ ├── saturation.c │ ├── save.c │ ├── sepia.c │ ├── shift.c │ ├── sinus.c │ ├── slic.c │ ├── snn-mean.c │ ├── softglow.c │ ├── stress.c │ ├── stretch-contrast-hsv.c │ ├── stretch-contrast.c │ ├── supernova.c │ ├── svg-huerotate.c │ ├── svg-luminancetoalpha.c │ ├── svg-matrix.c │ ├── svg-saturate.c │ ├── texturize-canvas.c │ ├── threshold.c │ ├── tile-glass.c │ ├── tile-paper.c │ ├── tile-seamless.c │ ├── tile.c │ ├── unpremultiply.c │ ├── unsharp-mask.c │ ├── value-invert.c │ ├── value-propagate.c │ ├── video-degradation.c │ ├── vignette.c │ ├── warp.c │ ├── waterpixels.c │ ├── watershed-transform.c │ ├── wavelet-blur.c │ ├── waves.c │ ├── weighted-blend.c │ ├── whirl-pinch.c │ ├── wind.c │ └── write-buffer.c ├── core │ ├── .gitignore │ ├── Makefile.am │ ├── cache.c │ ├── cast-format.c │ ├── clone.c │ ├── convert-format.c │ ├── crop.c │ ├── json.c │ ├── load.c │ └── nop.c ├── external │ ├── .gitignore │ ├── Makefile.am │ ├── exr-load.cpp │ ├── exr-save.cc │ ├── ff-load.c │ ├── ff-save.c │ ├── jp2-load.c │ ├── jpg-load.c │ ├── jpg-save.c │ ├── lcms-from-profile.c │ ├── matting-levin-cblas.c │ ├── matting-levin-cblas.h │ ├── matting-levin.c │ ├── npd.c │ ├── npy-save.c │ ├── path.c │ ├── pixbuf.c │ ├── png-load.c │ ├── png-save.c │ ├── ppm-load.c │ ├── ppm-save.c │ ├── raw-load.c │ ├── rgbe-load.c │ ├── rgbe-save.c │ ├── save-pixbuf.c │ ├── sdl-display.c │ ├── svg-load.c │ ├── text.c │ ├── tiff-load.c │ ├── tiff-save.c │ ├── v4l.c │ ├── v4lutils │ │ ├── README │ │ ├── v4lutils.c │ │ └── v4lutils.h │ ├── vector-fill.c │ ├── vector-stroke.c │ ├── webp-load.c │ └── webp-save.c ├── generated │ ├── .gitignore │ ├── Makefile.am │ ├── add.c │ ├── clear.c │ ├── color-burn.c │ ├── color-dodge.c │ ├── darken.c │ ├── difference.c │ ├── divide.c │ ├── dst-atop.c │ ├── dst-in.c │ ├── dst-out.c │ ├── dst-over.c │ ├── dst.c │ ├── exclusion.c │ ├── gamma.c │ ├── hard-light.c │ ├── lighten.c │ ├── math.rb │ ├── multiply.c │ ├── overlay.c │ ├── plus.c │ ├── screen.c │ ├── soft-light.c │ ├── src-atop.c │ ├── src-in.c │ ├── src-out.c │ ├── src.c │ ├── subtract.c │ ├── svg-12-blend.rb │ ├── svg-12-porter-duff.rb │ └── xor.c ├── json │ ├── .gitignore │ ├── Makefile.am │ ├── dropshadow2.fbp │ ├── dropshadow2.json │ ├── grey2.fbp │ └── grey2.json ├── seamless-clone │ ├── .gitignore │ ├── Makefile.am │ ├── seamless-clone-compose.c │ ├── seamless-clone.c │ └── seamless-clone.h ├── transform │ ├── .gitignore │ ├── Makefile.am │ ├── module.c │ ├── module.h │ ├── reflect.c │ ├── rotate-on-center.c │ ├── rotate.c │ ├── scale-ratio.c │ ├── scale-size-keepaspect.c │ ├── scale-size.c │ ├── shear.c │ ├── transform-core.c │ ├── transform-core.h │ ├── transform.c │ └── translate.c └── workshop │ ├── .gitignore │ ├── Makefile.am │ ├── bayer-matrix.c │ ├── bilateral-filter-fast.c │ ├── demosaic-bimedian.c │ ├── demosaic-simple.c │ ├── ditto.c │ ├── external │ ├── .gitignore │ ├── Makefile.am │ ├── gluas.c │ ├── lens-correct.c │ ├── line-profile.c │ └── v4l2.c │ ├── generated │ ├── .gitignore │ ├── Makefile.am │ ├── average.c │ ├── blend-reflect.c │ ├── blend.rb │ ├── negation.c │ ├── soft-burn.c │ ├── soft-dodge.c │ └── subtractive.c │ ├── gradient-map.c │ ├── hstack.c │ ├── integral-image.c │ ├── kuwahara.c │ ├── linear-sinusoid.c │ ├── median-blur.c │ ├── rawbayer-load.c │ ├── segment-kmeans.c │ ├── shadows-highlights-correction.c │ ├── shadows-highlights.c │ └── spiral.c ├── perf ├── .gitignore ├── Makefile-retrospect ├── Makefile-tests ├── Makefile.am ├── create-report.rb ├── joblist ├── makejobs.rb ├── perf-build.sh ├── test-bcontrast-4x.c ├── test-bcontrast-minichunk.c ├── test-bcontrast.c ├── test-blur.c ├── test-common.h ├── test-gegl-buffer-access.c ├── test-init.c ├── test-rotate.c ├── test-samplers.c ├── test-saturation.c ├── test-scale.c ├── test-translate.c └── test-unsharpmask.c ├── po ├── .gitignore ├── LINGUAS ├── Makefile.in.in ├── POTFILES.in ├── POTFILES.skip ├── bs.po ├── ca.po ├── da.po ├── de.po ├── el.po ├── en_GB.po ├── eo.po ├── es.po ├── eu.po ├── fr.po ├── gl.po ├── id.po ├── is.po ├── it.po ├── ko.po ├── lv.po ├── nb.po ├── oc.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ru.po ├── sk.po ├── sl.po ├── sr.po ├── sv.po ├── tr.po └── zh_CN.po ├── seamless-clone ├── .gitignore ├── Makefile.am ├── gegl-sc.pc.in ├── sc-common.h ├── sc-context-private.h ├── sc-context.c ├── sc-context.h ├── sc-outline.c ├── sc-outline.h ├── sc-sample.c └── sc-sample.h ├── tests ├── .gitignore ├── Makefile.am ├── buffer │ ├── .gitignore │ ├── Makefile.am │ ├── README │ ├── buffer-test.c │ ├── buffer-tests-results.sh │ ├── reference │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── blank.buf │ │ ├── buffer_copy.buf │ │ ├── buffer_copy_abyss.buf │ │ ├── buffer_copy_lower_left.buf │ │ ├── buffer_copy_lower_right.buf │ │ ├── buffer_copy_self.buf │ │ ├── buffer_copy_upper_left.buf │ │ ├── buffer_copy_upper_right.buf │ │ ├── buffer_dup_copy1.buf │ │ ├── buffer_dup_copy2.buf │ │ ├── buffer_dup_delete1.buf │ │ ├── buffer_dup_delete2.buf │ │ ├── buffer_dup_write1.buf │ │ ├── buffer_dup_write2.buf │ │ ├── buffer_dup_write3.buf │ │ ├── buffer_dup_write4.buf │ │ ├── buffer_iterator1.buf │ │ ├── buffer_iterator1sub.buf │ │ ├── buffer_iterator2.buf │ │ ├── buffer_iterator2sub.buf │ │ ├── buffer_iterator3.buf │ │ ├── buffer_iterator3sub.buf │ │ ├── buffer_iterator4.buf │ │ ├── buffer_iterator4sub.buf │ │ ├── buffer_linear_copy.buf │ │ ├── buffer_linear_iter.buf │ │ ├── buffer_linear_iter2.buf │ │ ├── buffer_multcopy.buf │ │ ├── buffer_set_pattern.buf │ │ ├── buffer_shift_diagonal.buf │ │ ├── buffer_shift_horizontal.buf │ │ ├── buffer_shift_vertical.buf │ │ ├── checks.buf │ │ ├── disabled_abyss.buf │ │ ├── dup_linear_from_data.buf │ │ ├── get_abyss_black.buf │ │ ├── get_abyss_clamp.buf │ │ ├── get_abyss_empty_buffer.buf │ │ ├── get_abyss_loop.buf │ │ ├── get_abyss_none.buf │ │ ├── get_abyss_white.buf │ │ ├── get_buffer_scaled.buf │ │ ├── get_buffer_scaled2.buf │ │ ├── get_shifted.buf │ │ ├── gray.buf │ │ ├── grow_extent.buf │ │ ├── linear_from_data.buf │ │ ├── linear_from_data_rows.buf │ │ ├── linear_modify.buf │ │ ├── linear_new.buf │ │ ├── linear_proxy_modify.buf │ │ ├── linear_shift.buf │ │ ├── mipmap_iterator.buf │ │ ├── mipmap_iterator2.buf │ │ ├── mipmap_sampler.buf │ │ ├── mipmap_set.buf │ │ ├── mipmap_set2.buf │ │ ├── rect.buf │ │ ├── sample.buf │ │ ├── save_small_roi.buf │ │ ├── sub_rect_fills_and_gets.buf │ │ ├── sub_sub_fill.buf │ │ ├── sub_sub_fill2.buf │ │ └── vertical_gradient.buf │ └── tests │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── blank.c │ │ ├── buffer_copy.c │ │ ├── buffer_copy_abyss.c │ │ ├── buffer_copy_lower_left.c │ │ ├── buffer_copy_lower_right.c │ │ ├── buffer_copy_self.c │ │ ├── buffer_copy_upper_left.c │ │ ├── buffer_copy_upper_right.c │ │ ├── buffer_dup_copy1.c │ │ ├── buffer_dup_copy2.c │ │ ├── buffer_dup_delete1.c │ │ ├── buffer_dup_delete2.c │ │ ├── buffer_dup_write1.c │ │ ├── buffer_dup_write2.c │ │ ├── buffer_dup_write3.c │ │ ├── buffer_dup_write4.c │ │ ├── buffer_iterator1.c │ │ ├── buffer_iterator1sub.c │ │ ├── buffer_iterator2.c │ │ ├── buffer_iterator2sub.c │ │ ├── buffer_iterator3.c │ │ ├── buffer_iterator3sub.c │ │ ├── buffer_iterator4.c │ │ ├── buffer_iterator4sub.c │ │ ├── buffer_linear_copy.c │ │ ├── buffer_linear_iter.c │ │ ├── buffer_linear_iter2.c │ │ ├── buffer_multcopy.c │ │ ├── buffer_set_pattern.c │ │ ├── buffer_shift_diagonal.c │ │ ├── buffer_shift_horizontal.c │ │ ├── buffer_shift_vertical.c │ │ ├── checks.c │ │ ├── disabled_abyss.c │ │ ├── dup_linear_from_data.c │ │ ├── get_abyss_black.c │ │ ├── get_abyss_clamp.c │ │ ├── get_abyss_empty_buffer.c │ │ ├── get_abyss_loop.c │ │ ├── get_abyss_none.c │ │ ├── get_abyss_white.c │ │ ├── get_buffer_scaled.c │ │ ├── get_buffer_scaled2.c │ │ ├── get_shifted.c │ │ ├── gray.c │ │ ├── grow_extent.c │ │ ├── linear_from_data.c │ │ ├── linear_from_data_rows.c │ │ ├── linear_modify.c │ │ ├── linear_new.c │ │ ├── linear_proxy_modify.c │ │ ├── linear_shift.c │ │ ├── mipmap_iterator.c │ │ ├── mipmap_iterator2.c │ │ ├── mipmap_sampler.c │ │ ├── mipmap_set.c │ │ ├── mipmap_set2.c │ │ ├── rect.c │ │ ├── sample.c │ │ ├── save_small_roi.c │ │ ├── sub_rect_fills_and_gets.c │ │ ├── sub_sub_fill.c │ │ ├── sub_sub_fill2.c │ │ └── vertical_gradient.c ├── compositions │ ├── .gitignore │ ├── Makefile.am │ ├── affine-with-negative.xml │ ├── alien-map.xml │ ├── apply-lens.xml │ ├── apply-lens2.xml │ ├── apply-lens3.xml │ ├── bump-map.xml │ ├── checkerboard.xml │ ├── clones.xml │ ├── color-enhance.xml │ ├── color-exchange.xml │ ├── color-reduction.xml │ ├── color-to-alpha.xml │ ├── colors.xml │ ├── composite-transform.xml │ ├── contrast-curve.xml │ ├── convolve1.xml │ ├── convolve2.xml │ ├── data │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── boats.png │ │ ├── car-stack-eighth.hdr │ │ ├── car-stack.png │ │ ├── duck-8bit-ascii.pnm │ │ ├── duck-8bit-raw.pnm │ │ ├── duck.png │ │ ├── duck_scribble.png │ │ ├── gegl-16bit-float-4ch-assoc-contiguous.tif │ │ ├── gegl-8bit-4ch-assoc-contiguous.tif │ │ ├── gegl-8bit-4ch-assoc-separated.tif │ │ ├── gegl-8bit-4ch-unassoc-contiguous.tif │ │ ├── gegl.png │ │ ├── grid.png │ │ ├── matting-global.png │ │ ├── matting-global_scribble.png │ │ ├── mid_grey_dot.png │ │ ├── om.jp2 │ │ ├── parliament.hdr │ │ ├── parliament_0.png │ │ ├── parliament_1.png │ │ ├── parliament_2.png │ │ └── red-eye.png │ ├── dropshadow-json.xml │ ├── edge.xml │ ├── fattal02.xml │ ├── gamma.xml │ ├── gegl.xml │ ├── grey-json.xml │ ├── hdr-color.xml │ ├── illusion.xml │ ├── image-compare.xml │ ├── jp2-load.xml │ ├── jpg-load-datauri.xml │ ├── lens-flare.xml │ ├── mantiuk06.xml │ ├── matting-global.xml │ ├── matting-levin.xml │ ├── noise-cell.xml │ ├── noise-hsv.xml │ ├── noise-hurl.xml │ ├── noise-simplex.xml │ ├── noise-solid.xml │ ├── pnm-ascii-load.xml │ ├── pnm-raw-load.xml │ ├── posterize.xml │ ├── rectangles.xml │ ├── red-eye-removal.xml │ ├── reference │ │ ├── affine-with-negative.png │ │ ├── alien-map.png │ │ ├── apply-lens.png │ │ ├── apply-lens2.png │ │ ├── apply-lens3.png │ │ ├── bump-map.png │ │ ├── checkerboard.png │ │ ├── clones.png │ │ ├── color-enhance.png │ │ ├── color-exchange.png │ │ ├── color-reduction.png │ │ ├── color-to-alpha.png │ │ ├── colors.png │ │ ├── composite-transform.png │ │ ├── contrast-curve.png │ │ ├── convolve1.png │ │ ├── convolve2.png │ │ ├── edge.png │ │ ├── fattal02.png │ │ ├── gamma.png │ │ ├── gegl.png │ │ ├── grey-json.png │ │ ├── hdr-color.gegl │ │ ├── illusion.png │ │ ├── image-compare.png │ │ ├── jp2-load.png │ │ ├── jpg-load-datauri.png │ │ ├── lens-flare.png │ │ ├── mantiuk06.png │ │ ├── matting-global.png │ │ ├── matting-levin.png │ │ ├── noise-cell.png │ │ ├── noise-hsv.png │ │ ├── noise-hurl.png │ │ ├── noise-simplex.png │ │ ├── noise-solid.png │ │ ├── pnm-ascii-load.png │ │ ├── pnm-raw-load.png │ │ ├── posterize.png │ │ ├── rectangles.png │ │ ├── red-eye-removal.png │ │ ├── reflect.png │ │ ├── reflect2.png │ │ ├── reinhard05.png │ │ ├── rgb-params.gegl │ │ ├── rgbe-load.png │ │ ├── rgbe-save.hdr │ │ ├── rotate-on-center.png │ │ ├── rotate.png │ │ ├── scale-size-keepaspect.png │ │ ├── shift.png │ │ ├── simple-scale.png │ │ ├── sinus.png │ │ ├── stretch-contrast-hsv.png │ │ ├── stretch-contrast.png │ │ ├── supernova.png │ │ ├── tiff-load.png │ │ ├── tile.png │ │ ├── transform.png │ │ └── weighted-blend.png │ ├── reflect.xml │ ├── reflect2.xml │ ├── reinhard05.xml │ ├── rgb-params.xml │ ├── rgbe-load.xml │ ├── rgbe-save.xml │ ├── rotate-on-center.xml │ ├── rotate.xml │ ├── run-compositions.py │ ├── scale-size-keepaspect.xml │ ├── shift.xml │ ├── simple-scale.xml │ ├── sinus.xml │ ├── stretch-contrast-hsv.xml │ ├── stretch-contrast.xml │ ├── supernova.xml │ ├── tiff-load.xml │ ├── tile.xml │ ├── transform.xml │ └── weighted-blend.xml ├── ff-load-save │ ├── .gitignore │ └── Makefile.am ├── mipmap │ ├── Makefile.am │ ├── invert-crop-reference.png │ ├── invert-crop.sh │ ├── invert-reference.png │ ├── invert.sh │ ├── rotate-crop-reference.png │ ├── rotate-crop.sh │ ├── rotate-reference.png │ ├── rotate.sh │ ├── unsharp-crop-reference.png │ ├── unsharp-crop.sh │ ├── unsharp-reference.png │ └── unsharp.sh ├── opencl │ ├── .gitignore │ ├── Makefile.am │ ├── TODO │ ├── benchmark.pl │ ├── bilateral-filter.xml │ ├── box-blur.xml │ ├── brightness-contrast.xml │ ├── color-temperature.xml │ ├── edge-sobel.xml │ ├── gaussian-blur.xml │ ├── invert-linear.xml │ ├── levels.xml │ ├── mono-mixer.xml │ ├── motion-blur.xml │ ├── noise-reduction.xml │ ├── oilify.xml │ ├── opacity.xml │ ├── pixelize.xml │ ├── snn-mean.xml │ ├── svg-src-over.xml │ ├── threshold.xml │ ├── value-invert.xml │ └── vignette.xml ├── python │ ├── .gitignore │ ├── Makefile.am │ ├── test-gegl-buffer.py │ ├── test-gegl-color.py │ ├── test-gegl-format.py │ ├── test-gegl-node.py │ └── test-gegl.py ├── run-tests.py ├── simple │ ├── .gitignore │ ├── Makefile.am │ ├── test-backend-file.c │ ├── test-buffer-cast.c │ ├── test-buffer-changes.c │ ├── test-buffer-extract.c │ ├── test-buffer-hot-tile.c │ ├── test-buffer-sharing.c │ ├── test-buffer-tile-voiding.c │ ├── test-change-processor-rect.c │ ├── test-color-op.c │ ├── test-convert-format.c │ ├── test-empty-tile.c │ ├── test-exp-combine.sh │ ├── test-format-sensing.c │ ├── test-gegl-color.c │ ├── test-gegl-rectangle.c │ ├── test-gegl-tile.c │ ├── test-image-compare.c │ ├── test-license-check.c │ ├── test-misc.c │ ├── test-node-connections.c │ ├── test-node-passthrough.c │ ├── test-node-properties.c │ ├── test-object-forked.c │ ├── test-opencl-colors.c │ ├── test-path.c │ ├── test-proxynop-processing.c │ ├── test-scaled-blit.c │ ├── test-serialize.c │ └── test-svg-abyss.c └── xml │ ├── .gitignore │ ├── Makefile.am │ ├── common.c │ ├── data │ ├── Makefile.am │ ├── hdr-color.xml │ └── rgb-params.xml │ ├── test-load.c │ ├── test-roundtrip.c │ └── test-save.c └── tools ├── .gitignore ├── Makefile.am ├── csourcetostring.py ├── detect_opencl.c ├── exp_combine.cpp ├── gegl-imgcmp.c ├── gegl-tester.c ├── gen-loader.sh ├── gobj2dot.rb ├── introspect.c ├── make-init-types.sh ├── operation_reference.c ├── operations_html.c └── xml_insert.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *.orig 2 | *.rej 3 | *.sw? 4 | *~ 5 | /.cdtproject 6 | /.project 7 | /.tm_project.cache 8 | /ChangeLog 9 | /INSTALL 10 | /Makefile 11 | /Makefile.in 12 | /README 13 | /aclocal.m4 14 | /autom4te.cache 15 | /compile 16 | /confdefs.h 17 | /config.cache 18 | /config.guess 19 | /config.h 20 | /config.h.in 21 | /config.log 22 | /config.status 23 | /config.sub 24 | /configure 25 | /depcomp 26 | /gegl-config 27 | /gegl-uninstalled.pc 28 | /gegl-*.pc 29 | /gegl.prj 30 | /gegl.pws 31 | /gegl.spec 32 | /install-sh 33 | /libtool 34 | /ltconfig 35 | /ltmain.sh 36 | /mingw32-config.cache 37 | /missing 38 | /mkinstalldirs 39 | /py-compile 40 | /share 41 | /stamp-h 42 | /stamp-h.in 43 | /stamp-h1 44 | /test-driver 45 | /tests/*/*.log 46 | /tests/*/*.trs 47 | cscope.files 48 | cscope.out 49 | /*.project 50 | m4/intltool.m4 51 | tags 52 | -------------------------------------------------------------------------------- /.kateconfig: -------------------------------------------------------------------------------- 1 | kate: indent-mode cstyle; 2 | kate: indent-width 2; tab-width 8; 3 | kate: tab-indents off; replace-tabs on; 4 | kate: remove-trailing-spaces modified; 5 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | gegl.opencl.org -------------------------------------------------------------------------------- /HACKING: -------------------------------------------------------------------------------- 1 | The git version of GEGL is known to work with the following autotools: 2 | 3 | - GNU autoconf 2.54 4 | - GNU automake 1.9.6 5 | - GNU libtool 1.5 6 | 7 | Newer versions of these tools will probably work. 8 | 9 | To compile a git version of GEGL on your system, you will need to take 10 | several steps to setup the tree for compilation. You can do all these 11 | steps at once by running: 12 | 13 | gegl> ./autogen.sh 14 | 15 | Basically this does the following for you (but see autogen.sh for 16 | exactly what is happening): 17 | 18 | gegl> aclocal 19 | gegl> automake 20 | gegl> autoconf 21 | gegl> configure 22 | 23 | The autogen in GEGL also uses ruby to generate some of the plug-ins, and 24 | the API reference. 25 | 26 | Before running autogen.sh, make sure you have libtool in your path. 27 | 28 | Note that autogen.sh runs configure for you. If you wish to pass options 29 | to configure you can give those options to autogen.sh and they 30 | will be passed on. 31 | -------------------------------------------------------------------------------- /MAINTAINERS: -------------------------------------------------------------------------------- 1 | Øyvind Kolås 2 | E-mail: pippin@gimp.org 3 | Userid: ok 4 | 5 | Daniel Sabo 6 | E-mail: daniel@gimp.org 7 | Userid: daniels -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script does all the magic calls to automake/autoconf and 4 | # friends that are needed to configure a cvs checkout. As described in 5 | # the file HACKING you need a couple of extra tools to run this script 6 | # successfully. 7 | # 8 | # If you are compiling from a released tarball you don't need these 9 | # tools and you shouldn't use this script. Just call ./configure 10 | # directly. 11 | 12 | test -n "$srcdir" || srcdir=`dirname "$0"` 13 | test -n "$srcdir" || srcdir=. 14 | 15 | ORIGDIR=`pwd` 16 | cd $srcdir 17 | 18 | AUTORECONF=`which autoreconf` 19 | if test -z $AUTORECONF; then 20 | echo "*** No autoreconf found, please install it ***" 21 | exit 1 22 | fi 23 | 24 | INTLTOOLIZE=`which intltoolize` 25 | if test -z $INTLTOOLIZE; then 26 | echo "*** No intltoolize found, please install the intltool package ***" 27 | exit 1 28 | fi 29 | 30 | intltoolize --automake --copy 31 | autoreconf --force --install --verbose 32 | 33 | cd $ORIGDIR 34 | test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" 35 | -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /gegl* 6 | -------------------------------------------------------------------------------- /bin/gegl-path-smooth.h: -------------------------------------------------------------------------------- 1 | #ifndef _GEGL_PATH_SMOOTH__H 2 | #define _GEGL_PATH_SMOOTH__H 3 | 4 | void gegl_path_smooth_init (void); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /bin/gegl-path-spiro.h: -------------------------------------------------------------------------------- 1 | #ifndef _GEGL_PATH_SPIRO__H 2 | #define _GEGL_PATH_SPIRO__H 3 | 4 | void gegl_path_spiro_init (void); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /build/buildbot/suppressed-warnings.txt: -------------------------------------------------------------------------------- 1 | # This is a 'suppressionFile' for the 'Test' buildbot build step 2 | 3 | # These doesn't seem like important warnings, we typically get them 4 | # during make distcheck when the test install is performed 5 | 6 | : ^libtool: install: warning: relinking `.*'$ 7 | : ^libtool: install: warning: remember to run `libtool --finish .*_inst.*'$ 8 | : ^libtool: install: warning: `.*' has not been installed in `.*_inst.*'$ 9 | 10 | # Comes from AM_PROG_LIBTOOL, not much we can do 11 | : ^configure.ac:143: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body$ 12 | 13 | # jas_config.h redefines PACKAGE_NAME etc 14 | : .*jas_config.h:.*:1: warning: .* redefined$ 15 | : .*config.h:.*:1: warning: this is the location of the previous definition$ 16 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /TODO.html 4 | /api.html 5 | /brightness-contrast.c.html 6 | /class-hierarchy.html 7 | /development.html 8 | /gegl-operation-area-filter.h.html 9 | /gegl-operation-composer.h.html 10 | /gegl-operation-filter.h.html 11 | /gegl-operation-meta.h.html 12 | /gegl-operation-point-composer.h.html 13 | /gegl-operation-point-filter.h.html 14 | /gegl-operation-point-render.h.html 15 | /gegl-operation-sink.h.html 16 | /gegl-operation-source.h.html 17 | /gegl-operation-temporal.h.html 18 | /gegl-operation.h.html 19 | /gegl-plugin.h.html 20 | /gegl.devhelp 21 | /gegl.h.html 22 | /index-static.html 23 | /index-static.txt 24 | /index.html 25 | /runinfo 26 | /copyright.txt 27 | /hello-world.txt 28 | /index.txt 29 | /abyss_policy.html 30 | /bugzilla.html 31 | /build.html 32 | /commandline.html 33 | /contribute.html 34 | /copyright.html 35 | /editor.html 36 | /environment.html 37 | /features.html 38 | /glossary.html 39 | /hello-world.html 40 | /journal.html 41 | /operation-api.html 42 | /operations.json 43 | /source-overview.html 44 | /todo.html 45 | -------------------------------------------------------------------------------- /docs/commandline.txt: -------------------------------------------------------------------------------- 1 | gegl commandline 2 | ---------------- 3 | 4 | In addition to installing a library, GEGL also installs gegl - a binary/program 5 | that permits doing image processing from the commandline as well as an aid 6 | during development of GEGL operations. 7 | 8 | Some examples: 9 | 10 | Render a composition to a PNG file, the composition can be in GEGLs XML format 11 | or the one-liner friendly terser link:gegl-chain.html[gegl-chain] format. 12 | 13 | $ gegl composition -o composition.png 14 | 15 | gegl usage 16 | ~~~~~~~~~~ 17 | 18 | The following is the usage information of the gegl binary, this documentation 19 | might not be complete. 20 | 21 | ------- 22 | sys::[bash -c '../bin/gegl -h 2>&1'] 23 | ------- 24 | -------------------------------------------------------------------------------- /docs/copyright.txt.in: -------------------------------------------------------------------------------- 1 | Copyright 2 | ~~~~~~~~~ 3 | GEGL is free software; you can redistribute it and/or modify it under the terms 4 | of the link:LGPL[GNU Lesser General Public License] and link:GPL[GNU General 5 | Public License] as published by the Free Software Foundation; either version 3 6 | of the Licenses, or (at your option) any later version. The library itself is 7 | licensed under LGPL while the sample commandline application and GUI binary 8 | gegl is licensed under GPL. 9 | GEGL depends on and ships with the link:http://code.google.com/p/poly2tri-c[Poly2Tri-C] 10 | library, which is also free software; you can redistribute it and/or modify it 11 | under the terms of the link:NEW-BSD[New BSD License]. 12 | 13 | Contributors 14 | ~~~~~~~~~~~~ 15 | Many people have contributed to GEGL 16 | http://www.ohloh.net/projects/4349/analyses/latest[over time] the following 17 | lists are are ordered chronologically according to when they are mentioned in 18 | the ChangeLog. 19 | 20 | include::@top_srcdir@/AUTHORS[] 21 | 22 | -------------------------------------------------------------------------------- /docs/hello-world.txt.in: -------------------------------------------------------------------------------- 1 | Hello world 2 | ^^^^^^^^^^^ 3 | The following is a small sample GEGL application that animates a zoom on a 4 | mandelbrot fractal. compile it with: 5 | 6 | $ gcc hello-world.c `pkg-config --libs --cflags gegl` -o hello-world 7 | 8 | This example and others can be found in the 9 | link:http://git.gnome.org/browse/gegl/tree/examples/[examples subdir of the GEGL 10 | distribution]. 11 | 12 | --------------------------- 13 | sys::[cat @top_srcdir@/examples/hello-world.c] 14 | --------------------------- 15 | -------------------------------------------------------------------------------- /docs/images/.gitignore: -------------------------------------------------------------------------------- 1 | /inheritance.png 2 | /inheritance.png 3 | /examples 4 | -------------------------------------------------------------------------------- /docs/images/GEGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/GEGL.png -------------------------------------------------------------------------------- /docs/images/gaussian-blur-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/gaussian-blur-graph.png -------------------------------------------------------------------------------- /docs/images/gegl.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/gegl.ico -------------------------------------------------------------------------------- /docs/images/standard-aux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/standard-aux.png -------------------------------------------------------------------------------- /docs/images/standard-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/standard-input.png -------------------------------------------------------------------------------- /docs/images/standard-panorama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/docs/images/standard-panorama.png -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | /*.lo 2 | /*.la 3 | /*.o 4 | /.deps 5 | /.libs 6 | /Makefile 7 | /Makefile.in 8 | /*.exe 9 | /2geglbuffer 10 | /frame-counter 11 | /gegl-convert 12 | /gegl-slicer 13 | /geglbuffer-add-image 14 | /geglbuffer-clock 15 | /hello-world 16 | /sdl-draw 17 | /video-invert 18 | /gegl-video 19 | -------------------------------------------------------------------------------- /examples/2geglbuffer.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | gint 6 | main (gint argc, 7 | gchar **argv) 8 | { 9 | GeglBuffer *buffer; 10 | GeglNode *gegl, *load_file, *save_file; 11 | 12 | gegl_init (&argc, &argv); 13 | 14 | 15 | if (argv[1]==NULL || 16 | argv[2]==NULL) 17 | { 18 | g_print ("\nusage: %s in.png out.gegl\n\nCreates a GeglBuffer from an image file.\n\n", argv[0]); 19 | exit (-1); 20 | } 21 | 22 | gegl = gegl_node_new (); 23 | load_file = gegl_node_new_child (gegl, 24 | "operation", "gegl:load", 25 | "path", argv[1], 26 | NULL); 27 | save_file = gegl_node_new_child (gegl, 28 | "operation", "gegl:buffer-sink", 29 | "buffer", &buffer, 30 | NULL); 31 | 32 | gegl_node_link_many (load_file, save_file, NULL); 33 | gegl_node_process (save_file); 34 | 35 | 36 | gegl_buffer_save (buffer, argv[2], NULL); 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /examples/data/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /examples/data/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST=$(wildcard $(srcdir)/*.png) $(wildcard $(srcdir)/*.jpg) 2 | -------------------------------------------------------------------------------- /examples/data/surfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/examples/data/surfer.png -------------------------------------------------------------------------------- /gegl-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | Name: Gegl Uninstalled 2 | Description: Gegl Library, Not Installed 3 | Version: @VERSION@ 4 | Requires: @GLIB_PACKAGES@ 5 | Libs: ${pc_top_builddir}/${pcfiledir}/gegl/libgegl.la @MATH_LIB@ 6 | Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ 7 | -------------------------------------------------------------------------------- /gegl.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | pluginsdir=@libdir@/@PACKAGE_NAME@-@GEGL_API_VERSION@ 6 | 7 | Name: GEGL 8 | Description: Generic Graphics Library 9 | Version: @GEGL_REAL_VERSION@ 10 | Requires: @GLIB_PACKAGES@ babl 11 | Libs: -L${libdir} -l@PACKAGE_NAME@-@GEGL_API_VERSION@ -l@PACKAGE_NAME@-npd-@GEGL_API_VERSION@ @MATH_LIB@ 12 | Cflags: -I${includedir}/@PACKAGE_NAME@-@GEGL_API_VERSION@ 13 | -------------------------------------------------------------------------------- /gegl/.gitignore: -------------------------------------------------------------------------------- 1 | /*.lo 2 | /*.la 3 | /.deps 4 | /.libs 5 | /gegl 6 | /gegl-version.h 7 | /Makefile 8 | /Makefile.in 9 | /*.gir 10 | /*.typelib 11 | /*.vapi 12 | /*.deps 13 | /*.metadata 14 | -------------------------------------------------------------------------------- /gegl/Gegl.metadata.in: -------------------------------------------------------------------------------- 1 | Gegl cheader_filename="gegl.h" 2 | ParamSpecFormat skip 3 | ParamFormat skip 4 | param_spec_format skip 5 | init.argv unowned -------------------------------------------------------------------------------- /gegl/buffer/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/buffer/gegl-buffer-iterator-private.h: -------------------------------------------------------------------------------- 1 | /* This file is part of GEGL. 2 | * 3 | * This library is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 3 of the License, or (at your option) any later version. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with this library; if not, see . 15 | * 16 | * Copyright 2013 Michael Henning 17 | */ 18 | 19 | #ifndef __GEGL_BUFFER_ITERATOR_PRIVATE_H__ 20 | #define __GEGL_BUFFER_ITERATOR_PRIVATE_H__ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /gegl/gegl-module.h: -------------------------------------------------------------------------------- 1 | /* This file is part of GEGL 2 | * 3 | * GEGL is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 3 of the License, or (at your option) any later version. 7 | * 8 | * GEGL is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with GEGL; if not, see . 15 | * 16 | * Copyright 2006 Øyvind Kolås 17 | */ 18 | 19 | #ifndef __GEGL_MODULE_META_H__ 20 | #define __GEGL_MODULE_META_H__ 21 | 22 | #include 23 | 24 | /*#include */ 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | #endif /* __GEGL_H__ */ 31 | -------------------------------------------------------------------------------- /gegl/gegl.deps.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/gegl/gegl.deps.in -------------------------------------------------------------------------------- /gegl/graph/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/graph/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_builddir)/gegl \ 4 | -I$(top_srcdir)/gegl \ 5 | -I$(top_builddir)/gegl/buffer \ 6 | -I$(top_srcdir)/gegl/buffer \ 7 | -I$(top_builddir)/gegl/graph \ 8 | -I$(top_srcdir)/gegl/graph \ 9 | -I$(top_builddir)/gegl/operation \ 10 | -I$(top_srcdir)/gegl/operation \ 11 | -I$(top_builddir)/gegl/opencl \ 12 | -I$(top_srcdir)/gegl/opencl \ 13 | -I$(top_builddir)/gegl/process \ 14 | -I$(top_srcdir)/gegl/process \ 15 | -I$(top_builddir)/gegl/property-types \ 16 | -I$(top_srcdir)/gegl/property-types 17 | 18 | AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS) 19 | 20 | noinst_LTLIBRARIES = libgraph.la 21 | 22 | #libgraph_publicdir = $(includedir)/gegl-$(GEGL_API_VERSION)/graph 23 | #libgraph_public_HEADERS = # 24 | 25 | libgraph_la_SOURCES = \ 26 | gegl-connection.c \ 27 | gegl-node.c \ 28 | gegl-pad.c \ 29 | gegl-visitor.c \ 30 | gegl-visitable.c \ 31 | \ 32 | gegl-connection.h \ 33 | gegl-node.h \ 34 | gegl-node-private.h \ 35 | gegl-pad.h \ 36 | gegl-visitor.h \ 37 | gegl-visitable.h 38 | 39 | #libgraph_la_SOURCES = $(libgraph_sources) $(libgraph_public_HEADERS) 40 | 41 | -------------------------------------------------------------------------------- /gegl/module/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/module/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_builddir)/gegl \ 4 | -I$(top_srcdir)/gegl \ 5 | -I$(top_builddir)/gegl/buffer \ 6 | -I$(top_srcdir)/gegl/buffer \ 7 | -I$(top_builddir)/gegl/graph \ 8 | -I$(top_srcdir)/gegl/graph \ 9 | -I$(top_builddir)/gegl/operation \ 10 | -I$(top_srcdir)/gegl/operation \ 11 | -I$(top_builddir)/gegl/opencl \ 12 | -I$(top_srcdir)/gegl/opencl \ 13 | -I$(top_builddir)/gegl/process \ 14 | -I$(top_srcdir)/gegl/process \ 15 | -I$(top_builddir)/gegl/property-types \ 16 | -I$(top_srcdir)/gegl/property-types 17 | 18 | AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS) 19 | 20 | noinst_LTLIBRARIES = libmodule.la 21 | 22 | #libmodule_publicdir = $(includedir)/gegl-$(GEGL_API_VERSION)/gegl/module 23 | #libmodule_public_HEADERS = #$(MODULE_headers) 24 | 25 | libmodule_la_SOURCES = \ 26 | gegldatafiles.c \ 27 | geglmodule.c \ 28 | geglmoduledb.c \ 29 | gegldatafiles.h \ 30 | geglmoduledb.h \ 31 | geglmodule.h 32 | 33 | #libmodule_la_SOURCES = $(libmodule_sources) $(libmodule_public_HEADERS) 34 | -------------------------------------------------------------------------------- /gegl/opencl/.gitignore: -------------------------------------------------------------------------------- 1 | /*.lo 2 | /*.la 3 | /.deps 4 | /.libs 5 | /Makefile 6 | /Makefile.in 7 | -------------------------------------------------------------------------------- /gegl/opencl/gegl-cl-introspection-support.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * gegl_cl_init: 4 | * @error: Any error that occured 5 | * 6 | * Initialize and enable OpenCL, calling this function again 7 | * will re-enable OpenCL if it has been disabled. 8 | * 9 | * Return value: True if OpenCL was initialized 10 | */ 11 | gboolean gegl_cl_init (GError **error); 12 | 13 | /** 14 | * gegl_cl_is_accelerated: 15 | * 16 | * Check if OpenCL is enabled. 17 | * 18 | * Return value: True if OpenCL is initialized and enabled 19 | */ 20 | gboolean gegl_cl_is_accelerated (void); 21 | 22 | /** 23 | * gegl_cl_disable: 24 | * 25 | * Disable OpenCL 26 | */ 27 | void gegl_cl_disable (void); -------------------------------------------------------------------------------- /gegl/opencl/gegl-cl.c: -------------------------------------------------------------------------------- 1 | #include "gegl-cl.h" 2 | 3 | cl_int 4 | gegl_cl_set_kernel_args (cl_kernel kernel, ...) 5 | { 6 | cl_int error = 0; 7 | int i = 0; 8 | va_list var_args; 9 | 10 | va_start (var_args, kernel); 11 | while (1) 12 | { 13 | size_t size; 14 | void *value; 15 | size = va_arg (var_args, size_t); 16 | if (!size) 17 | break; 18 | value = va_arg (var_args, void *); 19 | 20 | error = gegl_clSetKernelArg (kernel, i++, size, value); 21 | if (error) 22 | break; 23 | } 24 | va_end (var_args); 25 | 26 | return error; 27 | } -------------------------------------------------------------------------------- /gegl/operation/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/operation/gegl-operation-handlers-private.h: -------------------------------------------------------------------------------- 1 | /* This file is part of GEGL 2 | * 3 | * GEGL is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 3 of the License, or (at your option) any later version. 7 | * 8 | * GEGL is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with GEGL; if not, see . 15 | * 16 | * Copyright 2006 Øyvind Kolås 17 | */ 18 | 19 | #ifndef __GEGL_EXTENSION_HANDLER_PRIVATE_H__ 20 | #define __GEGL_EXTENSION_HANDLER_PRIVATE_H__ 21 | 22 | void gegl_operation_handlers_cleanup (void); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /gegl/process/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/property-types/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /gegl/property-types/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_builddir)/gegl \ 4 | -I$(top_srcdir)/gegl \ 5 | -I$(top_builddir)/gegl/buffer \ 6 | -I$(top_srcdir)/gegl/buffer \ 7 | -I$(top_builddir)/gegl/graph \ 8 | -I$(top_srcdir)/gegl/graph \ 9 | -I$(top_builddir)/gegl/operation \ 10 | -I$(top_srcdir)/gegl/operation \ 11 | -I$(top_builddir)/gegl/opencl \ 12 | -I$(top_srcdir)/gegl/opencl \ 13 | -I$(top_builddir)/gegl/process \ 14 | -I$(top_srcdir)/gegl/process \ 15 | -I$(top_builddir)/gegl/property-types \ 16 | -I$(top_srcdir)/gegl/property-types 17 | 18 | AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS) 19 | 20 | noinst_LTLIBRARIES = libpropertytypes.la 21 | 22 | libpropertytypes_la_SOURCES = \ 23 | gegl-audio-fragment.c \ 24 | gegl-color.c \ 25 | gegl-curve.c \ 26 | gegl-path.c \ 27 | gegl-paramspecs.c \ 28 | \ 29 | gegl-audio-fragment.h \ 30 | gegl-color.h \ 31 | gegl-curve.h \ 32 | gegl-path.h \ 33 | gegl-paramspecs.h 34 | -------------------------------------------------------------------------------- /libs/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /libs/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = rgbe poly2tri-c 2 | -------------------------------------------------------------------------------- /libs/npd/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps/ 4 | /.libs/ 5 | /*.lo 6 | /*.la -------------------------------------------------------------------------------- /libs/poly2tri-c/.gitignore: -------------------------------------------------------------------------------- 1 | *.la 2 | *.lo 3 | *Makefile 4 | *Makefile.in 5 | *.deps/ 6 | *.libs/ 7 | -------------------------------------------------------------------------------- /libs/poly2tri-c/Makefile.am: -------------------------------------------------------------------------------- 1 | if HAVE_P2TC 2 | SUBDIRS = 3 | else 4 | SUBDIRS = poly2tri-c 5 | endif 6 | -------------------------------------------------------------------------------- /libs/poly2tri-c/README: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | ==== Poly2Tri-C: A library for generating, refining and rendering ==== 3 | ==== 2-Dimensional Constrained Delaunay Triangulations ==== 4 | ======================================================================== 5 | 6 | This is a minimal version of the Poly2Tri-C library, required to compile 7 | the seamless cloning operation. For more information, and in order to 8 | get the full library, see http://code.google.com/p/poly2tri-c 9 | 10 | Poly2Tri-C Version info: 11 | 12 | CURRENT REVISION: b27c5b79df2ffa4e2cb37f9e5536831f16afb11b 13 | CACHED ON: August 11th, 2012 14 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = p2t refine render 2 | 3 | noinst_LTLIBRARIES = libpoly2tri-c.la 4 | 5 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 6 | AM_LDFLAGS = $(GLIB_LIBS) 7 | 8 | libpoly2tri_c_la_LIBADD = p2t/libp2tc.la refine/libp2tc-refine.la render/libp2tc-render.la 9 | libpoly2tri_c_la_SOURCES = 10 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/p2t/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = sweep common 2 | 3 | noinst_LTLIBRARIES = libp2tc.la 4 | 5 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 6 | AM_LDFLAGS = $(GLIB_LIBS) 7 | 8 | libp2tc_la_LIBADD = common/libp2tc-common.la sweep/libp2tc-sweep.la 9 | libp2tc_la_SOURCES = poly2tri.h 10 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/p2t/common/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libp2tc-common.la 2 | 3 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 4 | AM_LDFLAGS = $(GLIB_LIBS) 5 | 6 | libp2tc_common_la_SOURCES = cutils.h poly2tri-private.h shapes.c shapes.h utils.c utils.h 7 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/p2t/sweep/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libp2tc-sweep.la 2 | 3 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 4 | AM_LDFLAGS = $(GLIB_LIBS) 5 | 6 | libp2tc_sweep_la_SOURCES = advancing_front.c advancing_front.h cdt.c cdt.h sweep.c sweep_context.c sweep_context.h sweep.h 7 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/refine/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libp2tc-refine.la 2 | 3 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 4 | AM_LDFLAGS = $(GLIB_LIBS) 5 | 6 | libp2tc_refine_la_SOURCES = bounded-line.c bounded-line.h cdt.c cdt.h cdt-flipfix.c cdt-flipfix.h circle.c circle.h cluster.c cluster.h delaunay-terminator.c delaunay-terminator.h edge.c edge.h line.c line.h rmath.c rmath.h mesh.c mesh.h mesh-action.c mesh-action.h point.c point.h pslg.c pslg.h refine.h refiner.c refiner.h triangle.c triangle.h triangulation.h utils.c utils.h vector2.c vector2.h vedge.c vedge.h vtriangle.c vtriangle.h visibility.c visibility.h 7 | -------------------------------------------------------------------------------- /libs/poly2tri-c/poly2tri-c/render/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libp2tc-render.la 2 | 3 | AM_CFLAGS = $(GLIB_CFLAGS) $(P2TC_CFLAGS) 4 | AM_LDFLAGS = $(GLIB_LIBS) 5 | 6 | libp2tc_render_la_SOURCES = mesh-render.c mesh-render.h svg-plot.c svg-plot.h 7 | -------------------------------------------------------------------------------- /libs/rgbe/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /librgbe.la 6 | /librgbe_la-rgbe.lo 7 | -------------------------------------------------------------------------------- /libs/rgbe/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = librgbe.la 2 | librgbe_la_SOURCES = rgbe.c rgbe.h 3 | librgbe_la_CFLAGS = $(DEP_CFLAGS) -fPIC 4 | -------------------------------------------------------------------------------- /m4/.gitignore: -------------------------------------------------------------------------------- 1 | libtool.m4 2 | ltoptions.m4 3 | ltsugar.m4 4 | ltversion.m4 5 | lt~obsolete.m4 6 | -------------------------------------------------------------------------------- /opencl/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.lo 6 | /*.la 7 | -------------------------------------------------------------------------------- /opencl/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = $(wildcard $(srcdir)/*.h) $(wildcard $(srcdir)/*.py) 2 | 3 | SOURCES = $(wildcard $(srcdir)/*.cl) 4 | 5 | BUILT_SOURCES = $(subst .cl,.cl.h,$(wildcard $(srcdir)/*.cl)) 6 | 7 | %.cl.h: %.cl $(srcdir)/cltostring.py 8 | $(PYTHON) $(srcdir)/cltostring.py $< -------------------------------------------------------------------------------- /opencl/brightness-contrast.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_brightness_contrast(__global const float4 *in, 2 | __global float4 *out, 3 | float contrast, 4 | float brightness) 5 | { 6 | int gid = get_global_id(0); 7 | float4 in_v = in[gid]; 8 | float4 out_v; 9 | out_v.xyz = (in_v.xyz - 0.5f) * contrast + brightness + 0.5f; 10 | out_v.w = in_v.w; 11 | out[gid] = out_v; 12 | } 13 | -------------------------------------------------------------------------------- /opencl/brightness-contrast.cl.h: -------------------------------------------------------------------------------- 1 | static const char* brightness_contrast_cl_source = 2 | "__kernel void gegl_brightness_contrast(__global const float4 *in, \n" 3 | " __global float4 *out, \n" 4 | " float contrast, \n" 5 | " float brightness) \n" 6 | "{ \n" 7 | " int gid = get_global_id(0); \n" 8 | " float4 in_v = in[gid]; \n" 9 | " float4 out_v; \n" 10 | " out_v.xyz = (in_v.xyz - 0.5f) * contrast + brightness + 0.5f; \n" 11 | " out_v.w = in_v.w; \n" 12 | " out[gid] = out_v; \n" 13 | "} \n" 14 | ; 15 | -------------------------------------------------------------------------------- /opencl/color-temperature.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_color_temperature(__global const float4 *in, 2 | __global float4 *out, 3 | float coeff1, 4 | float coeff2, 5 | float coeff3) 6 | { 7 | int gid = get_global_id(0); 8 | float4 in_v = in[gid]; 9 | float4 out_v; 10 | out_v = in_v * (float4) (coeff1, coeff2, coeff3, 1.0f); 11 | out[gid] = out_v; 12 | } 13 | -------------------------------------------------------------------------------- /opencl/color-temperature.cl.h: -------------------------------------------------------------------------------- 1 | static const char* color_temperature_cl_source = 2 | "__kernel void gegl_color_temperature(__global const float4 *in, \n" 3 | " __global float4 *out, \n" 4 | " float coeff1, \n" 5 | " float coeff2, \n" 6 | " float coeff3) \n" 7 | "{ \n" 8 | " int gid = get_global_id(0); \n" 9 | " float4 in_v = in[gid]; \n" 10 | " float4 out_v; \n" 11 | " out_v = in_v * (float4) (coeff1, coeff2, coeff3, 1.0f); \n" 12 | " out[gid] = out_v; \n" 13 | "} \n" 14 | ; 15 | -------------------------------------------------------------------------------- /opencl/invert-linear.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_invert_linear (__global const float4 *in, 2 | __global float4 *out) 3 | { 4 | int gid = get_global_id(0); 5 | float4 in_v = in[gid]; 6 | float4 out_v; 7 | out_v.xyz = (1.0f - in_v.xyz); 8 | out_v.w = in_v.w; 9 | out[gid] = out_v; 10 | } 11 | -------------------------------------------------------------------------------- /opencl/invert-linear.cl.h: -------------------------------------------------------------------------------- 1 | static const char* invert_linear_cl_source = 2 | "__kernel void gegl_invert_linear (__global const float4 *in, \n" 3 | " __global float4 *out) \n" 4 | "{ \n" 5 | " int gid = get_global_id(0); \n" 6 | " float4 in_v = in[gid]; \n" 7 | " float4 out_v; \n" 8 | " out_v.xyz = (1.0f - in_v.xyz); \n" 9 | " out_v.w = in_v.w; \n" 10 | " out[gid] = out_v; \n" 11 | "} \n" 12 | ; 13 | -------------------------------------------------------------------------------- /opencl/levels.cl: -------------------------------------------------------------------------------- 1 | __kernel void kernel_levels(__global const float4 *in, 2 | __global float4 *out, 3 | float in_offset, 4 | float out_offset, 5 | float scale) 6 | { 7 | int gid = get_global_id(0); 8 | float4 in_v = in[gid]; 9 | float4 out_v; 10 | out_v.xyz = (in_v.xyz - in_offset) * scale + out_offset; 11 | out_v.w = in_v.w; 12 | out[gid] = out_v; 13 | } 14 | -------------------------------------------------------------------------------- /opencl/mono-mixer.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_mono_mixer (__global const float4 *src_buf, 2 | __global float2 *dst_buf, 3 | const int preserve_luminocity, 4 | float red, 5 | float green, 6 | float blue) 7 | { 8 | int gid = get_global_id(0); 9 | float4 in_v = src_buf[gid]; 10 | float norm_factor = 1.0f; 11 | 12 | if (preserve_luminocity) 13 | { 14 | float sum = red + green + blue; 15 | if (sum == 0.0) 16 | norm_factor = 1.0f; 17 | else 18 | norm_factor = fabs (1.0f / sum); 19 | } 20 | 21 | dst_buf[gid].x = (in_v.x * red + in_v.y * green + in_v.z * blue) * norm_factor; 22 | dst_buf[gid].y = in_v.w; 23 | } 24 | -------------------------------------------------------------------------------- /opencl/opacity.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_opacity_RaGaBaA_float (__global const float4 *in, 2 | __global const float *aux, 3 | __global float4 *out, 4 | float value) 5 | { 6 | int gid = get_global_id(0); 7 | float4 in_v = in [gid]; 8 | float aux_v = (aux)? aux[gid] : 1.0f; 9 | float4 out_v; 10 | out_v = in_v * aux_v * value; 11 | out[gid] = out_v; 12 | } 13 | __kernel void gegl_opacity_RGBA_float (__global const float4 *in, 14 | __global const float *aux, 15 | __global float4 *out, 16 | float value) 17 | { 18 | int gid = get_global_id(0); 19 | float4 in_v = in [gid]; 20 | float aux_v = (aux)? aux[gid] : 1.0f; 21 | float4 out_v = (float4)(in_v.x, in_v.y, in_v.z, in_v.w * aux_v * value); 22 | out[gid] = out_v; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /opencl/svg-src-over.cl: -------------------------------------------------------------------------------- 1 | __kernel void svg_src_over (__global const float4 *in, 2 | __global const float4 *aux, 3 | __global float4 *out) 4 | { 5 | int gid = get_global_id(0); 6 | float4 in_v = in [gid]; 7 | float4 aux_v = aux[gid]; 8 | float4 out_v; 9 | out_v.xyz = aux_v.xyz + in_v.xyz * (1.0f - aux_v.w); 10 | out_v.w = aux_v.w + in_v.w - aux_v.w * in_v.w; 11 | out[gid] = out_v; 12 | } 13 | -------------------------------------------------------------------------------- /opencl/svg-src-over.cl.h: -------------------------------------------------------------------------------- 1 | static const char* svg_src_over_cl_source = 2 | "__kernel void svg_src_over (__global const float4 *in, \n" 3 | " __global const float4 *aux, \n" 4 | " __global float4 *out) \n" 5 | "{ \n" 6 | " int gid = get_global_id(0); \n" 7 | " float4 in_v = in [gid]; \n" 8 | " float4 aux_v = aux[gid]; \n" 9 | " float4 out_v; \n" 10 | " out_v.xyz = aux_v.xyz + in_v.xyz * (1.0f - aux_v.w); \n" 11 | " out_v.w = aux_v.w + in_v.w - aux_v.w * in_v.w; \n" 12 | " out[gid] = out_v; \n" 13 | "} \n" 14 | ; 15 | -------------------------------------------------------------------------------- /opencl/threshold.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_threshold (__global const float2 *in, 2 | __global const float *aux, 3 | __global float2 *out, 4 | float value) 5 | { 6 | int gid = get_global_id(0); 7 | float2 in_v = in [gid]; 8 | float aux_v = (aux)? aux[gid] : value; 9 | float2 out_v; 10 | out_v.x = (in_v.x > aux_v)? 1.0f : 0.0f; 11 | out_v.y = in_v.y; 12 | out[gid] = out_v; 13 | } 14 | -------------------------------------------------------------------------------- /opencl/value-invert.cl: -------------------------------------------------------------------------------- 1 | __kernel void gegl_value_invert (__global const float4 *in, 2 | __global float4 *out) 3 | { 4 | int gid = get_global_id(0); 5 | float4 in_v = in[gid]; 6 | float4 out_v; 7 | 8 | float value = fmax (in_v.x, fmax (in_v.y, in_v.z)); 9 | float minv = fmin (in_v.x, fmin (in_v.y, in_v.z)); 10 | float delta = value - minv; 11 | 12 | if (value == 0.0f || delta == 0.0f) 13 | { 14 | out_v = (float4) ((1.0f - value), 15 | (1.0f - value), 16 | (1.0f - value), 17 | in_v.w); 18 | } 19 | else 20 | { 21 | out_v = (float4) ((1.0f - value) * in_v.x / value, 22 | (1.0f - value) * in_v.y / value, 23 | (1.0f - value) * in_v.z / value, 24 | in_v.w); 25 | } 26 | 27 | out_v.w = in_v.w; 28 | out[gid] = out_v; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /opencl/weighted-blend.cl: -------------------------------------------------------------------------------- 1 | __kernel void cl_copy_weigthed_blend(__global const float4 *in, 2 | __global float4 *out) 3 | { 4 | int gid = get_global_id(0); 5 | float4 in_v = in[gid]; 6 | out[gid] = in_v; 7 | } 8 | 9 | __kernel void cl_weighted_blend(__global const float4 *in, 10 | __global const float4 *aux, 11 | __global float4 *out) 12 | { 13 | int gid = get_global_id(0); 14 | float4 in_v = in[gid]; 15 | float4 aux_v = aux[gid]; 16 | float4 out_v; 17 | float in_weight; 18 | float aux_weight; 19 | float total_alpha = in_v.w + aux_v.w; 20 | 21 | total_alpha = total_alpha == 0 ? 1 : total_alpha; 22 | 23 | in_weight = in_v.w / total_alpha; 24 | aux_weight = 1.0f - in_weight; 25 | 26 | out_v.xyz = in_weight * in_v.xyz + aux_weight * aux_v.xyz; 27 | out_v.w = total_alpha; 28 | out[gid] = out_v; 29 | } 30 | -------------------------------------------------------------------------------- /operations/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | **/*.c.h 4 | -------------------------------------------------------------------------------- /operations/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | core \ 3 | common \ 4 | generated \ 5 | seamless-clone \ 6 | transform \ 7 | json \ 8 | external 9 | 10 | if ENABLE_WORKSHOP 11 | SUBDIRS += workshop 12 | endif 13 | 14 | EXTRA_DIST = \ 15 | Makefile-common.am 16 | -------------------------------------------------------------------------------- /operations/common/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | /module.c 9 | -------------------------------------------------------------------------------- /operations/common/perlin/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | -------------------------------------------------------------------------------- /operations/common/perlin/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | perlin.c \ 3 | perlin.h -------------------------------------------------------------------------------- /operations/common/perlin/perlin.h: -------------------------------------------------------------------------------- 1 | #define B 0x100 2 | #define BM 0xff 3 | #define N 0x1000 4 | #define NP 12 /* 2^N */ 5 | #define NM 0xfff 6 | 7 | #define s_curve(t) ( t * t * (3. - 2. * t) ) 8 | #define lerp(t, a, b) ( a + t * (b - a) ) 9 | #define setup(i,b0,b1,r0,r1)\ 10 | t = vec[i] + N;\ 11 | b0 = ((int)t) & BM;\ 12 | b1 = (b0+1) & BM;\ 13 | r0 = t - (int)t;\ 14 | r1 = r0 - 1.; 15 | #define at2(rx,ry) ( rx * q[0] + ry * q[1] ) 16 | #define at3(rx,ry,rz) ( rx * q[0] + ry * q[1] + rz * q[2] ) 17 | 18 | void perlin_init (void); 19 | double noise1 (double); 20 | double noise2 (double *); 21 | double noise3 (double *); 22 | void normalize3 (double *); 23 | void normalize2 (double *); 24 | 25 | double PerlinNoise1D (double, double, double, int); 26 | double PerlinNoise2D (double, double, double, double, int); 27 | double PerlinNoise3D (double, double, double, double, double, int); 28 | -------------------------------------------------------------------------------- /operations/core/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /*.so 4 | /*.la 5 | /*.lo 6 | /.deps 7 | /.libs 8 | /module.c 9 | -------------------------------------------------------------------------------- /operations/core/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | EXTRA_DIST = $(wildcard $(srcdir)/*.h) 4 | BUILT_SOURCES = $(subst .c,.c.h,$(wildcard $(srcdir)/*.c)) 5 | 6 | AM_CPPFLAGS += -I$(srcdir) 7 | AM_CFLAGS += -DGEGL_OP_BUNDLE 8 | 9 | LIBS = $(op_libs) 10 | 11 | opdir = $(ext_dir) 12 | op_LTLIBRARIES = \ 13 | gegl-core.la 14 | 15 | gegl_core_la_SOURCES =\ 16 | module.c \ 17 | cache.c \ 18 | load.c \ 19 | clone.c \ 20 | cast-format.c \ 21 | convert-format.c \ 22 | crop.c \ 23 | json.c \ 24 | nop.c 25 | 26 | module.c: $(gegl_core_la_SOURCES) 27 | $(top_srcdir)/tools/gen-loader.sh $^ > module.c 28 | 29 | -------------------------------------------------------------------------------- /operations/external/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | -------------------------------------------------------------------------------- /operations/generated/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /*.c 4 | /*.so 5 | /*.la 6 | /*.lo 7 | /.deps 8 | /.libs 9 | -------------------------------------------------------------------------------- /operations/generated/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | EXTRA_DIST = $(wildcard $(srcdir)/*.rb) $(wildcard $(srcdir)/*.h) 4 | 5 | AM_CPPFLAGS += -I$(srcdir) 6 | AM_CFLAGS += -DGEGL_OP_BUNDLE 7 | 8 | LIBS = $(op_libs) 9 | 10 | opdir = $(ext_dir) 11 | op_LTLIBRARIES = \ 12 | gegl-generated.la 13 | 14 | gegl_generated_la_SOURCES = \ 15 | add.c \ 16 | clear.c \ 17 | color-burn.c \ 18 | color-dodge.c \ 19 | darken.c \ 20 | difference.c \ 21 | divide.c \ 22 | dst-atop.c \ 23 | dst-in.c \ 24 | dst-out.c \ 25 | dst-over.c \ 26 | dst.c \ 27 | exclusion.c \ 28 | gamma.c \ 29 | hard-light.c \ 30 | lighten.c \ 31 | multiply.c \ 32 | overlay.c \ 33 | plus.c \ 34 | screen.c \ 35 | soft-light.c \ 36 | src-atop.c \ 37 | src-in.c \ 38 | src-out.c \ 39 | src.c \ 40 | subtract.c \ 41 | xor.c \ 42 | module.c 43 | 44 | module.c: $(gegl_generated_la_SOURCES) 45 | $(top_srcdir)/tools/gen-loader.sh $^ > module.c 46 | -------------------------------------------------------------------------------- /operations/json/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | 4 | -------------------------------------------------------------------------------- /operations/json/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | OPS = grey2.json 4 | 5 | opdir = $(libdir)/gegl-@GEGL_API_VERSION@ 6 | op_DATA = $(OPS) 7 | EXTRA_DIST = $(OPS) 8 | 9 | .PHONY: all 10 | 11 | all: $(OPS) 12 | echo 'Nothing to do' 13 | -------------------------------------------------------------------------------- /operations/json/dropshadow2.fbp: -------------------------------------------------------------------------------- 1 | INPORT=translate.X:X 2 | INPORT=translate.Y:Y 3 | INPORT=color.VALUE:COLOR 4 | INPORT=blur.STD_DEV_X:RADIUS 5 | INPORT=opacity.VALUE:OPACITY 6 | 7 | INPORT=input.INPUT:INPUT 8 | OUTPORT=over.OUTPUT:OUTPUT 9 | 10 | # FIXME: multiple export mapping? INPORT=blur.STD-DEV-Y:RADIUS 11 | # FIXME: allow - in property names, or map _ to - ? 12 | # TODO: allow \ or \n between connections 13 | 14 | input(gegl/nop) OUTPUT -> INPUT darken(gegl/src_in) OUTPUT -> INPUT blur(gegl/gaussian_blur) OUTPUT -> INPUT opacity(gegl/opacity) OUTPUT -> INPUT translate(gegl/translate) OUTPUT -> INPUT over(gegl/over) 15 | input OUTPUT -> AUX over 16 | color(gegl/color) OUTPUT -> AUX darken 17 | 18 | 'rgba(0.0, 0.0, 0.0, 0.0)' -> VALUE color 19 | '0.5' -> VALUE opacity 20 | '10' -> STD_DEV_Y blur 21 | '20' -> Y translate 22 | '20' -> X translate 23 | -------------------------------------------------------------------------------- /operations/json/grey2.fbp: -------------------------------------------------------------------------------- 1 | INPORT=in.INPUT:INPUT 2 | OUTPORT=out.OUTPUT:OUTPUT 3 | INPORT=tr.HEIGHT:HEIGHT 4 | INPORT=tr.WIDTH:WIDTH 5 | 6 | in(gegl/nop) OUTPUT -> INPUT g(gegl/gray) OUTPUT -> INPUT tr(gegl/crop) OUTPUT -> INPUT out(gegl/nop) 7 | -------------------------------------------------------------------------------- /operations/seamless-clone/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | -------------------------------------------------------------------------------- /operations/seamless-clone/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | ############################### 4 | # Seamless cloning operations # 5 | ############################### 6 | 7 | AM_LDFLAGS += $(P2TC_LDLAGS) 8 | AM_CFLAGS += $(P2TC_CFLAGS) -I$(top_srcdir)/seamless-clone 9 | 10 | LIBS = $(op_libs) 11 | 12 | # A simple seamless cloning operation 13 | seamless_clone_la_SOURCES = seamless-clone.c 14 | seamless_clone_la_LIBADD = $(top_builddir)/seamless-clone/libgegl-sc-@GEGL_API_VERSION@.la 15 | 16 | # A composing operation for using the seamless cloning 17 | seamless_clone_compose_la_SOURCES = seamless-clone-compose.c 18 | seamless_clone_compose_la_LIBADD = $(top_builddir)/seamless-clone/libgegl-sc-@GEGL_API_VERSION@.la 19 | 20 | # Install both the operations in the op dir 21 | # 22 | # TODO: Currently we define this variable manually since it's defined 23 | # in the operations automake file, but there it comes together with 24 | # other definitions that we don't want... 25 | opdir = $(libdir)/gegl-@GEGL_API_VERSION@ 26 | op_LTLIBRARIES = seamless-clone.la seamless-clone-compose.la 27 | -------------------------------------------------------------------------------- /operations/transform/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /*.so 4 | /*.la 5 | /*.lo 6 | /.deps 7 | /.libs 8 | -------------------------------------------------------------------------------- /operations/transform/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | LIBS = $(op_libs) 4 | 5 | transformopslibdir = $(libdir)/gegl-$(GEGL_API_VERSION) 6 | 7 | transformopslib_LTLIBRARIES = transformops.la 8 | 9 | transformops_la_SOURCES = \ 10 | transform-core.c \ 11 | transform-core.h \ 12 | module.c \ 13 | module.h \ 14 | reflect.c \ 15 | rotate.c \ 16 | rotate-on-center.c \ 17 | scale-ratio.c \ 18 | scale-size.c \ 19 | scale-size-keepaspect.c \ 20 | shear.c \ 21 | transform.c \ 22 | translate.c 23 | -------------------------------------------------------------------------------- /operations/transform/module.h: -------------------------------------------------------------------------------- 1 | #ifndef __TRANSFORM_MODULE_H__ 2 | #define __TRANSFORM_MODULE_H__ 3 | 4 | G_BEGIN_DECLS 5 | 6 | #include 7 | #include 8 | 9 | G_MODULE_EXPORT GTypeModule * transform_module_get_module (void); 10 | G_MODULE_EXPORT const GeglModuleInfo * gegl_module_query (GTypeModule *module); 11 | G_MODULE_EXPORT gboolean gegl_module_register (GTypeModule *module); 12 | 13 | G_END_DECLS 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /operations/workshop/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | -------------------------------------------------------------------------------- /operations/workshop/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = generated external 2 | 3 | include $(top_srcdir)/operations/Makefile-common.am 4 | 5 | EXTRA_DIST = $(wildcard $(srcdir)/*.h) 6 | 7 | BUILT_SOURCES = $(subst .c,.c.h,$(wildcard $(srcdir)/*.c)) 8 | 9 | AM_CPPFLAGS += -I$(srcdir) 10 | 11 | LIBS = $(op_libs) 12 | 13 | opdir = $(ext_dir) 14 | op_LTLIBRARIES = \ 15 | bayer-matrix.la \ 16 | bilateral-filter-fast.la \ 17 | demosaic-bimedian.la \ 18 | demosaic-simple.la \ 19 | ditto.la \ 20 | gradient-map.la \ 21 | hstack.la \ 22 | integral-image.la \ 23 | kuwahara.la \ 24 | linear-sinusoid.la \ 25 | median-blur.la \ 26 | rawbayer-load.la \ 27 | segment-kmeans.la \ 28 | shadows-highlights.la \ 29 | shadows-highlights-correction.la \ 30 | spiral.la 31 | -------------------------------------------------------------------------------- /operations/workshop/external/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | -------------------------------------------------------------------------------- /operations/workshop/generated/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | /*.c 9 | -------------------------------------------------------------------------------- /operations/workshop/generated/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | EXTRA_DIST = $(wildcard $(srcdir)/*.rb) $(wildcard $(srcdir)/*.h) 4 | 5 | AM_CPPFLAGS += -I$(srcdir) 6 | 7 | LIBS = $(op_libs) 8 | 9 | opdir = $(ext_dir) 10 | op_LTLIBRARIES = \ 11 | average.la \ 12 | blend-reflect.la \ 13 | negation.la \ 14 | soft-burn.la \ 15 | soft-dodge.la \ 16 | subtractive.la -------------------------------------------------------------------------------- /perf/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /*.o 4 | /Makefile 5 | /Makefile.in 6 | /report.png 7 | /report.pdf 8 | /test-bcontrast 9 | /test-bcontrast-4x 10 | /test-bcontrast-megachunk 11 | /test-bcontrast-minichunk 12 | /test-blur 13 | /test-gegl-buffer-access 14 | /test-passthrough 15 | /test-rotate 16 | /test-samplers 17 | /test-saturation 18 | /test-scale 19 | /test-translate 20 | /test-unsharpmask 21 | /test-init 22 | -------------------------------------------------------------------------------- /perf/Makefile-tests: -------------------------------------------------------------------------------- 1 | CFILES = $(wildcard *.c) 2 | bins = $(subst ,,$(CFILES:.c=)) 3 | 4 | all: $(bins) 5 | 6 | %: %.c 7 | PKG_CONFIG_PATH=prefix/lib/pkgconfig:$(PKG_CONFIG_PATH) $(CC) -DTESTS_DATA_DIR=\"../data/\" `pkg-config gegl-0.3 --cflags --libs` -Wall -O2 -o $@ $< 8 | 9 | check: $(bins) 10 | for a in $(bins); do \ 11 | LD_LIBRARY_PATH=prefix/lib:$(LD_LIBRARY_PATH) ./$$a;\ 12 | done 13 | 14 | clean: 15 | rm -f $(bins) 16 | -------------------------------------------------------------------------------- /perf/joblist: -------------------------------------------------------------------------------- 1 | 2 | # 24ee45ef27f19971da390aa232e505bf6c72956d should be blacklisted 3 | 4 | #85267e0c013a41c8c0e64557e55868260ca9d9eb..master % 2 5 | master~16..master 6 | #master~16..master % 2 7 | master~32..master % 4 8 | master~128..master % 8 9 | 10 | #ae81fbf..master 11 | # 12 | #e4fd7c63e2b1bf19e6014bc64641828bbd478bc8..master % 128 13 | 14 | #e012437..master % 4 15 | 16 | -------------------------------------------------------------------------------- /perf/makejobs.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | # this ruby script generates a chronologically sorted 4 | 5 | res = "" 6 | input = File.read(ARGV[0]) 7 | input = input.gsub(/#.*/, "") 8 | input.split("\n").each {|a| 9 | if a =~ /([^ ]*)\.\.([^ ]*) %(.*)/ 10 | res += `git log #{$1}..#{$2} | grep '^commit' | sed 's/commit //' | sed -n '0~#{$3}p'` 11 | elsif a =~ /([^ ]*)\.\.([^ ]*)/ 12 | res += `git log #{$1}..#{$2} | grep '^commit' | sed 's/commit //'` 13 | else 14 | res += `echo #{a}` 15 | end 16 | } 17 | 18 | all = `git log | grep '^commit' | sed 's/commit//' ` 19 | all.split("\n").reverse.each {|a| 20 | if res.match(a.strip) != nil 21 | puts "#{a.strip}" 22 | end 23 | } 24 | 25 | -------------------------------------------------------------------------------- /perf/perf-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MAKE_FLAGS="-j4 -k " 4 | REV=$1 5 | CC="ccache gcc" 6 | 7 | rm -rf prefix 8 | mkdir prefixes 9 | ln -s prefixes/$REV prefix 10 | 11 | if [ -d prefixes/$REV ]; then 12 | if [ ! -f prefixes/$REV/built ]; then 13 | rm -rf prefixes/$REV 14 | fi 15 | fi 16 | 17 | 18 | if [ ! -d prefixes/$REV ]; then 19 | mkdir prefixes/$REV || true 20 | ( 21 | cd checkout; 22 | if [ ! -f Makefile ]; then 23 | CC=$CC ./autogen.sh --disable-introspection --prefix=`pwd`/../prefix; 24 | fi; 25 | 26 | make $MAKE_FLAGS ; 27 | make -k install 28 | touch `pwd`/../prefix/built 29 | ) > prefix/build_log 2>&1 30 | fi; 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /perf/test-bcontrast-minichunk.c: -------------------------------------------------------------------------------- 1 | #include "test-common.h" 2 | 3 | void bcontrast_minichunk(GeglBuffer *buffer); 4 | 5 | gint 6 | main (gint argc, 7 | gchar **argv) 8 | { 9 | GeglBuffer *buffer; 10 | 11 | gegl_init (&argc, &argv); 12 | 13 | g_object_set (gegl_config (), "chunk-size", 32 * 32, NULL); 14 | 15 | buffer = test_buffer (2048, 1024, babl_format ("RGBA float")); 16 | bench("bcontrast-minichunk", buffer, &bcontrast_minichunk); 17 | 18 | return 0; 19 | } 20 | 21 | void bcontrast_minichunk(GeglBuffer *buffer) 22 | { 23 | GeglBuffer *buffer2; 24 | GeglNode *gegl, *source, *node, *sink; 25 | 26 | gegl = gegl_node_new (); 27 | source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL); 28 | node = gegl_node_new_child (gegl, "operation", "gegl:brightness-contrast", "contrast", 0.2, NULL); 29 | sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL); 30 | 31 | gegl_node_link_many (source, node, sink, NULL); 32 | gegl_node_process (sink); 33 | g_object_unref (gegl); 34 | g_object_unref (buffer2); 35 | } 36 | -------------------------------------------------------------------------------- /perf/test-bcontrast.c: -------------------------------------------------------------------------------- 1 | #include "test-common.h" 2 | 3 | void blur(GeglBuffer *buffer); 4 | 5 | gint 6 | main (gint argc, 7 | gchar **argv) 8 | { 9 | GeglBuffer *buffer; 10 | 11 | gegl_init (&argc, &argv); 12 | 13 | buffer = test_buffer (2048, 1024, babl_format ("RGBA float")); 14 | 15 | bench("bcontrast", buffer, &blur); 16 | 17 | return 0; 18 | } 19 | 20 | void blur(GeglBuffer *buffer) 21 | { 22 | GeglBuffer *buffer2; 23 | GeglNode *gegl, *source, *node, *sink; 24 | 25 | gegl = gegl_node_new (); 26 | source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL); 27 | node = gegl_node_new_child (gegl, "operation", "gegl:brightness-contrast", "contrast", 0.2, NULL); 28 | sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL); 29 | 30 | gegl_node_link_many (source, node, sink, NULL); 31 | gegl_node_process (sink); 32 | g_object_unref (gegl); 33 | g_object_unref (buffer2); 34 | } 35 | -------------------------------------------------------------------------------- /perf/test-blur.c: -------------------------------------------------------------------------------- 1 | #include "test-common.h" 2 | 3 | void blur(GeglBuffer *buffer); 4 | 5 | gint 6 | main (gint argc, 7 | gchar **argv) 8 | { 9 | GeglBuffer *buffer; 10 | 11 | gegl_init(&argc, &argv); 12 | 13 | buffer = test_buffer(1024, 1024, babl_format("RGBA float")); 14 | bench("gaussian-blur", buffer, &blur); 15 | } 16 | 17 | void blur(GeglBuffer *buffer) 18 | { 19 | GeglBuffer *buffer2; 20 | GeglNode *gegl, *source, *node, *sink; 21 | 22 | gegl = gegl_node_new (); 23 | source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL); 24 | node = gegl_node_new_child (gegl, "operation", "gegl:gaussian-blur", 25 | "std-dev-x", 0.5, 26 | "std-dev-y", 0.5, 27 | NULL); 28 | sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL); 29 | 30 | gegl_node_link_many (source, node, sink, NULL); 31 | gegl_node_process (sink); 32 | g_object_unref (gegl); 33 | g_object_unref (buffer2); 34 | } 35 | -------------------------------------------------------------------------------- /perf/test-init.c: -------------------------------------------------------------------------------- 1 | #include "test-common.h" 2 | 3 | gint 4 | main (gint argc, 5 | gchar **argv) 6 | { 7 | long ticks; 8 | 9 | test_start (); 10 | gegl_init (&argc, &argv); 11 | gegl_exit (); 12 | ticks = babl_ticks ()-ticks_start; 13 | g_print ("@ %s: %.2f seconds\n", "init", (ticks / 1000000.0)); 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /perf/test-unsharpmask.c: -------------------------------------------------------------------------------- 1 | #include "test-common.h" 2 | 3 | void unsharpmask(GeglBuffer *buffer); 4 | 5 | gint 6 | main (gint argc, 7 | gchar **argv) 8 | { 9 | GeglBuffer *buffer; 10 | 11 | gegl_init (&argc, &argv); 12 | 13 | buffer = test_buffer (2048, 1024, babl_format ("RGBA float")); 14 | bench("unsharp-mask", buffer, &unsharpmask); 15 | 16 | return 0; 17 | } 18 | 19 | void unsharpmask(GeglBuffer *buffer) 20 | { 21 | GeglBuffer *buffer2; 22 | GeglNode *gegl, *source, *node, *sink; 23 | 24 | gegl = gegl_node_new (); 25 | source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL); 26 | node = gegl_node_new_child (gegl, "operation", "gegl:unsharp-mask", 27 | "std-dev", 3.1, 28 | "scale", 1.2, 29 | NULL); 30 | sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL); 31 | 32 | gegl_node_link_many (source, node, sink, NULL); 33 | gegl_node_process (sink); 34 | g_object_unref (gegl); 35 | g_object_unref (buffer2); 36 | } 37 | -------------------------------------------------------------------------------- /po/.gitignore: -------------------------------------------------------------------------------- 1 | /*.gmo 2 | /*.mo 3 | /*.pot 4 | /.intltool-merge-cache 5 | /Makefile 6 | /Makefile.in 7 | /POTFILES 8 | /messages 9 | /missing 10 | /po2tbl.sed.in 11 | /stamp-it 12 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | bs 2 | ca 3 | da 4 | de 5 | el 6 | en_GB 7 | eo 8 | es 9 | eu 10 | fr 11 | gl 12 | id 13 | is 14 | it 15 | ko 16 | lv 17 | nb 18 | oc 19 | pl 20 | pt 21 | pt_BR 22 | ru 23 | sk 24 | sl 25 | sr 26 | sv 27 | tr 28 | zh_CN 29 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | # List of source files that should *not* be translated. 2 | # Please keep this file sorted alphabetically. 3 | gegl/gegl-cpuaccel.c 4 | -------------------------------------------------------------------------------- /seamless-clone/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | /.deps 4 | /.libs 5 | /*.la 6 | /*.lo 7 | /*.so 8 | /gegl-sc-*.pc 9 | -------------------------------------------------------------------------------- /seamless-clone/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/operations/Makefile-common.am 2 | 3 | ################################################# 4 | # A shared library for the seamless cloning API # 5 | ################################################# 6 | 7 | GEGL_SC_publicdir = $(includedir)/gegl-$(GEGL_API_VERSION)/sc 8 | 9 | GEGL_SC_public_HEADERS = \ 10 | sc-common.h \ 11 | sc-context.h \ 12 | sc-outline.h \ 13 | sc-sample.h 14 | 15 | GEGL_SC_SOURCES = \ 16 | $(GEGL_SC_public_HEADERS) \ 17 | sc-context-private.h \ 18 | sc-context.c \ 19 | sc-outline.c \ 20 | sc-sample.c 21 | 22 | libgegl_sc_@GEGL_API_VERSION@_la_SOURCES = \ 23 | $(GEGL_SC_public_HEADERS) \ 24 | $(GEGL_SC_SOURCES) 25 | 26 | libgegl_sc_@GEGL_API_VERSION@_la_LDFLAGS = \ 27 | -avoid-version -export-dynamic $(no_undefined) $(P2TC_LIBS) 28 | 29 | libgegl_sc_@GEGL_API_VERSION@_la_CFLAGS = \ 30 | $(AM_CFLAGS) $(P2TC_CFLAGS) 31 | 32 | lib_LTLIBRARIES = libgegl-sc-@GEGL_API_VERSION@.la 33 | 34 | libgegl_sc_@GEGL_API_VERSION@_la_LIBADD = \ 35 | $(libgegl) $(BABL_LIBS) 36 | 37 | pkgconfigdir = $(libdir)/pkgconfig 38 | pkgconfig_DATA = gegl-sc-$(GEGL_API_VERSION).pc 39 | 40 | -------------------------------------------------------------------------------- /seamless-clone/gegl-sc.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/sc 5 | 6 | Name: GEGL Seamless Cloning 7 | Description: Seamless Cloning Library Based on GEGL 8 | Version: @GEGL_REAL_VERSION@ 9 | Requires: @GLIB_PACKAGES@ babl @P2TC_PACKAGES@ @PACKAGE_NAME@-@GEGL_API_VERSION@ 10 | Libs: -L${libdir} -l@PACKAGE_NAME@-sc-@GEGL_API_VERSION@ 11 | Cflags: -I${includedir}/@PACKAGE_NAME@-@GEGL_API_VERSION@/sc 12 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /tests/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST=run-tests.py 2 | 3 | SUBDIRS = \ 4 | buffer \ 5 | mipmap \ 6 | compositions \ 7 | simple \ 8 | xml \ 9 | ff-load-save \ 10 | python 11 | 12 | #opencl 13 | -------------------------------------------------------------------------------- /tests/buffer/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | /Makefile 4 | /Makefile.in 5 | /buffer-test 6 | /buffer-test.o 7 | /buffer-tests-report 8 | /buffer-tests.inc 9 | /output 10 | -------------------------------------------------------------------------------- /tests/buffer/README: -------------------------------------------------------------------------------- 1 | GeglBuffer test-suite. 2 | 3 | Run make check to test that GeglBuffer hasn't introduced any regressions to the 4 | core API. Bein able to adjust the tile size to be very small would be a useful 5 | addition. 6 | -------------------------------------------------------------------------------- /tests/buffer/buffer-tests-results.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set by TESTS_ENVIRONMENT in Makefile.am 4 | reference_dir=$REFERENCE_DIR 5 | 6 | total_tests=`ls -1 $reference_dir/*.buf | wc -l` 7 | successful_tests=`cat buffer-tests-report | grep -c identical` 8 | 9 | echo $successful_tests of $total_tests tests succesful. 10 | 11 | if [ $total_tests -eq $successful_tests ] 12 | then 13 | exit 0; 14 | else 15 | echo Look in the file \"buffer-tests-report\" for detailed failure information. 16 | exit 1; 17 | fi 18 | -------------------------------------------------------------------------------- /tests/buffer/reference/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /tests/buffer/reference/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = $(wildcard $(srcdir)/*.buf) 2 | -------------------------------------------------------------------------------- /tests/buffer/reference/blank.buf: -------------------------------------------------------------------------------- 1 | Test: blank 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▐ 9 | ▌ ▐ 10 | ▌ ▐ 11 | ▌ ▐ 12 | ▌ ▐ 13 | ▌ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▐ 9 | ▌ ▐ 10 | ▌ ▐ 11 | ▌ ▐ 12 | ▌ ▐ 13 | ▌ ▐ 14 | ▌ ░░░░░ ▐ 15 | ▌ ░░░░░ ▐ 16 | ▌ ░░░░░ ▐ 17 | ▌ ░░░░░ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_abyss.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_abyss 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 4 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 5 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 6 | ▌██████████ ▐ 7 | ▌██████████ ▐ 8 | ▌██████████ ▐ 9 | ▌██████████ ▐ 10 | ▌██████████ ▐ 11 | ▌██████████ ▐ 12 | ▌██████████ ▐ 13 | ▌ ▓▓▓▓▓ ▐ 14 | ▌ ▓▓▓▓▓ ▐ 15 | ▌ ▓▓▓▓▓ ▐ 16 | ▌ █████ ▐ 17 | ▌ █████ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_lower_left.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_lower_left 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▐ 9 | ▌ ▐ 10 | ▌ ▐ 11 | ▌ ▐ 12 | ▌ ▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓ ▐ 21 | ▌██████████ ▐ 22 | ▌██████████ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_lower_right.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_lower_right 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▐ 9 | ▌ ▐ 10 | ▌ ▐ 11 | ▌ ▐ 12 | ▌ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌ ▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌ ▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌ ▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌ ▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌ ▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌ ██████████▐ 22 | ▌ ██████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_self.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_self 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_upper_left.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_upper_left 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░ ▐ 7 | ▌░░░░░░░░░░ ▐ 8 | ▌░░░░░░░░░░ ▐ 9 | ▌░░░░░░░░░░ ▐ 10 | ▌░░░░░░░░░░ ▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_copy_upper_right.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_copy_upper_right 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ░░░░░░░░░░▐ 7 | ▌ ░░░░░░░░░░▐ 8 | ▌ ░░░░░░░░░░▐ 9 | ▌ ░░░░░░░░░░▐ 10 | ▌ ░░░░░░░░░░▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_copy1.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_copy1 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_copy2.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_copy2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_delete1.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_delete1 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_delete2.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_delete2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_write1.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_write1 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌███ ███ ███ ██▐ 4 | ▌███ ███ ███ ██▐ 5 | ▌███ ███ ███ ██▐ 6 | ▌ ███ ███ ███ ▐ 7 | ▌ ███ ███ ███ ▐ 8 | ▌ ███ ███ ███ ▐ 9 | ▌███ ███ ███ ██▐ 10 | ▌███ ███ ███ ██▐ 11 | ▌███ ███ ███ ██▐ 12 | ▌ ███ ███ ███ ▐ 13 | ▌ ███ ███ ███ ▐ 14 | ▌ ███ ███ ███ ▐ 15 | ▌███ ███ ███ ██▐ 16 | ▌███ ███ ███ ██▐ 17 | ▌███ ███ ███ ██▐ 18 | ▌ ███ ███ ███ ▐ 19 | ▌ ███ ███ ███ ▐ 20 | ▌ ███ ███ ███ ▐ 21 | ▌███ ███ ███ ██▐ 22 | ▌███ ███ ███ ██▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_write2.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_write2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_write3.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_write3 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_dup_write4.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_dup_write4 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌███ ███ ███ ██▐ 4 | ▌███ ███ ███ ██▐ 5 | ▌███ ███ ███ ██▐ 6 | ▌ ███ ███ ███ ▐ 7 | ▌ ███ ███ ███ ▐ 8 | ▌ ███ ███ ███ ▐ 9 | ▌███ ███ ███ ██▐ 10 | ▌███ ███ ███ ██▐ 11 | ▌███ ███ ███ ██▐ 12 | ▌ ███ ███ ███ ▐ 13 | ▌ ███ ███ ███ ▐ 14 | ▌ ███ ███ ███ ▐ 15 | ▌███ ███ ███ ██▐ 16 | ▌███ ███ ███ ██▐ 17 | ▌███ ███ ███ ██▐ 18 | ▌ ███ ███ ███ ▐ 19 | ▌ ███ ███ ███ ▐ 20 | ▌ ███ ███ ███ ▐ 21 | ▌███ ███ ███ ██▐ 22 | ▌███ ███ ███ ██▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator1.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator1 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 4 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 5 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 6 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 10 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 17 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 19 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 20 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 21 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 22 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator1sub.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator1sub 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 6 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 7 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 18 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 19 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 20 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 21 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 22 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator2.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 4 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 5 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 6 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator2sub.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator2sub 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▒▒▒▒▒▒▒▒ ▐ 6 | ▌ ▒▒▒▒▒▒▒▒ ▐ 7 | ▌ ▒▒▒▒▒▒▒▒ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator3.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator3 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator3sub.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator3sub 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator4.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator4 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 5 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 6 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 7 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_iterator4sub.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_iterator4sub 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 6 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 7 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▐ 15 | ▌ ▐ 16 | ▌ ▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_linear_copy.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_linear_copy 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ██████████ ▐ 5 | ▌ ██████████ ▐ 6 | ▌░░░██████████░░░░░░░▐ 7 | ▌░░░██████████░░░░░░░▐ 8 | ▌░░░██████████░░░░░░░▐ 9 | ▌░░░██████████░░░░░░░▐ 10 | ▌░░░██████████░░░░░░░▐ 11 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_linear_iter.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_linear_iter 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ██████████ ▐ 5 | ▌ ██████████ ▐ 6 | ▌░░░██████████░░░░░░░▐ 7 | ▌░░░██████████░░░░░░░▐ 8 | ▌░░░██████████░░░░░░░▐ 9 | ▌░░░██████████░░░░░░░▐ 10 | ▌░░░██████████░░░░░░░▐ 11 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_linear_iter2.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_linear_iter2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ██████████ ▐ 5 | ▌ ██████████ ▐ 6 | ▌░░░██████████░░░░░░░▐ 7 | ▌░░░██████████░░░░░░░▐ 8 | ▌░░░██████████░░░░░░░▐ 9 | ▌░░░██████████░░░░░░░▐ 10 | ▌░░░██████████░░░░░░░▐ 11 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒██████████▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_shift_diagonal.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_shift_diagonal 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒░░░░▒▒ ▐ 13 | ▌ ▒▒▒▒░░░░▒▒ ▐ 14 | ▌ ▒▒▒▒░░░░▒▒ ▐ 15 | ▌ ▒▒▒▒░░░░▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_shift_horizontal.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_shift_horizontal 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒██ ▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/buffer_shift_vertical.buf: -------------------------------------------------------------------------------- 1 | Test: buffer_shift_vertical 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ████▒▒▒▒▒▒ ▐ 14 | ▌ ████▒▒▒▒▒▒ ▐ 15 | ▌ ████▒▒▒▒▒▒ ▐ 16 | ▌ ████▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/checks.buf: -------------------------------------------------------------------------------- 1 | Test: checks 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌███ ███ ███ ██▐ 4 | ▌███ ███ ███ ██▐ 5 | ▌███ ███ ███ ██▐ 6 | ▌ ███ ███ ███ ▐ 7 | ▌ ███ ███ ███ ▐ 8 | ▌ ███ ███ ███ ▐ 9 | ▌███ ███ ███ ██▐ 10 | ▌███ ███ ███ ██▐ 11 | ▌███ ███ ███ ██▐ 12 | ▌ ███ ███ ███ ▐ 13 | ▌ ███ ███ ███ ▐ 14 | ▌ ███ ███ ███ ▐ 15 | ▌███ ███ ███ ██▐ 16 | ▌███ ███ ███ ██▐ 17 | ▌███ ███ ███ ██▐ 18 | ▌ ███ ███ ███ ▐ 19 | ▌ ███ ███ ███ ▐ 20 | ▌ ███ ███ ███ ▐ 21 | ▌███ ███ ███ ██▐ 22 | ▌███ ███ ███ ██▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/disabled_abyss.buf: -------------------------------------------------------------------------------- 1 | Test: disabled_abyss 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ████ ▐ 7 | ▌ ████ ▐ 8 | ▌ ████▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ████▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/dup_linear_from_data.buf: -------------------------------------------------------------------------------- 1 | Test: dup_linear_from_data 2 | ▛▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌░░░░░░░░░░▐ 6 | ▌░░░░░░░░░░▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌▒▒▒▒▒▒▒▒▒▒▐ 10 | ▌▓▓▓▓▓▓▓▓▓▓▐ 11 | ▌▓▓▓▓▓▓▓▓▓▓▐ 12 | ▌██████████▐ 13 | ▙▄▄▄▄▄▄▄▄▄▄▟ 14 | -------------------------------------------------------------------------------- /tests/buffer/reference/get_buffer_scaled2.buf: -------------------------------------------------------------------------------- 1 | Test: get_buffer_scaled2 2 | ▛▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ █░░█ ▓▒ ▐ 6 | ▌ ░▒▒░▓▒░ ▐ 7 | ▌ ░▒▒░▓▒░ ▐ 8 | ▌ █░░█ ▓▒ ▐ 9 | ▌ ▓▓ █░ ▐ 10 | ▌ ▓▒▒▓░▒▒ ▐ 11 | ▌ ▒░░▒ ▒░ ▐ 12 | ▌ ▐ 13 | ▙▄▄▄▄▄▄▄▄▄▄▟ 14 | -------------------------------------------------------------------------------- /tests/buffer/reference/get_shifted.buf: -------------------------------------------------------------------------------- 1 | Test: get_shifted 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░ ░░░░░▐ 9 | ▌░░░░░ ░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒░░░░░░░░░░▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓██████████▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | ▛▀▀▀▀▀▀▀▀▀▀▜ 25 | ▌ ▐ 26 | ▌ ▐ 27 | ▌ ▐ 28 | ▌ ▐ 29 | ▌ ▐ 30 | ▌ ▐ 31 | ▌ ▐ 32 | ▌ ░░░░░▐ 33 | ▌ ░░░░░▐ 34 | ▌ ▒▒▒▒▒▐ 35 | ▙▄▄▄▄▄▄▄▄▄▄▟ 36 | -------------------------------------------------------------------------------- /tests/buffer/reference/gray.buf: -------------------------------------------------------------------------------- 1 | Test: gray 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 4 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 5 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 6 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 10 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 17 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 19 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 20 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 21 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 22 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_from_data.buf: -------------------------------------------------------------------------------- 1 | Test: linear_from_data 2 | ▛▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ░░░░░░░▐ 5 | ▌░░░░░░░░░░▐ 6 | ▌░░░░░░░░▒▒▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌▒▒▒▓▓▓▓▓▓▓▐ 10 | ▌▓▓▓▓▓▓▓▓▓▓▐ 11 | ▌▓▓▓▓▓▓▓▓██▐ 12 | ▌██████████▐ 13 | ▙▄▄▄▄▄▄▄▄▄▄▟ 14 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_from_data_rows.buf: -------------------------------------------------------------------------------- 1 | Test: linear_from_data_rows 2 | ▛▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▒ ▐ 4 | ▌ ▒ ▐ 5 | ▌ ▒ ▐ 6 | ▌ ▒ ▐ 7 | ▌ ▒ ▐ 8 | ▌ ▒ ▐ 9 | ▌ ▒ ▐ 10 | ▌ ▒ ▐ 11 | ▌ ▒ ▐ 12 | ▌ ▒ ▐ 13 | ▙▄▄▄▄▄▄▄▄▄▄▟ 14 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_modify.buf: -------------------------------------------------------------------------------- 1 | Test: linear_modify 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█████▐ 4 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓██████▐ 5 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████▐ 6 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████▐ 7 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓░░░░░░░░░░░░░░░░░░░▐ 11 | ▌░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 12 | ▌░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 13 | ▌░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 14 | ▌░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 15 | ▌░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 16 | ▌░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 17 | ▌░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████████████████▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████████████████▐ 19 | ▌▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█████████████████████▐ 20 | ▌▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓██████████████████████▐ 21 | ▌▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████████████████████▐ 22 | ▌▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_new.buf: -------------------------------------------------------------------------------- 1 | Test: linear_new 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▐ 5 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▐ 6 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▐ 7 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 8 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 9 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 14 | ▌ ░░░░░░░░░░░░░░░░░░░▐ 15 | ▌ ░░░░░░░░░░░░░░░░░░░▐ 16 | ▌ ░░░░░░░░░░░░░░░░░░░▐ 17 | ▌ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_proxy_modify.buf: -------------------------------------------------------------------------------- 1 | Test: linear_proxy_modify 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█████▐ 4 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓██████▐ 5 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████▐ 6 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████▐ 7 | ▌ ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓░░░░░░░░░░░░░░░░░░░▐ 11 | ▌░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 12 | ▌░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 13 | ▌░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 14 | ▌░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 15 | ▌░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 16 | ▌░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░▐ 17 | ▌░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████████████████▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████████████████▐ 19 | ▌▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█████████████████████▐ 20 | ▌▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓██████████████████████▐ 21 | ▌▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓███████████████████████▐ 22 | ▌▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓████████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/linear_shift.buf: -------------------------------------------------------------------------------- 1 | Test: linear_shift 2 | ▛▀▀▀▀▀▜ 3 | ▌░░▒░░▐ 4 | ▌░░▒░░▐ 5 | ▌▒▒█▒▒▐ 6 | ▌░░▒░░▐ 7 | ▌░░▒░░▐ 8 | ▙▄▄▄▄▄▟ 9 | -------------------------------------------------------------------------------- /tests/buffer/reference/rect.buf: -------------------------------------------------------------------------------- 1 | Test: rect 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 4 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 5 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 6 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 9 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 10 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 11 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 16 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 17 | ▌▒▒▒▒▒ ▒▒▒▒▒▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 19 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 20 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 21 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 22 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/sample.buf: -------------------------------------------------------------------------------- 1 | Test: sample 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░██░░░░░░░░░░░░░▐ 7 | ▌░░░░░██░░░░░░░░░░░░░▐ 8 | ▌░░░░░██████████░░░░░▐ 9 | ▌░░░░░██████████░░░░░▐ 10 | ▌░░░░░██████████░░░░░▐ 11 | ▌▒▒▒▒▒██████████▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒██████████▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒██████████▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒██████████▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒██████████▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓██████████▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓██████████▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/save_small_roi.buf: -------------------------------------------------------------------------------- 1 | Test: save_small_roi 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 4 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 5 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 6 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 7 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 8 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 9 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 10 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 17 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 18 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 19 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 20 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 21 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 22 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/sub_sub_fill.buf: -------------------------------------------------------------------------------- 1 | Test: sub_sub_fill 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌ ▐ 7 | ▌ ▐ 8 | ▌ ██▒▒▒▒▒▒▒▒ ▐ 9 | ▌ ██▒▒▒▒▒▒▒▒ ▐ 10 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 11 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 12 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 13 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 14 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 15 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 16 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 17 | ▌ ▒▒▒▒▒▒▒▒▒▒ ▐ 18 | ▌ ▐ 19 | ▌ ▐ 20 | ▌ ▐ 21 | ▌ ▐ 22 | ▌ ▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/reference/sub_sub_fill2.buf: -------------------------------------------------------------------------------- 1 | Test: sub_sub_fill2 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 4 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 5 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 6 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 7 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 8 | ▌▓▓▓▓▓██▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 9 | ▌▓▓▓▓▓██▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 10 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 11 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 12 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 13 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 14 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 15 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 16 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 22 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | ▛▀▀▀▀▜ 25 | ▌ ▐ 26 | ▌ ▐ 27 | ▌ ██▐ 28 | ▌ ██▐ 29 | ▙▄▄▄▄▟ 30 | -------------------------------------------------------------------------------- /tests/buffer/reference/vertical_gradient.buf: -------------------------------------------------------------------------------- 1 | Test: vertical_gradient 2 | ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ 3 | ▌ ▐ 4 | ▌ ▐ 5 | ▌ ▐ 6 | ▌░░░░░░░░░░░░░░░░░░░░▐ 7 | ▌░░░░░░░░░░░░░░░░░░░░▐ 8 | ▌░░░░░░░░░░░░░░░░░░░░▐ 9 | ▌░░░░░░░░░░░░░░░░░░░░▐ 10 | ▌░░░░░░░░░░░░░░░░░░░░▐ 11 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 12 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 13 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 14 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 15 | ▌▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ 16 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 17 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 18 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 19 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 20 | ▌▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▐ 21 | ▌████████████████████▐ 22 | ▌████████████████████▐ 23 | ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ 24 | -------------------------------------------------------------------------------- /tests/buffer/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /tests/buffer/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = $(wildcard $(srcdir)/*.c) 2 | -------------------------------------------------------------------------------- /tests/buffer/tests/blank.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle rect = {0, 0, 20, 20}; 5 | 6 | test_start (); 7 | 8 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | 12 | test_end (); 13 | } 14 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | GeglRectangle source = {2, 2, 5, 5}; 6 | GeglRectangle dest = {10, 10, 5, 5}; 7 | test_start (); 8 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 9 | buffer2 = gegl_buffer_new (&bound, babl_format ("Y float")); 10 | 11 | vgrad (buffer); 12 | gegl_buffer_copy (buffer, &source, GEGL_ABYSS_NONE, buffer2, &dest); 13 | print_buffer (buffer2); 14 | g_object_unref (buffer); 15 | g_object_unref (buffer2); 16 | test_end (); 17 | } 18 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_abyss.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | GeglRectangle source = {15, 15, 10, 10}; 6 | GeglRectangle dest1 = {10, 10, 10, 10}; 7 | GeglRectangle dest2 = {0, 0, 10, 10}; 8 | test_start (); 9 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 10 | buffer2 = gegl_buffer_new (&bound, babl_format ("Y float")); 11 | 12 | vgrad (buffer); 13 | gegl_buffer_copy (buffer, &source, GEGL_ABYSS_NONE, buffer2, &dest1); 14 | gegl_buffer_copy (buffer, &source, GEGL_ABYSS_CLAMP, buffer2, &dest2); 15 | print_buffer (buffer2); 16 | g_object_unref (buffer); 17 | g_object_unref (buffer2); 18 | test_end (); 19 | } 20 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_lower_left.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | { 9 | GeglRectangle rect = *gegl_buffer_get_extent(buffer); 10 | 11 | rect.x=0; 12 | rect.y=10; 13 | rect.width-=10; 14 | rect.height-=10; 15 | buffer2 = gegl_buffer_new (gegl_buffer_get_extent (buffer), gegl_buffer_get_format (buffer)); 16 | gegl_buffer_copy (buffer, &rect, GEGL_ABYSS_NONE, buffer2, &rect); 17 | } 18 | print_buffer (buffer2); 19 | g_object_unref (buffer); 20 | g_object_unref (buffer2); 21 | test_end (); 22 | } 23 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_lower_right.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | { 9 | GeglRectangle rect = *gegl_buffer_get_extent(buffer); 10 | 11 | rect.x=10; 12 | rect.y=10; 13 | rect.width-=10; 14 | rect.height-=10; 15 | buffer2 = gegl_buffer_new (gegl_buffer_get_extent (buffer), gegl_buffer_get_format (buffer)); 16 | gegl_buffer_copy (buffer, &rect, GEGL_ABYSS_NONE, buffer2, &rect); 17 | } 18 | print_buffer (buffer2); 19 | g_object_unref (buffer); 20 | g_object_unref (buffer2); 21 | test_end (); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_self.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle source = {2, 2, 2, 2}; 5 | GeglRectangle dest = {15, 15, 1, 1}; 6 | GeglRectangle rect = {0, 0, 20, 20}; 7 | test_start (); 8 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 9 | 10 | vgrad (buffer); 11 | gegl_buffer_copy (buffer, &source, GEGL_ABYSS_NONE, buffer, &dest); /* copying to self */ 12 | print_buffer (buffer); 13 | g_object_unref (buffer); 14 | test_end (); 15 | } 16 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_upper_left.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | { 9 | GeglRectangle rect = *gegl_buffer_get_extent(buffer); 10 | 11 | rect.width-=10; 12 | rect.height-=10; 13 | buffer2 = gegl_buffer_new (gegl_buffer_get_extent (buffer), gegl_buffer_get_format (buffer)); 14 | gegl_buffer_copy (buffer, &rect, GEGL_ABYSS_NONE, buffer2, &rect); 15 | } 16 | print_buffer (buffer2); 17 | g_object_unref (buffer); 18 | g_object_unref (buffer2); 19 | test_end (); 20 | } 21 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_copy_upper_right.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | { 9 | GeglRectangle rect = *gegl_buffer_get_extent(buffer); 10 | 11 | rect.x=10; 12 | rect.width-=10; 13 | rect.height-=10; 14 | buffer2 = gegl_buffer_new (gegl_buffer_get_extent (buffer), gegl_buffer_get_format (buffer)); 15 | gegl_buffer_copy (buffer, &rect, GEGL_ABYSS_NONE, buffer2, &rect); 16 | } 17 | print_buffer (buffer2); 18 | g_object_unref (buffer); 19 | g_object_unref (buffer2); 20 | test_end (); 21 | } 22 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_copy1.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | print_buffer (buffer2); 10 | g_object_unref (buffer); 11 | g_object_unref (buffer2); 12 | test_end (); 13 | } 14 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_copy2.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | g_object_unref (buffer2); 12 | test_end (); 13 | } 14 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_delete1.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | g_object_unref (buffer); 10 | print_buffer (buffer2); 11 | g_object_unref (buffer2); 12 | test_end (); 13 | } 14 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_delete2.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | g_object_unref (buffer2); 10 | print_buffer (buffer); 11 | g_object_unref (buffer); 12 | test_end (); 13 | } 14 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_write1.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | checkerboard (buffer, 3, 0.0, 1.0); 10 | print_buffer (buffer); 11 | g_object_unref (buffer); 12 | g_object_unref (buffer2); 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_write2.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | checkerboard (buffer, 3, 0.0, 1.0); 10 | print_buffer (buffer2); 11 | g_object_unref (buffer); 12 | g_object_unref (buffer2); 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_write3.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | checkerboard (buffer2, 3, 0.0, 1.0); 10 | print_buffer (buffer); 11 | g_object_unref (buffer); 12 | g_object_unref (buffer2); 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_dup_write4.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle bound = {0, 0, 20, 20}; 5 | test_start (); 6 | buffer = gegl_buffer_new (&bound, babl_format ("Y float")); 7 | vgrad (buffer); 8 | buffer2 = gegl_buffer_dup (buffer); 9 | checkerboard (buffer2, 3, 0.0, 1.0); 10 | print_buffer (buffer2); 11 | g_object_unref (buffer); 12 | g_object_unref (buffer2); 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator1.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0,20,20}; 5 | GeglRectangle roi = {0,0,20,20}; 6 | test_start(); 7 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 8 | fill_rect (buffer, &roi, 0.5); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | test_end (); 12 | } 13 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator1sub.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglBuffer *sub; 5 | GeglRectangle extent = {0,0,20,20}; 6 | GeglRectangle sextent = {2,2,20,20}; 7 | GeglRectangle roi = {0,0,20,20}; 8 | test_start(); 9 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 10 | sub = gegl_buffer_create_sub_buffer (buffer, &sextent); 11 | 12 | fill_rect (sub, &roi, 0.5); 13 | print_buffer (buffer); 14 | g_object_unref (sub); 15 | g_object_unref (buffer); 16 | test_end (); 17 | } 18 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator2.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0,20,20}; 5 | GeglRectangle roi = {0,0,10,10}; 6 | test_start(); 7 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 8 | fill_rect (buffer, &roi, 0.5); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | test_end (); 12 | } 13 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator2sub.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglBuffer *sub; 5 | GeglRectangle extent = {0,0,20,20}; 6 | GeglRectangle sextent = {2,2,20,20}; 7 | GeglRectangle roi = {0,0,10,10}; 8 | test_start(); 9 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 10 | sub = gegl_buffer_create_sub_buffer (buffer, &sextent); 11 | fill_rect (sub, &roi, 0.5); 12 | print_buffer (buffer); 13 | g_object_unref (sub); 14 | g_object_unref (buffer); 15 | test_end (); 16 | } 17 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator3.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0,20,20}; 5 | GeglRectangle roi = {5,5,10,10}; 6 | test_start(); 7 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 8 | fill_rect (buffer, &roi, 0.5); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | test_end (); 12 | } 13 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator3sub.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglBuffer *sub; 5 | GeglRectangle extent = {0,0,20,20}; 6 | GeglRectangle sextent = {2,2,20,20}; 7 | GeglRectangle roi = {5,5,10,10}; 8 | test_start(); 9 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 10 | sub = gegl_buffer_create_sub_buffer (buffer, &sextent); 11 | fill_rect (sub, &roi, 0.5); 12 | print_buffer (buffer); 13 | g_object_unref (sub); 14 | g_object_unref (buffer); 15 | test_end (); 16 | } 17 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator4.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0,20,20}; 5 | GeglRectangle roi = {1,1,10,10}; 6 | test_start(); 7 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 8 | fill_rect (buffer, &roi, 0.5); 9 | print_buffer (buffer); 10 | g_object_unref (buffer); 11 | test_end (); 12 | } 13 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_iterator4sub.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglBuffer *sub; 5 | GeglRectangle extent = {0,0,20,20}; 6 | GeglRectangle sextent = {2,2,20,20}; 7 | GeglRectangle roi = {1,1,10,10}; 8 | test_start(); 9 | buffer = gegl_buffer_new (&extent, babl_format ("Y float")); 10 | sub = gegl_buffer_create_sub_buffer (buffer, &sextent); 11 | fill_rect (sub, &roi, 0.5); 12 | print_buffer (buffer); 13 | g_object_unref (sub); 14 | g_object_unref (buffer); 15 | test_end (); 16 | } 17 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_linear_copy.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | gchar *buf1, *buf2; 5 | GeglRectangle bound = {2, 2, 20, 20}; 6 | GeglRectangle source = {5, 3, 10, 10}; 7 | 8 | test_start (); 9 | 10 | buf1 = g_malloc0 (bound.width * bound.height * sizeof (float)); 11 | buf2 = g_malloc0 (source.width * source.height * sizeof (float)); 12 | 13 | buffer = gegl_buffer_linear_new_from_data (buf1, babl_format ("Y float"), 14 | &bound, GEGL_AUTO_ROWSTRIDE, 15 | NULL, NULL); 16 | buffer2 = gegl_buffer_linear_new_from_data (buf2, babl_format ("Y float"), 17 | &source, GEGL_AUTO_ROWSTRIDE, 18 | NULL, NULL); 19 | 20 | vgrad (buffer); 21 | fill (buffer2, 1.0); 22 | 23 | gegl_buffer_copy (buffer2, &source, GEGL_ABYSS_NONE, buffer, &source); 24 | print_buffer (buffer); 25 | g_object_unref (buffer2); 26 | g_object_unref (buffer); 27 | test_end (); 28 | } 29 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_shift_diagonal.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *sub, *subsub; 4 | GeglRectangle subrect = {5, 5, 10, 10}; 5 | GeglRectangle rect = {0, 0, 20, 20}; 6 | test_start (); 7 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 8 | 9 | sub = gegl_buffer_create_sub_buffer (buffer, &subrect); 10 | fill (sub, 0.5); 11 | subsub = g_object_new (GEGL_TYPE_BUFFER, 12 | "source", sub, 13 | "x", 3, 14 | "y", 3, 15 | "width", 4, 16 | "height", 4, 17 | "shift-x", 6, 18 | "shift-y", 6, 19 | NULL); 20 | 21 | fill (subsub, 0.2); 22 | print_buffer (buffer); 23 | g_object_unref (sub); 24 | g_object_unref (subsub); 25 | g_object_unref (buffer); 26 | test_end (); 27 | } 28 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_shift_horizontal.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *sub, *subsub; 4 | GeglRectangle subrect = {5, 5, 10, 10}; 5 | GeglRectangle rect = {0, 0, 20, 20}; 6 | test_start (); 7 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 8 | 9 | sub = gegl_buffer_create_sub_buffer (buffer, &subrect); 10 | fill (sub, 0.5); 11 | subsub = g_object_new (GEGL_TYPE_BUFFER, 12 | "source", sub, 13 | "x", 5, 14 | "y", 5, 15 | "width", 6, 16 | "height", 6, 17 | "shift-x", 8, 18 | NULL); 19 | 20 | fill (subsub, 1.0); 21 | print_buffer (buffer); 22 | g_object_unref (sub); 23 | g_object_unref (subsub); 24 | g_object_unref (buffer); 25 | test_end (); 26 | } 27 | -------------------------------------------------------------------------------- /tests/buffer/tests/buffer_shift_vertical.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *sub, *subsub; 4 | GeglRectangle subrect = {5, 5, 10, 10}; 5 | GeglRectangle rect = {0, 0, 20, 20}; 6 | test_start (); 7 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 8 | 9 | sub = gegl_buffer_create_sub_buffer (buffer, &subrect); 10 | fill (sub, 0.5); 11 | subsub = g_object_new (GEGL_TYPE_BUFFER, 12 | "source", sub, 13 | "x", 5, 14 | "y", 5, 15 | "width", 4, 16 | "height", 4, 17 | "shift-y", 5, 18 | "shift-x", 0, 19 | NULL); 20 | 21 | fill (subsub, 1.0); 22 | print_buffer (buffer); 23 | g_object_unref (sub); 24 | g_object_unref (subsub); 25 | g_object_unref (buffer); 26 | test_end (); 27 | } 28 | -------------------------------------------------------------------------------- /tests/buffer/tests/checks.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle rect = {0, 0, 20, 20}; 5 | 6 | test_start (); 7 | 8 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 9 | checkerboard (buffer, 3, 0.0, 1.0); 10 | print_buffer (buffer); 11 | g_object_unref (buffer); 12 | 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/dup_linear_from_data.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *buffer2; 4 | GeglRectangle extent = {0,0, 10, 10}; 5 | gfloat *buf; 6 | gint i; 7 | test_start(); 8 | 9 | buf = g_malloc (sizeof (float) * 10 * 10); 10 | for (i=0;i<100;i++) 11 | buf[i]=i/100.0; 12 | 13 | buffer = gegl_buffer_linear_new_from_data (buf, babl_format ("Y float"), 14 | &extent, 15 | 10 * 4, 16 | (GDestroyNotify) g_free, /* destroy_notify */ 17 | NULL /* destroy_notify_data */); 18 | buffer2 = gegl_buffer_dup (buffer); 19 | g_object_unref (buffer2); 20 | buffer2 = gegl_buffer_dup (buffer); 21 | vgrad (buffer); 22 | print_buffer (buffer); 23 | g_object_unref (buffer); 24 | g_object_unref (buffer2); 25 | test_end (); 26 | } 27 | -------------------------------------------------------------------------------- /tests/buffer/tests/get_buffer_scaled.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle rect = {0, 0, 50, 50}; 5 | GeglRectangle getrect = {0, 0, 12, 8}; 6 | guchar *buf; 7 | 8 | test_start (); 9 | 10 | buffer = gegl_buffer_new (&rect, babl_format ("Y u8")); 11 | checkerboard (buffer, 2, 0.0, 1.0); 12 | buf = g_malloc (getrect.width*getrect.height*sizeof(gfloat)); 13 | 14 | { 15 | gint i; 16 | 17 | for (i=0; i<10; i++) 18 | { 19 | getrect.x=i; 20 | /*getrect.y=i;*/ 21 | gegl_buffer_get (buffer, &getrect, 1.2, babl_format ("Y u8"), buf, 0, 22 | GEGL_ABYSS_NONE); 23 | print_linear_buffer_u8 (getrect.width, getrect.height, buf); 24 | } 25 | } 26 | 27 | g_object_unref (buffer); 28 | 29 | g_free (buf); 30 | test_end (); 31 | } 32 | -------------------------------------------------------------------------------- /tests/buffer/tests/get_buffer_scaled2.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle rect = {0, 0, 10, 10}; 5 | GeglRectangle getrect = {-2, -2, 10, 10}; 6 | guchar *buf; 7 | 8 | test_start (); 9 | 10 | buffer = gegl_buffer_new (&rect, babl_format ("Y u8")); 11 | checkerboard (buffer, 2, 0.0, 1.0); 12 | buf = g_malloc (getrect.width*getrect.height*sizeof(gfloat)); 13 | 14 | gegl_buffer_get (buffer, &getrect, 0.66, babl_format ("Y u8"), buf, 0, 15 | GEGL_ABYSS_NONE); 16 | 17 | 18 | print_linear_buffer_u8 (getrect.width, getrect.height, buf); 19 | g_object_unref (buffer); 20 | 21 | g_free (buf); 22 | test_end (); 23 | } 24 | -------------------------------------------------------------------------------- /tests/buffer/tests/get_shifted.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer, *sub, *subsub, *foo; 4 | GeglRectangle subrect = {5, 5, 10, 10}; 5 | GeglRectangle foor = {0, 0, 10, 10}; 6 | GeglRectangle rect = {0, 0, 20, 20}; 7 | test_start (); 8 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 9 | 10 | sub = gegl_buffer_create_sub_buffer (buffer, &subrect); 11 | vgrad (buffer); 12 | vgrad (sub); 13 | subsub = g_object_new (GEGL_TYPE_BUFFER, 14 | "source", sub, 15 | "x", 0, 16 | "y", 0, 17 | "width", 40, 18 | "height", 40, 19 | "shift-x", 0, 20 | "shift-y", 0, 21 | NULL); 22 | foo = gegl_buffer_create_sub_buffer (subsub, &foor); 23 | 24 | /*fill (subsub, 0.2);*/ 25 | print_buffer (buffer); 26 | print_buffer (foo); 27 | g_object_unref (sub); 28 | g_object_unref (subsub); 29 | g_object_unref (buffer); 30 | g_object_unref (foo); 31 | test_end (); 32 | } 33 | -------------------------------------------------------------------------------- /tests/buffer/tests/gray.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle rect = {0, 0, 20, 20}; 5 | 6 | test_start (); 7 | 8 | buffer = gegl_buffer_new (&rect, babl_format ("Y float")); 9 | fill (buffer, 0.5); 10 | print_buffer (buffer); 11 | g_object_unref (buffer); 12 | 13 | test_end (); 14 | } 15 | -------------------------------------------------------------------------------- /tests/buffer/tests/grow_extent.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle orig_extent = {0, 0, 20, 20}; 5 | GeglRectangle new_extent = {0, 0, 50, 50}; 6 | 7 | test_start (); 8 | 9 | buffer = gegl_buffer_new(&orig_extent, babl_format ("Y float")); 10 | gegl_buffer_set_extent(buffer, &new_extent); 11 | 12 | fill (buffer, 0.5); 13 | print_buffer (buffer); 14 | g_object_unref (buffer); 15 | 16 | test_end (); 17 | } 18 | -------------------------------------------------------------------------------- /tests/buffer/tests/linear_from_data.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0, 10, 10}; 5 | gfloat *buf; 6 | gint i; 7 | test_start(); 8 | 9 | buf = g_malloc (sizeof (float) * 10 * 10); 10 | for (i=0;i<100;i++) 11 | buf[i]=i/100.0; 12 | 13 | buffer = gegl_buffer_linear_new_from_data (buf, babl_format ("Y float"), 14 | &extent, 15 | 10 * 4, 16 | (GDestroyNotify) g_free, /* destroy_notify */ 17 | NULL /* destroy_notify_data */); 18 | print_buffer (buffer); 19 | g_object_unref (buffer); 20 | test_end (); 21 | } 22 | -------------------------------------------------------------------------------- /tests/buffer/tests/linear_from_data_rows.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0, 10, 10}; 5 | gfloat *buf; 6 | gint i; 7 | test_start(); 8 | 9 | buf = g_malloc (sizeof (float) * 12 * 10); 10 | for (i=0;i<120;i++) 11 | buf[i]=i%12==5?0.5:0.0; 12 | 13 | buffer = gegl_buffer_linear_new_from_data (buf, babl_format ("Y float"), 14 | &extent, 15 | 12 * 4, 16 | (GDestroyNotify) g_free, /* destroy_notify */ 17 | NULL /* destroy_notify_data */); 18 | print_buffer (buffer); 19 | g_object_unref (buffer); 20 | test_end (); 21 | } 22 | -------------------------------------------------------------------------------- /tests/buffer/tests/linear_modify.c: -------------------------------------------------------------------------------- 1 | TEST () 2 | { 3 | GeglBuffer *buffer; 4 | GeglRectangle extent = {0,0,40,20}; 5 | GeglRectangle roi = {1,1,30,10}; 6 | test_start(); 7 | buffer = gegl_buffer_linear_new (&extent, babl_format ("Y float")); 8 | fill_rect (buffer, &roi, 0.5); 9 | roi.y+=3; 10 | roi.x+=20; 11 | 12 | { 13 | gint rowstride; 14 | gfloat *buf; 15 | gint x, y, i; 16 | 17 | buf = gegl_buffer_linear_open (buffer, &extent, &rowstride, NULL); 18 | g_assert (buf); 19 | 20 | i=0; 21 | for (y=0;y 2 | 3 | 4 | 5 | RGB 6 | 2.0 7 | 2.0 8 | 2.0 9 | 1.0 10 | 1.0 11 | 1.0 12 | false 13 | false 14 | false 15 | 16 | 17 | 18 | 19 | data/car-stack.png 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tests/compositions/apply-lens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1.75 6 | true 7 | 8 | 9 | 10 | 11 | data/car-stack.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/apply-lens2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1.75 6 | false 7 | rgba(1.0, 0.0, 1.0, 1.0) 8 | 9 | 10 | 11 | 12 | data/car-stack.png 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/compositions/apply-lens3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1.0 6 | true 7 | 8 | 9 | 10 | 11 | data/car-stack.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/bump-map.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 6 | 30.0000 7 | true 8 | 100 9 | 100 10 | 11 | 12 | 13 | data/duck.png 14 | 15 | 16 | 17 | 18 | 19 | 20 | 0 21 | 0 22 | 300 23 | 500 24 | 25 | 26 | 27 | 28 | rgba(0.5000, 0.5000, 0.5000, 1.0000) 29 | RGBA float 30 | 31 | 32 | -------------------------------------------------------------------------------- /tests/compositions/color-enhance.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | data/parliament_0.png 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/compositions/color-exchange.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | rgba(1.0000, 1.0000, 0.0000, 1.0000) 6 | rgba(0.0000, 1.0000, 0.0000, 1.0000) 7 | 0.500 8 | 0.500 9 | 0.500 10 | 11 | 12 | 13 | 14 | data/duck.png 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/compositions/color-to-alpha.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | rgba(1.0000, 1.0000, 1.0000, 1.0000) 6 | 7 | 8 | 9 | 10 | data/car-stack.png 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/compositions/contrast-curve.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | data/car-stack.png 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /tests/compositions/convolve1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10-0.2 6 | 0-1.20 7 | 100 8 | 9 | 10 | 11 | 12 | data/gegl.png 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/convolve2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.3-0.3-2 6 | 1.20-1 7 | 0.3-10 8 | 130 9 | 0.323 10 | TRUE 11 | 12 | 13 | 14 | 15 | data/gegl.png 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/compositions/data/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pnm -text -diff 2 | *.ppm -text -diff -------------------------------------------------------------------------------- /tests/compositions/data/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /tests/compositions/data/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST=$(wildcard $(srcdir)/*.png) \ 2 | $(wildcard $(srcdir)/*.jpg) \ 3 | $(wildcard $(srcdir)/*.tif) \ 4 | $(wildcard $(srcdir)/*.jp2) \ 5 | $(wildcard $(srcdir)/*.hdr) \ 6 | $(wildcard $(srcdir)/*.pnm) 7 | -------------------------------------------------------------------------------- /tests/compositions/data/boats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/boats.png -------------------------------------------------------------------------------- /tests/compositions/data/car-stack-eighth.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/car-stack-eighth.hdr -------------------------------------------------------------------------------- /tests/compositions/data/car-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/car-stack.png -------------------------------------------------------------------------------- /tests/compositions/data/duck-8bit-raw.pnm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/duck-8bit-raw.pnm -------------------------------------------------------------------------------- /tests/compositions/data/duck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/duck.png -------------------------------------------------------------------------------- /tests/compositions/data/duck_scribble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/duck_scribble.png -------------------------------------------------------------------------------- /tests/compositions/data/gegl-16bit-float-4ch-assoc-contiguous.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/gegl-16bit-float-4ch-assoc-contiguous.tif -------------------------------------------------------------------------------- /tests/compositions/data/gegl-8bit-4ch-assoc-contiguous.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/gegl-8bit-4ch-assoc-contiguous.tif -------------------------------------------------------------------------------- /tests/compositions/data/gegl-8bit-4ch-assoc-separated.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/gegl-8bit-4ch-assoc-separated.tif -------------------------------------------------------------------------------- /tests/compositions/data/gegl-8bit-4ch-unassoc-contiguous.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/gegl-8bit-4ch-unassoc-contiguous.tif -------------------------------------------------------------------------------- /tests/compositions/data/gegl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/gegl.png -------------------------------------------------------------------------------- /tests/compositions/data/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/grid.png -------------------------------------------------------------------------------- /tests/compositions/data/matting-global.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/matting-global.png -------------------------------------------------------------------------------- /tests/compositions/data/matting-global_scribble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/matting-global_scribble.png -------------------------------------------------------------------------------- /tests/compositions/data/mid_grey_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/mid_grey_dot.png -------------------------------------------------------------------------------- /tests/compositions/data/om.jp2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/om.jp2 -------------------------------------------------------------------------------- /tests/compositions/data/parliament.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/parliament.hdr -------------------------------------------------------------------------------- /tests/compositions/data/parliament_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/parliament_0.png -------------------------------------------------------------------------------- /tests/compositions/data/parliament_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/parliament_1.png -------------------------------------------------------------------------------- /tests/compositions/data/parliament_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/parliament_2.png -------------------------------------------------------------------------------- /tests/compositions/data/red-eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/data/red-eye.png -------------------------------------------------------------------------------- /tests/compositions/dropshadow-json.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 6 | 7 | 8 | 9 | 10 | data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/fattal02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.8 6 | 0.6 7 | 0.8 8 | 0.0 9 | 10 | 11 | 12 | 13 | data/parliament.hdr 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/compositions/gamma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.5 6 | 7 | 8 | 9 | 10 | data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/grey-json.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 200 6 | 100 7 | 8 | 9 | 10 | 11 | data/car-stack.png 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/compositions/hdr-color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0 7 | 10.000000 8 | 10.000000 9 | true 10 | 11 | 12 | 13 | 14 | rgb(100.0, 100.0, 100.0) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/compositions/illusion.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 6 | type1 7 | 8 | 9 | 10 | 11 | data/car-stack.png 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/image-compare.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | data/car-stack.png 7 | 8 | 9 | 10 | 11 | 12 | 0 13 | 0 14 | 512 15 | 384 16 | 17 | 18 | 19 | 4.0 20 | 4.0 21 | none 22 | 23 | 24 | 25 | data/car-stack.png 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /tests/compositions/jp2-load.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/compositions/lens-flare.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.2 6 | 0.2 7 | 8 | 9 | 10 | 11 | data/boats.png 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/mantiuk06.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.3 6 | 0.9 7 | 2.0 8 | 9 | 10 | 11 | 12 | data/parliament.hdr 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/matting-global.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | data/matting-global_scribble.png 7 | 8 | 9 | 10 | 11 | 12 | data/matting-global.png 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/matting-levin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1 6 | 1 7 | 8 | 9 | 10 | 11 | data/duck_scribble.png 12 | 13 | 14 | 15 | 16 | 17 | data/duck.png 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/compositions/noise-hsv.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 2147483647 6 | 4 7 | 10 8 | 0.3 9 | 0.2 10 | 11 | 12 | 13 | 14 | data/car-stack.png 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/compositions/noise-hurl.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 2147483647 6 | 20.0 7 | 2 8 | 9 | 10 | 11 | 12 | data/car-stack.png 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/compositions/noise-simplex.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -128 6 | -128 7 | 256 8 | 256 9 | 10 | 11 | 12 | 13 | 0.5 14 | 15 | 16 | 17 | 18 | 1 19 | 20 | 21 | 22 | 23 | 0 24 | 2.4 25 | 3 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /tests/compositions/noise-solid.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0 7 | 400 8 | 400 9 | 10 | 11 | 12 | 13 | 5.00 14 | 5.00 15 | 10 16 | true 17 | true 18 | 0 19 | 100 20 | 100 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /tests/compositions/pnm-ascii-load.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | data/duck-8bit-ascii.pnm 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/compositions/pnm-raw-load.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | data/duck-8bit-raw.pnm 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/compositions/posterize.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 6 | 7 | 8 | 9 | 10 | data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/red-eye-removal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.4 6 | 7 | 8 | 9 | 10 | data/red-eye.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/reference/affine-with-negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/affine-with-negative.png -------------------------------------------------------------------------------- /tests/compositions/reference/alien-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/alien-map.png -------------------------------------------------------------------------------- /tests/compositions/reference/apply-lens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/apply-lens.png -------------------------------------------------------------------------------- /tests/compositions/reference/apply-lens2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/apply-lens2.png -------------------------------------------------------------------------------- /tests/compositions/reference/apply-lens3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/apply-lens3.png -------------------------------------------------------------------------------- /tests/compositions/reference/bump-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/bump-map.png -------------------------------------------------------------------------------- /tests/compositions/reference/checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/checkerboard.png -------------------------------------------------------------------------------- /tests/compositions/reference/clones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/clones.png -------------------------------------------------------------------------------- /tests/compositions/reference/color-enhance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/color-enhance.png -------------------------------------------------------------------------------- /tests/compositions/reference/color-exchange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/color-exchange.png -------------------------------------------------------------------------------- /tests/compositions/reference/color-reduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/color-reduction.png -------------------------------------------------------------------------------- /tests/compositions/reference/color-to-alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/color-to-alpha.png -------------------------------------------------------------------------------- /tests/compositions/reference/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/colors.png -------------------------------------------------------------------------------- /tests/compositions/reference/composite-transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/composite-transform.png -------------------------------------------------------------------------------- /tests/compositions/reference/contrast-curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/contrast-curve.png -------------------------------------------------------------------------------- /tests/compositions/reference/convolve1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/convolve1.png -------------------------------------------------------------------------------- /tests/compositions/reference/convolve2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/convolve2.png -------------------------------------------------------------------------------- /tests/compositions/reference/edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/edge.png -------------------------------------------------------------------------------- /tests/compositions/reference/fattal02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/fattal02.png -------------------------------------------------------------------------------- /tests/compositions/reference/gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/gamma.png -------------------------------------------------------------------------------- /tests/compositions/reference/gegl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/gegl.png -------------------------------------------------------------------------------- /tests/compositions/reference/grey-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/grey-json.png -------------------------------------------------------------------------------- /tests/compositions/reference/hdr-color.gegl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/hdr-color.gegl -------------------------------------------------------------------------------- /tests/compositions/reference/illusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/illusion.png -------------------------------------------------------------------------------- /tests/compositions/reference/image-compare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/image-compare.png -------------------------------------------------------------------------------- /tests/compositions/reference/jp2-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/jp2-load.png -------------------------------------------------------------------------------- /tests/compositions/reference/jpg-load-datauri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/jpg-load-datauri.png -------------------------------------------------------------------------------- /tests/compositions/reference/lens-flare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/lens-flare.png -------------------------------------------------------------------------------- /tests/compositions/reference/mantiuk06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/mantiuk06.png -------------------------------------------------------------------------------- /tests/compositions/reference/matting-global.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/matting-global.png -------------------------------------------------------------------------------- /tests/compositions/reference/matting-levin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/matting-levin.png -------------------------------------------------------------------------------- /tests/compositions/reference/noise-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/noise-cell.png -------------------------------------------------------------------------------- /tests/compositions/reference/noise-hsv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/noise-hsv.png -------------------------------------------------------------------------------- /tests/compositions/reference/noise-hurl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/noise-hurl.png -------------------------------------------------------------------------------- /tests/compositions/reference/noise-simplex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/noise-simplex.png -------------------------------------------------------------------------------- /tests/compositions/reference/noise-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/noise-solid.png -------------------------------------------------------------------------------- /tests/compositions/reference/pnm-ascii-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/pnm-ascii-load.png -------------------------------------------------------------------------------- /tests/compositions/reference/pnm-raw-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/pnm-raw-load.png -------------------------------------------------------------------------------- /tests/compositions/reference/posterize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/posterize.png -------------------------------------------------------------------------------- /tests/compositions/reference/rectangles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rectangles.png -------------------------------------------------------------------------------- /tests/compositions/reference/red-eye-removal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/red-eye-removal.png -------------------------------------------------------------------------------- /tests/compositions/reference/reflect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/reflect.png -------------------------------------------------------------------------------- /tests/compositions/reference/reflect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/reflect2.png -------------------------------------------------------------------------------- /tests/compositions/reference/reinhard05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/reinhard05.png -------------------------------------------------------------------------------- /tests/compositions/reference/rgb-params.gegl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rgb-params.gegl -------------------------------------------------------------------------------- /tests/compositions/reference/rgbe-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rgbe-load.png -------------------------------------------------------------------------------- /tests/compositions/reference/rgbe-save.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rgbe-save.hdr -------------------------------------------------------------------------------- /tests/compositions/reference/rotate-on-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rotate-on-center.png -------------------------------------------------------------------------------- /tests/compositions/reference/rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/rotate.png -------------------------------------------------------------------------------- /tests/compositions/reference/scale-size-keepaspect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/scale-size-keepaspect.png -------------------------------------------------------------------------------- /tests/compositions/reference/shift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/shift.png -------------------------------------------------------------------------------- /tests/compositions/reference/simple-scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/simple-scale.png -------------------------------------------------------------------------------- /tests/compositions/reference/sinus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/sinus.png -------------------------------------------------------------------------------- /tests/compositions/reference/stretch-contrast-hsv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/stretch-contrast-hsv.png -------------------------------------------------------------------------------- /tests/compositions/reference/stretch-contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/stretch-contrast.png -------------------------------------------------------------------------------- /tests/compositions/reference/supernova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/supernova.png -------------------------------------------------------------------------------- /tests/compositions/reference/tiff-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/tiff-load.png -------------------------------------------------------------------------------- /tests/compositions/reference/tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/tile.png -------------------------------------------------------------------------------- /tests/compositions/reference/transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/transform.png -------------------------------------------------------------------------------- /tests/compositions/reference/weighted-blend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/compositions/reference/weighted-blend.png -------------------------------------------------------------------------------- /tests/compositions/reflect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | data/grid.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/compositions/reflect2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | data/grid.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/compositions/reinhard05.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0.8 7 | 0.3 8 | 9 | 10 | 11 | 12 | data/parliament.hdr 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/rgbe-load.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | data/car-stack-eighth.hdr 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/compositions/rgbe-save.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.25 6 | 0.25 7 | 8 | 9 | 10 | 11 | data/car-stack.png 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/rotate-on-center.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0 7 | 280 8 | 270 9 | 10 | 11 | 12 | 13 | 45.8 14 | linear 15 | 0 16 | 0 17 | 18 | 19 | 20 | 21 | data/duck.png 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/compositions/rotate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | data/grid.png 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/compositions/scale-size-keepaspect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 80 6 | 7 | 8 | 9 | 10 | data/grid.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/compositions/shift.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vertical 6 | 10 7 | 0 8 | 9 | 10 | 11 | 12 | data/car-stack.png 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/simple-scale.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | cubic 6 | 0.5 7 | 0.5 8 | 9 | 10 | 11 | 12 | data/grid.png 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/compositions/sinus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0 7 | 400 8 | 400 9 | 10 | 11 | 12 | 13 | 12.00 14 | 12.00 15 | 10.000 16 | 0 17 | true 18 | true 19 | sinusoidal 20 | -1.000 21 | 100 22 | 100 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /tests/compositions/stretch-contrast-hsv.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | data/boats.png 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/compositions/stretch-contrast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | data/mid_grey_dot.png 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/compositions/supernova.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.500 6 | 0.500 7 | 20 8 | 200 9 | 20 10 | rgba(1.0000, 0.0000, 0.0000, 1.0000) 11 | 0 12 | 13 | 14 | 15 | 16 | data/duck.png 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/compositions/tile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 136 6 | 213 7 | 8 | 9 | 10 | 11 | 2 12 | 13 13 | 14 | 15 | 16 | 17 | 100 18 | 100 19 | 93 20 | 79 21 | 22 | 23 | 24 | 25 | data/car-stack.png 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /tests/compositions/transform.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 0.000000 7 | 0.000000 8 | linear 9 | 0.500000 10 | 0.500000 11 | 12 | 13 | 14 | 15 | data/gegl.png 16 | 17 | 18 | 19 | 20 | 21 | 22 | 400 23 | 400 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /tests/compositions/weighted-blend.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 0 7 | 0 8 | 200 9 | 200 10 | 11 | 12 | 13 | 14 | rgba(1.0, 0.0, 0.0, 0.5) 15 | 16 | 17 | 18 | 19 | 20 | 0 21 | 0 22 | 200 23 | 200 24 | 25 | 26 | 27 | 28 | data/car-stack.png 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /tests/ff-load-save/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /tests/mipmap/Makefile.am: -------------------------------------------------------------------------------- 1 | # The tests 2 | 3 | EXTRA_DIST = invert.sh invert-crop.sh unsharp-crop.sh unsharp.sh rotate.sh rotate-crop.sh 4 | 5 | TESTS = $(EXTRA_DIST) 6 | 7 | check-TESTS: $(TESTS) 8 | $(PYTHON) $(srcdir)/../run-tests.py \ 9 | --build-dir=$(top_builddir) --src-dir=$(top_srcdir) \ 10 | $(TESTS) 11 | 12 | clean-local: 13 | rm -f *-output.png 14 | -------------------------------------------------------------------------------- /tests/mipmap/invert-crop-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/invert-crop-reference.png -------------------------------------------------------------------------------- /tests/mipmap/invert-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/invert-reference.png -------------------------------------------------------------------------------- /tests/mipmap/invert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set by TESTS_ENVIRONMENT in Makefile.am 4 | abs_top_srcdir=$ABS_TOP_SRCDIR 5 | abs_top_builddir=$ABS_TOP_BUILDDIR 6 | 7 | if [ ! -f $abs_top_builddir/bin/gegl ]; then 8 | echo "Skipping invert due to lack of gegl executable" 9 | exit 77 10 | else 11 | GEGL_TILE_SIZE=8x8 GEGL_PATH=$abs_top_builddir/operations GEGL_USE_OPENCL=no GEGL_MIPMAP_RENDERING=1 $abs_top_builddir/bin/gegl \ 12 | -s 0.33 $abs_top_srcdir/tests/compositions/data/car-stack.png -o \ 13 | $abs_top_builddir/tests/mipmap/invert-output.png \ 14 | -- invert \ 15 | && $abs_top_builddir/tools/gegl-imgcmp \ 16 | $abs_top_srcdir/tests/mipmap/invert-reference.png \ 17 | $abs_top_builddir/tests/mipmap/invert-output.png 10.0 18 | failure=$? 19 | #if [ $failure -eq 0 ]; then 20 | # rm -f $abs_top_builddir/tests/mipmap/invert-output.png 21 | #fi 22 | fi 23 | 24 | exit $failure 25 | echo "WARNING: The result of this test is being ignored!" 26 | exit 0 27 | -------------------------------------------------------------------------------- /tests/mipmap/rotate-crop-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/rotate-crop-reference.png -------------------------------------------------------------------------------- /tests/mipmap/rotate-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/rotate-reference.png -------------------------------------------------------------------------------- /tests/mipmap/rotate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set by TESTS_ENVIRONMENT in Makefile.am 4 | abs_top_srcdir=$ABS_TOP_SRCDIR 5 | abs_top_builddir=$ABS_TOP_BUILDDIR 6 | 7 | if [ ! -f $abs_top_builddir/bin/gegl ]; then 8 | echo "Skipping test-rotate due to lack of gegl executable" 9 | exit 77 10 | else 11 | GEGL_TILE_SIZE=8x8 GEGL_PATH=$abs_top_builddir/operations GEGL_USE_OPENCL=no GEGL_MIPMAP_RENDERING=1 $abs_top_builddir/bin/gegl \ 12 | -s 0.33 $abs_top_srcdir/tests/compositions/data/car-stack.png -o \ 13 | $abs_top_builddir/tests/mipmap/rotate-output.png \ 14 | -- rotate degrees=10.0 \ 15 | && $abs_top_builddir/tools/gegl-imgcmp \ 16 | $abs_top_srcdir/tests/mipmap/rotate-reference.png \ 17 | $abs_top_builddir/tests/mipmap/rotate-output.png 20.0 18 | failure=$? 19 | #if [ $failure -eq 0 ]; then 20 | # rm -f $abs_top_builddir/tests/mipmap/rotate-output.png 21 | #fi 22 | fi 23 | 24 | exit $failure 25 | echo "WARNING: The result of this test is being ignored!" 26 | exit 0 27 | -------------------------------------------------------------------------------- /tests/mipmap/unsharp-crop-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/unsharp-crop-reference.png -------------------------------------------------------------------------------- /tests/mipmap/unsharp-reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenCL/GEGL-OpenCL/d5e8cd3f96c050faa96f8cded31c919780ce6f0a/tests/mipmap/unsharp-reference.png -------------------------------------------------------------------------------- /tests/mipmap/unsharp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set by TESTS_ENVIRONMENT in Makefile.am 4 | abs_top_srcdir=$ABS_TOP_SRCDIR 5 | abs_top_builddir=$ABS_TOP_BUILDDIR 6 | 7 | if [ ! -f $abs_top_builddir/bin/gegl ]; then 8 | echo "Skipping test-unsharp due to lack of gegl executable" 9 | exit 77 10 | else 11 | GEGL_TILE_SIZE=8x8 GEGL_PATH=$abs_top_builddir/operations GEGL_USE_OPENCL=no GEGL_MIPMAP_RENDERING=1 $abs_top_builddir/bin/gegl \ 12 | -s 0.33 $abs_top_srcdir/tests/compositions/data/car-stack.png -o \ 13 | $abs_top_builddir/tests/mipmap/unsharp-output.png \ 14 | -- unsharp-mask scale=10.0 \ 15 | && $abs_top_builddir/tools/gegl-imgcmp \ 16 | $abs_top_srcdir/tests/mipmap/unsharp-reference.png \ 17 | $abs_top_builddir/tests/mipmap/unsharp-output.png 20.0 18 | failure=$? 19 | #if [ $failure -eq 0 ]; then 20 | # rm -f $abs_top_builddir/tests/mipmap/unsharp-output.png 21 | #fi 22 | fi 23 | 24 | exit $failure 25 | echo "WARNING: The result of this test is being ignored!" 26 | exit 0 27 | -------------------------------------------------------------------------------- /tests/opencl/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /tests/opencl/TODO: -------------------------------------------------------------------------------- 1 | OpenCL conformance TODO 2 | ======================= 3 | 4 | Some filters are still having different results with and without OpenCL, this has be investigated. 5 | 6 | Most of the wrong ones have floating-point precision or border policy problems. 7 | 8 | Filters that have to be fixed: 9 | 10 | - box-blur 11 | - gaussian-blur 12 | - motion-blur 13 | - noise-reduction 14 | - oilify 15 | - opacity 16 | - snn-mean 17 | -------------------------------------------------------------------------------- /tests/opencl/bilateral-filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10.0 6 | 5.0 7 | 8 | 9 | 10 | 11 | ../compositions/data/car-stack.png 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/opencl/box-blur.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 25 6 | 7 | 8 | 9 | 10 | ../compositions/data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/opencl/brightness-contrast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 2.0 6 | 0.5 7 | 8 | 9 | 10 | 11 | ../compositions/data/car-stack.png 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/opencl/color-temperature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/edge-sobel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1 6 | 1 7 | 8 | 9 | 10 | 11 | ../compositions/data/car-stack.png 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/opencl/gaussian-blur.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10.0 6 | 10.0 7 | 8 | 9 | 10 | 11 | ../compositions/data/car-stack.png 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/opencl/invert-linear.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/levels.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/mono-mixer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/motion-blur.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/noise-reduction.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/oilify.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/opacity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.5 6 | 7 | 8 | 9 | 10 | ../compositions/data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/opencl/pixelize.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/snn-mean.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/svg-src-over.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10.000000 7 | 190.000000 8 | 9 | 10 | 11 | 12 | ../compositions/data/car-stack.png 13 | 14 | 15 | 16 | 17 | 18 | ../compositions/data/car-stack.png 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /tests/opencl/threshold.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.5 6 | 7 | 8 | 9 | 10 | ../compositions/data/car-stack.png 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/opencl/value-invert.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/opencl/vignette.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ../compositions/data/car-stack.png 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/python/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /tests/python/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | if HAVE_PYTHON 3 | if HAVE_INTROSPECTION 4 | if HAVE_PYGOBJECT 5 | # List of tests. 6 | TESTS = 7 | # \ 8 | test-gegl.py \ 9 | test-gegl-node.py \ 10 | test-gegl-color.py \ 11 | test-gegl-buffer.py \ 12 | test-gegl-format.py 13 | 14 | EXTRA_DIST = $(TESTS) 15 | 16 | check-TESTS: $(TESTS) 17 | LD_LIBRARY_PATH=$(top_builddir)/gegl/.libs:$(LD_LIBRARY_PATH) \ 18 | GI_TYPELIB_PATH=$(top_builddir)/gegl:$(GI_TYPELIB_PATH) \ 19 | $(PYTHON) $(srcdir)/../run-tests.py \ 20 | --build-dir=$(top_builddir) --src-dir=$(top_srcdir) \ 21 | $(TESTS) 22 | 23 | endif # HAVE_PYGOBJECT 24 | endif # HAVE_INTROSPECTION 25 | endif # HAVE_PYTHON 26 | -------------------------------------------------------------------------------- /tests/simple/.gitignore: -------------------------------------------------------------------------------- 1 | /*.la 2 | /*.lo 3 | /*.o 4 | /.deps 5 | /.libs 6 | /Makefile 7 | /Makefile.in 8 | /test-backend-file 9 | /test-change-processor-rect 10 | /test-color-op 11 | /test-convert-format 12 | /test-empty-tile 13 | /test-exp-combine.sh 14 | /test-gegl-rectangle 15 | /test-gegl-tile 16 | /test-image-compare 17 | /test-license-check 18 | /test-misc 19 | /test-node-connections 20 | /test-node-properties 21 | /test-object-forked 22 | /test-opencl-colors 23 | /test-path 24 | /test-proxynop-processing 25 | /test-buffer-cast 26 | /test-buffer-extract 27 | /test-buffer-changes 28 | /test-format-sensing 29 | /test-gegl-color 30 | /test-scaled-blit 31 | /test-svg-abyss 32 | /test-buffer-tile-voiding 33 | /test-buffer-hot-tile 34 | /test-node-passthrough 35 | /test-serialize 36 | /test-buffer-sharing 37 | -------------------------------------------------------------------------------- /tests/simple/test-exp-combine.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Set by TESTS_ENVIRONMENT in Makefile.am 4 | abs_top_srcdir=$ABS_TOP_SRCDIR 5 | abs_top_builddir=$ABS_TOP_BUILDDIR 6 | 7 | if [ ! -f $abs_top_builddir/tools/exp_combine ]; then 8 | echo "Skipping test-exp-combine due to lack of exp_combine executable" 9 | exit 77 10 | else 11 | $abs_top_builddir/tools/exp_combine \ 12 | $abs_top_builddir/tests/simple/test-exp-combine.hdr \ 13 | $abs_top_srcdir/tests/compositions/data/parliament_0.png \ 14 | $abs_top_srcdir/tests/compositions/data/parliament_1.png \ 15 | $abs_top_srcdir/tests/compositions/data/parliament_2.png \ 16 | && $abs_top_builddir/tools/gegl-imgcmp \ 17 | $abs_top_srcdir/tests/compositions/data/parliament.hdr \ 18 | $abs_top_builddir/tests/simple/test-exp-combine.hdr 19 | failure=$? 20 | if [ $failure -eq 0 ]; then 21 | rm -f $abs_top_builddir/tests/simple/test-exp-combine.hdr 22 | fi 23 | fi 24 | 25 | #exit $failure 26 | echo "WARNING: The result of this test is being ignored!" 27 | exit 0 28 | -------------------------------------------------------------------------------- /tests/xml/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *o 4 | .deps 5 | .libs 6 | /test-roundtrip 7 | /test-save 8 | /test-load 9 | 10 | -------------------------------------------------------------------------------- /tests/xml/data/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | hdr-color.xml \ 3 | rgb-params.xml 4 | -------------------------------------------------------------------------------- /tests/xml/data/hdr-color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 0 7 | 10 8 | 10 9 | true 10 | 11 | 12 | 13 | 14 | rgb(100.0000, 100.0000, 100.0000) 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tools/.gitignore: -------------------------------------------------------------------------------- 1 | /.deps 2 | /.libs 3 | *.o 4 | *.exe 5 | /Makefile 6 | /Makefile.in 7 | /exp_combine 8 | /gegl-imgcmp 9 | /introspect 10 | /operation_reference 11 | /detect_opencl 12 | /gegl-tester 13 | -------------------------------------------------------------------------------- /tools/csourcetostring.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from __future__ import print_function 3 | 4 | import os 5 | import sys 6 | 7 | if len(sys.argv) != 2: 8 | print("Usage: %s file.c" % sys.argv[0]) 9 | sys.exit(1) 10 | 11 | # From http://stackoverflow.com/questions/14945095/how-to-escape-string-for-generated-c 12 | def escape_string(s): 13 | return s.replace('\\', r'\\').replace('"', r'\"') 14 | 15 | if "module.c" in sys.argv[1]: 16 | exit() 17 | 18 | infile = open(sys.argv[1], "r") 19 | outfile = open(sys.argv[1] + ".h", "w") 20 | 21 | cl_source = infile.read() 22 | infile.close() 23 | 24 | string_var_name = os.path.basename(sys.argv[1]).replace("-", "_").replace(":", "_") 25 | if string_var_name.endswith(".c"): 26 | string_var_name = string_var_name.rstrip(".c") 27 | 28 | outfile.write("static const char* %s_c_source =\n" % "op") 29 | for line in cl_source.rstrip().split("\n"): 30 | line = line.rstrip() 31 | line = escape_string(line) 32 | line = '"%-78s\\n"\n' % line 33 | outfile.write(line) 34 | outfile.write(";\n") 35 | outfile.close() 36 | -------------------------------------------------------------------------------- /tools/gen-loader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo '#include "config.h"' 4 | echo '#include ' 5 | 6 | for a in `grep GEGL_OP_NAME "$@" | sed 's/.*NAME//'`;do echo "void gegl_op_"$a"_register_type(GTypeModule *module);" ;done 7 | 8 | echo 'static const GeglModuleInfo modinfo = { 9 | GEGL_MODULE_ABI_VERSION 10 | }; 11 | 12 | const GeglModuleInfo * gegl_module_query (GTypeModule *module); 13 | gboolean gegl_module_register (GTypeModule *module); 14 | 15 | G_MODULE_EXPORT const GeglModuleInfo * 16 | gegl_module_query (GTypeModule *module) 17 | { 18 | return &modinfo; 19 | } 20 | 21 | G_MODULE_EXPORT gboolean 22 | gegl_module_register (GTypeModule *module) 23 | {' 24 | 25 | 26 | for a in `grep GEGL_OP_NAME "$@" | sed 's/.*NAME//'`;do echo " gegl_op_"$a"_register_type(module);" ;done 27 | 28 | 29 | echo ' return TRUE; 30 | }' 31 | 32 | -------------------------------------------------------------------------------- /tools/make-init-types.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo " 4 | /* WARNING: Autogenerated file based on object definitions 5 | found in headers in directorty. 6 | */ 7 | #include 8 | 9 | #include 10 | " 11 | 12 | type_funs=`cat *.h | grep define| grep get_type | sed -e 's/#define [0-9,A-Z,_ ]*//' -e 's/[),( ]*//g'` 13 | 14 | for type_fun in $type_funs;do 15 | echo "extern GType $type_fun (void);" 16 | done 17 | 18 | echo " 19 | 20 | void 21 | gegl_register_type (GType type) 22 | { 23 | g_type_class_ref (type); 24 | }" 25 | 26 | echo "" 27 | echo "void" 28 | echo "$1_init_types (void)" 29 | echo "{" 30 | for type_fun in $type_funs;do 31 | echo " gegl_register_type ($type_fun ());" 32 | done 33 | echo "}" 34 | --------------------------------------------------------------------------------