2008-02-18 Øyvind Kolås * operations/render/checkerboard.c: make the minimum allowed width/height of the checkerboard cells 1px. 2008-02-17 Kevin Cozens * operations/io/ff-load.c: * operations/workshop/ff-save.c: * operations/workshop/gluas.c: * operations/workshop/mblur.c: Updated to new chanting API. 2008-02-17 Øyvind Kolås * operations/workshop/difference-of-gaussians.c: moved .. * operations/meta/difference-of-gaussians.c: .. here. 2008-02-17 Øyvind Kolås * gegl/operation/gegl-operation.c: (get_invalidated_by_change): removed a redirect that seems to interfere with how meta operations work. 2008-02-17 Martin Nordholts * bin/node-editors/level.c * bin/node-editors/whitebalance.c * bin/node-editors/unsharp-mask.c * bin/node-editors/gaussian-blur.c * bin/node-editors/brightness-contrast.c: Fix includes. 2008-02-17 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): do not intialize the threading support of glib, since we do not need it yet. 2008-02-17 Martin Nordholts * bin/gegl-node-editor.h: Tiny fix to previous commit... 2008-02-17 Martin Nordholts * bin/gegl-node-editor.[ch]: Clean up; Added missing G_BEGIN_DECLS in the header, aligned function prototypes and moved documentation of functions to the .c file. 2008-02-17 Martin Nordholts Added gimp-bin-types.h and gimp-bin-gui-types.h and moved CLI and GUI typedefs there. * bin/gegl-bin-types.h * bin/gegl-bin-gui-types.h: The two new files. * bin/gegl.c * bin/export.[ch] * bin/editor.[ch] * bin/gegl-view.[nch] * bin/editor-optype.c * bin/gegl-store.[ch] * bin/gegl-options.[ch] * bin/gegl-tree-editor.[ch] * bin/gegl-node-editor.[ch] * bin/gegl-tree-editor-action.[ch]: Make sure config.h is included in .c files and also include the appropriate types-headers as well as organize the other #include:s. Remove unneccesary #include:s in header files. Don't include the system-gegl.h but the one in the source tree. Also did some other minor restructuring. * bin/Makefile.am: Added the two new files. 2008-02-17 Martin Nordholts * bin/gegl-options.c (parse_args): Applied patch from Fredrik Alströmer that makes the --file and -i options to the gegl binary work. 2008-02-17 Martin Nordholts * bin/gegl-tree-editor.c: Remove obsolete extern declaration. 2008-02-17 Martin Nordholts * bin/editor-optype.c: General cleanup and added static function proptotypes. 2008-02-16 Martin Nordholts * bin/editor-optype.h: New include file to contain the gegl_typeeditor_optype() function declaration (renamed from typeeditor_optype()). * bin/gegl-node-editor.c * bin/editor.c * bin/editor-optype.c: Use the new include file. * bin/Makefile.am: Added the new include file. 2008-02-16 Martin Nordholts * bin/gegl-node-editor.c: General code cleanup. 2008-02-16 Martin Nordholts * bin/gegl-node-editor.c: Removed dependency to editor.h. No need to directly call gegl_gui_flush() when changing operation properties for a node since the view will indirectly get updated anyway through the GeglNode::invalidated signal. 2008-02-16 Martin Nordholts * bin/gegl-node-editor.c: Remove dependency to gegl-view.h. 2008-02-16 Øyvind Kolås * bin/node-editors/Makefile.am: link against the custom gui plug-ins of the gegl library against libgegl. 2008-02-16 Øyvind Kolås * operations/Makefile-operations.am: link the operations against libgegl as well. 2008-02-15 Øyvind Kolås * configure.ac: added check to determine how to compile plug-ins, a bit of cleanup. * bin/node-editors/Makefile.am: * operations/Makefile-operations.am: make it work on darwin as well. 2008-02-13 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc), (gegl_swap_dir): added swapdir lookup function, with empty GEGL_SWAP ~/.gegl-0.0/swap is now used, set up a symlink to /tmp or /var/tmp if you want that kind of behavior. GEGL_SWAP=RAM causes gegl to use the old behavior of swapping to RAM. * gegl/gegl-init.c: (gegl_init) (gegl_exit): use gegl_swap_dir() to get at swap location for cleanup. (gegl_post_parse_hook): modified default module search path to include ~/.gegl-0.0/plug-ins/, also add a dummy Makefile to this dir if none exist. 2008-02-13 Øyvind Kolås * bin/editor.c: (editor_set_gegl): Force the cache used as projection (autogenerated from the node attached to the GeglView) into using the pixel format "R'G'B' u8". 2008-02-13 Kevin Cozens * gegl/gegl-chant.h: Added gegl_chant_parent_class and use it in gegl_chant_constructor() to work around borkness which has GType being defined differently in C++ than it is in C. Fixed error in compilation of exr-load.cpp op file. * operations/io/exr-load.cpp: Updated to new chanting API. 2008-02-13 Sven Neumann * configure.ac * gegl/Makefile.am: define GEGL_LOCALEDIR. * gegl/gegl-init.c (gegl_init_i18n): call bindtextdomain(). 2008-02-13 Sven Neumann * configure.ac: define GETTEXT_PACKAGE here so it ends up being defined in config.h. * gegl/gegl-plugin.h: glib/gi18n-lib.h must not be included in a public header file. * gegl/module/geglmodule.c * operations/color/brightness-contrast.c: changed accordingly. 2008-02-12 Øyvind Kolås * NEWS: * gegl/buffer/gegl-buffer.c: (gegl_buffer_get): * operations/meta/layer.c: (prepare), (attach): 2008-02-12 Øyvind Kolås * gegl/gegl-plugin.h: start using gettext for translation. * gegl/module/geglmodule.c: disabled old hacks for gettext. * operations/color/brightness-contrast.c: marked strings for translation. 2008-02-12 Øyvind Kolås * tools/operation_reference.c: (main): adapt to new stylesheet. 2008-02-12 Kevin Cozens * operations/io/Makefile.am: Echo ff-load.so when building the op. * docs/gallery/Makefile.am: Use graphviz executable found when configure was run. * docs/Makefile.am: Use enscript executable found when configure was run. Don't install files generated by enscript if enscript was not found when configure was run. Install gegl-plugin.h.html if built. * configure.ac: No need to AC_SUBST items set in AM_CONDITIONAL. Fixed up detection of enscript and graphviz. Added asciidoc and graphviz to summary of optional dependencies. 2008-02-12 Sven Neumann * gegl/gegl-init.c (gegl_post_parse_hook): minor code cleanup. 2008-02-12 Tor Lillqvist * gegl/gegl-init.c (gegl_post_parse_hook): Correct call of g_win32_get_package_installation_subdirectory() so that it actually finds the location of the gegl DLL, its current name being libgegl-0.0-0.dll. 2008-02-12 Sven Neumann * gegl/graph/gegl-node.c (gegl_node_get_debug_name): don't pass NULL to g_snprintf(); some other cleanups. 2008-02-12 Øyvind Kolås * gegl/operation/gegl-operation.h: improved indentation. 2008-02-11 Øyvind Kolås * operations/workshop/Makefile.am: removed site specific testing cflags. 2008-02-11 Kevin Cozens * operations/workshop/difference-of-gaussians.c: * operations/workshop/rawbayer-load.c: Updated to new chanting API. 2008-02-11 Sven Neumann * configure.ac: added check for asciidoc. * docs/Makefile.am: only build index.html when asciidoc is available. 2008-02-11 Øyvind Kolås * AUTHORS: modified to adhere to ascii doc style. * configure.ac: added docs/index-static.txt to list of files to generate. * tools/create-reference.rb: modified to make toc be an id and not a class for CSS. 2008-02-10 Kevin Cozens * operations/meta/dropshadow.c: * operations/meta/tonemap.c: * operations/meta/unsharp-mask.c: Updated to new chanting API. 2008-02-10 Øyvind Kolås * gegl/operation/gegl-operation-source.[ch]: removed context argument from subclass specific process(). * gegl/operation/gegl-operation.h: documentation++. * gegl/gegl-plugin.h: updated duplicated bits from headers. * gegl/gegl-old-chant.h: updated to reflect changes in API (note that the new gegl-chant.h didn't need changes when the classes used change :)). * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/fractal-explorer.c: * operations/render/noise.c: * operations/render/text.c: * operations/io/jpg-load.c: * operations/io/ff-load.c: * operations/io/exr-load.cpp: * operations/io/png-load.c: updated to new api. * operations/io/svg-load.c: request the pixelformat in prepare, updated to new api. * operations/io/raw-load.c: * operations/io/load-buffer.c: * operations/io/magick-load.c: * operations/render/introspect.c: * operations/io/pixbuf.c: override the process of GeglOperation directly, since these chear and don't write into a provided buffer (if possible, this should be changed). 2008-02-10 Kevin Cozens * operations/io/load-buffer.c: * operations/io/magick-load.c: * operations/io/raw-load.c: Updated to new chanting API. 2008-02-10 Øyvind Kolås * gegl/gegl-chant.h: renamed dummy_filler to chant_data, this means that operations implemented with the chanting framework has access to a location to store a reference to data in the form of a user struct that is created on demand and properly cleaned up in finalize. The pointer should be accesed like the chanted properties like: o->chant_data. 2008-02-10 Kevin Cozens * operations/io/display.c: Updated to new chanting API. 2008-02-10 Øyvind Kolås * bin/gegl.c: updated default composition/splash with a new one. 2008-02-10 Martin Nordholts * gegl/graph/gegl-node.[ch] * gegl/gegl.h: Make gegl_node_get_operation() take a const node. 2008-02-09 Øyvind Kolås * gegl/operation/gegl-operation.[ch]: moved gegl_operation_set_source_region() .. * gegl/operation/gegl-operations.c: .. here and made static. * gegl/gegl-plugin.h: updated copy from gegl-operation.h 2008-02-09 Øyvind Kolås xchg get_required_for_output, get_invalidated_by_change (wrong way around i previous commit.) 32 files changed, 232 insertions(+), 200 deletions(-) 2008-02-09 Øyvind Kolås %s/adjust_result_rect/get_cached_region/ * gegl/gegl-plugin.h: * gegl/operation/gegl-operation-source.c: (gegl_operation_source_class_init), (get_cached_region): * gegl/operation/gegl-operation.c: (gegl_operation_get_cached_region): * gegl/operation/gegl-operation.h: * gegl/process/gegl-cr-visitor.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/fractal-explorer.c: * operations/render/noise.c: 2008-02-09 Øyvind Kolås * gegl/operation/gegl-operation.c: removed accidental space. * operations/io/exr-load.cpp: did replacement for the C++ op as well. 2008-02-09 Øyvind Kolås %s/get_defined_region/get_bounding_box/g %s/compute_affected_region/get_required_for_output/g %s/compute_input_request/get_invalidated_by_change/g 53 files in 12 dirs 2008-02-09 Øyvind Kolås * operations/io/pixbuf.c: modified to be capable of receiving varying pixbufs and invalidate properly. * operations/workshop/ff-save.c: indentation improvement. 2008-02-09 Martin Nordholts * bin/gegl.c (DEFAULT_COMPOSITION): Fix broken default graph, use right Fractal Explorer operation name. 2008-02-06 Michael Natterer * gegl/buffer/gegl-buffer.c: add tons of g_return_if_fail() move includes to the start of the file, some formatting fixes * operations/io/raw-load.c (get_defined_region): don't dereference a NULL buffer. 2008-02-06 Michael Natterer * operations/io/exr-load.cpp: remove nick because this one uses the old chanting. 2008-02-06 Sven Neumann * gegl/gegl-chant.h: added nick to chanted properties. * operations/blur/box-blur.c * operations/blur/gaussian-blur.c * operations/color/brightness-contrast.c * operations/color/contrast-curve.c * operations/color/levels.c * operations/color/mono-mixer.c * operations/color/threshold.c * operations/color/whitebalance.c * operations/core/clone.c * operations/core/convert-format.c * operations/core/crop.c * operations/core/shift.c * operations/enhance/bilateral-filter.c * operations/enhance/snn-mean.c * operations/generated/math.rb * operations/io/exr-load.cpp * operations/io/jpg-load.c * operations/io/load.c * operations/io/pixbuf.c * operations/io/png-load.c * operations/io/png-save.c * operations/io/save-buffer.c * operations/io/save-pixbuf.c * operations/io/svg-load.c * operations/meta/layer.c * operations/render/checkerboard.c * operations/render/color.c * operations/render/fractal-explorer.c * operations/render/introspect.c * operations/render/noise.c * operations/render/text.c * operations/svg/svg_huerotate.c * operations/svg/svg_luminancetoalpha.c * operations/svg/svg_matrix.c * operations/svg/svg_saturate.c * operations/transparency/opacity.c * operations/workshop/box-max.c * operations/workshop/box-min.c * operations/workshop/box-percentile.c * operations/workshop/c2g.c * operations/workshop/demosaic-bimedian.c * operations/workshop/demosaic-simple.c * operations/workshop/disc-percentile.c * operations/workshop/kuwahara-max.c * operations/workshop/kuwahara-min.c * operations/workshop/kuwahara.c * operations/workshop/lens-correct.c * operations/workshop/line-profile.c * operations/workshop/mandelbrot.c * operations/workshop/max-envelope.c * operations/workshop/min-envelope.c * operations/workshop/snn-percentile.c * operations/workshop/stress.c: changed accordingly. 2008-02-05 Øyvind Kolås * operations/workshop/demosaic-simple.c: (demosaic): fixed rowstride issue introduce by api migration. 2008-02-05 Øyvind Kolås Applied patch from Bradley Broom fixing bug #510371 - Images with "negative x origin are not displayed or output correctly" * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc): take the requested offset into account for the shift. 2008-02-05 Øyvind Kolås * operations/enhance/bilateral-filter.c: adjust for recent changes in geometry due to api cleanups. 2008-02-05 Øyvind Kolås * operations/enhance/snn-mean.c: (prepare): specify formats on pads, adjust for geometry of input buffer in innerloop. 2008-02-05 Michael Natterer * gegl/property-types/gegl-color.[ch] * gegl/property-types/gegl-curve.[ch] * gegl/property-types/gegl-vector.[ch]: remove #ifdefs around macros, make public declaration of param spec type macros consistent, remove duplicate macros from .c files, indentation. 2008-02-05 Michael Natterer * gegl/property-types/gegl-color.h: indentation. * gegl/property-types/gegl-color.c: replace g_assert() by g_return_if_fail(). (gegl_param_spec_color): ref the default color. * gegl/property-types/gegl-vector.h: reorder stuff, cleanup. 2008-02-05 Øyvind Kolås * gegl/Makefile.am: install gegl-color.h and gegl-curve.h * gegl/gegl-plugin.h: removed paramspec declarations. * gegl/gegl.h: #include and * gegl/property-types/gegl-color.h: added paramspec definitions. * gegl/property-types/gegl-curve.h: added paramspec definitions. 2008-02-05 Sven Neumann * gegl/gegl-utils.[ch]: removed gegl_canonicalize_identifier() again. * gegl/gegl-chant.h: removed name and nick canonicalization again. 2008-02-05 Øyvind Kolås * gegl/operation/gegl-operation.h: removed comments making gegl_operation_get_format not publicly visible when including the header itself (like gegl-plugin.h currently does in the #if 1 case,.) 2008-02-05 Michael Natterer * gegl/graph/gegl-node.c: added tons of g_return_if_fail() and some minor cleanup. 2008-02-05 Michael Natterer * gegl/operation/gegl-operation.c: add G_STRFUNC to a warning and made precondition check warn nicer. 2008-02-05 Sven Neumann * gegl/gegl-utils.[ch]: added format function attributes to the log API. Declared local functions as static and removed unused code. 2008-02-05 Sven Neumann * gegl/gegl-utils.[ch]: sprinkled log functions with const qualifiers. 2008-02-05 Sven Neumann * gegl/gegl-utils.[ch]: added gegl_canonicalize_identifier(). * gegl/gegl-chant.h: canonicalize property names used as name and nick for param specs. 2008-02-05 Sven Neumann * operations/render/FractalExplorer.c: renamed to * operations/render/fractal-explorer.c 2008-02-05 Øyvind Kolås * operations/generated/math.rb: provide default values for the generated ops (made multiply, divide and gamma have 1.0). 2008-02-05 Øyvind Kolås * gegl/gegl-plugin.h: make GeglParamColor and it's type check public (quick hack for now, gegl-color.h should be installed). 2008-02-05 Øyvind Kolås * bin/gegl-node-editor-plugin.h: ripped string out of GeglModuleInfo struct. 2008-02-05 Øyvind Kolås * gegl/gegl-plugin.h: bumped the GEGL_MODULE_ABI_VERSION to 0x0006 and ripped out all the strings from the GeglModuleInfo struct. * gegl/gegl-chant.h: * gegl/gegl-old-chant.h: * gegl/module/geglmodule.c: * gegl/module/geglmodule.h: * operations/affine/module.c: 2008-02-04 Martin Nordholts * gegl/gegl.h: Corrections to the overview description of properties. 2008-02-04 Martin Nordholts * gegl/gegl.h: Add terminator-NULL to argument list of second gegl_node_link_many() example. 2008-02-04 Martin Nordholts * gegl/gegl.h: Fixed typo in documentation. 2008-02-04 Øyvind Kolås * operations/color/brightness-contrast.c: improved comments describing how the chanting system is used. 2008-02-03 Øyvind Kolås * operations/Makefile-operations.am: allow ops to include config.h in distcheck by allowing includes from top build_dir. 2008-02-03 Øyvind Kolås * gegl/gegl-plugin.h: modified to include the headers for gegl-operation and it's subclesses (either by #include or directly through an ifdef, not sure which direction to take yet) * gegl/gegl-chant.h: modified to only include gegl-plugin.h * gegl/gegl-old-chant.h: .. here as well. * operations/affine/affine.h: * operations/color/remap.c: * operations/io/load.c: * operations/meta/layer.c: * operations/render/text.c: * tools/operation_reference.c: modified to not include the gegl-operation-foo.h's directly, but rely on them being made available by gegl-plugin.h 2008-02-02 Øyvind Kolås * NEWS: updated with new changes. * AUTHORS: added Bradley Broom. 2008-01-31 Sven Neumann * operations/io/magick-load.c (load_cache): cleanup of filename handling. Use g_get_tmp_dir() instead of hardcoding "/tmp". 2008-01-31 Sven Neumann * operations/io/load.c (prepare): fixed error handling (again). 2008-01-31 Sven Neumann * gegl/graph/gegl-node.c * gegl/property-types/gegl-color.c: don't use sprintf. 2008-01-31 Sven Neumann * gegl/gegl-dot.c * gegl/gegl-xml.c: don't use sprintf. 2008-01-31 Øyvind Kolås * operations/io/load.c: migrated to new chanting API. 2008-01-30 Øyvind Kolås * operations/render/text.c: migrated to new chanting API. 2008-01-30 Øyvind Kolås * gegl/gegl-chant.h: updated gegl-chant for meta ops that do not need special handling of instance/class struct (not needed for the layer.c one for instance). 2008-01-30 Øyvind Kolås * operations/meta/layer.c: migrated to new chanting API. 2008-01-30 Øyvind Kolås * gegl/operation/gegl-operation.[ch]: removed gegl_operation_class_set_name, removed tickle virtual function. * gegl/gegl-old-chant.h: directly implement gegl_operation_class_set_name substitution. * operations/affine/chant.h: directly implement gegl_operation_class_set_name substitution. * gegl/gegl-plugin.h: increased GEGL_MODULE_ABI_VERSION to 0x05 * operations/color/remap.c: (gegl_operation_remap_class_init): set operation_class->name directly instead of using deprecated function. 2008-01-29 Kevin Cozens * bin/editor-optype.c: * bin/gegl-store.c: Use g_free() instead of free(). 2008-01-29 Sven Neumann * operations/workshop/hstack.c: define GEGL_CHANT_C_FILE to make it compile again. * operations/workshop/rawbayer-load.c (load_buffer): fixed string handling. * operations/workshop/box-max.c * operations/workshop/box-min.c * operations/workshop/c2g.c * operations/workshop/demosaic-bimedian.c * operations/workshop/demosaic-simple.c * operations/workshop/disc-percentile.c * operations/workshop/hstack.c * operations/workshop/kuwahara-max.c * operations/workshop/kuwahara-min.c * operations/workshop/kuwahara.c * operations/workshop/lens-correct.c * operations/workshop/line-profile.c * operations/workshop/max-envelope.c * operations/workshop/mblur.c * operations/workshop/min-envelope.c * operations/workshop/snn-percentile.c * operations/workshop/stress.c: use g_new() instead of g_malloc(). 2008-01-29 Michael Natterer * gegl/operation/gegl-operation-area-filter.c * gegl/operation/gegl-operation-composer.c: #include stuff only at the beginning of the file, reorder some declarations and function definitions, indentation, spacing, blah. 2008-01-29 Sven Neumann * operations/render/color.c * operations/render/text.c * operations/render/noise.c: use g_new() instead of g_malloc(). 2008-01-29 Sven Neumann * operations/enhance/bilateral-filter.c * operations/enhance/snn-mean.c * operations/io/ff-load.c: use g_new() instead of g_malloc(). * operations/io/load.c (prepare): fixed bug in error handling. * operations/meta/layer.c (prepare): fixed the same bug here. * operations/io/raw-load.c (load_buffer): fixed string handling. 2008-01-28 Sven Neumann * operations/blur/box-blur.c * operations/blur/gaussian-blur.c * operations/color/mono-mixer.c * operations/color/remap.c * operations/color/stretch-contrast.c: use g_new() instead of g_malloc() for readability and type safety. 2008-01-28 Sven Neumann * gegl/graph/gegl-node.[ch]: don't export gegl_node_signals array. 2008-01-28 Sven Neumann * gegl/module/geglmodule.c: allocate GeglModuleInfo using GSlice. 2008-01-28 Sven Neumann * gegl/gegl-xml.c (gegl_node_to_xml): allocate SerializeState on the stack. 2008-01-28 Sven Neumann * gegl/graph/gegl-visitor.c: allocate GeglVisitInfo using GSlice. 2008-01-28 Sven Neumann * gegl/operation/gegl-extension-handler.c: use a value_destroy_func to manage the values stored in the hash-table. 2008-01-28 Sven Neumann * bin/gegl-store.c: formatting. 2008-01-28 Sven Neumann * gegl/process/gegl-processor.c (gegl_processor_render): plugged a memory leak. 2008-01-28 Sven Neumann * gegl/graph/gegl-connection.[ch]: added gegl_connection_destroy() and GSlice-allocate the GeglConnection structs. * gegl/graph/gegl-node.c: changed accordingly. 2008-01-28 Sven Neumann * gegl/gegl-chant.h: Allocate the GeglChant0 struct using GSlice. Removed redundant G_IS_OBJECT() checks. 2008-01-28 Tor Lillqvist * gegl/operation/Makefile.am (OPERATIONS_headers): Fix typo: s/gegl-operations.c/gegl-operations.h/ 2008-01-27 Kevin Cozens * operations/workshop/generated/blend.rb: Updated to new chanting API. 2008-01-27 Kevin Cozens * operations/blur/box-blur.c (prepare): * operations/blur/gaussian-blur.c (prepare): Set output buffer format. 2008-01-27 Kevin Cozens * operations/core/clone.c: * operations/core/convert-format.c: * operations/core/crop.c: * operations/core/shift.c: * operations/io/jpg-load.c: * operations/io/pixbuf.c: * operations/io/png-load.c: * operations/io/png-save.c: * operations/io/save-buffer.c: * operations/io/save-pixbuf.c: * operations/io/svg-load.c: Updated to new chanting API. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/brightness-contrast.c * operations/color/invert.c * operations/color/mono-mixer.c * operations/color/stretch-contrast.c * operations/core/nop.c: Formatting changes. 2008-01-27 Øyvind Kolås Got rid of tickling, prepare should suffice for now. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/workshop/Makefile.am: * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-bimedian.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara.c: * operations/workshop/max-envelope.c: * operations/workshop/min-envelope.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: 2008-01-26 Kevin Cozens * operations/Makefile-operations.am: * operations/workshop/box-max.c: * operations/workshop/box-min.c: Formatting changes. * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-bimedian.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/grey.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/lens-correct.c: * operations/workshop/line-profile.c: * operations/workshop/mandelbrot.c: * operations/workshop/max-envelope.c: * operations/workshop/min-envelope.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: Updated to new chanting API. 2008-01-25 Øyvind Kolås * gegl/gegl-chant.h: added GEGL_CHANT() casting macro for casting objects to the chanted instance structure. 2008-01-25 Kevin Cozens * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/FractalExplorer.c: * operations/render/introspect.c: * operations/render/noise.c: * operations/svg/svg_huerotate.c: * operations/svg/svg_luminancetoalpha.c: * operations/svg/svg_matrix.c: * operations/svg/svg_saturate.c: * operations/transparency/opacity.c: Updated to new chanting API. 2008-01-25 Øyvind Kolås * gegl/gegl-chant.h: fixed mistake in handling of boiler-plate for GeglOperationMeta. 2008-01-24 Kevin Cozens * operations/generated/other-blend.rb: * operations/generated/svg-12-blend.rb: * operations/generated/svg-12-porter-duff.rb: Normalize _ to - in operation name. 2008-01-24 Kevin Cozens * operations/generated/math.rb: * operations/generated/svg-12-blend.rb: De-tabified. * operations/generated/other-blend.rb: * operations/generated/svg-12-porter-duff.rb: Fixed error in generation of operation_class_init(). De-tabified. 2008-01-24 Øyvind Kolås * operations/workshop/lens-correct.[ch]: added a lens correction operation from Bradley Broom . * operations/workshop/demosaic-bimedian.c: updated bimedian filter. Also modified the files to use "gegl-old-chant.h" for the chanting for now. 2008-01-24 Kevin Cozens * operations/generated/math.rb: * operations/generated/other-blend.rb: * operations/generated/svg-12-blend.rb: * operations/generated/svg-12-porter-duff.rb: Updated to generate files which use the new chanting API. 2008-01-24 Øyvind Kolås * operations/blur/box-blur.c: #include to quench compiler spew. 2008-01-24 Kevin Cozens * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: Minor formatting changes and function re-ordering for consistency with other updated op files. * operations/color/brightness-contrast.c: * operations/color/contrast-curve.c: * operations/color/invert.c: * operations/color/levels.c: * operations/color/mono-mixer.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/color/value-invert.c: * operations/color/whitebalance.c: Updated to new chanting API. 2008-01-24 Øyvind Kolås * gegl/gegl-chant.h: fixed mistake in handling of boiler-plate for GeglOperationPointComposer's. 2008-01-23 Kevin Cozens * bin/gegl-node-editor.c (type_editor_generic): Use the "changed" signal instead of "activate". Makes GEGL GUI more responsive to changes in property values. * gegl/gegl-chant.h: Deleted GEGL_CHANT_O #define in favour of GEGL_CHANT_PROPERTIES to avoid hiding what is being accessed. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/mono-mixer.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: Updated due to change in gegl-chant.h 2008-01-23 Øyvind Kolås * gegl/gegl-chant.h: Made the chanting less operation specific. * operations/core/nop.c: port to new chant system. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/invert.c: * operations/color/mono-mixer.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: updated to new terser chant system. 2008-01-23 Kevin Cozens * operations/blur/gaussian_blur.c: * operations/workshop/box_max.c: * operations/workshop/box_min.c: updated to new chanting API. 2008-01-23 Øyvind Kolås * operations/color/mono-mixer.c: updated to new chanting API. 2008-01-23 Øyvind Kolås * gegl/gegl-chant.h: use our own GEGL_DEFINE_DYNAMIC_OPERATION instead of hacking about with G_DEFINE_DYNAMIC_TYPE. * operations/blur/box-blur.c: update to new API. * operations/color/invert.c: update to new API. 2008-01-23 Øyvind Kolås * gegl/gegl-chant.h: allocate and free the properties structure manually, tweak the define type macro to generate the class name taking the GEGL_CHANT_C_FILE into account. * operations/blur/box-blur.c: ported to new chanting API. * operations/color/invert.c: ported to new chanting API. 2008-01-23 Øyvind Kolås * gegl/gegl-chant.h: new version of gegl-chant, that overrides less of gobject in a slightly more readable manner. 2008-01-23 Øyvind Kolås * gegl/Makefile.am: added old-chant.h to list of sources. * gegl/gegl-old-chant.h: created a copy of gegl-chant.h * operations/*/*.c: include gegl-old-chant.h instead of gegl-chant.h 2008-01-22 Sven Neumann * gegl/graph/gegl-pad.c (gegl_pad_get_depends_on): iterate over the list using a (GSList *) iter instead of an integer index. * gegl/buffer/gegl-buffer-save.c: count the tiles while adding them instead of requesting the list length. 2008-01-22 Øyvind Kolås Removed some public headers, the only way to get all the symbols and definitions needed for compiling gegl-plugins or other code needing acccess to types related to gegl plug-in infrastructure is now by including the catch-all gegl-plugin.h header. * gegl/Makefile.am: reduced number of installed headers. * gegl/module/geglmoduletypes.h: removed. * gegl/gegl-plugin.h: duplicate portions of private api to make it public. Moved operation abi version definition and geglmodule structure here. Modified the rest to accomodate change. * gegl/gegl-init.c: * gegl/gegl-types.h: * bin/gegl-node-editor-plugin.h: * gegl/module/Makefile.am: * gegl/module/geglmodule.h: * gegl/module/geglmoduledb.c: * gegl/module/geglmoduledb.h: * gegl/operation/gegl-operation.h: * operations/affine/affine.c: * operations/affine/chant.h: * operations/affine/module.h: 2008-01-21 Øyvind Kolås * gegl/gegl-plugin.h: added some functions that are not present in the installed header files that some operations depends on. Removing warnings about undefined prototypes for functions. 2008-01-21 Øyvind Kolås * operations/io/magick-load.c: define gegl_node_get cache directly in file to silence warning about missing prototype. 2008-01-21 Øyvind Kolås * gegl/gegl-plugin.h: include operations/gegl-extension-handler.h as well. * operations/affine/module.c: * operations/color/remap.c: * operations/color/threshold.c: * operations/color/value-invert.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/io/load.c: * operations/meta/layer.c: * operations/render/introspect.c: modified to include an absolute minimum of headers directly and rather include either gegl-plugin.h or gegl-chant.h (which itself pulls in gegl-plugin.h, gegl-plugin.h pulls in gegl.h for most of the gegl related environment and adds the extra APIs provided for operation plug-ins. 2008-01-21 Øyvind Kolås Started work towards a gegl-plugin.h file which will be similar to gegl.h in that it duplicates and documents API from internal header files. This file might replace some of the now installed headers as we get closer to the next release. * gegl/Makefile.am: install gegl-plugin.h * gegl/gegl-plugin.h: replaced contents with the installed plugin-api related headers. * gegl/gegl-chant.h: rewrote to only include gegl-plugin.h * gegl/gegl.h: modified multi include guards. * gegl/graph/gegl-node.h: modified multi include guards. * gegl/operation/gegl-operation.h: added GeglConnection to set of types defined here (these typedefs should be moved to gegl-plugin.h) * bin/export.c: * operations/affine/affine.c: modified to build with gegl-plugin.h as the core include. * tools/Makefile.am: * bin/Makefile.am: * bin/node-editors/Makefile.am: modified include paths to respect needs of gegl-plugin.h 2008-01-21 Sven Neumann * gegl/buffer/gegl-handler-cache.[ch]: changed to use a GQueue instead of a GSList. 2008-01-21 Sven Neumann * gegl/buffer/gegl-buffer-load.c * gegl/buffer/gegl-buffer-save.c: don't append to linked lists. Instead prepend all items, then reverse the list. 2008-01-21 Sven Neumann * gegl/graph/gegl-visitor.c (gegl_visitor_bfs_traverse): use GQueue instead of GSList when a double-ended queue is needed. 2008-01-21 Sven Neumann * gegl/process/gegl-processor.c: redid the change that introduces the use of GSlice for GeglRectangle; this time without the bug. 2008-01-21 Michael Natterer * gegl/graph/gegl-node.h * gegl/process/gegl-eval-mgr.h: cosmetic. * gegl/buffer/gegl-sampler-cubic.h: no need to inlcude anything but the parent class; cleanup. 2008-01-21 Øyvind Kolås * operations/color/remap.c: trimmed down headers included to the publically installed subset (introduces some warnings). 2008-01-21 Øyvind Kolås * AUTHORS: added Deji Akingunola * NEWS: appended more news for 0.0.16 release. 2008-01-21 Øyvind Kolås * gegl/gegl-init.c: (gegl_post_parse_hook): moved BABL_ERROR mangling of environment variable to be before babl_init(). 2008-01-21 Øyvind Kolås First shot at installing headers making it possible to build external operations, either as plug-ins or static objects in an application using GEGL. * gegl/Makefile.am: added gegl-chant.h and module/geglmodule*.h to the set of headers to be installed in the gegl header base dir. * gegl/module/geglmodule.h: added comment about module ABI versions, and updated instruction on when this ABI should be incremented. (we should probably allow a range of ABIs, one to be incremented on ABI addition and the lower threshold to be incremented on ABI change. * gegl/module/geglmoduletypes.h: removed invalid header. * gegl/gegl-chant.h: added comment at top. * gegl/graph/gegl-pad.h: moved definition of GeglPadType .. * gegl/gegl-types.h: .. here, as well as reorganized this file a bit to guard against multiple inclusion. * gegl/gegl.h: added some guards against multiple inclusion. The rest of these files were changed to make them compile, there are still some warnings about undeclared functions being issued that needs sorting out. * gegl/buffer/gegl-buffer-allocator.c: * gegl/buffer/gegl-buffer-load.c: * gegl/buffer/gegl-buffer-save.c: * gegl/buffer/gegl-buffer.c: * gegl/buffer/gegl-handler-cache.c: * gegl/buffer/gegl-region-generic.c: * gegl/buffer/gegl-tile.c: * gegl/gegl-dot.c: * operations/Makefile-operations.am: * operations/color/mono-mixer.c: * operations/io/exr-load.cpp: * operations/io/load-buffer.c: * operations/io/load.c: * operations/io/png-save.c: * operations/io/save-pixbuf.c: * operations/render/checkerboard.c: * operations/render/introspect.c: 2008-01-20 Øyvind Kolås * gegl/process/gegl-processor.c: reverted commit to use GSLice for GeglRectangle, the user gegl binary started crashing. (commandline processing that doesn't reset the rectangle on the processor still works fine though.) 2008-01-19 Øyvind Kolås * gegl/gegl-init.c: * gegl/graph/gegl-node.c: * gegl/process/gegl-need-visitor.c: added #include gegl-operations.h since some of the used funcitonality moved there from gegl-operation.h 2008-01-19 Øyvind Kolås * gegl/operation/gegl-operation.[ch]: moved some code that doesn't belong in the base GeglOperation implementation,. * gegl/operation/gegl-operations.[ch]: .. here to a separate file pertaining to all operations. * gegl/operation/Makefile.am: added gegl-operations.[ch] 2008-01-18 Øyvind Kolås * gegl/operation/Makefile.am: install operation header files in $(includedir)-0.0/operation/ * gegl/gegl-module.h: do not include gegl-types.h * gegl/gegl-types.h: added some ad-hoc guards against multiple typedefs. * gegl/graph/gegl-node-context.c: * gegl/graph/gegl-node.c: * gegl/operation/gegl-operation-area-filter.c: * gegl/operation/gegl-operation-composer.c: * gegl/operation/gegl-operation-filter.c: * gegl/operation/gegl-operation-meta.c: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * gegl/operation/gegl-operation-sink.c: * gegl/operation/gegl-operation-source.c: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation.h: * operations/affine/module.c: * operations/color/remap.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: modified to compile with header files modified to allow the operation headers being installed. 2008-01-19 Sven Neumann * gegl/operation/gegl-operation-meta.c: use GSlice for the Redirect struct. 2008-01-19 Sven Neumann * gegl/property-types/gegl-vector.c: use GSlice here as well. 2008-01-19 Sven Neumann * gegl/buffer/gegl-buffer-load.c * gegl/buffer/gegl-buffer-save.c: use GSlice for GeglTileEntry. 2008-01-18 Kevin Cozens * configure.ac: Changed library API version to be based on the major/minor number. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: Use gegl_buffer_get_pixel_count() instead of getting width/height separately and doing the math. 2008-01-18 Sven Neumann * gegl/buffer/gegl-buffer-load.c * gegl/buffer/gegl-buffer-save.c * gegl/buffer/gegl-handler-cache.c * gegl/buffer/gegl-tile-disk.c * gegl/buffer/gegl-tile-mem.c * gegl/graph/gegl-node-context.c * gegl/gegl-instrument.c: use GSlice in some more places. 2008-01-18 Sven Neumann * gegl/buffer/gegl-storage.c (get_property): always set the value. 2008-01-18 Sven Neumann * gegl/buffer/gegl-tile-backend.c: made "tile-width", "tile-height" and "format" construct-only properties. 2008-01-18 Sven Neumann * gegl/buffer/gegl-buffer-load.c (gegl_buffer_load): fixed pointer type. 2008-01-18 Sven Neumann * gegl/gegl-xml.c (gegl_node_new_from_xml): destroy the hash table. Allocate ParseData on the stack. Optimized use of GList. 2008-01-18 Sven Neumann * bin/gegl.c (main): removed a redundant call to g_strdup(). 2008-01-18 Sven Neumann * gegl/buffer/gegl-storage.c * gegl/buffer/gegl-buffer.c: minor cleanups, mainly formatting. 2008-01-18 Sven Neumann * gegl/buffer/gegl-tile-backend.h: don't needlessly use a void pointer for BablFormat. * gegl/buffer/gegl-tile-backend.c (get_property): actually implement the getter for the "format" property. 2008-01-18 Sven Neumann * gegl/buffer/gegl-tile.c: don't use GSlice for the tile data. 2008-01-18 Sven Neumann * gegl/process/gegl-processor.c: use GSlice for GeglRectangle. 2008-01-18 Sven Neumann * docs/Makefile.am * docs/gallery/Makefile.am: don't use export to pass environment variables, just pass them directly. 2008-01-18 Øyvind Kolås * gegl/Makefile.am: * gegl/gegl-init.c: made GEGL_PATH depend on libdir and not prefix, makes GEGL find it's ops also on 64bit systems. Patch from Deji Akingunola fixes bug #510038. 2008-01-18 Sven Neumann * gegl/process/gegl-processor.c: moved variables to inner scopes and removed some redundant casts. 2008-01-17 Øyvind Kolås Added gegl/buffer to the include paths of quite a few makefiles. * bin/node-editors/Makefile.am: * gegl/Makefile.am: * gegl/graph/Makefile.am: * gegl/process/Makefile.am: * tools/Makefile.am: 2008-01-17 Øyvind Kolås Reorganized all installed header files to end up in the same top-level folder. Please clean out your installed gegl headers before doing make install. External applications or libraries using GeglBuffer should strip the include down to . * bin/Makefile.am: * bin/gegl-node-editor.c: * gegl/Makefile.am: * gegl/buffer/Makefile.am: * gegl/gegl.h: * gegl/operation/Makefile.am: * gegl/operation/gegl-operation.h: * gegl/property-types/Makefile.am: 2008-01-17 Michael Natterer * gegl/operation/gegl-operation-area-filter.h * gegl/operation/gegl-operation-composer.h * gegl/operation/gegl-operation-filter.h * gegl/operation/gegl-operation-meta.h * gegl/operation/gegl-operation-point-composer.h: remove all includes except the parent class (which includes everything we need). 2008-01-17 Kevin Cozens * operations/workshop/Makefile.am: applied modified patch from Deji Akingunola which fixes syntax of 'if' used in the ff-save target. 2008-01-17 Øyvind Kolås * gegl/operation/gegl-operation.h: removed unused defines. 2008-01-17 Øyvind Kolås * operations/workshop/Makefile.am: applied patch from Deji Akingunola making the build of ff-save dependenton presence of ffmpeg libraries. 2008-01-17 Øyvind Kolås * gegl/operation/gegl-operation.h: prepend gegl/ to the include path for gegl/buffer/gegl-buffer.h which is needed when compiling against installed headers. 2008-01-16 Øyvind Kolås * gegl/operation/gegl-operation.h: include "buffer/gegl-buffer.h" instead of "buffer/gegl-buffer-types.h" since the latter will not be installed and gegl-operation.h will be. 2008-01-16 Michael Natterer * operations/core/shift.c: minor indentation fix in class_init(). 2008-01-16 Sven Neumann * gegl/graph/gegl-node.c (gegl_node_get_bounding_box): don't leak id. 2008-01-15 Øyvind Kolås * gegl/graph/gegl-node-context.c: (gegl_node_context_get_target): Improve development debug message about mising format, and fall back to RGBA float if no format is specified on the output pad. 2008-01-13 Øyvind Kolås * operations/workshop/demosaic-bimedian.c: Added a bimedian demosaicing filter contributed by Bradley Broom . 2008-01-12 Kevin Cozens * operations/io/ff-load.c: Added video to GEGL_CHANT_CATEGORIES. * operations/workshop/demosaic-simple.c: Use prepare() to set format for output buffer. 2008-01-10 Kevin Cozens * operations/Makefile.am: Don't rm compiled operation files here. * operations/Makefile-operations.am: Delete them here. * operations/generated/Makefile.am: Added Ruby files to EXTRA_DIST. 2008-01-10 Sven Neumann * operations/generated/Makefile.am: don't override automake targets, use MAINTAINERCLEANFILES instead. 2008-01-09 Kevin Cozens * operations/generated/Makefile.am: Remove generated .c files in maintainer-clean-generic. * gegl/gegl-chant.h: Removed context argument from GEGL_CHANT_COMPOSER. * operations/workshop/min-envelope.c: * operations/workshop/max-envelope.c: * operations/workshop/kuwahara.c: * operations/workshop/box-min.c: * operations/workshop/disc-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/gluas.c: * operations/workshop/box-max.c: * operations/workshop/hstack.c: * operations/workshop/box-percentile.c: * operations/workshop/mblur.c: * operations/workshop/stress.c: * operations/workshop/kuwahara-min.c: * operations/workshop/line-profile.c: * operations/workshop/kuwahara-max.c: * operations/workshop/snn-percentile.c: * operations/workshop/ff-save.c: * operations/workshop/gtk-display.c: removed context_id from arguments on process function. 2007-01-09 Hans Breuer * gegl/gegl-init.h : use PACKAGE_NAME rather than undefined PACKAGE for g_win32_get_package_installation_subdirectory(). Also don't do an explicit inclusion of gwin32.h, it is available by 2008-01-09 Øyvind Kolås * operations/workshop/mandelbrot.c: do not compute all of mandelbrot in first processing go, as well as reduce the defined reigon. 2008-01-08 Kevin Cozens * operations/render/FractalExplorer.c (process): Use g_object_get to determine pixel size instead of using a hard-coded value. The files listed below were updated due to changes in the API, and to make them compile. There is no guarantee they actually work. There are probably some reference counting issues that also need to be fixed. * gegl/gegl-chant.h: Added missing process() prototype for GEGL_CHANT_COMPOSER * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/ff-save.c: * operations/workshop/gluas.c: * operations/workshop/gtk-display.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara.c: * operations/workshop/line-profile.c: * operations/workshop/mandelbrot.c: * operations/workshop/max-envelope.c: * operations/workshop/mblur.c: * operations/workshop/min-envelope.c: * operations/workshop/rawbayer-load.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: Updated to new API. * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/kuwahara.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/snn-percentile.c: s/"inputt"/"input"/ 2008-01-08 Manish Singh * operations/io/display.c: removed context_id arg from process function here too. 2008-01-08 Øyvind Kolås * gegl/operation/gegl-operation-composer.[ch]: removed context_id from arguments on process function. * gegl/operation/gegl-operation-filter.[ch]: .. same * gegl/operation/gegl-operation-sink.[ch]: .. and same. * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: adapt to above change. * gegl/gegl-chant.h: reflect above change. * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/mono-mixer.c: * operations/color/stretch-contrast.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/io/png-save.c: * operations/io/save-buffer.c: * operations/io/save-pixbuf.c: moved to new API. 2008-01-08 Øyvind Kolås * operations/workshop/stress.c: moved to newer API. * operations/color/remap.c: unchanted. 2008-01-08 Øyvind Kolås * operations/core/crop.c: use doubles not floats .. * operations/core/shift.c: .. like the rest of the GEGL ops. 2008-01-08 Øyvind Kolås * operations/core/crop.c: turned into a non chanted operation that derives directly from GeglOperation instead of GeglOperationFilter. 2008-01-08 Øyvind Kolås * operations/core/clone.c: turned into a non chanted operation that derives directly from GeglOperation instead of GeglOperationFilter. * operations/core/nop.c: removed erronious buffer reference. * operations/core/shift.c: removed erronious buffer reference. 2008-01-07 Øyvind Kolås * operations/core/shift.c: (gegl_operation_shift_class_init): set categories. * operations/core/nop.c: turned into a non chanted operation that derives directly from GeglOperation instead of GeglOperationFilter. 2008-01-07 Øyvind Kolås %s/GEGL_PAD_OUTPUT/GEGL_PARAM_PAD_OUTPUT/ %s/GEGL_PAD_INPUT/GEGL_PARAM_PAD_INPUT/ * gegl/gegl-chant.h: * gegl/graph/gegl-pad.c: * gegl/graph/gegl-pad.h: * gegl/operation/gegl-operation-composer.c: * gegl/operation/gegl-operation-filter.c: * gegl/operation/gegl-operation-sink.c: * gegl/operation/gegl-operation-source.c: * operations/affine/chant.h: * operations/color/remap.c: * operations/core/shift.c: 2008-01-08 Michael Natterer * operations/core/shift.c: more cleanup. 2008-01-07 Øyvind Kolås * AUTHORS: added Hans Breuer * NEWS: updated a bit. 2008-01-07 Øyvind Kolås * operations/core/shift.c: (detect): fixed regression in hit detection. 2008-01-08 Michael Natterer * operations/core/shift.c: cleanup, use G_DEFINE_DYNAMIC_TYPE(). 2008-01-07 Øyvind Kolås * configure.ac: depend on glib-2.14.1 or newer. 2008-01-07 Øyvind Kolås * operations/affine/affine.c: (process): do not unref the input (that is done in the GeglOperationFilter superclass. 2008-01-07 Øyvind Kolås * operations/core/shift.c: turned into a non chanted operation that derives directly from GeglOperation instead of GeglOperationFilter. 2008-01-07 Michael Natterer * gegl/graph/gegl-pad.[ch] (struct GeglPad): changed member "format" from "gpointer" to "const Babl*". (gegl_pad_get_format) (gegl_pad_set_format): changed gpointer to const Babl* too. * gegl/operation/gegl-operation.[ch] (gegl_operation_set_format): constified Babl* parameter. (gegl_operation_get_format): new function. * gegl/graph/gegl-node.c * gegl/graph/gegl-node-context.c * gegl/operation/gegl-operation-point-filter.c * gegl/operation/gegl-operation-point-composer.c: changed accordingly (constified Babl*). 2008-01-06 Kevin Cozens * gegl/gegl-init.c: Made variable module_db global to file. Unref it in gegl_exit(). * gegl/module/geglmoduledb.c: (valid_module_name): Use G_MODULE_SUFFIX instead of a hard-coded suffix. * gegl/property-types/gegl-color.c (value_set_default): * gegl/property-types/gegl-curve.c (value_set_default): * gegl/property-types/gegl-vector.c (value_set_default): Removed call to g_object_ref() that was causing a ref count error. 2008-01-07 Øyvind Kolås * gegl/graph/gegl-node-context.c: added some extra debug output for missing formats on pads (to be ignored for some core ops for now, but gives better guidance when things crash.) * gegl/operation/gegl-operation-composer.[ch] * gegl/operation/gegl-operation-filter.[ch]: * gegl/operation/gegl-operation-sink.[ch]: * gegl/operation/gegl-operation-source.[ch]: added the buffers being read from/written to as arguments of the process functions in the base classes for the common operation types. The rest of the files modified were modifications to update to newer API. * gegl/gegl-chant.h: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/mono-mixer.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/io/display.c: * operations/io/exr-load.cpp: * operations/io/ff-load.c: * operations/io/jpg-load.c: * operations/io/load-buffer.c: * operations/io/magick-load.c: * operations/io/pixbuf.c: * operations/io/png-load.c: * operations/io/png-save.c: * operations/io/raw-load.c: * operations/io/save-buffer.c: * operations/io/save-pixbuf.c: * operations/io/svg-load.c: * operations/render/FractalExplorer.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/introspect.c: * operations/render/noise.c: * operations/render/text.c: * operations/workshop/stress.c: 2008-01-06 Kevin Cozens * operations/workshop/ff-save.c (process): Updated due to changes in API. Added FIXME as a reminder to replace the deprecated img_convert() with sws_scale(). 2008-01-06 Michael Natterer * gegl/buffer/gegl-handler-cache.c * gegl/buffer/gegl-handler-empty.c * gegl/buffer/gegl-handler-log.c * gegl/buffer/gegl-handler-zoom.c * gegl/buffer/gegl-handler.c * gegl/buffer/gegl-handler.h * gegl/buffer/gegl-handlers.c * gegl/buffer/gegl-provider.h * gegl/buffer/gegl-tile-backend.c: some forgotten s/TILE_STORE/PROVIDER/ and s/TILE_TRAIT/HANDLER/ plus some cleanups. 2008-01-06 Øyvind Kolås * gegl/process/gegl-eval-visitor.c: (visit_pad): added some comments. 2008-01-06 Michael Natterer * gegl/buffer/gegl-buffer-allocator.h * gegl/buffer/gegl-buffer-load.h * gegl/buffer/gegl-buffer-private.h * gegl/buffer/gegl-buffer-save.h * gegl/buffer/gegl-buffer-types.h * gegl/buffer/gegl-buffer.h * gegl/buffer/gegl-cache.h * gegl/buffer/gegl-handler-cache.h * gegl/buffer/gegl-handler-empty.h * gegl/buffer/gegl-handler-log.h * gegl/buffer/gegl-handler-zoom.h * gegl/buffer/gegl-handler.h * gegl/buffer/gegl-handlers.h * gegl/buffer/gegl-provider.h * gegl/buffer/gegl-region-generic.h * gegl/buffer/gegl-region.h * gegl/buffer/gegl-sampler-lanczos.h * gegl/buffer/gegl-sampler-linear.h * gegl/buffer/gegl-sampler-nearest.h * gegl/buffer/gegl-sampler.h * gegl/buffer/gegl-storage.h * gegl/buffer/gegl-tile-backend.h * gegl/buffer/gegl-tile-disk.h * gegl/buffer/gegl-tile-mem.h * gegl/buffer/gegl-tile.h * gegl/operation/gegl-extension-handler.h * gegl/operation/gegl-operation-area-filter.h * gegl/operation/gegl-operation-composer.h * gegl/operation/gegl-operation-filter.h * gegl/operation/gegl-operation-meta.h * gegl/operation/gegl-operation-point-composer.h * gegl/operation/gegl-operation-point-filter.h * gegl/operation/gegl-operation-sink.h * gegl/operation/gegl-operation-source.h * gegl/operation/gegl-operation.h * gegl/property-types/gegl-color.h * gegl/property-types/gegl-curve.h: header cleanup: added missing GEGL_IS_FOO() macros, unified include guards, indentation, remove tons of includes, remove trailing whitespace, stuff... 2008-01-06 Michael Natterer * gegl/buffer/gegl-buffer-save.c: #include "config.h" 2007-01-06 Hans Breuer [porting to build with win32/msvc, see bug #507288] * gegl/buffer/gegl-buffer-allocator.c : use HAVE_UNISTD_H, include process.h for win32 and declare variables at the start of the block (C89 requirement) * gegl/buffer/gegl-buffer-load.c : use HAVE_UNISTD_H and #include on win32 * gegl/buffer/gegl-buffer-save.c : -"-, define S_IRUSR * gegl/buffer/gegl-buffer.c gegl/buffer/gegl-sampler-linear.c gegl/buffer/gegl-sampler-nearest.c : declare variables at the start of a block * gegl/buffer/gegl-provider.c gegl/process/gegl-processor.c : use G_STRFUNC rather than raw gcc __func__ * gegl/buffer/gegl-tile-disk.c : #include "config.h" at the beginning of the file, use HAVE_UNISTD_H, some conditional defines like #define ftruncate(f,d) g_win32_ftruncate(f,d) * gegl/buffer/gegl-tile-mem.c gegl/buffer/gegl-tile.c : #include config.h, use HAVE_UNISTD_H * gegl/gegl-init.c : on win32 resolve module directory at runtime, not compile time * gegl/gegl-utils.[ch] : a 'pure' inline function can not be exported as well, either _gegl_float_epsilon_equal needs to be implemented in the header or not be inline * gegl/gegl-xml.c : #include "config.h", define PATH_MAX if needed * gegl/graph/gegl-node.c : use G_STRFUNC * gegl/module/gegldatafiles.c : #include "config.h" and define S_ISREG etc * gegl/gegl-chant.h operations/color/remap.c : use G_MODULE_EXPORT to mark gegl_module_query and gegl_module_register for export * gegl/operations/affine/affine.c : s/strcasecmp/g_strcasecmp/ * gegl/operations/affine/module.[ch] : use G_MODULE_EXPORT * gegl/operations/core/convert-format.c gegl/operations/workshop/mblur.c : c99ism - mixed declaration and implementation * gegl/operations/enhance/bilateral-filter.c : use g_alloca() instead of a gcc-only dynamic sized array on the stack * gegl/operations/generated/math.rb : define powf() for msvc build * gegl/operations/io/raw-load.c : use HAVE_UNISTD_H and define popen/pclose for msvc * tools/operation_reference.c : config.h and HAVE_UNISTD_H * bin/gegl.c : work-around another msvc limitation (C2026: string too big, trailing characters truncated) In fact it is more a line-too-long limit. * bin/editor.c : define PATH_MAX * bin/gegl-node-editor.c : HAVE_UNISTD_H * bin/gegl-node-editor.c : if (0) is not enough for msvc to get rid of the unresolved StockIcon(), use #if 0 2008-01-05 Manish Singh * operations/affine/affine.c: update compute_affected_region() implementation here too. 2008-01-05 Michael Natterer * gegl/buffer/gegl-buffer-private.h * gegl/buffer/gegl-buffer-save.[ch] * gegl/buffer/gegl-cache.[ch] * gegl/buffer/gegl-region-generic.c * gegl/buffer/gegl-region.h * gegl/gegl.h * gegl/graph/gegl-node.[ch] * gegl/operation/gegl-operation.[ch] * gegl/process/gegl-processor.[ch]: clean up signal code, made GeglRectangle parameters const, add some g_return_if_fail() and changed some g_assert() into g_return_if_fail(), some formatting cleanup. 2008-01-05 Øyvind Kolås * gegl/process/gegl-processor.c: (gegl_node_new_processor), set the need rect on the "loose" GeglNodeContext. This makes the contents of the gallery render correctly again. 2008-01-05 Michael Natterer * operations/core/crop.c * operations/core/shift.c * operations/color/remap.c: forgot compute_affected_region() implementations in these files. 2008-01-05 Michael Natterer * gegl/operation/gegl-operation.[ch] (compute_affected_region): changed "GeglRectangle input" parameter to "const GeglRectangle *input_region". * gegl/operation/gegl-operation-area-filter.c * gegl/graph/gegl-node.c: changed accordingly. 2008-01-05 Øyvind Kolås Made the process methods of operations take a GeglNodeContext instead of a context_id, this GeglNodeContext contains the logic to perform concurrent bookkeeping of data on pads of nodes. * gegl/gegl-chant.h: * gegl/graph/gegl-node-context.[ch]: * gegl/operation/gegl-operation-composer.[ch]: * gegl/operation/gegl-operation-filter.[ch]: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * gegl/operation/gegl-operation-sink.[ch]: * gegl/operation/gegl-operation-source.[ch]: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation.h: * gegl/process/gegl-eval-visitor.c: * gegl/process/gegl-processor.c: * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/mono-mixer.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/io/display.c: * operations/io/exr-load.cpp: * operations/io/ff-load.c: * operations/io/jpg-load.c: * operations/io/load-buffer.c: * operations/io/magick-load.c: * operations/io/pixbuf.c: * operations/io/png-load.c: * operations/io/png-save.c: * operations/io/raw-load.c: * operations/io/save-buffer.c: * operations/io/save-pixbuf.c: * operations/io/svg-load.c: * operations/render/FractalExplorer.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/introspect.c: * operations/render/noise.c: * operations/render/text.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/gluas.c: * operations/workshop/gtk-display.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara.c: * operations/workshop/line-profile.c: * operations/workshop/mandelbrot.c: * operations/workshop/max-envelope.c: * operations/workshop/mblur.c: * operations/workshop/min-envelope.c: * operations/workshop/rawbayer-load.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: 2008-01-05 Øyvind Kolås Renamed GeglNodeDynamic to GeglNodeContext. * gegl/gegl-types.h: * gegl/graph/Makefile.am: * gegl/graph/gegl-node-context.c: * gegl/graph/gegl-node-context.h: * gegl/graph/gegl-node-dynamic.c: * gegl/graph/gegl-node-dynamic.h: * gegl/graph/gegl-node.c: * gegl/graph/gegl-node.h: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation.h: * gegl/process/gegl-cr-visitor.c: * gegl/process/gegl-debug-rect-visitor.c: * gegl/process/gegl-eval-mgr.c: * gegl/process/gegl-eval-visitor.c: * gegl/process/gegl-finish-visitor.c: * gegl/process/gegl-prepare-visitor.c: * gegl/process/gegl-processor.c: 2008-01-04 Manish Singh * operations/io/display.c * operations/io/ff-load.c: Updated to match recent API changes. 2008-01-03 Øyvind Kolås Removed context_id argument from prepare method, added const GeglRectangle *result to base process and many of the process protoypes in other base classes to simplify logic in operations. * gegl/gegl-chant.h: * gegl/operation/gegl-operation-filter.c: * gegl/operation/gegl-operation-composer.c: * gegl/operation/gegl-operation-filter.h: * gegl/operation/gegl-operation-area-filter.c: * gegl/operation/gegl-operation-composer.h: * gegl/operation/gegl-operation-source.c: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation-sink.c: * gegl/operation/gegl-operation-source.h: * gegl/operation/gegl-operation.h: * gegl/operation/gegl-operation-sink.h: * gegl/operation/gegl-operation-point-filter.c: * gegl/operation/gegl-operation-point-composer.c: * gegl/process/gegl-eval-visitor.c: * gegl/process/gegl-prepare-visitor.c: * gegl/process/gegl-eval-mgr.c: * gegl/process/gegl-processor.c: * operations/render/color.c: * operations/render/text.c: * operations/render/introspect.c: * operations/render/checkerboard.c: * operations/render/FractalExplorer.c: * operations/render/noise.c: * operations/svg/svg_huerotate.c: * operations/svg/svg_luminancetoalpha.c: * operations/svg/svg_matrix.c: * operations/svg/svg_saturate.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/meta/layer.c: * operations/io/png-load.c: * operations/io/save-buffer.c: * operations/io/raw-load.c: * operations/io/magick-load.c: * operations/io/exr-load.cpp: * operations/io/svg-load.c: * operations/io/load.c: * operations/io/png-save.c: * operations/io/load-buffer.c: * operations/io/save-pixbuf.c: * operations/io/pixbuf.c: * operations/io/jpg-load.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/convert-format.c: * operations/core/nop.c: * operations/core/shift.c: * operations/affine/affine.c: * operations/transparency/opacity.c: * operations/workshop/min-envelope.c: * operations/workshop/max-envelope.c: * operations/workshop/kuwahara.c: * operations/workshop/grey.c: * operations/workshop/box-min.c: * operations/workshop/disc-percentile.c: * operations/workshop/box-max.c: * operations/workshop/c2g.c: * operations/workshop/gluas.c: * operations/workshop/demosaic-simple.c: * operations/workshop/hstack.c: * operations/workshop/generated/blend.rb: * operations/workshop/box-percentile.c: * operations/workshop/mblur.c: * operations/workshop/stress.c: * operations/workshop/kuwahara-min.c: * operations/workshop/line-profile.c: * operations/workshop/kuwahara-max.c: * operations/workshop/snn-percentile.c: * operations/workshop/mandelbrot.c: * operations/workshop/ff-save.c: * operations/workshop/gtk-display.c: * operations/workshop/rawbayer-load.c: * operations/generated/svg-12-blend.rb: * operations/generated/other-blend.rb: * operations/generated/math.rb: * operations/generated/svg-12-porter-duff.rb: * operations/color/contrast-curve.c: * operations/color/brightness-contrast.c: * operations/color/remap.c: * operations/color/whitebalance.c: * operations/color/stretch-contrast.c: * operations/color/mono-mixer.c: * operations/color/threshold.c: 2008-01-03 Michael Natterer * gegl/buffer/gegl-sampler-cubic.h * gegl/buffer/gegl-sampler-lanczos.h * gegl/buffer/gegl-sampler-linear.h * gegl/buffer/gegl-sampler-nearest.h * gegl/operation/gegl-operation-area-filter.h * gegl/operation/gegl-operation-composer.h * gegl/operation/gegl-operation-filter.h * gegl/operation/gegl-operation-meta.h * gegl/operation/gegl-operation-point-composer.h * gegl/operation/gegl-operation-point-filter.h * gegl/operation/gegl-operation-sink.h * gegl/operation/gegl-operation-source.h: use G_BEGIN/END_DECLS, renamed parent members to "parent_instance" and "parent_class", removed lots of useless includes, some formatting cleanup. 2007-12-30 Kevin Cozens * operations/workshop/gluas.c (set_rgba_pixel): Updated due to change in gegl_buffer_set. Pass GEGL_AUTO_ROWSTRIDE in gegl_buffer_set() call. 2007-12-30 Kevin Cozens * bin/node-editors/Makefile.am: * operations/Makefile.am: * operations/workshop/Makefile.am: Use SHREXT instead of hard-coded ".so". 2007-12-30 Michael Natterer * gegl/graph/gegl-node.c (gegl_node_set_valist): don't forget to unset the GValues after setting the property. 2007-12-30 Øyvind Kolås * gegl/process/gegl-processor.c: Changed processing chunks size to 256*256. 2007-12-30 Øyvind Kolås * gegl/graph/gegl-node.c: (gegl_node_blit): make it possible to call with a NULL buffer (if only the side-effects of processing is desired). * gegl/process/gegl-eval-mgr.c: (gegl_eval_mgr_apply): pull on the input instead of output when it seems like we're operating on a sink that accepts incremental consumption of data. * gegl/process/gegl-eval-visitor.c: (visit_pad): do processing on for sink op on the input pad. * gegl/process/gegl-processor.c: added code path to allow processing of subregions. The logic in this file needs refactoring and simplification, with paralellization in mind. 2007-12-30 Øyvind Kolås Made it possible for subclasses of GeglOperationSink to specify whether they need all data in one go or not. * gegl/operation/gegl-operation-sink.h: added needs_full boolean to class structure. * gegl/operation/gegl-operation-sink.c: added gegl_operation_sink_needs_full query method. * operations/io/display.c: * operations/io/png-save.c: * operations/io/save-buffer.c: * operations/io/save-pixbuf.c: * operations/workshop/ff-save.c: Updated writing operations that need the full buffer to say so. 2007-12-30 Michael Natterer * gegl/graph/gegl-node.c: made "operation" a read/write property. 2007-12-29 Michael Natterer * gegl/gegl.h: added GEGEL_IS_FOO() type checking macros for the public object types. 2007-12-29 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_set): pass the rowstride as rowstride, not the power of 2 zoom level. 2007-12-29 Manish Singh * operations/io/ff-load.c: update to match new API. 2007-12-29 Øyvind Kolås * operations/io/exr-load.cpp: updated with GEGL_AUTO_ROWSTRIDE. 2007-12-29 Øyvind Kolås * gegl/buffer/gegl-buffer.h: documentation update for rowstride in gegl_buffer_set/_get. 2007-12-29 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: added rowstride parameter to gegl_buffer_set, changing it to be GEGL_AUTO_ROWSTRIDE should preserve previous behaviour. * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * gegl/process/gegl-processor.c: * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/mono-mixer.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: * operations/enhance/bilateral-filter.c: * operations/enhance/snn-mean.c: * operations/io/jpg-load.c: * operations/io/pixbuf.c: * operations/io/png-load.c: * operations/io/raw-load.c: * operations/io/svg-load.c: * operations/render/FractalExplorer.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/noise.c: * operations/render/text.c: added GEGL_AUTO_ROWSTRIDE to instances of gegl_buffer_set. * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/gtk-display.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara.c: * operations/workshop/line-profile.c: * operations/workshop/mandelbrot.c: * operations/workshop/max-envelope.c: * operations/workshop/mblur.c: * operations/workshop/min-envelope.c: * operations/workshop/rawbayer-load.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: updated for constified GeglRectangles, babl formats and added rowstride to gegl_buffer_set. 2007-12-29 Sven Neumann * gegl/graph/gegl-node.c (set_property): pass NULL as varargs to gegl_node_set_op_class() instead of using an uninitialized variable. 2007-12-29 Øyvind Kolås * gegl/operation/gegl-operation-composer.c: * gegl/operation/gegl-operation-filter.c: * gegl/operation/gegl-operation-meta.c: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * gegl/operation/gegl-operation-sink.c: * gegl/operation/gegl-operation-sink.h: * gegl/operation/gegl-operation-source.c: * gegl/operation/gegl-operation-source.h: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation.h: Modified includes in headers to facilitate a copy of the GEGL headers living in GIMP. 2007-12-29 Michael Natterer * gegl/operation/gegl-operation-area-filter.c * gegl/operation/gegl-operation-composer.c * gegl/operation/gegl-operation-filter.c * gegl/operation/gegl-operation-point-composer.c * gegl/operation/gegl-operation-point-filter.c * gegl/operation/gegl-operation-sink.c * gegl/operation/gegl-operation-source.c * gegl/operation/gegl-operation.[ch] * operations/affine/affine.c * operations/color/mono-mixer.c * operations/color/remap.c * operations/color/stretch-contrast.c * operations/core/shift.c * operations/enhance/bilateral-filter.c * operations/enhance/snn-mean.c * operations/io/display.c * operations/io/png-save.c * operations/io/save-buffer.c * operations/render/FractalExplorer.c * operations/render/checkerboard.c * operations/render/checkerboard.c * operations/render/color.c * operations/render/noise.c * operations/render/text.c * operations/render/text.c: constified some API using GeglRectangle. 2007-12-29 Øyvind Kolås * gegl/property-types/gegl-vector.[ch]: added stand-in path implementation ripped from horizon for point storage. 2007-12-29 Øyvind Kolås * bin/export.c: * gegl/buffer/gegl-buffer-allocator.c: * gegl/buffer/gegl-buffer-allocator.h: * gegl/buffer/gegl-buffer-private.h: * gegl/buffer/gegl-buffer.c: * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-cache.h: * gegl/gegl-chant.h: * gegl/gegl-init.c: * gegl/gegl-plugin.h: * gegl/gegl-types.h: * gegl/gegl.h: * gegl/graph/gegl-node.c: * gegl/graph/gegl-node.h: * gegl/operation/gegl-operation.c: * gegl/operation/gegl-operation.h: * gegl/process/gegl-processor.c: * gegl/property-types/Makefile.am: * gegl/property-types/gegl-paramspecs.c: * operations/io/png-save.c: * operations/io/save-pixbuf.c: * operations/render/Makefile.am: * operations/workshop/Makefile.am: constified BablFormats. 2007-12-28 Michael Natterer * gegl/operation/gegl-operation-sink.c (process): remove semicolon after if(). Some general formatting cleanup. 2007-12-28 Manish Singh * configure.ac: support some alternate forms of detecting lua. 2007-12-28 Øyvind Kolås * operations/io/save-buffer.c: reindented. 2007-12-28 Øyvind Kolås * operations/io/save-buffer.c: (process): resolved warning: ISO C90 forbids mixed declarations and code. 2007-12-21 Kevin Cozens * gegl/operation/gegl-operation.h: * gegl/operation/gegl-operation.c (gegl_operation_gtype_cleanup): Added cleanup function for gtype_hash. Fixes bug #481730. * gegl/gegl-init.c (gegl_exit): Call new cleanup function. 2007-12-21 Kevin Cozens * gegl/graph/gegl-node.c: Applied patch from Deji Akingunola which fixes bug #498784 (compilation error on Alpha). 2007-12-20 Kevin Cozens * gegl/buffer/gegl-buffer-allocator.c * gegl/process/gegl-eval-mgr.c: Use g_getenv instead of getenv. 2007-12-20 Sven Neumann * gegl.pc.in: fixed spelling of GEGL and description. 2007-12-12 Kevin Cozens * tools/operation_reference.c: Minor changes to improve formatting of generated HTML. 2007-12-11 Kevin Cozens * operations/workshop/gluas.c: Applied patch from Deji Akingunola. which completes build failure fixes. See bug #502554. 2007-12-11 Kevin Cozens * operations/Makefile-operations.am: Add any .h files to EXTRA_DIST as this is included by the Makefile's in all operations directories. * operations/affine/Makefile.am: * operations/workshop/Makefile.am: Don't add .h files to EXTRA_DIST. 2007-12-11 Étienne Bersac * operations/io/save-buffer.c: Use gegl_buffer_create_sub_buffer in order to get proper buffer extent. 2007-12-10 Øyvind Kolås * gegl/graph/gegl-node.[ch]: made s/GeglNodePriv/GeglNodePrivate/, also moved opaque typedef to header. 2007-12-10 Øyvind Kolås * gegl/graph/gegl-node.[ch]: removed gegl_node_disable cache, the cache is a per instance singleton, and the lifetime should be that of the node. * bin/editor.c: (cb_recompute): if#0'd out use of gegl_node_disable_cache. 2007-12-08 Kevin Cozens * operations/workshop/Makefile.am: Added EXTRA_DIST to include header files found in the directory when a tarball is created. 2007-12-08 Øyvind Kolås * bin/editor.c: commented away last bit of Introspection related code. 2007-12-08 Øyvind Kolås * bin/gegl.c: added missing authors from GEGL splash. 2007-12-08 Øyvind Kolås * configure.ac: post release bump of version to 0.0.15 ========================== 0.0.14 released ================================== 2007-12-08 Øyvind Kolås * configure.ac: bumped version to 0.0.14 2007-12-08 Øyvind Kolås * bin/editor.c: stubbed and commented away the introspection action from the menus. 2007-12-08 Øyvind Kolås * bin/editor.c: (cb_about): adjust text in about dialog for license change. * operations/render/color.c: changed documentation string for value property. * operations/render/noise.c: do not attempt rendering all of the perlin-noise space. 2007-12-08 Øyvind Kolås * NEWS: added news summary for 0.0.14. * AUTHORS: added Tor Lillqvist. 2007-12-08 Øyvind Kolås * bin/gegl-view.c: (finalize), (task_monitor): stop the idle timeout when the view is destroyed. 2007-12-08 Øyvind Kolås * gegl/gegl-init.c: include gegl-extension-handler.h 2007-12-08 Øyvind Kolås * gegl/operation/gegl-extension-handler.[ch]: (gegl_extension_handler_cleanup) explicitly specify void as parameter list. 2007-12-08 Øyvind Kolås * gegl/process/gegl-processor.c: Changed processing block 256x256. 2007-12-03 Martin Nordholts * gegl/graph/gegl-node.c (gegl_node_add_child) (gegl_node_remove_child): Use more explicit names for variables holding private data for `self' and `child'. Also fixed a copy-paste mistake in gegl_node_remove_child() introduced when merging gegl-graph.c with gegl-node.c. 2007-11-29 Øyvind Kolås Renamed GeglInterpolator (and related subclasses) GeglSampler. 2007-11-27 Manish Singh * gegl/gegl-chant.h: setting GeglColors and GeglCurves should use g_value_dup_object so a ref is taken on the passed in object. 2007-11-27 Manish Singh * gegl/gegl-xml.c: don't call g_file_get_contents on the same file twice, and make sure declarations are before statements. 2007-11-27 Martin Nordholts * gegl/graph/gegl-node.h: Cosmetics on the function propotyopes merged from gegl-graph.h. 2007-11-27 Martin Nordholts * gegl/graph/gegl-node.[ch]: Made the `cache' member of GeglNode public and the rest of the private-marked members g_type_class_add_private() managed. Also merged gegl-graph.[ch] into here. * gegl/graph/gegl-graph.[ch]: Removed. * gegl/graph/Makefile.am: Removed gegl-graph.[ch]. * gegl/gegl-xml.c: * gegl/gegl-plugin.h: * gegl/operation/gegl-operation.c: Removed gegl-graph.h reference. 2007-11-27 Øyvind Kolås Applied patch from Jesper de Jong fixing bug #481593. * gegl/operation/gegl-extension-handler.[ch]: (gegl_extension_handler_cleanup): added cleanup function for list of file handler associations. * gegl/gegl-init.c: (gegl_exit): call cleanup function upon quit. 2007-11-26 Øyvind Kolås * bin/node-editors/Makefile.am: do not install the custom gui's for some apps by default. (point GEGL_PATH to this dir in addition to the regular GEGL_PATH, or move the .so's to GEGL_PATH to enable them.) The reason they are removed is that they result in unresolved symbols when loaded by other GEGL using apps than the sample binary. 2007-11-26 Øyvind Kolås * AUTHORS: added Shlomi Fish to list of people contributing documentation. 2007-11-25 Kevin Cozens 'make distcheck' works once again with this set of changes. * configure.ac: Added --enable-workshop to allow optional building of workshop operations. Updated results to show whether workshop will be built, and if Lua is available. * bin/Makefile.am: Don't build files in node-editors directory if GTK+ is not available. * bin/node-editors/Makefile.am: Don't include /gui at end of the install commands since it is already in ext_dir. * operations/Makefile.am: Only include workshop sub-directory when configure was run with --enable-workshop option. * operations/workshop/Makefile.am: Use LUA_CFLAGS and LUA_LIBS determined during ./configure instead of calling lua-config. 2007-11-25 Martin Nordholts * bin/editor.c (cb_zoom_in, cb_zoom_out): Fix zooming when using menu/keys. Zoom straight in/out without panning. 2007-11-25 Øyvind Kolås * bin/Makefile.am: * bin/node-editors/Makefile.am: Build and install the cairo based custom GUIs for editing the properties of some operations. 2007-11-24 Øyvind Kolås API renaming: gegl_parse_file -> gegl_node_new_from_file gegl_parse_xml -> gegl_node_new_from_xml gegl_to_xml -> gegl_node_to_xml * gegl/gegl.h: * gegl/gegl-xml.c: * gegl/gegl-xml.h: * operations/io/magick-load.c: (load_cache): * bin/editor.c: * bin/gegl.c: 2007-11-24 Manish Singh * operations/color/contrast-curve.c: convert to match GeglCurve API change to use gdoubles. 2007-11-24 Øyvind Kolås * gegl/property-types/gegl-curve.[ch]: (gegl_curve_new): switched to use gdoubles in public api instead of floats. * gegl/gegl.h: updated this copy of the function prototypes as well. * gegl/gegl-xml.c: (xml_curve): updated to use doubles instead of floats. 2007-11-21 Øyvind Kolås * gegl/property-types/gegl-curve.[ch]: reindented, removed C++ style comments. 2007-11-19 Shlomi Fish * gegl/gegl.h: fixed "an CSS style color string." into "a CSS-style color string." in the documentation. 2007-11-19 Shlomi Fish * docs/index-static.html.in: fixed "GEGLs" into "GEGL's" and "GIMPs" into "GIMP's" in the homepage. 2007-11-18 Shlomi Fish * gegl/gegl.h: clarified a sentence in the docs for gegl_node_process. Thanks to pippin for suggesting a better sentence, which I revised. 2007-11-18 Shlomi Fish * gegl/gegl.h: fixed the formatting of "--" to "---" to make sure it is formatted as a code block. 2007-11-18 Øyvind Kolås * gegl/gegl.h: fixed it's typo (from rindolf) * gegl/buffer/gegl-buffer.h: documented getter macros. fixed it's type (from rindolf) 2007-11-13 Kevin Cozens * docs/Makefile.am: Additional fixes needed for distcheck. 2007-11-13 Kevin Cozens * configure.ac * Makefile.am: Changed method used to make building of docs optional. Fix needed for distcheck. 2007-11-14 Øyvind Kolås * tools/introspect.c: - make the generated markup valid XHTML 1.0 Transitional. - Use the devhelp css (to work around what is probably a rendering glitch in gecko.) 2007-11-13 Øyvind Kolås Moved bilateral-filter, ssn-mean, contrast-curve, mono-mixer and value-invert from the workshop to be official operations for the next release. * configure.ac: added enhance Makefile.am * operations/Makefile.am: added enhance subdir * operations/enhance/: added directory. * operations/enhance/Makefile.am: added * operations/workshop/bilateral-filter.c: moved ... * operations/enhance/bilateral-filter.c: ... here * operations/workshop/snn-mean.c: moved ... * operations/enhance/snn-mean.c: ... here * operations/workshop/contrast-curve.c: moved ... * operations/color/contrast-curve.c: ... here * operations/workshop/mono-mixer.c: moved ... * operations/color/mono-mixer.c: ... here * operations/workshop/value-invert.c: moved ... * operations/color/value-invert.c: ... here 2007-11-13 Øyvind Kolås * gegl/operation/gegl-operation-point-composer.c: (fast_paths): silence gcc about potentially unintialized variable. 2007-11-13 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: renamed gegl_buffer_extent to gegl_buffer_get_extent. Made marked GeglRectangle parameters of GeglRectangle methods as const. renamed gegl_buffer_x gegl_buffer_y gegl_buffer_width gegl_buffer_height and gegl_buffer_pixel_count to to containt _get_ as well. * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/stretch-contrast.c: * operations/io/exr-load.cpp: * operations/io/load-buffer.c: * operations/io/raw-load.c: * operations/render/introspect.c: * operations/workshop/bilateral-filter.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara.c: * operations/workshop/max-envelope.c: * operations/workshop/min-envelope.c: * operations/workshop/rawbayer-load.c: * operations/workshop/snn-mean.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: 2007-11-13 Øyvind Kolås * tools/create-reference.rb: modified to write a gegl.devhelp file into the current directory in addition to generating the requested html document. 2007-11-13 Kevin Cozens * bin/gegl-node-editor.c: Left align label for colour button. Center colour button in second column. 2007-11-13 Øyvind Kolås * gegl/operation/gegl-operation-point-composer.c: (gegl_operation_point_composer_class_init): disable caching for the over-op for now. 2007-11-13 Øyvind Kolås Removed type-checking from casts directly involved in the tile-bus. * gegl/buffer/gegl-handler.c: (get_tile), (message): * gegl/buffer/gegl-handlers.c: (get_tile), (message): * gegl/buffer/gegl-provider.c: (gegl_provider_get_tile), (gegl_provider_message): 2007-11-13 Øyvind Kolås * gegl/buffer/gegl-buffer-private.h: added ->storage field to cache the GeglStorage of a buffer. * gegl/buffer/gegl-buffer.c: (get_tile): replace type-checked casts, replace lookup of storage with the cached version in the buffer itself. (gegl_buffer_iterate): lookup the tile_width and tile_height on cached GeglStorage instead of traversing buffer chain to get at storage. * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc): make direct use of the buffer->storage. * gegl/buffer/gegl-buffer-save.c: (gegl_buffer_save): make direct use of buffer->storage. 2007-11-12 Øyvind Kolås * gegl/buffer/gegl-buffer-private.h: added minimum and maximum x,y and z tile indices valid for a buffer. * gegl/buffer/gegl-buffer.c: (get_tile): check if the currently gotten tile exceeds the current limits. (gegl_buffer_init): start out with 0,0,0,0,0 for the tile inidices extents. (gegl_buffer_void): avoid sending TILE_VOID messages down the tile bus unnecesarily. 2007-11-12 Øyvind Kolås * operations/meta/layer.c: (prepare), (attach), (class_init): copied the implementation of the load op into the layer op instead of creating a separate GEGL instance for loading the buffer (and keeping it around). This is an intermediate solution until the layer meta-op can invoke the layer-op directly as one of it's children. 2007-11-12 Kevin Cozens * operations/meta/layer.c: (refresh_cache): unref the created buffer here since node_blit increments ref count twice. 2007-11-12 Øyvind Kolås * gegl/graph/gegl-graph.c: (gegl_node_get_pad_proxy): unref the created proxy node, since gegl_node_add_child increments the reference count (and should hold the only reference). 2007-11-11 Øyvind Kolås * gegl/buffer/gegl-cache.c: (gegl_cache_class_init): added dispose as well as finalize. (dispose): unreference node we rely on. (set_property): do not add a reference to the node the cache is based on, this reference made the dispose of nodes with caches not being called at all. 2007-11-11 Øyvind Kolås * replaced civic address for FSF with URL to in copyright statements at top of source files. 2007-11-11 Kevin Cozens * bin/gegl-node-editor.c: Use check boxes for boolean parameters. 2007-11-11 Øyvind Kolås * operations/generated/other-blend.rb: made "over" op refuse caching due to fast-path optimization in gegl-operation-point-composer for the "over" op that conflict with the caching system. 2007-11-10 Øyvind Kolås * gegl/buffer/gegl-cache.c: (gegl_cache_computed): emit the right signal (invalidated was being emitted). 2007-11-10 Øyvind Kolås * operations/meta/layer.c: (refresh_cache): removed reference to deprecated property "cache" for the load op. 2007-11-10 Øyvind Kolås * gegl/buffer/gegl-cache.[ch]: moved all signal related hooks to the .c file. Assed gegl_cache_computed() which triggers the computed signal of the cache. * gegl/process/gegl-eval-visitor.c: (visit_pad): use gegl_cache_computed() * gegl/process/gegl-processor.c: (render_rectangle): use gegl_cache_computed() 2007-11-10 Øyvind Kolås * operations/io/load.c: (class_init): simplified code, set as non-caching (the actual loaders used by the meta-op "load" do the needed caching, as well as expansion of result rects in the default implementations in the GeglOperationSource base class. 2007-11-09 Øyvind Kolås Upgraded GEGL from (L)GPLv2 to (L)GPLv3. The library itself and the operations are under LGPLv3 and the sample programs using the GEGL library are licensed under GPLv3. Copyright statements in all files have been updated to reflect this change, the permission to use leter versions of the GNU licenses have been retained in all instances.) * COPYING: changed to GPLv3 * COPYING.LESSER: added (LGPLv3 's exceptions over GPLv3) 2007-11-09 Øyvind Kolås * bin/export.[ch]: added GPLv.2 or later heading to files. 2007-11-09 Øyvind Kolås * operations/workshop/envelopes.h: reverted to more simpler envelope computation that provides minimum envelopes that are more intuitively correct. 2007-11-09 Øyvind Kolås * gegl/gegl-dot.[ch]: adjusted license from GPLv2 or later to LGPLv2 or later, it being GPL was a copy and paste mistake. 2007-11-05 Øyvind Kolås * gegl/process/gegl-processor.c: (render_rectangle): do extra sanity check that a rectangle just about to be rendered is not already rendered. 2007-11-05 Øyvind Kolås * gegl/process/gegl-eval-visitor.c: (visit_pad): Emit "computed" signal for cache (and thus in turn node) if a cache is associated with the node being processed. 2007-11-05 Øyvind Kolås * bin/gegl-view.c: (expose_event): deleted deprecated comment. 2007-11-04 Øyvind Kolås * gegl/gegl.h: added gegl_parse_file() * gegl/gegl-xml.[ch]: (gegl_parse_file): added API function that loads a gegl composition from disk, which automatically computes the path_root needed when it internally calls gegl_parse_xml. 2007-10-31 Tor Lillqvist * configure.ac: Bump glib_required_version to 2.10.0 as g_slice and other API new in GLib 2.10 are used. 2007-10-23 Øyvind Kolås * bin/gegl-view.[ch]: moved all private information from the header to the c file. * bin/editor.c: (play), (cb_recompute): adapted to change. * bin/export.c: (button_render_clicked): adapted to change. 2007-09-29 Manish Singh * bin/gegl.c: Call g_clear_error() properly. 2007-09-26 Kevin Cozens * bin/gegl.c: Use g_clear_error() instead of g_error_free() as suggested by Sven Neumann. * gegl/graph/gegl-node.c: Removed obsolete #include statements. * gegl/process/gegl-processor.c: Fixed a possible memory leak. * operations/Makefile-operations.am: Fixed path to gegl library. From a patch by Deji Akingunola. This change plus the recent change in bin/Makefile.am fixes bug #477215. 2007-09-25 Kevin Cozens * bin/Makefile.am: Fix to make link stage find the needed gtk+ libraries when building with automake-1.10. 2007-09-25 Kevin Cozens * bin/gegl.c: Removed some unref's left in by mistake. Don't call g_error_free () unless 'err' is not NULL. 2007-09-24 Kevin Cozens * bin/gegl.c: Minor tidying up of the code. Fixed some memory leaks. * bin/gegl-options.c: Trivial changes including fixing wrapping of a usage information. * gegl/gegl.h: Fixed a couple of grammatical errors. * gegl/gegl-xml.c (gegl_parse_xml): Fixed a memory leak. * gegl/buffer/gegl-interpolator-cubic.c: Fixed tests for type of interpolation to be performed in gegl_interpolator_cubic_prepare(). 2007-09-25 Étienne Bersac * operations/core/convert-format.c: Added convert-format op created from grey op. 2007-09-23 Étienne Bersac * operations/io/save-buffer.c: Change save-buffer to only returns GeglBuffer address instead of creating another buffer. save-buffer is now the exact reverse op of load-buffer. 2007-09-22 Étienne Bersac * configure.ac: Added --disable-docs ./configure switch. * operations/io/save-pixbuf.c: make save-pixbuf more robust if no data are passed as input. 2007-09-17 Øyvind Kolås * AUTHORS: added Håkon Hitland. * gegl/gegl-xml.c: (serialize_properties), (serialize_layer): applied patch from Håkon Hitland that fixes relative paths in serialization of relative paths. Fixes bug #477339. 2007-09-16 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (resample_nearest): added an optimized code path for the nearest neighbour case, since it seems to contain some slight inprecision the original unoptimized code is left beside it #if 0'd out. 2007-09-16 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate): fix rendering glitch due to incorrect handling of rowstride. 2007-09-16 Øyvind Kolås * gegl/buffer/gegl-buffer.c: added logic to make use of rowstride argument of gegl_node_blit and gegl_buffer_get. 2007-09-16 Øyvind Kolås * gegl/gegl.h: modified order of arguments for gegl_node_blit (scale comes before rectangle) as well as added GEGL_AUTO_ROWSTRIDE =0 define to be used for automatic computation of rowstride for gegl_node_blit and gegl_buffer_get * gegl/buffer/gegl-buffer.[ch]: modified order of arguments for gegl_buffer_get() as well as added a rowstride argument. These files in the gegl core needed changes to adapt: * bin/export.c: * bin/gegl-view.c: * gegl/buffer/gegl-cache.c: * gegl/buffer/gegl-interpolator.c: * gegl/graph/gegl-node.[ch]: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: * gegl/operation/gegl-operation.c: * gegl/process/gegl-processor.c: And all operations were touched as well. * operations/*/*.c: * operations/*/*/*.c: 2007-09-16 Øyvind Kolås * gegl/buffer/gegl-buffer.c: improved precision of rendering in gegl_buffer_get slightly. 2007-09-15 Øyvind Kolås * operations/color/stretch-contrast.c: (prepare): specify desired input and output formats. (change suggested by Håkon Hitland). 2007-09-15 Øyvind Kolås Modified the behavior of the interaction between scale parameter and rectangle requested from gegl_buffer_get as well as gegl_node_blit. The scale is now applied first, and the coordinates/extent describes an operation on this transformed buffer. The behavior for scale==1.0 remains is unchanged. Fixes some display glitches, but display is still not artifact free. * gegl/buffer/gegl-buffer.c: changed interpretation of scale/rect. * gegl/buffer/gegl-buffer.h: updated documentation. * gegl/gegl.h: updated documentation. * bin/gegl-view.c: updated use of coordinates to reflect new behavior. 2007-09-14 Kevin Cozens * configure.ac: Define name of gegl library file. * gegl/gegl-init.c: Use name of gegl library defined when ./configure was run. 2007-09-14 Øyvind Kolås %s/gegl_provider /gegl_tile_store / reverting an erroneous regexp refactoring replacement. * gegl/buffer/gegl-tile.[ch]: * gegl/buffer/gegl-handler-cache.c: 2007-09-14 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get and friends )replaced the bilinear resampling from the next larger level with a box filter. Only for 8bit formats for now. 2007-09-13 Øyvind Kolås * gegl/buffer/gegl-cache.c: (gegl_cache_invalidate): removed accidentally added debug printf. 2007-09-13 Øyvind Kolås * operations/**/*.c: modified not to use extent accessors instead of poking directly into GeglBuffer's deprecated ->width, ->height, ->x and ->y members. 2007-09-13 Øyvind Kolås * gegl/buffer/gegl-buffer-private.[ch]: made the abyss and extent in GeglBuffer be GeglRectangles. * gegl/buffer/gegl-buffer.[ch]: added gegl_buffer_x() gegl_buffer_y() gegl_buffer_width(), gegl_buffer_height() and gegl_buffer_pixel_count() macros, and modified gegl_buffer_extent() and gegl_buffer_abyss() return const GeglRectangles. Modified the following accordingly: * gegl/buffer/gegl-buffer-allocator.c: * gegl/buffer/gegl-buffer-save.c: * gegl/buffer/gegl-cache.c: * gegl/buffer/gegl-interpolator-cubic.c: * gegl/buffer/gegl-interpolator-lanczos.c: * gegl/operation/gegl-operation-point-composer.c: * gegl/operation/gegl-operation-point-filter.c: 2007-09-13 Øyvind Kolås * gegl/gegl-utils.[ch]: (gegl_rectangle_bounding_box), (gegl_rectangle_intersect), (gegl_rectangle_copy), (gegl_rectangle_contains), (gegl_rectangle_equal), (gegl_rectangle_equal_coords): sprinkled const on GeglRectangle * parameters in function prototype/defintion. 2007-09-13 Øyvind Kolås * operations/workshop/generated/blend.rb: disabled some more of ops duplicated by recent SVG 1.2 draft conformant operations. 2007-09-13 Øyvind Kolås * gegl/operation/gegl-operation.c: (gegl_operation_set_source_region): intersect the requested region with the available region, making the rectangle needed from the child smaller. 2007-09-12 Øyvind Kolås * operations/workshop/generated/blend.rb: disabled compositing ops that are also implemented according to the SVG 1.2 draft spec. 2007-09-12 Øyvind Kolås * operations/meta/dropshadow.c: (attach): s/"in"/"src-in"/ due to new name according to SVG 1.2 draft spec. 2007-09-11 Kevin Cozens * autogen.sh: Added check for existence of automake-1.10. Fixes bug #474507. 2007-09-12 Øyvind Kolås Fixed some of the GeglBuffer modernization fixes that apparently were rushed into fashion a bit quickly. * operations/workshop/mblur.c: (init): * operations/workshop/mono-mixer.c: (process): * operations/workshop/rawbayer-load.c: (load_buffer): 2007-09-12 Øyvind Kolås Added new composer ops based on the SVG-1.2 draft specification from patch by John Marshall. (bug #474249) * autogen.sh: * operations/generated/other-blend.rb: added * operations/generated/svg-12-blend.rb: added * operations/generated/svg-12-porter-duff.rb: added * operations/generated/svg-blend.rb: deleted * operations/generated/porter-duff.rb: deleted 2007-09-12 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_set): added FIXME about nuking cached interpolators on buffer change. 2007-09-12 Øyvind Kolås Commited broken, but compiling incarnations of the cubic and lanczos interpolators. * gegl/buffer/gegl-interpolator-cubic.c: * gegl/buffer/gegl-interpolator-lanczos.c: 2007-09-12 Øyvind Kolås * operations/affine/affine.c: Removed offset remaining from when the affine code kept it's own linear buffer. * gegl/buffer/gegl-interpolator.c: Removed counter offset. 2007-09-11 Øyvind Kolås * gegl/buffer/gegl-interpolator.c: (dispose): unreference the buffer used as source upon destroying of the interpolator. 2007-09-11 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_interpolation_from_string): added a convenience function to lookup interpolation type enum from string. * operations/affine/affine.c: (process): use the convenience function. 2007-09-11 Øyvind Kolås * gegl/buffer/gegl-buffer.h: added GEGL_INTERPOLATION_LINEAR to GeglInterpolation enum. * gegl/buffer/gegl-buffer.c: (pset,pget): fixed offset issue, (gegl_buffer_sample): construct the specified interpolator. 2007-09-11 Øyvind Kolås Reworked GeglInterpolator framework to use a small context cache buffer. Only properly implemented for nearest neighbour and bi-linear for now. * gegl/buffer/gegl-interpolator.c: use a cache-buffer of 16x16 pixels as the source buffer for doing interpolations. * gegl/buffer/gegl-interpolator.h: s/->input/->buffer/, added context_pixels which indicates the neighbourhood needed by an interpolator. * gegl/buffer/gegl-interpolator-linear.c: changed the factors used around to achieve correct interpolation. Modified to work with the new smaller linear cache-buffer. Override the default from GeglInterpolator of 0 context to be 1px radius of context. * gegl/buffer/gegl-interpolator-nearest.c: modified to work with the new smaller linear cache-buffer. 2007-09-11 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc): use a boundary of one unused tile between allocated buffers. 2007-09-10 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc): remove extra space used between allocated buffers now that abyss behavior is more consistent. * gegl/buffer/gegl-storage.c: Changed the (default) tile size for GeglBuffers to be 128x64 based on profiling. 2007-09-10 Øyvind Kolås * gegl/buffer/gegl-handler.h: cast parameter of gegl_handler_get_provider macro to a (GeglHandler*). 2007-09-10 Øyvind Kolås * operations/core/crop.c: (process): reordered lines to avoid accessing unintiazlied variable. 2007-09-10 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor): when inheriting parent abyss, also inherit origin. (gegl_buffer_iterate): use the computation of skipped left/right portions of tile due to abyss intersection for writing as well. 2007-09-09 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (pset, pget, gegl_buffer_iterate): simplified shifting arithmetic. (gegl_buffer_set): use gegl_buffer_create_sub_buffer 2007-09-09 Øyvind Kolås Migrated to using gegl_buffer_new gegl_buffer_create_sub_buffer instead of g_object_new (GEGL_TYPE_BUFFER, ..., NULL); where possible. * gegl/operation/gegl-operation-point-composer.c: (fast_paths): * gegl/operation/gegl-operation.c: (gegl_operation_process): * operations/core/crop.c: (process): * operations/core/shift.c: (process): * operations/io/display.c: (process): * operations/io/pixbuf.c: (process): * operations/io/raw-load.c: (load_buffer): * operations/io/svg-load.c: (process): * operations/render/introspect.c: (process): * operations/workshop/line-profile.c: (process): * operations/workshop/mandelbrot.c: (process): * operations/workshop/mblur.c: (init): * operations/workshop/mono-mixer.c: (process): * operations/workshop/rawbayer-load.c: (load_buffer): 2007-09-09 Øyvind Kolås Made gegl_buffer_new accept NULL parameters (constructing a "NULL buffer" when passed a zero extent). * gegl/buffer/gegl-buffer.h: updated documentation. * gegl/buffer/gegl-buffer.c: (gegl_buffer_class_init): accept -1 for abyss extent. (pset, pget): eliminated duplicated subexpressions. (gegl_buffer_new): accept NULL parameters. 2007-09-08 Øyvind Kolås * gegl/buffer/gegl-buffer-private.h: documented every field of the private GeglBuffer struct. 2007-09-08 Øyvind Kolås * gegl/buffer/gegl-buffer-private.h: removed total_shift fields. * gegl/buffer/gegl-buffer.c: use shift_x and shift_y for the purposes total_shift_x and total_shift_y used to be used for. * gegl/buffer/gegl-buffer-save.c: %s/total_//g * gegl/buffer/gegl-buffer-load.c: %s/total_//g 2007-09-08 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_copy): use the height of the source rect not the source buffer for iterating through rows when copying. 2007-09-06 Øyvind Kolås * gegl/operations/*/*.c: modified to use "provider" instead of "source" property when doing low-level GeglBuffer actions, also replaced some sub-buffer creations with gegl_buffer_create_sub_buffer. 2007-09-06 Øyvind Kolås Made GeglTileStore become GeglTileProvider. * gegl/buffer/Makefile.am: * gegl/buffer/*.[ch]: * gegl/graph/gegl-node.c: 2007-09-06 Øyvind Kolås * gegl/buffer/Makefile.am: * gegl/buffer/*.[ch]: renamed files and substituted strings like s/GeglTileZoom/GeglHandlerZoom/ 2007-09-06 Øyvind Kolås * gegl/buffer/*: renamed files to get rid of "trait" term. 2007-09-06 Øyvind Kolås * gegl/buffer/Makefile.am: * gegl/buffer/*.[ch]: %s/GeglTileTrait/GeglHandler/ %s/trait/handler. 2007-09-01 Øyvind Kolås * MAINTAINERS: added. 2007-08-23 Øyvind Kolås Applied patch from John Marshall , adding INSTALLED_ITEMS to makefiles to make plug-ins be removed upon make uninstall. * operations/Makefile-operations.am: * operations/affine/Makefile.am: 2007-08-06 Étienne Bersac * gegl/gegl.h: Added G_*_DECLS stanza in order to allow using gegl from c++ 2007-08-01 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_sample): used cubic interpolation by default in the scaffolding code since it seems to be a less buggy implementation than the linear one. 2007-07-31 Øyvind Kolås Modified caching hints for some of the renderer operations. * operations/render/FractalExplorer.c: do not expand result rect (but do cache). * operations/render/checkerboard.c: do not expand result rect (and do not cache). * operations/render/color.c: do not expand result rect (and do not cache). 2007-07-31 Øyvind Kolås * operations/io/load.c: (dispose), (prepare), (attach): rewritten to use the core provided caching framework instead of it's own ad-hoc cache. 2007-07-31 Øyvind Kolås * gegl/process/gegl-cr-visitor.c: (visit_node): only extand the result rect if the result for this node is not cached. 2007-07-31 Øyvind Kolås Started migration towards the partially functional caching framework rewrite, the GEGL codebase is losing stability, not everything is functional yet and portions of the tests in the gallery are processed slower than they used to be. * gegl/process/gegl-eval-visitor.c: (visit_pad): fill cache if it is set up, avoid processing at all if the data in the cache is sufficient. * gegl/graph/gegl-node.h: * gegl/operation/gegl-operation-source.c: (adjust_result_region): expand to full bounding box by default (override in subclasses by setting the virtual function to NULL) * gegl/operation/gegl-operation.[ch]: (gegl_operation_adjust_result_region): new method backed by virtual function. (gegl_operation_get_target): added caching behavior (disabled by #ifdef for now.) 2007-07-31 Øyvind Kolås * operations/affine/affine.c: (affine_generic), (process): force a reinitialization of the interpolator associated with a buffer before sampling, as well as invoke gegl_buffer_sample_cleanup after we're done. 2007-07-31 Øyvind Kolås Start of cleaning up of interpolated getter functions, also sprinkled with some FIXME's that needs to be addressed later. * gegl/buffer/gegl-buffer-private.h: Added a persistent interpolator field for the buffer. * gegl/buffer/gegl-buffer.c: (gegl_buffer_dispose), (gegl_buffer_sample), (gegl_buffer_sample_cleanup): use a GeglInterpolator as the backend for gegl_buffer_sample. * gegl/buffer/gegl-interpolator-cubic.c: * gegl/buffer/gegl-interpolator-lanczos.c: * gegl/buffer/gegl-interpolator-linear.c: * gegl/buffer/gegl-interpolator-nearest.c: * gegl/buffer/gegl-interpolator.c: * gegl/buffer/gegl-interpolator.h: refactored and cleaned up interpolators. 2007-07-27 Øyvind Kolås * gegl/buffer/gegl-buffer.h: improved API documentation. * gegl/gegl.h: reordered sections of API documentation. * tools/create-reference.rb: made more headings special cased for the sake of improved visual grouping in the menu/toc. 2007-07-26 Øyvind Kolås * gegl/buffer/gegl-buffer.h: Increased documentation coverage. * tools/create-reference.rb: special case CSS style of a couple of section headings for better visual grouping in menu. 2007-07-21 Øyvind Kolås The virtual function definitions do not belong in the sub-classes. * gegl/buffer/gegl-interpolator-cubic.h: * gegl/buffer/gegl-interpolator-lanczos.h: * gegl/buffer/gegl-interpolator-linear.h: * gegl/buffer/gegl-interpolator-nearest.h: 2007-07-18 Manish Singh * operations/render/checkerboard.c * operations/render/color.c: remove references to adjust_result_region in GeglOperationClass, since it doesn't exist yet. 2007-07-17 Øyvind Kolås Removed unneeded GEGL_BUFFER cast of returned values from gegl_operation_get_target. * operations/color/remap.c: (process): * operations/color/stretch-contrast.c: (process): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process), (class_init): * operations/render/color.c: (process), (class_init): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/workshop/gluas.c: (process): 2007-07-17 Øyvind Kolås * operations/io/exr-load.cpp: Make use of gegl_operation_get_target to make the results of the exr importer cacheable. 2007-07-16 Øyvind Kolås * gegl/graph/gegl-node.c: (gegl_node_get_cache): create the cache based on the pixel format requested on the pad of the node. 2007-07-16 Øyvind Kolås * operations/io/ff-load.c: Make use of gegl_operation_get_target to make the results of the ffmpeg frame importer cacheable. 2007-07-16 Øyvind Kolås Make use of gegl_operation_get_target to make the results of file loaders cacheable. * operations/io/jpg-load.c: * operations/io/png-load.c: 2007-07-16 Øyvind Kolås * operations/render/checkerboard.c: (process): removed superfluous leaking buffer creation call. 2007-07-15 Øyvind Kolås * gegl/process/gegl-eval-visitor.c: (visit_pad): pass valid caches on output pads and update the cahe's valid region if it exists. 2007-07-15 Øyvind Kolås * gegl/graph/gegl-node.c: (gegl_node_invalidated): invalidate associated cache on invalidation. 2007-07-15 Øyvind Kolås * gegl/graph/gegl-node-dynamic.[ch]: added gboolean cached field and improved indentation and documentation in header file. 2007-07-15 Øyvind Kolås * gegl/buffer/gegl-buffer.h: spell fix, improved documentation. 2007-07-01 Mark Probst * gegl/gegl-xml.c: Fixed a curve saving bug and a relative filename bug. 2007-07-01 Mark Probst * property-types/gegl-curve.c * property-types/gegl-curve.h * gegl/gegl.h: Added a function for removing a point from a curve. 2007-06-27 Michael Schumacher * operations/io/Makefile.am (ff-load$(SHREXT)): build conditionally if AVCODEC_LIBS is present. 2007-06-27 Øyvind Kolås * gegl/buffer/gegl-buffer.h: filled holes in API documentation. 2007-06-27 Øyvind Kolås * tools/create-reference.rb: added support for multiple input header files. 2007-06-25 Øyvind Kolås Moved affine ops to newer APIs, speed and quality regression since only nearest neighbour works, and that at a slower speed than bilinear used to. * operations/affine/affine.c: (affine_generic): added a new generic affine core that uses the sampling API of GeglBuffer (which only supports nearest neighbour for now). (process): use gegl_operation_get_source and gegl_operation_get_target for all communication with the core about buffers, and use affine_generic for actual computation. 2007-06-15 Mukund Sivaraman * gegl/gegl-init.c: don't use system() passing user-supplied data. 2007-06-15 Øyvind Kolås * operations/workshop/envelopes.h: added boolean toggle for whether the same random spray is applied to every pixel and a parameter specifying a radial distribution modifier, with a new default value of 1.8. * operations/workshop/c2g.c: Extend the envelope using operations .. * operations/workshop/max-envelope.c: .. to use both same_spray and * operations/workshop/min-envelope.c: .. radial gamma. * operations/workshop/stress.c: 2007-06-12 Øyvind Kolås New operations should be added to the workshop before being considered added permanently. * operations/color/value-invert.c: moved ... * operations/workshop/value-invert.c: ... here 2007-06-12 Mukund Sivaraman * operations/color/value-invert.c: Added missing divide by value. 2007-06-12 Mukund Sivaraman * operations/color/value-invert.c: Renamed vinvert operation to value-invert. * operations/color/vinvert.c: Moved and removed. 2007-06-12 Mukund Sivaraman * operations/color/brightness-contrast.c * operations/color/whitebalance.c * operations/color/invert.c * operations/color/levels.c * operations/color/threshold.c: Use glong instead of gint. 2007-06-12 Mukund Sivaraman * operations/color/vinvert.c: added the value invert operation. 2007-06-12 Mukund Sivaraman * operations/io/ff-load.c: added include without which build breaks on Fedora 7. 2007-06-06 Øyvind Kolås * gegl/gegl-chant.h: modified include path for gegl-extension-handler.h * operations/io/load.c: 2007-06-06 Øyvind Kolås * gegl/gegl-extension-handler.[ch]: moved ... * gegl/operation/gegl-extension-handler.[ch]: ... here * gegl/Makefile.am: updated ... * gegl/operation/Makefile.am: ... accordingly 2007-06-05 Øyvind Kolås * operations/Makefile-operations.am: do not remove *~ backups on clean-local. * operations/Makefile.am: remove */*.so and */*/*.so upon clean local to make sure operations that no longer have a .c file in the dir also get cleaned out (happens when files are moved from workshop to a proper op dir.) 2007-06-04 Øyvind Kolås Trim down the amount of header directories and headers installed. * gegl/graph/Makefile.am: * gegl/module/Makefile.am: * gegl/operation/Makefile.am: * gegl/process/Makefile.am: * gegl/property-types/Makefile.am: 2007-06-04 Øyvind Kolås * configure.ac: renamed from configure.in 2007-06-04 Øyvind Kolås * gegl/property-types/: created a new dir for housing paramspecs and specialised GEGL datatypes for use when specifying the behavior of GEGL operations. 2007-06-04 Øyvind Kolås * gegl/process/: created new subdir and moved the code controlling the processing of image data to it. 2007-06-04 Øyvind Kolås * gegl/graph/: created new subdir and moved the files making up the GEGL graph infrastructure here. 2007-06-04 Øyvind Kolås * gegl/Makefile.am: removed gegl-object. * gegl/gegl-object.[ch]: removed. * gegl/gegl-node.[ch]: integrated name directly, instead of relying on the deprecated one from GeglObject. For the following files, replaced references to gegl_object_{set|get}_name with the gegl_node_equivalents. * gegl/buffer/gegl-interpolator.h: * gegl/gegl-cr-visitor.c: * gegl/gegl-finish-visitor.c: * gegl/gegl-graph.h: * gegl/gegl-pad.c: * gegl/gegl-pad.h: * gegl/gegl-plugin.h: * gegl/gegl-prepare-visitor.c: * gegl/gegl-visitable.c: * gegl/operation/gegl-operation.h: * operations/core/nop.c: 2007-06-04 Øyvind Kolås * gegl/gegl-pad.[ch]: reparented from GeglObject to GObject. * gegl/gegl-visitable.c: (gegl_visitable_get_type): make the prerequisite be GObject and not GeglObject. * gegl/gegl-graph.c: (gegl_node_get_pad_proxy): set the pad name directly on the pad. 2007-06-03 Øyvind Kolås * gegl/gegl-processor.[ch]: reparented from GeglObject to GObject * gegl/gegl-visitor.[ch]: reparented from GeglObject to GObject * gegl/gegl-eval-mgr.[ch]: reparented from GeglObject to GObject 2007-06-03 Øyvind Kolås * bin/export.c: (gegl_buffer_export_png): silence some warnings by using Babl* instead of BablFormat*. 2007-06-03 Øyvind Kolås Moved the SDL display op from it's own directory to the directory with the io operations. * configure.in: * operations/Makefile.am: * operations/display/Makefile.am: * operations/display/display.c: * operations/io/Makefile.am: 2007-06-03 Øyvind Kolås Moved the operation base classes to it's own directory. * configure.in: added gegl/operation/Makefile to the list of files to create. * gegl/Makefile.am: added subdir. * gegl/operation/Makefile.am: new makefile. * gegl/gegl-operation*.[ch]: moved to a operation subdir. The rest of these files just had the path of some #includes modified. * gegl/buffer/gegl-cache.c: * gegl/gegl-chant.h: * gegl/gegl-cr-visitor.c: * gegl/gegl-debug-rect-visitor.c: * gegl/gegl-eval-mgr.c: * gegl/gegl-eval-visitor.c: * gegl/gegl-finish-visitor.c: * gegl/gegl-have-visitor.c: * gegl/gegl-module.h: * gegl/gegl-need-visitor.c: * gegl/gegl-node.c: * gegl/gegl-plugin.h: * gegl/gegl-prepare-visitor.c: * gegl/gegl-processor.c: * gegl/gegl-xml.c: * operations/affine/affine.h: * operations/color/remap.c: * tools/operation_reference.c: 2007-06-03 Kevin Cozens * configure.in: Added tests for libavcodec and libavformat. * operations/io/Makefile.am: Added lines to build ff-load operation. * operations/workshop/Makefile.am: Use variables set during run of ./configure instead of calling pkg-config directly for the ff-save operation. * operations/workshop/ff-load.c: Moved file from here... * operations/io/ff-load.c: to here. 2007-06-03 Øyvind Kolås * operations/io/load.c: (prepare): "buffer" op has been renamed "load-buffer" * operations/meta/layer.c: (attach): "buffer" op has been renamed "load-buffer" 2007-06-02 Étienne Bersac * operations/io/save-pixbuf.c: Moved from operations/workshop. Fixed a warning. 2007-06-02 Øyvind Kolås * operations/io/*-buffer: moved from operations/io/core. 2007-06-02 Øyvind Kolås * operations/core/load-buffer.c: renamed from buffer.c 2007-06-02 Øyvind Kolås Renamed operations/file-io directory to be operations/io. 2007-06-02 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_copy), (gegl_buffer_dup): added code, gegl_buffer_copy still doesn't do COW for tiles though. * operations/core/save-buffer.c: (process): use gegl_buffer_copy instead of own implementation. 2007-05-30 Øyvind Kolås * operations/affine/affine.c: (process): patch-up to mend some damaged incurred by recent refactoring. 2007-05-30 Øyvind Kolås * operations/blur/gaussian-blur.c: migrate to newer APIs making code more concise. 2007-05-30 Øyvind Kolås * operations/workshop/Makefile.am: made the ops with dependencies gracefully fail to compile, when that is called for. 2007-05-29 Øyvind Kolås Ported some ops to newer APIs yielding more concise plug-in code. * gegl/gegl-operation-point-filter.c: * operations/blur/box-blur.c: * operations/file-io/jpg-load.c: 2007-05-29 Øyvind Kolås Make the core ops non-caching. * operations/core/buffer.c: (class_init): * operations/core/clone.c: (class_init): * operations/core/crop.c: (class_init): * operations/core/nop.c: (class_init): * operations/core/shift.c: (class_init): 2007-05-29 Øyvind Kolås * gegl/gegl-operation.[ch]: (gegl_operation_class_init): added no_cache field. (gegl_operation_get_target), (gegl_operation_get_source): adjusted to provide more convenient target/source buffers. 2007-05-29 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_copy), (gegl_buffer_dup): added stubs for desired functionality. (contents of function not implemented, not even the non-COW variations, added only to sketch out the new API.) 2007-05-29 Øyvind Kolås * gegl/gegl-operation-point-composer.c: (process_inner): minor correction. * gegl/gegl-operation-source.c: removed unused calc_source_regions definition. * operations/workshop/bilateral-filter.c: (process): fixed typo. * operations/file-io/png-save.c: (gegl_buffer_export_png): fixed BablFormat -> Babl. 2007-05-29 Øyvind Kolås * operations/file-io/Makefile.am: add dependency on GEGL_HEADERS to entries not having it. 2007-05-29 Øyvind Kolås * operations/workshop/stress.c: updated to make use of newer APIs cutting down on amount of code in op. 2007-05-29 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: Renamed gegl_buffer_new_from_buf to gegl_buffer_create_sub_buffer. 2007-05-29 Øyvind Kolås Documentation and cleanup of GeglBuffer, added a new construction convenience, gegl_buffer_new_from_buf, which probably needs a new name. * gegl/buffer/gegl-buffer-private.h: * gegl/buffer/gegl-buffer.c: (pset), (gegl_buffer_iterate), (gegl_buffer_set), (gegl_buffer_get), (gegl_buffer_new), (gegl_buffer_new_from_buf): * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-storage.h: 2007-05-26 Øyvind Kolås * operations/color/remap.c: (attach): corrected input BablFormat to be "RGBA float" instead of just "RGBA". 2007-05-24 Øyvind Kolås * gegl/gegl-operation.h: removed unused gegl_calc_source_regions. 2007-05-24 Øyvind Kolås * gegl/gegl-operation.c: simplified tickling logic. 2007-05-24 Øyvind Kolås * operations/workshop/kuwahara-switch.c: removed. 2007-05-24 Øyvind Kolås Reordered the chanting to be consistent with hand written ops. * operations/workshop/generated/blend.rb: * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: 2007-05-24 Øyvind Kolås * gegl/gegl-operation.[ch]: replaced calc_source_regions with compute_input_request, renamed get_affected compute_affected. As well as the needed refactoring to make processing work with this new, less coupled version of the roi geometry computation. * gegl/gegl-node.c: (source_invalidated): get_affected->compute_affected. * gegl/gegl-operation-area-filter.c: Adapted to new API. * gegl/gegl-operation-composer.c: ... * gegl/gegl-operation-filter.c: * gegl/gegl-operation-sink.c: * gegl/gegl-operation-source.c: * operations/affine/affine.c: Adapted to new API. * operations/blur/box-blur.c: ... * operations/blur/gaussian-blur.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: * operations/core/crop.c: * operations/core/shift.c: * operations/workshop/*.c: 2007-05-24 Étienne Bersac * operations/workshop/save-pixbuf.c: Added save-pixbuf sink op. 2007-05-24 Øyvind Kolås * operations/workshop/envelopes.h: removed #include "vector.h" * operations/workshop/c2g.c: removed #include "vector.h" 2007-05-24 Øyvind Kolås * operations/workshop/bilateral-filter.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/demosaic-simple.c: * operations/workshop/disc-percentile.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara-switch.c: * operations/workshop/kuwahara.c: * operations/workshop/max-envelope.c: * operations/workshop/mblur.c: * operations/workshop/min-envelope.c: * operations/workshop/snn-mean.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: 2007-05-24 Øyvind Kolås * operations/blur/box-blur.c: use GeglOperationAreaFilter as base. * operations/blur/gaussian-blur.c: use GeglOperationAreaFilter as base. 2007-05-24 Øyvind Kolås * gegl/gegl-operation.[ch]: (gegl_operation_need_rect): added new accessor to retrieve the rectangle computed to be needed for processing a node. 2007-05-23 Øyvind Kolås Added a new base class for operations that includes computations for the defined, needed and affected neighbourhood based on extents in four directions. The implementing operation has to implement the virutal method tickle, which updates the extents from the properties in an operation specific manner before the computations are made. * gegl/gegl-operation.[ch]: added new virtual method tickle(). (gegl_operation_get_defined_region): tickle first (gegl_operation_get_affected_region): tickle first (gegl_operation_calc_source_regions): tickle first * gegl/gegl-operation-area-filter.[ch]: * gegl/Makefile.am: added new files. * gegl/gegl-chant.h: added support for GeglOperationAreaFilter baseclass, static void tickle(GeglOperation *operation) is expected to be defined in operations using this base. 2007-05-23 Øyvind Kolås * gegl/buffer/gegl-buffer-private.h: reordered fields in struct a bit. * gegl/buffer/gegl-buffer.[ch]: added gegl_buffer_new, gegl_buffer_destroy and gegl_buffer_extents functions. 2007-05-23 Øyvind Kolås Applied patch from Mark Probst that corrects the floating point I/O problem for the curve and makes the contrast-curve operation use the curve instead of the object param type. * gegl/gegl-plugin.h: * gegl/gegl-xml.c: (start_element), (xml_curve_point), (xml_curve): * operations/workshop/contrast-curve.c: (process): 2007-05-23 Øyvind Kolås Removed fast path optimizations that are unneeded now that the core itself avoids processing nodes whose result rectangles have zero extent. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: * operations/workshop/bilateral-filter.c: * operations/workshop/box-max.c: * operations/workshop/box-min.c: * operations/workshop/box-percentile.c: * operations/workshop/c2g.c: * operations/workshop/contrast-curve.c: * operations/workshop/demosaic-simple.c: * operations/workshop/difference-of-gaussians.c: * operations/workshop/disc-percentile.c: * operations/workshop/gluas.c: * operations/workshop/grey.c: * operations/workshop/gtk-display.c: * operations/workshop/hstack.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara-switch.c: * operations/workshop/kuwahara.c: * operations/workshop/line-profile.c: * operations/workshop/mandelbrot.c: * operations/workshop/max-envelope.c: * operations/workshop/mblur.c: * operations/workshop/min-envelope.c: * operations/workshop/mono-mixer.c: * operations/workshop/rawbayer-load.c: * operations/workshop/snn-mean.c: * operations/workshop/snn-percentile.c: * operations/workshop/stress.c: 2007-05-22 Øyvind Kolås * gegl/gegl-operation.c: (gegl_operation_process): bail out early if the result rectangle has 0 width or height. 2007-05-22 Øyvind Kolås * bin/editor.c: (cb_fit): removed debug printf^Wg_warning. 2007-05-22 Øyvind Kolås Ported rendering operations to use gegl_operation_get_target() to aquire the destination buffer instead of creating it in the plug-in code. * operations/render/FractalExplorer.c: * operations/render/checkerboard.c: * operations/render/color.c: * operations/render/introspect.c: * operations/render/noise.c: * operations/render/text.c: 2007-05-22 Øyvind Kolås Ported operations to use gegl_operation_get_target() to aquire the destination buffer instead of creating it in the plug-in code. * operations/affine/affine.c: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/remap.c: * operations/color/stretch-contrast.c: 2007-05-22 Øyvind Kolås * gegl/gegl-operation-point-composer.c: (prepare): request RGBA for input, _aux_ and output. 2007-05-22 Øyvind Kolås * operations/generated/math.rb: request RGBA for input/output and RGB for aux. 2007-05-22 Étienne Bersac * operattions/file-io/png-save.c: added compression level param. 2007-05-22 Øyvind Kolås Ported plug-ins and code generators to new format specification API for point filters|composers. * operations/color/brightness-contrast.c: * operations/color/invert.c: * operations/color/levels.c: * operations/color/threshold.c: * operations/color/whitebalance.c: * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/svg/svg_huerotate.c: * operations/svg/svg_luminancetoalpha.c: * operations/svg/svg_matrix.c: * operations/svg/svg_saturate.c: * operations/transparency/opacity.c: * operations/workshop/generated/blend.rb: * operations/workshop/contrast-curve.c: * operations/workshop/generated/blend.rb: * operations/workshop/grey.c: 2007-05-22 Øyvind Kolås Migrated the point filter/composer baseclass API to do processing using BablFormat set on the pads. * gegl/gegl-chant.h: added GEGL_CHANT_PREPARE, which hooks in the virtual method prepare. * gegl/gegl-operation.[ch]: made gegl_operation_get_target use the format from the pad, and added gegl_operation_set_format function. * gegl/gegl-operation-point-composer.[ch]: use new API * gegl/gegl-operation-point-filter.[ch]: use new API * gegl/gegl-pad.[ch]: added format field. 2007-05-22 Øyvind Kolås * gegl/gegl-plugin.h: added gegl-curve.h include. 2007-05-22 Étienne Bersac * operations/core/save-buffer.c: copy buffer to buffer line per line instead of using large linear memory buffer. 2007-05-22 Øyvind Kolås * gegl/buffer/gegl-tile.h: removed gegl_tile_new_from_data. * gegl/buffer/gegl-tile.c: allocate tiles' linear buffers using GSlice, made gegl_tile_new_from_data() local to this file. 2007-05-22 Øyvind Kolås * gegl/gegl-pad.c: (gegl_pad_init), (gegl_pad_set_format), (gegl_pad_get_format): * gegl/gegl-pad.h: * operations/workshop/contrast-curve.c: 2007-05-22 Øyvind Kolås * operations/workshop/stress.c: (process), (stress): added a gamma parameter, with a default value of 1.6. * operations/workshop/c2g.c: (process), (c2g): same modification as stress. 2007-05-22 Øyvind Kolås * operations/workshop/line-profile.c: (process): draw the sampled line in image coordinates in white. 2007-05-21 Øyvind Kolås Fix imagemagick fallback loader. * gegl/gegl.h: document that NULL can be passed in to gegl_node_blit. * gegl/gegl-node.c: (gegl_node_blit): allow passing NULL as desintation_buf. * operations/file-io/magick-load.c: (load_cache): port image magick fallback loader to newer API, also make it load page 0 of all documents, enabling it's use on PDFs for thumbnailing. 2007-05-21 Øyvind Kolås * AUTHORS: added Étienne Bersac and Mark Probst. 2007-05-21 Øyvind Kolås Applied patch from Mark Probst to make floating point I/O independent of the locale. * gegl/gegl-xml.c: (param_set), (encode_node_attributes_old), (serialize_properties), (serialize_layer): * operations/svg/svg_huerotate.c: (process): * operations/svg/svg_matrix.c: (process): * operations/svg/svg_saturate.c: (process): 2007-05-21 Øyvind Kolås * gegl/gegl-curve.[ch]: really apply the last incarnation of the curve patch (the previous attempt failed). * gegl/gegl-types.h: add GeglCurve.h here. 2007-05-20 Øyvind Kolås Update of the curve code from Mark Probst . * gegl/Makefile.am: * gegl/gegl-chant.h: add chanting support for curve. * gegl/gegl-curve.c: * gegl/gegl-xml.c: (param_set), (start_element), (text), (end_element), (xml_param_start), (xml_param_text), (xml_param_end), (xml_param), (xml_curve_point), (xml_curve), (serialize_properties): added xml serialization/parsing support for curve. * gegl/gegl.h: 2007-05-18 Étienne Bersac * operations/core/save-buffer.c: do not rely on input buffer to get buffer dimension. 2007-05-19 Øyvind Kolås Applied patch from Mark Probst . * gegl/gegl-curve.[ch]: added * gegl/Makefile.am: added gegl-curve.[ch], a curve object to be used for curve properties for ops. * operations/workshop/contrast-curve.c: added a contrast op controlled by a curve. 2007-05-18 Øyvind Kolås * gegl/buffer/gegl-buffer.h: removed inclusion of gegl-buffer-types.h, and duplicate the GeglBuffer typedef in the two files, with mutual exclusion. * gegl/buffer/gegl-buffer-private.h: include gegl-buffer.h * gegl/buffer/gegl-buffer-types.h: do not define GeglBuffer if * gegl/buffer/gegl-interpolator.h: include gegl-buffer-types directly. 2007-05-17 Øyvind Kolås * operations/workshop/mono-mixer.c: added mono mixer from Mark Probst . 2007-05-17 Øyvind Kolås * operations/workshop/envelopes.h: retry sampling if sampling outside buffer / a transparent pixel. 2007-05-17 Øyvind Kolås * operations/workshop/max-envelope.c: s/stress/max_envelope/ * operations/workshop/min-envelope.c: s/stress/min_envelope/ 2007-05-16 Øyvind Kolås * operations/workshop/envelopes.h: compute the envelopes in a through the darkness/lightness /range variation of the neighbourhood. 2007-05-16 Øyvind Kolås * operations/workshop/envelopes.h: avoid segfaulting if NULL is passed for minimum or maximum destination. 2007-05-16 Øyvind Kolås * operations/workshop/Makefile.am: rebuild stress, c2g, min-envelope and max-envelope if envelopes.h changes. 2007-05-16 Øyvind Kolås * operations/color/threshold.c: allow -10.0 .. 10.0 range. 2007-05-16 Étienne Bersac * gegl/buffer/Makefile.am: added gegl-buffer-private.h to BUFFER_headers. 2007-05-16 Øyvind Kolås * operations/workshop/envelopes.h: removed unneded parameter from compute envelopes. * operations/workshop/c2g.c: (c2g): updated call to compute_envelopes. * operations/workshop/stress.c: (stress): updated call to compute_envelops. * operations/workshop/max-envelope.c: added new op, that only outputs the maximum envelope. * operations/workshop/min-envelope.c: added new op, that only outputs the minimum envelope. 2007-05-15 Øyvind Kolås * operations/workshop/c2g.c: (c2g): * operations/workshop/stress.c: (stress): * operations/workshop/envelopes.h: moved the sample_envelopes function which is common between stress and c2g out into it's own header. 2007-05-15 Øyvind Kolås * operations/workshop/c2g.c: color to grayscale convertor, that uses spatial color differences as a basis for black and white local contrast enhancement. 2007-05-10 Øyvind Kolås Replaced accesor functions with properties for some buffer properties. * gegl/buffer/Makefile.am: install gegl-buffer.h * gegl/buffer/gegl-buffer-private.h: added a private header containing the actual struct of GeglBuffer. * gegl/buffer/gegl-buffer-allocator.h: * gegl/buffer/gegl-buffer-save.c: (gegl_buffer_save): * gegl/buffer/gegl-buffer.c: (get_property), (gegl_buffer_class_init), (int_gegl_buffer_get_format), (pset), (pget), (gegl_buffer_iterate): * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-cache.h: * gegl/buffer/gegl-interpolator-cubic.c: * gegl/buffer/gegl-interpolator-lanczos.c: * gegl/buffer/gegl-interpolator-linear.c: * gegl/buffer/gegl-interpolator-nearest.c: * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): * gegl/buffer/gegl-tile.c: Fix for changes in buffer API. * gegl/gegl-processor.c: (gegl_processor_class_init), (render_rectangle): * operations/affine/interpolate-cubic.c: (affine_cubic): * operations/affine/interpolate-lanczos.c: (affine_lanczos): * operations/affine/linear.c: (affine_linear), (scale_linear): * operations/affine/nearest.c: (affine_nearest), (scale_nearest): * operations/color/stretch-contrast.c: (buffer_get_min_max): * operations/core/crop.c: (process): * operations/core/save-buffer.c: (process): * operations/core/shift.c: (process): * operations/file-io/exr-load.cpp: * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/noise.c: (process): * operations/workshop/Makefile.am: * operations/workshop/ff-load.c: (process): * operations/workshop/mandelbrot.c: (process): 2007-05-10 Øyvind Kolås Start of work to migrate the creation of output buffers for operations from the operations themselves. For now both the old way of doing things and the new way are supported, the old way will gradually be deprecated. * gegl/gegl-operation.c: (gegl_operation_get_target): * gegl/gegl-operation.h: added gegl_operation_get_target. * gegl/gegl-operation-point-composer.c: (process_inner), (fast_paths): retrieve output buffer from GEGL. * gegl/gegl-operation-point-filter.c: (process_inner): retrieve output buffer from GEGL. 2007-05-10 Øyvind Kolås * bin/editor.c: (cb_shrinkwrap): removed unused variable. 2007-05-09 Øyvind Kolås * gegl/gegl.h: document that gegl_init calls g_thread_init and that when using the option group you have to do it yourself. 2007-05-09 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): avoid initializing the gthread system twice. 2007-05-06 Øyvind Kolås * operations/workshop/stress.c: Added STRESS operation, Spatio Temporal Retinex Envelope with Stochastic Sampling. 2007-05-04 Manish Singh * gegl/gegl-operation.c (gegl_operation_set_source_region): use the child node when calculating the bounding box. 2007-05-01 Øyvind Kolås * gegl/gegl-processor.c: (gegl_processor_class_init): default chunk size set to 256*256. (gegl_processor_progress): report some more granular progress. * bin/editor.c: (input_stream), (play), (editor_main), (cb_fit), (cb_fit_on_screen), (cb_shrinkwrap), (cb_zoom_in): improved interaction when zooming to fit, and added a frame advance when computed/play mode, for some video experiments. * bin/gegl-options.c: (usage), (parse_args): * bin/gegl-options.h: Added -p option which triggers the above mentioned play mode. 2007-05-01 Øyvind Kolås * operations/workshop/ff-load.c: (process): make video be RGBA with full opacity. * operations/workshop/ff-save.c: added more defines to make audio code fully dormant. 2007-05-01 Øyvind Kolås * operations/workshop/mblur.c: removed CHANT_CLASS_INIT 2007-04-30 Øyvind Kolås * operations/workshop/mblur.c: (init), (process): added a simplistic motion blur that works for some uses. 2007-04-29 Øyvind Kolås * gegl/gegl-processor.c: removed a foo marker warning that had snuck in. 2007-04-29 Øyvind Kolås * gegl/gegl-processor.c: (gegl_processor_class_init), (get_property), (gegl_processor_progress), (gegl_processor_render): Added a "progress" property that returns the current progress in rendering of the processors work as a value between 0.0 and 1.0. 2007-03-25 Øyvind Kolås * gegl/*.c: reindented through the use of uncrustify. 2007-03-25 Øyvind Kolås * gegl/buffer/*.c: reindented through the use of uncrustify with a custom parameter set. 2007-03-21 Étienne Bersac * configure.in: Actually set shrext in configure.in 2007-03-21 Øyvind Kolås * operations/affine/Makefile.am: use SHREXT instead of SOsuf, spotted by Dominik Ernst. 2007-03-21 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_op_class): make the error message when no GEGL plug-ins have been found more clear, and suggest corrective action (setting GEGL_PATH). 2007-03-14 Michael Schumacher * configure.in: AC_SUBST $shrext to SHREXT; defines shared library file extension for use in Makefiles * operations/Makefile-operations.am: * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/render/Makefile.am: use SHREXT 2007-03-14 Michael Schumacher * operations/file-io/jpg-load.c (query_jpg) (gegl_buffer_import_jpg): open JPEG files in binary mode. 2007-03-13 Øyvind Kolås Added gluas initial implementation of a gluas implementation to the workshop. Either using a huge chunk-size in the GeglProcessor employed, or making sure the script is adhereing to the bounds (roi) is needed for efficient performance. Currently the plug-is only demanding input data as needed for a point filter, other modes of operation only work when the gluas node is used immediatly after a "load" node (which internally caches). * operations/workshop/Makefile.am: * operations/workshop/gluas.c: 2007-03-13 Øyvind Kolås * gegl/buffer/gegl-buffer.h: added a hot_tile single tile cache, for speeding up single pixel setter/getter. And a gegl_buffer_flush function to make sure all pixel data is written. * gegl/buffer/gegl-buffer.c: cache the most recently used tile in pget and pset. 2007-03-12 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_set): only check for 1x1 sized rectangle when a roi is passed. 2007-03-12 Øyvind Kolås Added fast paths for gegl_buffer_set and gegl_buffer_get when called with a 1x1 roi. For further interpolation methods the pixelfetcher needed to do the interpolation should belong to the buffer reducing the object management needed when using the API. * gegl/buffer/gegl-buffer.h: added gegl_buffer_sample. * gegl/buffer/gegl-buffer.c: added pget, pset and gegl_buffer_sample. 2007-03-11 Kevin Cozens * gegl/gegl-init.c (gegl_post_parse_hook): Check if BABL_ERROR env variable is set before setting it. 2007-03-11 Øyvind Kolås Applied initial interpolating pixelfetcher implementation from geert jordaens. Updated calls to gegl_buffer_get to bring it up to date. * gegl/buffer/Makefile.am: added new files. * gegl/buffer/gegl-buffer-types.h: added GeglInterpolator * gegl/buffer/gegl-interpolator-cubic.[ch], * gegl/buffer/gegl-interpolator-lanczos.[ch], * gegl/buffer/gegl-interpolator-linear.[ch], * gegl/buffer/gegl-interpolator-nearest.[ch]: * gegl/buffer/gegl-interpolator.[ch]: new files. 2007-03-09 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_get_cache): reverted performance/memory tweak for FOSDEM presentation. The projection cache is again 32bit floating point with alpha, making the cache take 5.333times as much RAM. 2007-03-09 Øyvind Kolås * gegl/gegl-node.c: removed unused function gegl_node_get_result_rect. 2007-03-09 Øyvind Kolås * gegl/gegl-dot.c: made internal function static. 2007-03-08 Øyvind Kolås * gegl/gegl-node.[ch]: made gegl_node_disconnect_sinks and gegl_node_disconnect_sources static and internal to the class. 2007-03-08 Øyvind Kolås * gegl/gegl-node.[ch]: removed functions: gegl_node_get_have_rect, gegl_node_get_output_pads, gegl_node_get_num_sources, gegl_node_get_num_input_pads, gegl_node_get_num_output_pads, gegl_node_get_sources, gegl_node_set_have_rect and gegl_node_get_need_rect. * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): reworked to not need gegl_node_get_have_rect() * gegl/gegl-have-visitor.c: (visit_node): reworked to not need gegl_node_set_have_rect. * gegl/gegl-operation.c: (gegl_operation_source_get_defined_region): reworked to not need gegl_node_get_have_rect. (gegl_operation_set_source_region): reworked to not need gegl_node_get_need_rect. 2007-03-08 Øyvind Kolås * tests/: removed unused test-suite. * tools/testsuite/: removed unused test suite tools. 2007-03-08 Øyvind Kolås * gegl/gegl-node.[ch]: removed unused function gegl_node_create_pad. 2007-03-08 Øyvind Kolås * gegl/gegl-node.[ch]: removed unused function gegl_node_set_result_rect. 2007-03-08 Øyvind Kolås Made the description not be a copy, and removed a call from gegl-operation.h. * gegl/gegl-operation.[ch]: (gegl_operation_class_init): removed gegl_operation_set_description call. Slightly reorganized, reindented and sprinkled headers in header. * gegl/gegl-chant.h: replaced gegl_operation_set_description with an assignment, do not care about copying the memory since the registered types are static and their class structures will not be destroyed. * operations/affine/chant.h: same change as the generic gegl-chant.h * operations/color/remap.c: (gegl_operation_remap_class_init): same change as above in this op that doesn't use gegl_chant.h 2007-03-08 Øyvind Kolås * operations/render/text.c: (process): simplified babl_format since we now depend on a more modern babl. 2007-03-08 Øyvind Kolås * operations/workshop/hstack.c: Added a composer operation whose output contains its input images side by side. 2007-03-03 Kevin Cozens * operations/workshop/Makefile.am: Use CAIRO_CFLAGS and CAIRO_LIBS determined during ./configure instead of calling pkg-config. 2007-03-03 Øyvind Kolås Added initial threading support, each GeglProcessor now spawns it's seperate thread to do it's work. On my machine initial testing seems to indicate that this works for splitting up the work between the GUI updates (gtk+) and GEGL doing processing in the background. No locks added thus far. * configure.in: add GTHREAD to DEP * gegl.pc.in: link with gthread. * gegl/gegl-init.c: (gegl_init): call g_thread_init * gegl/gegl-processor.c: (gegl_processor_class_init), (gegl_processor_render), (render_thread), (gegl_processor_work): Added an alternate code path which can be enabled by removing the comments for the ENABLE_THREADING #define on line 486. 2007-03-03 Øyvind Kolås Added an operation that plots RGB curves along a line in the input image. * operations/workshop/Makefile.am: * operations/workshop/line-profile.c: 2007-02-27 Kevin Cozens * gegl/gegl-node.c (gegl_node_blit): Removed extra call to the gegl_node_cahe_get() routine. Fixed spelling error in comment. 2007-02-28 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_blit): imply that the CACHE flag is set if DIRTY is passed alone. 2007-02-28 Øyvind Kolås * gegl/buffer/gegl-cache.h: removed reference to deprecated function gegl_cache_render(). * gegl/gegl-node.c: (gegl_node_blit): reworked code to avoid optimizing away a branch with call to a deprecated function. Reimplemented deprecated call with a GeglProcessor. 2007-02-27 Øyvind Kolås * operations/workshop/snnq-mean.c: renamed to * operations/workshop/snn-mean.c: this file. * operations/workshop/snn-percentile.c: added, a symmetric nearest rank neighbour percentile filter. 2007-02-27 Øyvind Kolås * operations/workshop/snnq-mean.c: added egde preserving blur that doesn't round off corners. Apply this filter 3-4 times in a row to achieve a cartooning/aquarell like artistic effect. 2007-02-26 Øyvind Kolås * operations/workshop/ff-save.c: fixed default bitrate to be 800kbps. 2007-02-23 Øyvind Kolås * operations/workshop/Makefile.am: added rule for ff-save. * operations/workshop/ff-save.c: added FF-mpeg based video output encoding sink. 2007-02-22 Øyvind Kolås Added an FFMPEG based frame importer, it acts like a image importer but in addition to the path the frame number to import is specified as well. Uses an old ffmpeg API at the moment and might attain efficient seeking support and cleaner code with some updates. * operations/workshop/Makefile.am: hacked in usage of pkg-config for compilation. * operations/workshop/ff-load.c: code mostly imported from gggl op. 2007-02-22 Øyvind Kolås * AUTHORS: added John Marshall. 2007-02-22 Øyvind Kolås * tools/xml_insert.sh: trim leding spaces (wc returns spaces before no. lines on MSYS/MINGW). Patch from John Marshal. 2007-02-22 Øyvind Kolås * tools/operation_reference.c: (main): do not use html/css fragments directly as format for g_print, but pass them as the data for a "%s" format. 2007-02-22 Øyvind Kolås * gegl/buffer/gegl-buffer-load.c: (gegl_buffer_load): set mode flag to 0 for g_open, we're not creating a new file here. 2007-02-19 Øyvind Kolås * NEWS: changed heading for 0.0.12 section to 0.0.12, it still listed 0.0.11 from back when things were in CVS. 2007-02-19 Øyvind Kolås * operations/workshop/bilateral-filter.c: changed names of properties default values and slightly modified their effect on the filter. 2007-02-19 Øyvind Kolås * operations/workshop/bilateral-filter.c: added an initial implementation of a bilateral filter, this is an adaptive gaussian blur that weights contributions based on color differences between the center pixel and the neighbourhood pixel. 2007-02-19 Øyvind Kolås * operations/render/Makefile.am: do not compile text plug-in if sufficiently new pango library has not been found. 2007-02-19 Øyvind Kolås * configure.in: post release version bump to 0.0.13 ========================== 0.0.12 released ================================== 2007-02-18 Øyvind Kolås * configure.in: bumped version to 0.0.12 2007-02-18 Øyvind Kolås * bin/gegl.c: reworked splash project, added Michael Schumacher. * bin/editor.c: added more people to list of contributors for the editor. 2007-02-18 Øyvind Kolås * bin/gegl-node-editor.c: (property_editor_general): disabled cairo based scalar property editor. 2007-02-18 Kevin Cozens * gegl/gegl.h: Minor rewording and grammatical changes in first few paragraphs. 2007-02-18 Øyvind Kolås * tools/create-reference.rb: temporary work around to silence the API reference generator due to current abuse. 2007-02-18 Øyvind Kolås * NEWS: updated with changes since 0.0.10, also replaced UTF8ified the file. 2007-02-18 Øyvind Kolås * configure.in: require babl 0.0.14 2007-02-18 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_invalidated), (source_invalidated), (property_changed), (gegl_node_insert_before): added gegl_node_invalidated function, that triggers emitting of the INVALIDATED signal. 2007-02-18 Øyvind Kolås * gegl/gegl-xml.c: (start_element), (end_element): ignore "stack" tags for OpenRaster parsing. 2007-02-18 Øyvind Kolås * gegl/gegl-xml.c: Changed serialization to serialize properties of nodes in value... blocks instead of using attributes. Also added support for the parser to parse this new syntax, the parser also accepts the old format for now. * bin/gegl.c: Changed the default composition to use the new XML format. 2007-02-17 Øyvind Kolås * gegl/gegl.h: added introduction section (to API reference). 2007-02-16 Øyvind Kolås * gegl/gegl-node-dynamic.c: (property_destroy): free the property structure itself and not finalize the name and stored value. 2007-02-16 Øyvind Kolås * gegl/gegl-xml.c: (gegl_parse_xml): fixed typo from previous commit. 2007-02-16 Øyvind Kolås * gegl/gegl-xml.c: (gegl_parse_xml): free parsing context when done. 2007-02-15 Øyvind Kolås * operations/render/text.c: (get_defined_region), (finalize), (class_init): cache the defined region of text for a given combination of string/font/wrap/alignment to avoid recomputing the extent when the properties have not changed. 2007-02-15 Øyvind Kolås * gegl/gegl-processor.c: (gegl_processor_set_rectangle): avoid computation rectangles outside the bounds of the composition. 2007-02-14 Michael Schumacher * operations/Makefile-operations.am: add CPPFLAGS to CFLAGS, link with libgegl 2007-02-14 Øyvind Kolås * AUTHORS: added Michael Schumacher. 2007-02-14 Michael Schumacher * gegl/module/gegldatafiles.c: remove conditional include of geglwin32-io.h 2007-02-14 Michael Schumacher * operations/affine/Makefile.am: use SOsuf and change order of compiler flags * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/render/Makefile.am: use SOsuf 2007-02-13 Kevin Cozens * bindings/pygegl/: initial import of Python binding for GEGL. 2007-02-13 Michael Schumacher * operations/render/perlin/perlin.c: use g_random_int 2007-02-13 Gabriel Burt * bindings/gegl-sharp/: initial import of C# binding for GEGL. 2007-02-13 Øyvind Kolås * bindings/rgegl/: initial import of ruby extension for GEGL. 2007-02-13 Øyvind Kolås * bindings/: added a subdir to host various language bindings. 2007-02-13 Øyvind Kolås * operations/workshop/box-percentile.c: corrected which region is computed. * operations/workshop/disc-percentile.c: added. * operations/workshop/kuwahara-switch.c: removed dead code. 2007-02-13 Øyvind Kolås Made the cache store 8bit data instead of floating point, temporary measure to speed up demonstrations. Might have to be reverted when proper caching is implemented. * gegl/gegl-node.c: (gegl_node_get_cache): 2007-02-13 Øyvind Kolås * gegl/buffer/gegl-buffer-save.c: (gegl_buffer_save): truncate file and open in write only mode. 2007-02-12 Kevin Cozens * operations/file-io/svg-load.c (query_svg): Return FALSE if handle returned from rsvg_handle_new_from_file() is NULL. * docs/Makefile.am: * docs/gallery/Makefile.am: Some changes to fix make distcheck. * operations/Makefile-operations.am: Another change towards fixing build of gegl under Windows. 2007-02-12 Michael Schumacher * bin/editor.c: * bin/gegl.c: remove libgen.h, use g_path_get_basename and g_path_get_dirname, #define realpath for Windows platforms * gegl/gegl-xml.c: #define realpath for Windows platforms 2007-02-12 Øyvind Kolås Reverted some code to an earlier state to reenable "aux" inputs to meta-operations. The code enabling these ghost "aux" inputs is a hack that should be replaced with more general code. * gegl/gegl-graph.c: (gegl_node_get_pad_proxy): * gegl/gegl-pad.c: (gegl_pad_get_internal_connected_to): * docs/hello-world.c: reverted to version before accidental commit. 2007-02-12 Øyvind Kolås * operations/workshop/box-percentile.c: Implemented a percentile (median) filter, mostly porting code from gggl. * operations/workshop/kuwahara-switch.c: (kuwahara_switch): fixed error in loop calculation. 2007-02-11 Kevin Cozens * gegl/Makefile.am: Wrong version got commited last time. 2007-02-11 Øyvind Kolås * configure.in: forgot to s/transform/affine/ here in previous commit. 2007-02-11 Øyvind Kolås Renamed the "transform" set of operations to "affine" since that is what they actually are. * operations/Makefile.am: * operations/transform/Makefile.am: * operations/transform/affine.c: * operations/transform/affine.h: * operations/transform/chant.h: * operations/transform/interpolate-cubic.c: * operations/transform/interpolate-cubic.h: * operations/transform/interpolate-lanczos.c: * operations/transform/interpolate-lanczos.h: * operations/transform/linear.c: * operations/transform/linear.h: * operations/transform/matrix.c: * operations/transform/matrix.h: * operations/transform/module.c: * operations/transform/module.h: * operations/transform/nearest.c: * operations/transform/nearest.h: * operations/transform/reflect.c: * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: 2007-02-11 Øyvind Kolås * gegl/buffer/gegl-buffer-load.c: (gegl_buffer_load): pass mode arguments also when opening file for reading. 2007-02-11 Øyvind Kolås * gegl/buffer/gegl-buffer-save.c: (z_order), (z_order_compare), (gegl_buffer_save): store the tiles in morton order on disk. * gegl/buffer/gegl-tile-disk.c: (hashfunc): improved hash function. * gegl/buffer/gegl-tile-mem.c: (hashfunc): improved hash function. 2007-02-11 Øyvind Kolås * gegl/gegl-init.c: (gegl_exit): removed debug g_warning. 2007-02-10 Kevin Cozens * gegl/Makefile.am: Added DEP_CFLAGS and BABL_CFLAGS to LDFLAGS for libgegl. They were lost during the library versioning changes. 2007-02-11 Øyvind Kolås Added code to load/save buffers from disk. The format currently used should probably be merged with the swap code at some point. * gegl/buffer/Makefile.am: * gegl/buffer/gegl-buffer-load.[ch]: added. * gegl/buffer/gegl-buffer-save.[ch]: added. 2007-02-11 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate): added comment. 2007-02-10 Kevin Cozens * operations/Makefile-operations.am: Added. * operations/render/Makefile.am * operations/svg/Makefile.am * operations/blur/Makefile.am * operations/file-io/Makefile.am * operations/display/Makefile.am * operations/meta/Makefile.am * operations/core/Makefile.am * operations/transparency/Makefile.am * operations/Makefile.am * operations/transform/Makefile.am * operations/workshop/Makefile.am * operations/workshop/generated/Makefile.am * operations/color/Makefile.am * operations/generated/Makefile.am: Simplified all operation Makefile.am files by removing all of the common stuff. The file operations/Makefile-operations.am contains the common parts and is included from the other Makefile.am files. 2007-02-10 Kevin Cozens * gegl/gegl-init.c (gegl_post_parse_hook): Updated default path to gegl plug-ins to include version number. 2007-02-10 Øyvind Kolås * operations/file-io/exr-load.cpp: .w .h -> .width .height 2007-02-09 Kevin Cozens * HACKING * autogen.sh: Changed CVS reference to SVN. * NEWS: Changed CVS reference to SVN. Fixed spelling of a contributor name. * configure.in: Set GEGL_UNSTABLE to 1 for odd micro numbers when major and minor are both 0 or base it on odd value of minor number. * gegl.pc.in: Changed some hard-coded values to use values from run of configure. Added version number to library name. Added some extra checks when building on Windows machines. * gegl/Makefile.am: Included version number in name of library. Define -no-undefined when building under Windows. * gegl/gegl.h: Fixed grammatical errors in comment blocks. * operations/blur/Makefile.am * operations/color/Makefile.am * operations/core/Makefile.am * operations/display/Makefile.am * operations/file-io/Makefile.am * operations/generated/Makefile.am * operations/meta/Makefile.am * operations/render/Makefile.am * operations/svg/Makefile.am * operations/transform/Makefile.am * operations/transparency/Makefile.am * operations/workshop/Makefile.am * operations/workshop/generated/Makefile.am: Included version number in name of directory for operations files. 2007-02-09 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_void): Avoid leaking almost all tiles. 2007-02-09 Øyvind Kolås %s/->w/->width/ , %s/\.w/.width/ for GeglRectangles. * bin/editor.c: (cb_introspect), (cb_fit), (cb_fit_on_screen), (cb_shrinkwrap): * bin/export.c: (set_to_defined), (button_input_clicked), (button_view_clicked), (button_render_clicked), (gegl_buffer_export_png): * bin/gegl-view.c: (computed_event), (expose_event): * bin/gegl.c: * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor), (gegl_buffer_void), (gegl_buffer_set), (gegl_buffer_get_scaled), (gegl_buffer_get): * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-region-generic.c: (gegl_region_rectangle), (gegl_region_get_clipbox), (gegl_region_get_rectangles), (gegl_region_union_with_rect), (gegl_region_rect_in): * gegl/gegl-debug-rect-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-graph.c: (source_invalidated): * gegl/gegl-have-visitor.c: (visit_node): * gegl/gegl-node-dynamic.c: (gegl_node_dynamic_set_need_rect), (gegl_node_dynamic_set_result_rect): * gegl/gegl-node.c: (source_invalidated), (gegl_node_blit), (gegl_node_set_have_rect), (gegl_node_set_need_rect), (gegl_node_set_result_rect), (gegl_node_process): * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * gegl/gegl-operation.c: (gegl_operation_get_affected_region), (gegl_operation_set_source_region), (gegl_operation_detect): * gegl/gegl-processor.c: (gegl_node_new_processor), (render_rectangle), (rect_area): * gegl/gegl-types.h: * gegl/gegl-utils.c: (gegl_rectangle_set), (gegl_rectangle_bounding_box), (gegl_rectangle_intersect), (gegl_rectangle_copy), (gegl_rectangle_contains), (gegl_rectangle_equal), (gegl_rectangle_equal_coords): * gegl/gegl-utils.h: * gegl/gegl.h: * operations/blur/box-blur.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/blur/gaussian-blur.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/color/brightness-contrast.c: * operations/color/remap.c: (process): * operations/color/stretch-contrast.c: (process): * operations/core/buffer.c: (get_defined_region): * operations/core/clone.c: (detect): * operations/core/crop.c: (get_defined_region): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (get_defined_region): * operations/file-io/load.c: (detect): * operations/file-io/magick-load.c: (get_defined_region): * operations/file-io/pixbuf.c: (get_defined_region): * operations/file-io/png-load.c: (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (get_defined_region): * operations/file-io/svg-load.c: (get_defined_region): * operations/render/FractalExplorer.c: (process), (get_defined_region): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/introspect.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process), (get_defined_region): * operations/transform/affine.c: (bounding_box), (get_defined_region), (calc_source_regions), (get_affected_region), (process): * operations/workshop/box-max.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/box-min.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/demosaic-simple.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/gtk-display.c: (process): * operations/workshop/kuwahara-max.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/kuwahara-min.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/kuwahara-switch.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/kuwahara.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (get_defined_region): 2007-02-09 Øyvind Kolås Added GEGL_TILE_EXIST message to tile protocol, used to query if the tile is available, but does not do any unneccesary loading of it. * gegl/buffer/gegl-tile-store.[ch]: added GEGL_TILE_EXIST message. * gegl/buffer/gegl-tile-cache.c: * gegl/buffer/gegl-tile-disk.c: (exist_tile), (message): * gegl/buffer/gegl-tile-mem.c: (exist_tile), (message): 2007-02-09 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_void): Send kill messages correctly for tiles on all pyramid levels. 2007-02-08 Øyvind Kolås Moved gegl_tile_indice and gegl_tile_offset out of gegl-buffer.c and prepared them for use as utility functions in other code. * gegl/buffer/gegl-buffer.c: (gegl_buffer_void), (gegl_buffer_iterate): * gegl/buffer/gegl-tile.c: (gegl_tile_indice), (gegl_tile_offset): * gegl/buffer/gegl-tile.h: 2007-02-08 Øyvind Kolås * operations/render/text.c: (process): make the buffer be of the same pixeltype as the cairo rendered data and name this format directly. This makes babl use an optimized conversion instead of falling back on reference version (babl should probably do a closer comparison of formats, but that would make it a bit slower in some circumstances.) 2007-02-08 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (get_tile): When creating a scaled down tile, set the initial rev!=stored_rev, to allow it being swapped out of the caches (and not just destroyed). * gegl/buffer/gegl-tile.c: (gegl_tile_void_pyramid): Reverted to simpler dirt propagation between pyramids, due to regression triggered by above change. 2007-02-08 Øyvind Kolås Replaced naive hash functions with positions on a 3d Z-order space filling curve (Morton ordering) using the 10 least significant bits of X, Y and Z indices of the tile, interleaved. * gegl/buffer/gegl-tile-disk.c: (hashfunc): * gegl/buffer/gegl-tile-mem.c: (hashfunc): 2007-02-07 Øyvind Kolås * gegl/gegl-xml.c: ignore links,link,source and destination tags. 2007-02-07 Øyvind Kolås * gegl/gegl-init.c: (gegl_exit): clean out swap files at exit. 2007-02-05 Øyvind Kolås * gegl/gegl-xml.c: (tuple), (encode_node_attributes): escape newlines in attribute value. 2007-02-05 Øyvind Kolås * gegl/gegl-xml.c: (encode_node_attributes): silence debug output when serializing to XML. 2007-02-02 Øyvind Kolås * operations/render/text.c: (process): only process for the result rect not the requested rect. (massive speedup in some circumstances). Getting babl to use the optimized conversion for cairo originated data is the next obvious optimization. 2007-02-02 Øyvind Kolås * gegl/gegl.h: added a missing dash to get the code sampled parsed correctly. 2007-02-02 Øyvind Kolås Made gegl_list_operations return an array instead of a GSList. * gegl/gegl-operation.c: (add_operations), (gegl_list_operations): * gegl/gegl-operation.h: * gegl/gegl.h: changed prototype, added documentation and sample code. 2007-02-02 Øyvind Kolås * gegl/gegl.h: added GEGL_COLOR() 2007-02-01 Øyvind Kolås Finished s/gegl_node_get_properties/gegl_list_properties/ change. * gegl/gegl-dot.c: (gegl_add_graph): * gegl/gegl-node.h: * gegl/gegl-operation.h: * gegl/gegl-xml.c: (encode_node_attributes): 2007-02-01 Øyvind Kolås Made gegl_node_get_operation return NULL instead of an empty when there is no operation associated. * gegl/gegl-node.c: (gegl_node_get_operation): * gegl/gegl.h: 2007-02-01 Øyvind Kolås Replaced gegl_node_get_properties with gegl_list_properties. * bin/gegl-node-editor.c: (property_editor_general): * gegl/gegl-node.c: * gegl/gegl-operation.c: (gegl_list_properties): * gegl/gegl.h: 2007-02-01 Øyvind Kolås Made GEGL_SWAP specify the location of swap files. * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_new_from_format): * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): 2007-01-31 Øyvind Kolås Made a bunch of g_slist_appends become g_slist_prepend instead. * gegl/gegl-graph.c: (gegl_node_add_child): * gegl/gegl-node-dynamic.c: (gegl_node_dynamic_add_value): * gegl/gegl-node.c: (gegl_node_add_pad), (gegl_node_connect_from), (gegl_node_get_depends_on), (gegl_node_add_dynamic): * gegl/gegl-pad.c: (gegl_pad_connect), (gegl_pad_get_depends_on): * gegl/gegl-processor.c: (gegl_processor_render): * gegl/gegl-visitor.c: (visit_pad), (visit_node): 2007-01-31 Øyvind Kolås Replaced (most) GLists with GSLists. * bin/gegl-view.c: (expose_event): * gegl/buffer/gegl-tile-disk.c: (gegl_tile_disk_constructor): * gegl/gegl-dot.c: (gegl_add_graph): * gegl/gegl-node.c: (finalize), (gegl_node_get_pad), (gegl_node_add_pad), (gegl_node_remove_pad), (find_connection), (gegl_node_connect_from), (gegl_node_disconnect), (gegl_node_disconnect_sources), (gegl_node_disconnect_sinks), (gegl_node_get_num_sinks), (gegl_node_get_num_sources), (gegl_node_get_num_input_pads), (gegl_node_get_num_output_pads), (gegl_node_get_depends_on), (gegl_node_set_operation_object), (gegl_node_get_producer), (gegl_node_get_consumers): * gegl/gegl-node.h: * gegl/gegl-pad.c: (gegl_pad_connect), (gegl_pad_disconnect), (gegl_pad_get_num_connections), (gegl_pad_get_depends_on), (gegl_pad_get_connected_to): * gegl/gegl-pad.h: * gegl/gegl-processor.c: (gegl_processor_set_rectangle), (render_rectangle), (gegl_processor_render): * gegl/gegl-visitable.c: (gegl_visitable_depends_on): * gegl/gegl-visitable.h: * gegl/gegl-visitor.c: (finalize), (init_dfs_traversal), (dfs_traverse), (init_bfs_traversal), (gegl_visitor_bfs_traverse), (visit_pad), (visit_node): * gegl/gegl-visitor.h: * operations/transform/affine.c: (is_intermediate_node), (is_composite_node), (get_source_matrix): 2007-01-31 Øyvind Kolås * gegl/gegl-graph.c: (gegl_node_get_pad_proxy): removed deprecated "user-data tag", identifying a pad as non-input pad. 2007-01-31 Øyvind Kolås * gegl/gegl-pad.c: (gegl_pad_get_internal_connected_to): removed obsoleted if/else. 2007-01-31 Øyvind Kolås * gegl/gegl-node.c: (get_property): removed unneeded static helper gegl_node_op_class and integrated it with get_property function. 2007-01-31 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_get_operation): changed logic to return an empty string instead of NULL when there is no associated operation. * gegl/gegl.h: updated documentation. 2007-01-31 Øyvind Kolås * gegl/gegl.h: improved documentation for gegl_node_to_xml. * tools/create-reference.rb: added support for a code sample per method, vertical alignment of argument names at top of cell. 2007-01-31 Øyvind Kolås * operations/transform/Makefile.am: added a dependency on the GEGL headers for the affine operations. 2007-01-31 Øyvind Kolås Removed codegen, gil and opgen directories from GEGL. (they are currently unused, and can perhaps be revived at a later stage if code from them are to be reused.) 2007-01-31 Øyvind Kolås Changed the meaning of the return value from gegl_node_get_operation in corner cases, it now returns the type of processing operation associated with this node, or NULL if there is no op associated. The special name "GraphNode" might be returned if the node is the container of a subgraph. * gegl/gegl-node.c: (gegl_node_get_operation): updated code. * gegl/gegl.h: updated documentation. 2007-01-31 Øyvind Kolås * tools/create-reference.rb: escape & before < and > for text that needs escaping. 2007-01-31 Øyvind Kolås Made gegl_node_get_children return (thus be) a GSList to make the types of lists returned by GEGL consistent. * gegl/gegl-dot.c: (gegl_add_graph): * gegl/gegl-graph.c: (gegl_node_add_child), (gegl_node_remove_child), (gegl_node_get_num_children), (gegl_node_get_nth_child), (gegl_node_get_children): * gegl/gegl-graph.h: * gegl/gegl-node.h: * gegl/gegl.h: 2007-01-31 Øyvind Kolås Removed .cvsignore files. 2007-01-30 Sven Neumann * bin/gegl-view.c: more cleanups. Queue redraws when the offset or scale properties are being changed. Emit notifications when properties are being changed. * bin/editor.[ch]: renamed member drawing_area to view. * bin/export.c: changed accordingly. * bin/editor.c: connect to the "scale" property of the view and update the window title. Don't needlessly queue view updates. 2007-01-29 Øyvind Kolås * gegl/gegl-processor.c: (finalize), (gegl_processor_render), (gegl_processor_work): removed dead code. 2007-01-29 Sven Neumann * bin/gegl-view.c: minor code cleanup. Use class closures instead of signal handlers. 2007-01-29 Øyvind Kolås Migrated queued region handling logic from GeglCache to GeglProcessor, thus allowing multiple GeglProcessors to have their own queues of data that they want to be rendered in a GeglCache. This also fixes the recent regression where queued rectangles still were being computed outside the viewport after zooming in in current GUI tests. * bin/export.c: (button_render_clicked): use a GeglProcessor instead of abusing a cache directly. * gegl/buffer/gegl-cache.[ch]: (gegl_cache_constructor), (gegl_cache_class_init), (gegl_cache_init), (finalize), (node_invalidated), (set_property), (get_property), (gegl_cache_invalidate): removed quite a bit of logic. * gegl/gegl-processor.c: (gegl_processor_class_init), (gegl_processor_init), (constructor), (finalize), (set_property), (get_property), (sync_queue), (enqueue), (gegl_processor_set_rectangle), (gegl_node_new_processor), (render_rectangle), (rect_area), (region_area), (area_left), (gegl_processor_is_rendered), (gegl_processor_render), (gegl_processor_work): added region and rectangle queues. 2007-01-29 Øyvind Kolås * configure.in: updated to 0.0.11 post release. ========================== 0.0.10 released ================================== 2007-01-29 Øyvind Kolås * NEWS: changed 0.0.8 to 0.0.10 * configure.in: updated version to 0.0.10 2007-01-29 Øyvind Kolås * tools/Makefile.am: added create-reference.rb, this should have gone in before the release was made. 2007-01-29 Øyvind Kolås * configure.in: updated to 0.0.9 post release. ========================== 0.0.8 released (broken release)================== 2007-01-29 Øyvind Kolås * configure.in: released 0.0.8 * NEWS: updated to reflect release. 2007-01-29 Øyvind Kolås * gegl/gegl-node.c: (property_changed), (gegl_node_set_operation_object): Hack to trigger invalidates properly when operation object changes on node. 2007-01-28 Øyvind Kolås * gegl/gegl-node.c: (property_changed): commented out the core of the previous change as it made some items in the gallery fail to build. 2007-01-28 Øyvind Kolås Fixed updates when the operation object on a node changes. * gegl/gegl-node.c: (gegl_node_get_depends_on), (property_changed), (gegl_node_get_bounding_box): * gegl/gegl-pad.c: (gegl_pad_get_internal_connected_to): * operations/file-io/jpg-load.c: (get_defined_region), (query_jpg): * operations/file-io/png-load.c: (get_defined_region): 2007-01-28 Øyvind Kolås Adjusted which groups operations belong in as well as ranges for properties. * operations/color/brightness-contrast.c: * operations/color/threshold.c: * operations/color/whitebalance.c: * operations/core/crop.c: * operations/core/shift.c: * operations/transform/affine.c: (op_affine_class_init): * operations/workshop/difference-of-gaussians.c: * operations/workshop/dog.c: 2007-01-28 Øyvind Kolås * bin/gegl-store.c: (gegl_parent): Made GeglStore only depend on public API. 2007-01-28 Øyvind Kolås %s/gegl_rect_/gegl_rectangle_/g * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor), (gegl_buffer_get_abyss): * gegl/gegl-cr-visitor.c: (visit_node): * gegl/gegl-node.c: (property_changed): * gegl/gegl-operation-composer.c: (get_defined_region): * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation.c: (gegl_operation_set_source_region): * gegl/gegl-utils.c: (gegl_rectangle_set), (gegl_rectangle_bounding_box), (gegl_rectangle_intersect), (gegl_rectangle_copy), (gegl_rectangle_contains), (gegl_rectangle_equal), (gegl_rectangle_equal_coords), (gegl_rectangle_dup), (gegl_rectangle_get_type): * gegl/gegl-utils.h: * operations/blur/box-blur.c: (get_source_rect): * operations/blur/gaussian-blur.c: (get_source_rect): * operations/core/crop.c: (get_affected_region): * operations/core/save-buffer.c: (process): * operations/file-io/exr-load.cpp: * operations/file-io/png-load.c: (gegl_buffer_import_png): * operations/render/introspect.c: (get_defined_region): 2007-01-28 Øyvind Kolås * AUTHORS: added Kevin Cozens to documentation section. 2007-01-28 Øyvind Kolås s/radius/standard deviation/ for gaussian blur and it's derivatives. * bin/node-editors/gaussian-blur.c: (expose), (drag_n_motion): * bin/node-editors/unsharp-mask.c: (expose), (drag_n_motion): * operations/blur/gaussian-blur.c: (process), (get_defined_region), (get_source_rect), (get_affected_region): * operations/meta/dropshadow.c: (attach): * operations/meta/unsharp-mask.c: (attach): * operations/workshop/dog.c: (attach): 2007-01-28 Øyvind Kolås * configure.in: increased required version of babl from 0.0.8 to 0.0.12, this requirement isn't entirely true, but 0.0.8 is much slower than 0.0.12. 2007-01-28 Øyvind Kolås Do not install internal headers, moved GEGL_TYPE_RECTANGLE into gegl.h * gegl/Makefile.am: * gegl/buffer/Makefile.am: * gegl/gegl-utils.h: * gegl/gegl.h: * gegl/module/Makefile.am: 2007-01-28 Øyvind Kolås * tools/create-reference.rb: generate valid XHTML 1.0 2007-01-28 Øyvind Kolås * operations/file-io/exr-load.cpp: reordered arguments for gegl_buffer_set and gegl_buffer_get. 2007-01-28 Øyvind Kolås * gegl/gegl.h: expose GType for GeglProcessor. 2007-01-27 Øyvind Kolås * operations/transform/affine.c: (calc_source_regions): initialize the inverse matrix before using it. 2007-01-27 Øyvind Kolås Turned GeglProcessor into a proper GObject. * gegl/gegl-processor.[ch]: (gegl_processor_class_init), (gegl_processor_init), (finalize), (gegl_node_new_processor), (gegl_processor_destroy): 2007-01-27 Øyvind Kolås Split GeglProcessor out of gegl-node.c into it's own file. * gegl/Makefile.am: * gegl/gegl-node.c: * gegl/gegl-node.h: * gegl/gegl-processor.c: (gegl_processor_set_rectangle), (gegl_node_new_processor), (gegl_processor_work), (gegl_processor_destroy): * gegl/gegl-processor.h: 2007-01-27 Øyvind Kolås * gegl/gegl.h: markup fix. 2007-01-27 Kevin Cozens * docs/Makefile.am: Forgot to remove api.html from BUILT_EXTRA_DIST. 2007-01-27 Kevin Cozens * autogen.sh: Change CVS to SVN. * configure.in: Added check for Ruby and set HAVE_RUBY if available. * docs/Makefile.am: Automatically update api.html file if needed but only when Ruby is available. 2007-01-27 Øyvind Kolås * NEWS: updated since last sync with changelog. 2007-01-27 Øyvind Kolås * gegl/gegl.h: updated documentation of gegl_process 2007-01-27 Øyvind Kolås * gegl/gegl.h: made GeglProcessor public. * gegl/gegl-node.c: (gegl_node_new_processor), (gegl_processor_destroy), (gegl_node_process): * bin/editor.c: (cb_recompute): disable the cache on the node (non public API). * bin/gegl-view.[ch]: (gegl_view_init), (set_property), (task_monitor), (gegl_view_repaint): removed all references to GeglCache and use the iterative GeglProcessor API instead. 2007-01-27 Øyvind Kolås * gegl/gegl.h: moved entry points that are mostly language binding conveniences to own section. 2007-01-27 Øyvind Kolås * gegl/buffer/gegl-cache.c: removed unused static function. 2007-01-27 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_processor_set_rectangle), (gegl_node_new_processor): added set_rectangle to processor, this should allow reusing a processor for updating the view in an application. 2007-01-27 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (set_blank), (downscale_float), (downscale_u8), (set_half): optimized set_blank to use a single memset per scanline, simplified code a bit, and left a FIXME for making the code even more concise. 2007-01-27 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (set_blank), (downscale_float), (set_half_float), (set_half): added mipmap pyramid decimator for 32bit floating point data typed buffers. 2007-01-27 Øyvind Kolås Added an API to do iterative processing, at the moment gegl_node_process is ported to use it, but the new code itself isn't exposed yet. * gegl/gegl-types.h: add GeglProcessor. * bin/export.c: (button_render_clicked): * bin/gegl-view.c: (task_monitor): * gegl/buffer/gegl-cache.c: (rect_area), (region_area), (area_left), (area_left2), (gegl_cache_render): * gegl/buffer/gegl-cache.h: * gegl/gegl-node.[ch]: (gegl_node_blit), (gegl_node_new_processor), (gegl_processor_work), (gegl_processor_destroy), (gegl_node_process): 2007-01-27 Øyvind Kolås * HACKING: added note that GEGL's autogen.sh also needs ruby to be installed. 2007-01-27 Øyvind Kolås Changed public API for gegl_node_blit, it new order of arguments, as well as new flags for indicating use of cache (projection for this node), as well as whether dirty cache data is accepted in the blit. * gegl/gegl.h: * gegl/gegl-node.[ch]: (gegl_node_blit), (gegl_node_process): * gegl/buffer/gegl-cache.[ch]: (render_rectangle), (gegl_cache_render): 2007-01-27 Øyvind Kolås Internal API change, the order of arguments for buffer set/get has changed to: void gegl_buffer_get (GeglBuffer *buffer, GeglRectangle *rect, gdouble scale, void *format, void *dest); void gegl_buffer_set (GeglBuffer *buffer, GeglRectangle *rect, void *format, void *src); * bin/gegl-view.c: (expose_event), (task_monitor): * bin/export.c: (button_render_clicked), (gegl_buffer_export_png): * gegl/buffer/gegl-buffer.c: (gegl_buffer_set), (gegl_buffer_get): * gegl/buffer/gegl-buffer.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * operations/blur/box-blur.c: (hor_blur), (ver_blur): * operations/blur/gaussian-blur.c: (iir_young_hor_blur), (iir_young_ver_blur), (fir_hor_blur), (fir_ver_blur): * operations/color/remap.c: (process): * operations/color/stretch-contrast.c: (buffer_get_min_max), (process): * operations/core/save-buffer.c: (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (gegl_buffer_import_jpg): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-load.c: (gegl_buffer_import_png): * operations/file-io/png-save.c: (gegl_buffer_export_png): * operations/file-io/raw-load.c: (load_buffer): * operations/file-io/svg-load.c: (gegl_buffer_import_svg): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/interpolate-cubic.c: (affine_cubic): * operations/transform/interpolate-lanczos.c: (affine_lanczos): * operations/transform/linear.c: (affine_linear), (scale_linear): * operations/transform/nearest.c: (affine_nearest), (scale_nearest): * operations/workshop/box-max.c: (hor_max), (ver_max): * operations/workshop/box-min.c: (hor_min), (ver_min): * operations/workshop/demosaic-simple.c: (demosaic): * operations/workshop/gtk-display.c: (process): * operations/workshop/kuwahara-max.c: (kuwahara): * operations/workshop/kuwahara-min.c: (kuwahara): * operations/workshop/kuwahara-switch.c: (kuwahara_switch): * operations/workshop/kuwahara.c: (kuwahara): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (load_buffer): 2007-01-26 Øyvind Kolås Made the cache used for the projection internal to a node. This makes the projection 32bit float. The display is still interpolated since babl does the conversion to 8bit prior to rescaling is attempted. * gegl/gegl-node.[ch]: (gegl_node_class_init), (gegl_node_init), (dispose), (computed_event), (gegl_node_get_cache), (gegl_node_disable_cache): added gegl_node_get_cache. * bin/gegl-view.[ch]: (finalize), (computed_event), (invalidated_event), (set_property), (expose_event), (task_monitor), (gegl_view_repaint): use ask node for cache * bin/editor.c: (cb_recompute): fetch cache from node. * bin/export.c: (button_render_clicked): fetch cache from node. 2007-01-26 Øyvind Kolås * operations/color/remap.c: (process): fixed formula to correctly remap. 2007-01-26 Øyvind Kolås * gegl/gegl.h: documented reference counting behavior of nodes, should probably be moved to an introduction about nodes, kept in the creation functions for now. 2007-01-26 Øyvind Kolås Fixed the memory management semantics of GeglNode's, they are reference counted. If they are created by a parent the parent holds the initial reference, and doing a manual un_ref on the node will break it free from the parent, if this is not done the node will be destroyed when the parent itself is unreferenced the last time. * gegl/gegl-graph.c: (gegl_node_add_child), (gegl_node_remove_child): * gegl/gegl-node.[ch]: (dispose): 2007-01-25 Øyvind Kolås * operations/blur/gaussian-blur.c: making the maximum blur radius be 100.0 until a nonlinear mapping for the gui is added to paramspec. 2007-01-25 Øyvind Kolås * tools/operation_reference.c: (category_index), (main): improved layout of categories. 2007-01-25 Øyvind Kolås * gegl/gegl.h: moved the processing section in the header above the state queries. 2007-01-25 Øyvind Kolås * tools/operation_reference.c: (category_menu_index), (main): added API reference, documentation and glossary links to menu. 2007-01-25 Øyvind Kolås * tools/operation_reference.c: (category_menu_index), (main): made the menu just contain an alphabetical list of all operations. 2007-01-25 Øyvind Kolås * gegl/gegl.h: moved #ifndef marker to correct location. 2007-01-25 Øyvind Kolås * gegl/buffer/gegl-cache.c: (finalize): disconnect signal handler for invalidation of the connected node. 2007-01-24 Øyvind Kolås * gegl/gegl.h: Ordered into sections, removed dummy comments for glib data types. Added comments. * tools/create-reference.rb: added external links for glib datatypes. Added paranthesises and commas to argument lists. 2007-01-24 Øyvind Kolås Added tool to create API reference, and autogenerated html API reference as part of docs and website. * autogen.sh: * gegl/gegl.h: tweaks to gegl.h to make the reference useful, still needs more work. * tools/create-reference.rb: a ruby program that transforms gegl's gegl.h to a html file suitable for inclusion on the website. 2007-01-24 Øyvind Kolås * gegl/gegl.h: corrected gtk-doc style markup in file. 2007-01-24 Øyvind Kolås * gegl/gegl.h: sorted gegl_node_foo functions alphabetically. 2007-01-24 Øyvind Kolås %s/gegl_operation_list_operations/gegl_list_operations/g * gegl/gegl-operation.[ch]: (gegl_list_operations): * gegl/gegl.h: 2007-01-24 Øyvind Kolås * gegl/gegl.h: first step in reordering the order functions are presented in the public API. 2007-01-23 Øyvind Kolås * gegl/gegl.h: fixed mismatches between documented names, and actually declared names. 2007-01-23 Kevin Cozens * gegl/gegl.h: fixed minor (mostly grammatical) errors in the comment blocks. 200r-01-23 Øyvind Kolås * gegl/gegl.h: fixed minor mistakes. 2007-01-23 Øyvind Kolås * gegl/gegl.h: made the style of documentation consistent. 2007-01-23 Øyvind Kolås %s/gegl_xml_parse/gegl_parse_xml/g not prefixed by xml anymore, but neither is gegl_to_xml, besides this reads a lot better. * gegl/gegl-xml.[ch]: (gegl_parse_xml): * gegl/gegl.h: Fixed uses of it: * bin/editor.c: (cb_composition_new), (cb_composition_load), (do_load), (cb_about): * bin/gegl.c: (main): * operations/file-io/magick-load.c: (load_cache): 2007-01-23 Øyvind Kolås %s/provider/producer/ * bin/editor-optype.c: (chain_in_operation): * bin/export.c: (get_input_rect): * bin/gegl-store.c: (gegl_children), (gegl_next_sibling): * bin/gegl-tree-editor.c: (tree_editor_get_active): * bin/gegl.c: (main): * gegl/gegl-node.c: (gegl_node_set_operation_object), (gegl_node_get_producer), (gegl_node_process), (gegl_node_insert_before): * gegl/gegl-node.h: * gegl/gegl.h: * operations/workshop/gtk-display.c: (process): 2007-01-23 Øyvind Kolås * gegl/gegl.h: reordered, added initial documentation for all public API. 2007-01-23 Øyvind Kolås * gegl/gegl-operation-point-composer.c: (process_inner): further speedups to over op avoiding unneeded computations earlier. 2007-01-23 Øyvind Kolås Added property chunk-size, which allows to specify the rectangular size used for computations when iterativly rendering a cache. Defaulting to 128*128, for overall speed bigger seems to be better as the processing done fits within RAM. * gegl/buffer/gegl-cache.c: (gegl_cache_class_init), (gegl_cache_init), (set_property), (get_property), (render_rectangle): * gegl/buffer/gegl-cache.h: 2007-01-23 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (resample_bilinear_u8): clamp coordinate further in, to avoid reading outside the buffer. 2007-01-22 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_process): process the graph up until the final sink node in chunks into a buffer, and then pass the buffer to the sink node. 2007-01-22 Øyvind Kolås Made iterative rendering work for GeglCache. * gegl/buffer/gegl-cache.h: added gegl_cache_is_rendered. * gegl/buffer/gegl-cache.c: (gegl_cache_init), (gegl_cache_is_rendered), (node_invalidated), (gegl_cache_dequeue), (gegl_cache_enqueue), (render_rectangle), (gegl_cache_render): fixed gegl_cache_render to work iterativly (use it in a while loop to render the entire cache). * bin/gegl-view.[ch]: (gegl_view_init), (set_property), (task_monitor), (gegl_view_repaint): changes due to changes in GeglCache. 2007-01-22 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_process): added (ifdef'ed out) iterative version of gegl_node_process. Enabling it causes more buffer leaks, and due to design issues with GeglCache it is not possible to iterate through the processing, this code will be revisited after some slight GeglCache refactoring. 2007-01-22 Øyvind Kolås * gegl/buffer/gegl-cache.h: amended includes to seperate external/internal use. 2007-01-22 Øyvind Kolås * NEWS: updated, to gauge whether it is time for a new release soon or not. 2007-01-22 Øyvind Kolås Removed gegl_node_get_consumer, reimplemented it where it was used in the test binary on top of gegl_node_get_consumers. * bin/gegl-store.c: (node_get_consumer), (gegl_previous_sibling): * gegl/gegl-node.[ch]: removed gegl_node_get_consumer. 2007-01-22 Øyvind Kolås * gegl/gegl.h: promote gegl_node_get_consumers to be public API. 2007-01-22 Øyvind Kolås %s/gegl_node_get_connected_to/gegl_node_get_provider/ * gegl/gegl.h: * gegl/gegl-node.[ch]: (gegl_node_set_operation_object), (gegl_node_get_provider), (gegl_node_process), (gegl_node_insert_before), (gegl_node_get_consumers), (gegl_node_get_consumer): * operations/workshop/gtk-display.c: (process): * bin/editor-optype.c: (chain_in_operation): * bin/export.c: (get_input_rect): * bin/gegl-store.c: (gegl_children), (gegl_next_sibling): * bin/gegl-tree-editor.c: (tree_editor_get_active): * bin/gegl.c: (main): 2007-01-22 Øyvind Kolås * bin/Makefile.am: added the GUI plug-ins to EXTRA_DIST. They are not compiled at the moment, but the makefile is created, and compiling/installing them works. 2007-01-22 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_get_consumers): declare the Pointer Array String Pool return location as const ***gchar. 2007-01-22 Øyvind Kolås * operations/core/shift.c: (process), (get_defined_region), (get_affected_region), (calc_source_regions), (detect): floor the parameters to avoid issues with different rounding in rect computations and processing. 2007-01-21 Øyvind Kolås * bin/gegl-tree-editor.c: (tree_editor_set_active): make the selected element in the treeview end up in the middle instead of at the top. 2007-01-21 Øyvind Kolås * gegl/gegl-utils.c: (gegl_rect_intersect): allow passing a NULL destination, if we're only interested in the boolean return value. 2007-01-21 Øyvind Kolås * operations/workshop/gtk-display.c: (process): added NULL pointer for new argument of gegl_node_get_connected_to. 2007-01-21 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_get_abyss): added getter for the abyss/clip rectangle. * gegl/gegl-operation-point-composer.c: (process_inner): add special speedup treatment for over op when in or aux is outside the roi. 2007-01-21 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get_abyss): * gegl/buffer/gegl-buffer.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-utils.c: (gegl_rect_intersect), (gegl_rect_overlaps), (gegl_rect_contains_point): * gegl/gegl-utils.h: 2007-01-21 Øyvind Kolås Refined the API to query connections between nodes. gegl_node_get_consumer(s) is still not public API, but might be promoted to gegl.h soon. * gegl/gegl-node.[ch]: (gegl_node_set_operation_object), (gegl_node_get_connected_to), (gegl_node_process), (gegl_node_insert_before), (gegl_node_get_consumers), (gegl_node_get_consumer): * gegl/gegl.h: modified gegl_node_get_connected_to. The rest is fixes to bring the sample code up to date. * bin/export.c: (get_input_rect): * bin/gegl-store.c: (gegl_children), (gegl_next_sibling), (gegl_previous_sibling): * bin/gegl-tree-editor.c: (tree_editor_get_active): * bin/gegl.c: (main): 2007-01-18 Øyvind Kolås * gegl/gegl-node.h: reindented. 2007-01-18 Øyvind Kolås * gegl/gegl.h: getting nit-picky with indentation just because this is the public API and thus the best excuse for documentation right now. 2007-01-16 Sven Neumann * bin/editor.c: minor dialog tweaks. 2007-01-16 Øyvind Kolås Improved work on the introspection capabilities in the yet not public API to do that. It still only supports a single output correctly but it now also reports the name of the pad the node is providing data for. * gegl/gegl-node.c: (gegl_node_get_consumer): * gegl/gegl-node.h: Modified the binary accordingly. * bin/gegl-store.c: (gegl_previous_sibling): 2007-01-16 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate): fixed bug with black abyss to the left of non some buffers. (resample_bilinear_u8): moved 8bit 3 component into a special case to allow the compiler to more agressivly optimize it. 2007-01-15 Øyvind Kolås * bin/gegl-view.c: (computed_event): remove hack which overlaps exposed regions due to invalidation with code that rounds uo up to the closest integer pixel using ceil. 2007-01-15 Sven Neumann * gegl/gegl-xml.c (tuple): escape text when writing as XML. 2007-01-15 Sven Neumann * bin/editor.c (cb_about) * bin/gegl.c (DEFAULT_COMPOSITION): updated year in copyright. * bin/editor.c: use more stock icons, capitalisation and grammar fixes. 2007-01-15 Sven Neumann * gegl/gegl-init.[ch] * gegl/gegl.h: added external API to use GEGL with the GOption command-line parser. Will become useful if command-line options are ever added. 2007-01-15 Øyvind Kolås Removed floating point code from innerlooops, manually unrolled the scenarios for different number of components. * gegl/buffer/gegl-buffer.c: (bilinear_8), (resample_bilinear_u8): 2007-01-15 Øyvind Kolås * gegl/gegl-operation-composer.c: (detect): do not capture event ourselves if neither input nor aux wanted it. 2007-01-15 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get): * gegl/gegl-operation-composer.c: (detect): 2007-01-14 Øyvind Kolås * gegl/gegl-xml.c: (start_element): do not modify a path that is already absolute. 2007-01-13 Øyvind Kolås Fixed handling of relative paths when loading XML compositions/images. * bin/editor.c: (do_load): * bin/gegl.c: (main): 2007-01-13 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_detect): moved comment. * gegl/gegl-operation.c: (gegl_operation_detect): added some sanity. * operations/file-io/load.c: (detect): check the bounds of the proxy output to really see if we hit. 2007-01-13 Øyvind Kolås * operations/file-io/load.c: (detect), (class_init): removed debug message. 2007-01-13 Øyvind Kolås * operations/core/nop.c: (detect), (class_init): reroute to include meta ops in detection. * gegl/gegl-operation-composer.c: (detect): * gegl/gegl-operation-filter.c: (detect): * gegl/gegl-operation-meta.c: (gegl_operation_meta_class_init), (detect): * gegl/gegl-operation.c: (gegl_operation_get_source_node): * operations/file-io/load.c: (detect), (class_init): 2007-01-12 Øyvind Kolås * operations/meta/tonemap.c: changed range of amount property. 2007-01-12 Øyvind Kolås * operations/color/remap.c: (process): made the remapper for use in local contrast stretching ops operate per component. 2007-01-12 Øyvind Kolås * operations/workshop/grey.c: (init), (process): added a grey op. 2007-01-12 Øyvind Kolås Added edge preserving blur/min/max filters based on kuwahara. * operations/workshop/kuwahara.c: * operations/workshop/kuwahara-max.c: * operations/workshop/kuwahara-min.c: * operations/workshop/kuwahara-switch.c: 2007-01-12 Øyvind Kolås Modified to work in non-pre-multiplied RGB. * operations/workshop/box-max.c: (hor_max), (ver_max): * operations/workshop/box-min.c: (hor_min), (ver_min): 2007-01-12 Øyvind Kolås * operations/color/stretch-contrast.c: (calc_source_regions): request entire image. 2007-01-12 Øyvind Kolås * operations/blur/gaussian-blur.c: (get_defined_region), (get_source_rect), (get_affected_region): Increase the size of the sampling buffer. 2007-01-11 Øyvind Kolås * bin/gegl-store.c: (gegl_previous_sibling): moved functionality to gegl_node_consumer_node. * gegl/gegl-node.[ch]: (gegl_node_get_consumer_node): new hacky convenience function, needs a broader, better API before it can be made public. 2007-01-11 Øyvind Kolås * bin/gegl.c: (main): Fix path handling when loading non XML files from the commandline. 2007-01-11 Øyvind Kolås s/gegl_pad_get_real_connected_to/gegl_pad_get_internal_connected_to/ This is a function that returns what pad is the source of data. Rerouted out of a graph and into a pad at that level if neccesary. * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-operation.c: (gegl_operation_get_source_node), (gegl_operation_set_source_region): * gegl/gegl-pad.c: (gegl_pad_get_depends_on), (gegl_pad_get_internal_connected_to): * gegl/gegl-pad.h: 2007-01-09 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_insert_before): added convenience function to insert an over op at end of chain without having to recompute entire composition. (kept from public API for now) * gegl/gegl-operation-composer.c: (get_defined_region): return defined region for aux buf, if input buf is not defined. 2007-01-09 Øyvind Kolås * operations/file-io/load.c: (detect), (class_init): 2007-01-09 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_property): remove code meant to eek the first time a graph property was set directly. * gegl/gegl.h: make gegl_node_get_connected_to public. 2007-01-08 Øyvind Kolås * operations/render/color.c: (detect), (class_init): Made color class refuse hits (this makes the hit detection work through the drop-shadow op). 2007-01-08 Øyvind Kolås * operations/render/color.c: (detect), (class_init): 2007-01-08 Øyvind Kolås * configure.in: added test for enscript. 2007-01-08 Øyvind Kolås * configure.in: increased version to 0.0.7 ========================== 0.0.6 released ================================== 2007-01-08 Øyvind Kolås * NEWS: Added news for the 0.0.6 release. * configure.in: increased version to 0.0.6 2007-01-08 Øyvind Kolås * Makefile.am: added autogen.sh. * bin/Makefile.am: disable gui-plugins for now. 2007-01-07 Øyvind Kolås * bin/gegl-view.c: (button_press_event): ask the treeview to activate the pressed node. * operations/core/clone.c: (detect), (class_init): stop hit detection when encountering a clone. 2007-01-07 Øyvind Kolås Added initial hit-detection system. * gegl/gegl-node.c: gegl_node_detect tied in with operations. * gegl/gegl-operation.[ch]: Added new virtual method called detect default implementation is to say it is us, if we've got defined data at the position. Changes in operation classes: * gegl/gegl-operation-filter.c: just call our source op asking it. * gegl/gegl-operation-composer.c: use aux if pixeldata is define there (should be overriden in some subclass(es?)) * operations/core/shift.c: modify coordinates. * operations/transform/affine.c: modify coordinates. * bin/gegl-view.c: added (disabled by default) code to print which node is detected upon mouse press in the view. 2007-01-07 Øyvind Kolås * bin/Makefile.am: disable gui plug-ins for now. 2007-01-07 Øyvind Kolås Added path_root argument to gegl_xml_parse and gegl_to_xml, this fixes bug. The mangling of paths being passed in/out is done on all properties of type gegl_chant_path in the operations. Bug # closed. * gegl/gegl.h: * gegl/gegl-xml.h: * gegl/gegl-xml.c: (start_element), (gegl_xml_parse), (tuple), (encode_node_attributes), (gegl_to_xml): * bin/editor.c: (cb_composition_new), (cb_composition_load), (cb_composition_save), (do_load), (cb_about): * bin/gegl.c: (main): * operations/file-io/load.c: (refresh_cache): * operations/file-io/magick-load.c: (load_cache): * operations/meta/layer.c: 2007-01-06 Dominik Ernst * operations/file-io/png-load.c: removed a redundant GeglBuffer * operations/file-io/exr-load.cpp: made exr-load load images chunk-wise 2007-01-06 Øyvind Kolås * bin/gegl-view.c: (gegl_view_constructor): do not disable double buffering. (expose_event): return FALSE to allow chaining cairo in afterwards. 2007-01-06 Michael Schumacher * gegl/gegl-init.c: Use g_setenv and g_getenv. 2007-01-05 Øyvind Kolås * gegl/gegl-color.h: protect GEGL_TYPE_COLOR from being defined multiple times. 2007-01-04 Kevin Cozens * docs/Makefile.am: Use --language=html instead of -whtml. Version 1.6.4-4 of Enscript in Fedora Core 6 doesn't like the -w option. 2007-01-04 Øyvind Kolås * gegl/gegl.h: indentation fixes. 2007-01-04 Øyvind Kolås %s/gegl_node_new_node/gegl_node_new_child/ %s/gegl_node_create_node/gegl_node_create_child/ * bin/editor-optype.c: (chain_in_operation): * bin/editor.c: (cb_introspect): * bin/gegl-tree-editor-action.c: (add_sibling_op), (add_child_op): * bin/gegl.c: (main): * gegl/gegl-graph.c: (gegl_node_new_child), (gegl_node_create_child): * gegl/gegl-graph.h: * gegl/gegl-xml.c: (start_element): * gegl/gegl.h: * operations/file-io/load.c: (attach), (refresh_cache): * operations/meta/dropshadow.c: (attach): * operations/meta/layer.c: (attach), (refresh_cache): * operations/meta/tonemap.c: (attach): * operations/meta/unsharp-mask.c: (attach): * operations/render/introspect.c: (process): * operations/workshop/dog.c: (attach): * tests/mockimageoperationtest.c: (test_mock_image_operation_g_object_properties), (test_mock_image_operation_chain): * tools/introspect.c: (stuff): 2007-01-04 Øyvind Kolås %s/gegl_node_output/gegl_node_get_output_proxy/ %s/gegl_node_input/gegl_node_get_input_proxy/ * bin/editor-optype.c: (chain_in_operation): * bin/export.c: (get_input_rect): * bin/gegl-store.c: (gegl_store_set_gegl): * bin/gegl-tree-editor.c: (tree_editor_get_active): * bin/gegl.c: (main): * gegl/gegl-graph.c: (gegl_node_get_input_proxy), (gegl_node_get_output_proxy): * gegl/gegl-graph.h: * gegl/gegl-node.c: (gegl_node_get_depends_on), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property): * gegl/gegl-operation.c: (get_defined_region), (get_affected_region), (calc_source_regions): * gegl/gegl-xml.c: (start_element), (end_element), (gegl_to_xml): * gegl/gegl.h: * operations/file-io/load.c: (attach): * operations/meta/dropshadow.c: (attach): * operations/meta/layer.c: (attach): * operations/meta/tonemap.c: (attach): * operations/meta/unsharp-mask.c: (attach): * operations/workshop/dog.c: (attach): 2007-01-04 Øyvind Kolås Merged GeglGraph class into GeglNode class. (more API cleanup to follow). * bin/editor-optype.c: (chain_in_operation): * bin/editor.c: (cb_introspect): * bin/export.c: (get_input_rect): * bin/gegl-store.c: (gegl_store_set_gegl): * bin/gegl-tree-editor-action.c: (add_sibling_op), (add_child_op): * bin/gegl-tree-editor.c: (tree_editor_get_active): * bin/gegl.c: (main): * gegl/gegl-dot.c: (gegl_add_graph): * gegl/gegl-graph.c: (gegl_node_remove_children), (gegl_node_add_child), (gegl_node_remove_child), (gegl_node_get_num_children), (gegl_node_get_nth_child), (gegl_node_get_children), (gegl_node_new_node), (gegl_node_create_child), (gegl_node_get_pad_proxy), (gegl_node_input), (gegl_node_output), (gegl_node_new): * gegl/gegl-graph.h: * gegl/gegl-node-dynamic.h: * gegl/gegl-node.c: (gegl_node_class_init), (gegl_node_init), (dispose), (gegl_node_get_depends_on), (gegl_node_get), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property): * gegl/gegl-node.h: * gegl/gegl-operation.c: (get_defined_region), (get_affected_region), (calc_source_regions): * gegl/gegl-xml.c: (start_element), (end_element), (gegl_to_xml): * gegl/gegl.h: * operations/file-io/load.c: (attach), (refresh_cache): * operations/meta/dropshadow.c: (attach): * operations/meta/layer.c: (attach), (refresh_cache): * operations/meta/tonemap.c: (attach): * operations/meta/unsharp-mask.c: (attach): * operations/render/introspect.c: (process): * operations/workshop/dog.c: (attach): * tests/dfspadvisitortest.c: (test_dfs_pad_visitor): * tests/graphtest.c: (test_graph), (test_graph_properties), (test_graph_property_visitors): * tests/mockimageoperationtest.c: (test_mock_image_operation_g_object_properties), (test_mock_image_operation_chain): * tests/updatepadtest.c: (test_update_pad): * tools/introspect.c: (stuff): 2007-01-01 Kevin Cozens Some changes to fix build problems in FreeBSD and Windows. * configure.in: Added tests to check for libm and set MATH_LIB. * Makefile.am: Use '$(MAKE)' instead of 'make'. * docs/gallery/Makefile.am: Use '$(MAKE)' instead of 'make'. Added missing 'export' for GEGL_PATH. * codegen/Makefile.am: * gil/gil/Makefile.am: * gil/tests/Makefile.am: * tests/Makefile.am: * tools/testsuite/Makefile.am: Use $(MATH_LIB) instead of a hard-coded '-lm'. 2007-01-01 Øyvind Kolås * gegl/gegl.h: include gegl-paramspecs.h in gegl/ prefix. 2007-01-01 Øyvind Kolås * configure.in: bumped version to 0.0.5 (odd micro==checkout from cvs). 2007-01-01 Michael Schumacher * gegl/gegl/gegl-tile-disk.c: g_open takes three parameters. Only broke on Microsoft Windows, apparently. 2006-12-31 Kevin Cozens * gegl/buffer/gegl-buffer.c: include and not . ========================== 0.0.4 released ================================== 2006-12-29 Øyvind Kolås * configure.in: bumped version to 0.0.4 2006-12-29 Øyvind Kolås * operations/meta/tonemap.c: (attach): use boxblur instead of gauss blur. (mostly for speed, doesn't make arifcats much worse). 2006-12-29 Øyvind Kolås %s/dynamic_id/context_id/g which is hopefully a rename in a sane direction, probably not a final choice though. * gegl/gegl-chant.h: * gegl/gegl-cr-visitor.c: (visit_node): * gegl/gegl-debug-rect-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-finish-visitor.c: (visit_node): * gegl/gegl-need-visitor.c: (visit_node): * gegl/gegl-node-dynamic.h: * gegl/gegl-node.c: (gegl_node_set_need_rect), (gegl_node_get_result_rect), (gegl_node_set_result_rect), (gegl_node_get_need_rect), (lookup_dynamic), (gegl_node_get_dynamic), (gegl_node_remove_dynamic), (gegl_node_add_dynamic): * gegl/gegl-node.h: * gegl/gegl-operation-composer.c: (process), (calc_source_regions): * gegl/gegl-operation-composer.h: * gegl/gegl-operation-filter.c: (process), (calc_source_regions): * gegl/gegl-operation-filter.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * gegl/gegl-operation-sink.c: (process), (calc_source_regions): * gegl/gegl-operation-sink.h: * gegl/gegl-operation-source.c: (process), (calc_source_regions): * gegl/gegl-operation-source.h: * gegl/gegl-operation.c: (gegl_operation_process), (gegl_operation_calc_source_regions), (gegl_operation_prepare), (gegl_operation_set_source_region), (calc_source_regions), (gegl_operation_get_requested_region), (gegl_operation_result_rect), (gegl_operation_get_data), (gegl_operation_set_data): * gegl/gegl-operation.h: * gegl/gegl-prepare-visitor.c: (visit_node): * gegl/gegl-visitor.c: (set_property), (get_property): * gegl/gegl-visitor.h: * operations/blur/box-blur.c: (process), (get_source_rect), (calc_source_regions): * operations/blur/gaussian-blur.c: (process), (get_source_rect), (calc_source_regions): * operations/color/remap.c: (process), (get_source_rect), (calc_source_regions): * operations/color/stretch-contrast.c: (process), (calc_source_regions): * operations/core/buffer.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process), (calc_source_regions): * operations/core/nop.c: (process): * operations/core/save-buffer.c: (process): * operations/core/shift.c: (process), (calc_source_regions): * operations/display/display.c: (process): * operations/file-io/exr-load.cpp: * operations/file-io/jpg-load.c: (process): * operations/file-io/load.c: (prepare): * operations/file-io/magick-load.c: (process): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-load.c: (process), (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/file-io/svg-load.c: (process): * operations/meta/layer.c: (prepare): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/introspect.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/affine.c: (calc_source_regions), (process): * operations/workshop/box-max.c: (process), (get_source_rect), (calc_source_regions): * operations/workshop/box-min.c: (process), (get_source_rect), (calc_source_regions): * operations/workshop/demosaic-simple.c: (process), (get_source_rect), (calc_source_regions): * operations/workshop/gtk-display.c: (process): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (process): 2006-12-29 Øyvind Kolås * bin/gegl-node-editor.c: (scalar_expose): removed some visual noise from the custom slider. 2006-12-29 Øyvind Kolås * gegl/gegl-dot.c: (gegl_add_graph): removed deprecated FIXME. 2006-12-29 Øyvind Kolås * gegl/gegl-node.c: (property_changed), (gegl_node_set_valist): removed deprecation warning. * gegl/gegl-xml.c: (name2val), (add_stack): removed deperaction warning of property named "class". 2006-12-29 Øyvind Kolås * bin/gegl-node-editor.c: (scalar_expose), (scalar_drag_n_motion): changed clipping rules for out of range values. * operations/workshop/dog.c: changed range, to make ui a bit more usable. 2006-12-29 Øyvind Kolås * operations/color/levels.c: changed ranges to -5..5 2006-12-29 Øyvind Kolås * bin/gegl-node-editor.c: (type_editor_scalar): set a minimum size. 2006-12-29 Øyvind Kolås * bin/gegl.c: improved splash, (tweaked it to not extend the bounding box of the background fractal.) 2006-12-29 Øyvind Kolås s/associate/attach/ in the API, perhaps this should even be passed the node it is being attached to as a parameter. * gegl/gegl-node.c: (gegl_node_set_operation_object): * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (attach): * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (attach): * gegl/gegl-operation-sink.c: (gegl_operation_sink_class_init), (attach): * gegl/gegl-operation-source.c: (gegl_operation_source_class_init), (attach): * gegl/gegl-operation.c: (gegl_operation_class_init), (attach), (gegl_operation_attach): * gegl/gegl-operation.h: * operations/color/remap.c: (attach), (gegl_operation_remap_class_init): * operations/file-io/load.c: (attach), (class_init): * operations/meta/dropshadow.c: (attach), (class_init): * operations/meta/layer.c: (attach), (class_init): * operations/meta/tonemap.c: (attach), (class_init): * operations/meta/unsharp-mask.c: (attach), (class_init): * operations/workshop/dog.c: (attach), (class_init): 2006-12-29 Øyvind Kolås * NEWS: added generic feature blurb as first news item in NEWS file. 2006-12-29 Øyvind Kolås * bin/gegl.c: changed splash. 2006-12-29 Øyvind Kolås * gegl/gegl-instrument.c: (gegl_instrument_utf8): only print three decimal digits in total. 2006-12-29 Øyvind Kolås * configure.in: 2006-12-29 Øyvind Kolås * bin/Makefile.am: removed gegl-dot.[ch] * gegl/Makefile.am: added gegl-dot.[ch] * operations/render/introspect.c: include gegl-dot.h correctly. 2006-12-29 Øyvind Kolås * bin/gegl-dot.[ch]: moved ... * gegl/gegl-dot.[ch]: .. here. * operations/workshop/introspect.c: moved ... * operations/render/introspect.c: ... here 2006-12-29 Øyvind Kolås * bin/gegl-dot.c: (gegl_add_graph): * operations/render/FractalExplorer.c: 2006-12-29 Øyvind Kolås * operations/meta/dropshadow.c: modified opacity to be within legal values (allow negative dropshadow for highlights). 2006-12-29 Øyvind Kolås Added multiline paramspec to GEGL (as well as to the test GUI). (accidently added custom sliders as well.) * bin/gegl-node-editor.c: (multiline_changed), (type_editor_multiline), (scalar_expose), (scalar_drag_n_motion), (type_editor_scalar), (property_editor_general): * gegl/buffer/gegl-cache.c: (gegl_cache_class_init): * gegl/gegl-chant.h: * gegl/gegl-paramspecs.c: (gegl_param_multiline_get_type), (gegl_param_multiline_class_init), (gegl_param_multiline_init), (gegl_param_multiline_validate), (gegl_param_spec_multiline): * gegl/gegl-paramspecs.h: * operations/render/text.c: 2006-12-28 Kevin Cozens * configure.in: Added check for graphviz (by looking for 'dot'). 2006-12-28 Øyvind Kolås * operations/meta/tonemap.c: added an amount parameter, defaulting to 0.5. 2006-12-28 Øyvind Kolås Made the local contrast enhancement code work properly. * operations/workshop/remap.c: moved,. * operations/color/remap.c: .. here. * operations/workshop/tonemap.c: moved,.. * operations/meta/tonemap.c: .. here. 2006-12-28 Øyvind Kolås * operations/workshop/remap.c: (gegl_operation_remap_class_init): Changed the category remap registers for. 2006-12-28 Øyvind Kolås * bin/gegl-node-editor.c: #include for getcwd 2006-12-28 Øyvind Kolås * bin/Makefile.am: added gegl-dot.h to list of sources. 2006-12-28 Øyvind Kolås * bin/gegl-node-editor.c: add a special handler for path properties. * operations/file-io/png-save.c: the GtkFileChooserButton doesn't support the SAVE action. 2006-12-28 Øyvind Kolås Added a PATH paramspec (chantable from operations). * gegl/gegl-paramspecs.[ch]: NEW files (copied from GIMP, shortened and appeneded). * gegl/Makefile.am: * gegl/gegl-chant.h: * gegl/gegl-plugin.h: * gegl/gegl-types.h: * gegl/gegl.h: use gegl_chant_path instead of gegl_chant_string for the properties which are filenames. * operations/file-io/jpg-load.c: * operations/file-io/load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/png-save.c: * operations/file-io/raw-load.c: * operations/file-io/svg-load.c: 2006-12-28 Øyvind Kolås * bin/gegl-node-editor.c: use fewer digits after floating point. 2006-12-28 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_get_bounding_box): do not try to do graph based proxy redirect, if we do not have an output pad. 2006-12-28 Øyvind Kolås * bin/gegl-view.[ch]: (button_press_event), (motion_notify_event): made right click drag to zoom work correctly. 2006-12-28 Øyvind Kolås Made the introspect mode set the window size to fit at 0.75% zoom. * bin/editor.c: * operations/core/save-buffer.c: * operations/workshop/introspect.c: 2006-12-28 Øyvind Kolås * operations/core/save-buffer.c: (process): * operations/render/FractalExplorer.c: 2006-12-28 Øyvind Kolås * bin/editor.c: (cb_about), (cb_introspect): added CTRL+I callback to trigger rendering, and loading of introspection data. * operations/workshop/introspect.c: added a node to generate a raster showing the a visuazliation of the underlying graph for a node. 2006-12-28 Øyvind Kolås * bin/gegl-view.c: (button_press_event): trigger the hit detection code. * gegl/gegl-node.[ch]: (gegl_node_detect): added detect function, not yet functional. * gegl/gegl.h: added gegl_node_detect() 2006-12-27 Øyvind Kolås * operations/core/save-buffer.c: added an operation to save results to GeglBuffers. 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_add_graph), (gegl_to_dot): visualize subgraphs. 2006-12-27 Øyvind Kolås * docs/gallery/Makefile.am: added links to graphviz visualization graphs to the gallery. * docs/gallery/drop-shadow.xml: removed final downscaling. 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_to_dot): decreased font size nodesep and ranksep to make rendered output more compact. 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_to_dot): * bin/gegl-view.c: (button_press_event): * docs/gallery/Makefile.am: * gegl/gegl-node.c: (gegl_node_detect): * gegl/gegl-node.h: * gegl/gegl.h: * operations/render/FractalExplorer.c: 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_to_dot): handle NULL strings as results of value transforms. 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_to_dot): output the values of properties in the generated graph. 2006-12-27 Øyvind Kolås * bin/gegl-dot.c: (gegl_to_dot): show input/output pads involved in connections. 2006-12-27 Øyvind Kolås * bin/gegl-dot.[ch]: NEW files with a function to create a graphviz compatible description of a given graph. * bin/Makefile.am: added gegl-dot.[ch] * bin/gegl-options.[ch]: added --dot commandline option. * bin/gegl.c: (main): handle --dot. 2006-12-26 Øyvind Kolås * operations/workshop/remap.c: added a operation to stretch contrast for an individual pixel based on black/white level in aux input bufs. 2006-12-26 Øyvind Kolås * operations/workshop/tonemap.c: added a meta operation that does local contrast enhancement. Based on gaussian blurred maximum/minimum stretch values in a square neighbourhood. 2006-12-26 Øyvind Kolås Modified to request only needed data. * operations/workshop/box-max.c: (process): * operations/workshop/box-min.c: (process): 2006-12-26 Øyvind Kolås * gegl/gegl-chant.h: make the type registration function static. 2006-12-25 Øyvind Kolås Added operations that pick the minimum/maximum values in a square neighbourhood to the workshop dir. * operations/workshop/box-max.c: * operations/workshop/box-min.c: 2006-12-21 Øyvind Kolås * operations/workshop/dog.c: added a difference of gaussians edge detection op. 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-storage.[ch]: added an idle handler cleaning the cache. (gegl_storage_constructor): add idle handler for cleaning of cache. (storage_idle): cleaner of cache 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-tile-disk.c: (set_tile): set stored_rev=rev * gegl/buffer/gegl-tile-mem.c: (set_tile): set stored_rev=rev 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-tile-store.h: removed unused fields/defines. * gegl/buffer/gegl-tile.h: removed unused fields/defines. For the rest, cleaned away remnants of ancient code. * gegl/buffer/gegl-buffer.c: (get_tile), (gegl_buffer_get_format): * gegl/buffer/gegl-tile-disk.c: (message): * gegl/buffer/gegl-tile-mem.c: (message): 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (get_tile): add sufficient meta data to generated tile enabling us to swap it out. 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-tile-store.h: added new messages for the tilebus to void regions of a tile for zoom purposes. * gegl/buffer/gegl-tile-zoom.c: (get_tile), (message), (gegl_tile_zoom_class_init): only recompute dirtied quadrants. * gegl/buffer/gegl-tile.c: (gegl_tile_init), (gegl_tile_void_pyramid): made pyramid_dirtying dirty quadrants instead of void tiles. * gegl/buffer/gegl-tile.h: added flags, and enum for quadrant dirt. * gegl/buffer/gegl-tile-disk.c: (set_tile): added assertion for tile->flags==0 * gegl/buffer/gegl-tile-mem.c: (set_tile): added assertion for tile->flags==0 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_void): void smaller pyramid levels as well. 2006-12-20 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_void): * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): * gegl/buffer/gegl-tile-store.h: * gegl/buffer/gegl-tile.c: (gegl_tile_init), (gegl_tile_void_pyramid): * gegl/buffer/gegl-tile.h: 2006-12-19 Øyvind Kolås Reverted previous change, as it somehow adversly affected zoom. * gegl/buffer/gegl-buffer.c: * gegl/buffer/gegl-tile.h: 2006-12-19 Øyvind Kolås Some cleanup (at least code simplification, without regression). * gegl/buffer/gegl-tile.h: removed ->storage_[xyz] instance variables. * gegl/buffer/gegl-buffer.c: (get_tile): fixed to use x,y,z instead of storage_x,y,z. 2006-12-19 Øyvind Kolås * gegl/buffer/gegl-cache.c: (gegl_cache_class_init): increased default dimensions. * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): set default storage cache size to 256 tiles. 2006-12-19 Øyvind Kolås * gegl/buffer/gegl-tile-disk.c: (disk_entry_read), (disk_entry_write), (disk_entry_new): Made it work with >2GB swap files. 2006-12-19 Øyvind Kolås * gegl/buffer/gegl-tile-mem.[ch]: incorporated Changes from GeglTileDisk (HashTable and general code structure). 2006-12-19 Øyvind Kolås * gegl/buffer/gegl-tile-disk.[ch]: modified to use a HashTable instead of a GSList for the in-memory index. 2006-12-18 Øyvind Kolås * gegl/buffer/gegl-tile-disk.c: reindented. 2006-12-18 Øyvind Kolås Added a swap implementation, enable it by setting the environment variable GEGL_SWAP non NULL. WARNING: GEGL currently does not clean up it's swap files. * gegl/buffer/Makefile.am: added gegl-tile-disk.[ch] * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_new_from_format): compute swapfile names for new allocators. * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): check for GEGL_SWAP environment variable before backing the storage with disk swap. * gegl/buffer/gegl-tile-disk.[ch]: Added a simple swap to disk implementation. 2006-12-17 Dominik Ernst * operations/file-io/png-load.c: made png-load load images chunk-wise again. 2006-12-14 Øyvind Kolås Added simple custom GUI node editors for unsharp-mask. * bin/node-editors/unsharp-mask.c: added. 2006-12-14 Øyvind Kolås Added simple custom GUI node editors for gaussian blur and whitebalance. * bin/node-editors/gaussian-blur.c: added. * bin/node-editors/whitebalance.c: added. 2006-12-14 Øyvind Kolås Enabled the infrastructure for writing GUI-plugins that register as GUI for a pattern of operations. This should makes the custom GUIs less coupled to the build framework. * bin/Makefile.am: added node-editors subdir. * bin/gegl-node-editor.c: rewritten to handle dynamically loaded node property editors. * bin/gegl-node-editor-brightness-contrast.c: REMOVED. * bin/gegl-node-editor-level.c: REMOVED. * bin/gegl-node-editor-plugin.h: added header for writing GUI plug-ins. * bin/node-editors/Makefile.am: added. * bin/node-editors/brightness-contrast.c: moved here from parent dir, rewritten as a module. * bin/node-editors/level.c: moved here from parent dir, rewritten as a module. * configure.in: added bin/node-editors/Makefile 2006-12-14 Øyvind Kolås * gegl/gegl-chant.h: made the get_type function static within the shared object. 2006-12-14 Øyvind Kolås * bin/gegl-node-editor.[ch]: (gegl_node_editor_class_init), (property_editor_general), (gegl_node_editor_class_set_pattern), (gegl_node_editor_class_matches), (gegl_type_subtypes), (gegl_type_heirs), (gegl_node_editor_new): Added some more logic towards easier extensibility of custom property editors. * bin/gegl-node-editor-brightness-contrast.c: specify op. * bin/gegl-node-editor-level.c: specify pattern "opacity:threshold". 2006-12-13 Øyvind Kolås * bin/gegl-projection.[ch]: moved and renamed this class ... * gegl/buffer/gegl-cache.[ch]: ... and resurrected it here. * gegl/buffer/Makefile.am: added new files. * gegl/buffer/gegl-buffer-types.h: added new typedefs. And modified the sample app and it's GeglView widget according to the changes. * bin/Makefile.am: * bin/editor.c: (cb_recompute): * bin/export.c: (button_render_clicked): * bin/gegl-view.c: (finalize), (computed_event), (invalidated_event), (set_property), (expose_event), (gegl_view_repaint), (gegl_view_get_cache): * bin/gegl-view.h: 2006-12-13 Øyvind Kolås Gave new names to functions of the projection, not sure if these names will be the final ones, but at least they are better than the old ones: enqueue (add a rectangle to the region that is desired to be computed) dequeue (remove a prior request for rendering) invalidate (mark a region of the projection as invalid (usually happens automatically). * bin/editor.c: (cb_recompute): * bin/export.c: (button_render_clicked): * bin/gegl-projection.c: (gegl_projection_dequeue), (gegl_projection_invalidate), (gegl_projection_enqueue): * bin/gegl-projection.h: * bin/gegl-view.c: (gegl_view_repaint): 2006-12-13 Øyvind Kolås * bin/gegl-projection.[ch]: removed buffer member from struct, and removed method gegl_projection_get_buffer, since the projection is now it's own buffer. * bin/export.c: (button_render_clicked): fixed according to above changes. (gegl_projection_init), (task_render), (gegl_projection_render): * bin/gegl-view.c: (expose_event): fixed according to above changes. 2006-12-13 Øyvind Kolås * gegl/gegl-chant.h: removed gegl_chant_float from the API. 2006-12-13 Øyvind Kolås * gegl/gegl.h: added gegl_node_find_property to public API. 2006-12-13 Øyvind Kolås * bin/gegl.c: changed the default composition. 2006-12-13 Øyvind Kolås %s/GeglRect/GeglRectangle/g %s/gegl_rect_/gegl_rectangle_/g * bin/editor.c (cb_fit), (cb_fit_on_screen), (cb_shrinkwrap): * bin/export.c (set_to_defined), (get_input_rect), (button_input_clicked), (button_view_clicked), (button_render_clicked), (gegl_buffer_export_png): * bin/gegl-projection.c (gegl_projection_class_init), (task_monitor), (node_invalidated), (gegl_projection_forget_queue), (gegl_projection_forget), (gegl_projection_update_rect), (task_render): * bin/gegl-projection.h: * bin/gegl-view.c (computed_event), (expose_event), (gegl_view_repaint): * codegen/test_files/gegl-add-op.gil: * codegen/test_files/gegl-composite-op.gil: * codegen/test_files/gegl-composite-premult-op.gil: * codegen/test_files/gegl-dark-op.gil: * codegen/test_files/gegl-diff-op.gil: * codegen/test_files/gegl-fill-op.gil: * codegen/test_files/gegl-light-op.gil: * codegen/test_files/gegl-max-op.gil: * codegen/test_files/gegl-min-op.gil: * codegen/test_files/gegl-mult-op.gil: * codegen/test_files/gegl-premult-op.gil: * codegen/test_files/gegl-print-op.gil: * codegen/test_files/gegl-screen-op.gil: * codegen/test_files/gegl-subtract-op.gil: * codegen/test_files/gegl-unpremult-op.gil: * docs/gallery/clones.xml: * docs/reference/gegl/gegl-sections.txt: * docs/reference/gegl/tmpl/gegl-types.sgml: * gegl/buffer/gegl-buffer.c (gegl_buffer_constructor), (gegl_buffer_set), (gegl_buffer_get_scaled), (gegl_buffer_get): * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-region-generic.c (gegl_region_rectangle), (gegl_region_get_clipbox), (gegl_region_get_rectangles), (gegl_region_union_with_rect), (gegl_region_rect_in): * gegl/buffer/gegl-region.h: * gegl/gegl-chant.h: * gegl/gegl-eval-mgr.c (gegl_eval_mgr_init), (gegl_eval_mgr_apply): * gegl/gegl-eval-mgr.h: * gegl/gegl-graph.c (source_invalidated): * gegl/gegl-have-visitor.c (visit_node): * gegl/gegl-node-dynamic.c: * gegl/gegl-node-dynamic.h: * gegl/gegl-node.c (gegl_node_class_init), (source_invalidated), (gegl_node_apply_roi), (gegl_node_blit), (gegl_node_apply), (property_changed), (gegl_node_process): * gegl/gegl-node.h: * gegl/gegl-operation-composer.c (get_defined_region), (calc_source_regions): * gegl/gegl-operation-filter.c (get_defined_region), (calc_source_regions): * gegl/gegl-operation-point-composer.c (process_inner): * gegl/gegl-operation-point-filter.c (process_inner): * gegl/gegl-operation-sink.c (get_defined_region), (calc_source_regions): * gegl/gegl-operation-source.c (get_defined_region): * gegl/gegl-operation.c (gegl_operation_get_defined_region), (gegl_operation_get_affected_region), (gegl_operation_set_source_region), (get_defined_region), (get_affected_region): * gegl/gegl-operation.h: * gegl/gegl-types.h: * gegl/gegl-utils.c (gegl_rect_set), (gegl_rect_bounding_box), (gegl_rect_intersect), (gegl_rect_copy), (gegl_rect_contains), (gegl_rect_equal), (gegl_rect_equal_coords), (gegl_rect_dup), (gegl_rect_get_type): * gegl/gegl-utils.h: * gegl/gegl.h: * operations/blur/box-blur.c (process), (get_defined_region), (get_source_rect), (calc_source_regions), (get_affected_region): * operations/blur/gaussian-blur.c (process), (get_defined_region), (get_source_rect), (get_affected_region), (calc_source_regions): * operations/color/stretch-contrast.c (process): * operations/core/buffer.c (get_defined_region): * operations/core/crop.c (get_defined_region), (get_affected_region): * operations/core/shift.c (get_defined_region), (get_affected_region), (calc_source_regions): * operations/display/display.c (process): * operations/file-io/exr-load.cpp: * operations/file-io/jpg-load.c (get_defined_region), (gegl_buffer_import_jpg): * operations/file-io/magick-load.c (get_defined_region): * operations/file-io/pixbuf.c (get_defined_region): * operations/file-io/png-load.c (get_defined_region): * operations/file-io/png-save.c (process), (gegl_buffer_export_png): * operations/file-io/raw-load.c (get_defined_region): * operations/file-io/svg-load.c (get_defined_region), (gegl_buffer_import_svg): * operations/generated/porter-duff.rb: * operations/render/FractalExplorer.c (process), (get_defined_region): * operations/render/checkerboard.c (process), (get_defined_region): * operations/render/color.c (process), (get_defined_region): * operations/render/noise.c (process), (get_defined_region): * operations/render/text.c (process), (get_defined_region): * operations/transform/affine.c (bounding_box), (get_defined_region), (calc_source_regions), (get_affected_region), (process): * operations/workshop/demosaic-simple.c (process), (get_defined_region), (get_source_rect), (calc_source_regions), (get_affected_region): * operations/workshop/gtk-display.c (process): * operations/workshop/mandelbrot.c (process), (get_defined_region): * operations/workshop/rawbayer-load.c (get_defined_region): * opgen/Gegl/PointOp.pm: * tests/filltest-float.c (test_fill_apply_roi): * tests/filltest-uint8.c (test_fill_apply_roi): 2006-12-13 Øyvind Kolås * bin/gegl-options.c: reindented and changed wording of help. 2006-12-12 Øyvind Kolås * operations/file-io/Makefile.am: Fixed issues with jpeg rules. 2006-12-12 Øyvind Kolås Reimplemented the dirt handling with signals, making GEGL push dirt instead of poll for it. * gegl/gegl.h: removed cleaning/dirt collection functions from public API. * gegl/gegl-clean-visitor.[ch]: REMOVED * gegl/gegl-dirt-visitor.[ch]: REMOVED * gegl/gegl-types.h: removed clean/dirt visitors. * gegl/Makefile.am: updated to reflect above change. * gegl/gegl-node.[ch]: (gegl_node_class_init), (gegl_node_init), (source_invalidated), (gegl_node_connect_from), (gegl_node_disconnect), (property_changed), (gegl_node_get_connected_to): Replaced dirt member with singal propagation for changed rects in the graph. * gegl/gegl-graph.c: (source_invalidated), (gegl_graph_get_pad_proxy): forward changes through ghost pads. * bin/gegl-projection.c: (gegl_projection_constructor), (gegl_projection_class_init), (gegl_projection_init), (task_monitor), (node_invalidated), (set_property), (gegl_projection_update_rect), (task_render), (gegl_projection_render): made projection work with new signal based dirt API. 2006-12-12 Øyvind Kolås * operations/core/crop.c: (get_affected_region), (class_init): added affected_region computation to crop. 2006-12-12 Øyvind Kolås * gegl/gegl-utils.h: made GEGL_TYPE_RECT possible to use. 2006-12-12 Øyvind Kolås * gegl/gegl-utils.[ch]: made it possible to box GeglRect, and use GEGL_TYPE_RECT. 2006-12-12 Kevin Cozens * configure.in: Changes to make it easier to specify version numbers of GEGL, the GEGL library, and required libraries. * gegl/Makefile.am: Specify library version using LT_VERSION_INFO. * operations/file-io/Makefile.am: Fixed a typo. 2006-12-12 Sven Neumann * operations/display/Makefile.am: only compile display.so if SDL is available. * operations/file-io/exr-load.cpp: make it compile, perhaps even work. 2006-12-11 Øyvind Kolås * docs/Makefile.am: properly commented out website target commands, to make crucible output more legible. 2006-12-11 Øyvind Kolås Adapted most operations to new reentrant API for passing buffers around in the graph. (EXR load is amongst the ones that were not cheched this time around.) * operations/blur/box-blur.c: (process): * operations/blur/gaussian-blur.c: (process): * operations/color/stretch-contrast.c: (process): * operations/core/buffer.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process): * operations/core/nop.c: (process): * operations/core/shift.c: (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process): * operations/file-io/load.c: (refresh_cache): * operations/file-io/magick-load.c: (process): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-load.c: (process): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/file-io/svg-load.c: (process): * operations/meta/layer.c: (refresh_cache): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/affine.c: (process): * operations/workshop/demosaic-simple.c: (process): * operations/workshop/gtk-display.c: (process): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (process): 2006-12-11 Øyvind Kolås Made graph evaluation reentrant. * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-eval-mgr.h: * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-node-dynamic.c: (gegl_node_dynamic_class_init), (gegl_node_dynamic_set_property), (gegl_node_dynamic_get_property), (property_new), (property_destroy), (lookup_property), (gegl_node_dynamic_get_value), (gegl_node_dynamic_remove_property), (gegl_node_dynamic_add_value), (finalize): * gegl/gegl-node-dynamic.h: * gegl/gegl-node.c: (gegl_node_apply_roi), (gegl_node_blit), (gegl_node_apply), (gegl_node_get_property), (gegl_node_find_property), (gegl_node_process): * gegl/gegl-node.h: * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (gegl_operation_composer_init), (get_property), (set_property), (process): * gegl/gegl-operation-composer.h: * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (gegl_operation_filter_init), (get_property), (set_property), (process): * gegl/gegl-operation-filter.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * gegl/gegl-operation-sink.c: (gegl_operation_sink_class_init), (gegl_operation_sink_init), (get_property), (set_property), (process): * gegl/gegl-operation-sink.h: * gegl/gegl-operation-source.c: (gegl_operation_source_init), (get_property), (set_property), (process): * gegl/gegl-operation-source.h: * gegl/gegl-operation.c: (gegl_operation_get_data), (gegl_operation_set_data): * gegl/gegl-operation.h: 2006-12-11 Øyvind Kolås * docs/Makefile.am: commented out website target commands, to make crucible output more legible. 2006-12-10 Øyvind Kolås * bin/editor.c: (advance_slide), (editor_main), (cb_composition_new), (cb_composition_load), (do_load), (editor_set_gegl): Added automatic slideshow mode activated from the commandline by passing seconds of delay to the -d commandline option. 2006-12-09 Øyvind Kolås * gegl/buffer/gegl-storage.c: Increased default tile size to 128x128 to speed up freeing of the projection buffers. 2006-12-09 Øyvind Kolås * bin/editor.c: changed the stock icons used for previous/next. 2006-12-09 Øyvind Kolås Added capability to load a set of files on the command line and next/previous actions to the GUI. * bin/editor.c: (editor_main), (cb_composition_new), (cb_composition_load), (cb_composition_save), (file_is_gegl_xml), (do_load), (cb_next_file), (cb_previous_file), (reset_gegl): Added next/previous image actions to the GUI. * bin/editor.h: * bin/gegl-options.[ch]: (opts_new), (print_opts), (gegl_options_next_file), (gegl_options_previous_file), (parse_args): Added the capability to load a list of files from the command line, as well as methods to iterate back and forth in this list. * bin/gegl-projection.c: (gegl_projection_class_init): Changed the default maximum size allocated for the projection to make project switching work faster (this is a temporary measure, a proper speedup fix needs to be added to the storage/buffer code). * bin/gegl.c: (main): 2006-12-08 Øyvind Kolås * operations/file-io/magick-load.c: (load_cache): removed deprecated tag from XML. 2006-12-08 Øyvind Kolås * bin/gegl-view.c: (computed_event): changed the rect resize hack to reblit a larger region. 2006-12-08 Øyvind Kolås * bin/gegl-view.c: (gegl_view_constructor), (motion_notify_event), (expose_event): removed use of motion hints since things seems slighly less buggy then. 2006-12-08 Øyvind Kolås * bin/editor.c: (cb_fit), (cb_recompute), (cb_redraw): added a redraw action with shortcut ctrl+r and made recompute be shift+ctrl+r. 2006-12-08 Øyvind Kolås * bin/gegl-view.c: (gegl_view_constructor), (button_press_event), (motion_notify_event): * bin/gegl-view.h: Mostly fix bug #378114 2006-12-08 Øyvind Kolås * bin/editor.c: (cb_fit): removed g_warning. 2006-12-08 Øyvind Kolås * bin/editor.c: (editor_main), (cb_fit), (cb_fit_on_screen), (cb_shrinkwrap): added some hacky manual iteration of the mainloop to make the shrink composition to fit on screen code work. 2006-12-08 Øyvind Kolås * operations/file-io/exr-load.cpp: padd dynamic_id to process. 2006-12-08 Øyvind Kolås Added GeglNodeDynamic, a data structure to store evaluation thread/context specifc data attached to nodes, at the moment it contains some of the rects travesals and internal refcount for buffer bookkeeping. Buffers (and potentially other pad data), should be moved here as well. * gegl/Makefile.am: * gegl/gegl-chant.h: * gegl/gegl-cr-visitor.c: (visit_node): * gegl/gegl-debug-rect-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-finish-visitor.c: (gegl_finish_visitor_class_init), (gegl_finish_visitor_init), (visit_node): * gegl/gegl-finish-visitor.h: * gegl/gegl-need-visitor.c: (visit_node): * gegl/gegl-node-dynamic.c: (gegl_node_dynamic_class_init), (gegl_node_dynamic_init), (gegl_node_dynamic_set_need_rect), (gegl_node_dynamic_get_result_rect), (gegl_node_dynamic_set_result_rect), (gegl_node_dynamic_get_need_rect): * gegl/gegl-node-dynamic.h: * gegl/gegl-node.c: (gegl_node_init), (gegl_node_set_need_rect), (gegl_node_get_result_rect), (gegl_node_set_result_rect), (gegl_node_get_need_rect), (gegl_node_get_bounding_box), (gegl_node_process), (lookup_dynamic), (gegl_node_get_dynamic), (gegl_node_remove_dynamic), (gegl_node_add_dynamic): * gegl/gegl-node.h: * gegl/gegl-operation-composer.c: (process), (calc_source_regions): * gegl/gegl-operation-composer.h: * gegl/gegl-operation-filter.c: (process), (calc_source_regions): * gegl/gegl-operation-filter.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * gegl/gegl-operation-sink.c: (process), (calc_source_regions): * gegl/gegl-operation-sink.h: * gegl/gegl-operation-source.c: (process), (calc_source_regions): * gegl/gegl-operation-source.h: * gegl/gegl-operation.c: (gegl_operation_process), (gegl_operation_calc_source_regions), (gegl_operation_prepare), (gegl_operation_set_source_region), (calc_source_regions), (gegl_operation_get_requested_region), (gegl_operation_result_rect): * gegl/gegl-operation.h: * gegl/gegl-prepare-visitor.c: (visit_node): * gegl/gegl-types.h: * gegl/gegl-visitor.c: (gegl_visitor_class_init), (set_property), (get_property): * gegl/gegl-visitor.h: * operations/blur/box-blur.c: (process), (get_source_rect), (calc_source_regions): * operations/blur/gaussian-blur.c: (process), (get_source_rect), (calc_source_regions): * operations/color/stretch-contrast.c: (process), (calc_source_regions): * operations/core/buffer.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process), (calc_source_regions): * operations/core/nop.c: (process): * operations/core/shift.c: (process), (calc_source_regions): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process): * operations/file-io/load.c: (prepare): * operations/file-io/magick-load.c: (process): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-load.c: (process), (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/file-io/svg-load.c: (process), (get_defined_region): * operations/meta/layer.c: (prepare): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/affine.c: (calc_source_regions), (process): * operations/workshop/demosaic-simple.c: (process), (get_source_rect), (calc_source_regions): * operations/workshop/gtk-display.c: (process): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (process): 2006-12-07 Øyvind Kolås * operations/display/display.c: (process): updated to use sink as superclass. 2006-12-05 Øyvind Kolås * gegl/buffer/gegl-region-generic.[ch]: * gegl/buffer/gegl-region.h: * gegl/buffer/Makefile.am: * gegl/buffer/gegl-buffer-types.h: Internalized GdkRegion as GeglRegion to have the functionality without depending on gtk+ for non GUI purposes. * bin/gegl-projection.[ch]: removed Gdk dependency used internalized GeglRegion instead. 2006-12-05 Øyvind Kolås * gegl/gegl-node.c (gegl_node_get_bounding_box): prepare graph for evalulation first. (gegl_node_process): a little bit closer to how it should be. 2006-12-05 Øyvind Kolås %s/gegl_node_blit_buf/gegl_node_blit/ * gegl/gegl-node.c (gegl_node_blit): * gegl/gegl-node.h: * gegl/gegl.h: * bin/gegl-projection.c (task_render): 2006-12-04 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_disconnect): refactored to only focus on the sink side of the connection in its params. (gegl_node_connect_from), (gegl_node_disconnect_sources), (gegl_node_disconnect_sinks): adapted to above change. * gegl/gegl-node.h, * gegl/gegl.h: Changed prototype. * bin/gegl-tree-editor-action.c: (remove_itm), (move_up), (move_down), (add_sibling_op): adapt to change. 2006-12-04 Øyvind Kolås * gegl/gegl-node.c: (pads_exist): allow passing NULL for sink or source to do more limited pad existance testing. (gegl_node_disconnect): recoded to ignore values of last two parameters. 2006-12-04 Øyvind Kolås Added a gegl_node_connect_to function as syntachtic sugar for gegl_node_connect_from. Since gegl_node_connect_to might lead to clearer code in some cases. * gegl/gegl-node.c: (gegl_node_connect_to), (gegl_node_connect_from): * gegl/gegl-node.h: * gegl/gegl.h: 2006-12-04 Øyvind Kolås %s/gegl_node_connect/gegl_node_connect_from/ * bin/gegl-tree-editor-action.c: (remove_itm), (move_up), (move_down), (add_sibling_op), (add_child_op): * bin/gegl.c: (main): * docs/hello-world.c: (main): * gegl/gegl-node.c: (gegl_node_connect_from), (gegl_node_link), (gegl_node_set_operation_object), (gegl_node_get_bounding_box), (gegl_node_process): * gegl/gegl-node.h: * gegl/gegl-xml.c: (start_element), (end_element), (each_ref): * gegl/gegl.h: * operations/file-io/load.c: (associate): * operations/meta/dropshadow.c: (associate): * operations/meta/layer.c: (prepare), (associate): * operations/meta/unsharp-mask.c: (associate): * tests/bfspadvisitortest.c: (test_bfs_pad_visitor): * tests/dfsnodevisitortest.c: (test_dfs_node_visitor): * tests/dfspadvisitortest.c: (test_dfs_pad_visitor): * tests/graphtest.c: (test_graph_properties), (test_graph_property_visitors): * tests/mockimageoperationtest.c: (test_mock_image_operation_chain), (test_mock_image_operation_chain2): * tests/nodeconnectionstest.c: (test_node_connections): * tests/updatepadtest.c: (test_update_pad): 2006-12-04 Øyvind Kolås %s/gegl_node_get_defined_rect/gegl_node_get_bounding_box/ * gegl/gegl-node.c (gegl_node_get_bounding_box), (gegl_node_process): * gegl/gegl-node.h: * gegl/gegl.h: * bin/editor.c (cb_fit), (cb_shrinkwrap): * bin/export.c (set_to_defined), (get_input_rect): 2006-12-01 Øyvind Kolås * operations/Makefile.am: add workshop to EXTRA_DIST. 2006-12-01 Øyvind Kolås * tools/introspect.c (stuff): do not create a surface hogging all memory when testing. 2006-12-01 Øyvind Kolås Changed API to allow sink ops, further work needs to be done internally in GEGL to efficiently manage divide and conquer before handing off saving to the sink node as a final step. The current API is blocking, some form of non blocking iterative version would be nice to have as well. * bin/gegl.c: (main): use gegl_node_process (). * gegl/Makefile.am: added sink base class. * gegl/gegl-chant.h: added sink base class. * gegl/gegl-node.[ch]: (gegl_node_get_defined_rect), (gegl_node_process): added gegl_node_process (). * gegl/gegl-operation-sink.[ch]: added new base class for sink ops. * gegl/gegl.h: made gegl_node_process () a public function. * operations/file-io/png-save.c: (process): * tools/introspect.c: (stuff): write a png to /dev/null 2006-11-30 Øyvind Kolås * operations/transform/module.c: (gegl_module_register): use better name for dummy variable and a small indentation fix. 2006-11-30 Øyvind Kolås Intersect requested regions with defined regions before computing needed regions from sources for blur ops. * operations/blur/box-blur.c (get_source_rect): * operations/blur/gaussian-blur.c (get_source_rect): 2006-11-30 Øyvind Kolås * bin/export.c: (gegl_buffer_export_png): use a GeglRect as the geometry parameter. 2006-11-30 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get): moved comment to include all of the code that needed commenting out. 2006-11-29 Øyvind Kolås * gegl/buffer/gegl-buffer.c (bilinear_8), (resample_bilinear_u8), (gegl_buffer_get): Add bilinear resampling to gegl_buffer_get fixes bug #378115, the only outstanding issue from that bug is to expand the code to do trilinear resampling. 2006-11-29 Øyvind Kolås * gegl/buffer/gegl-buffer.c (resample_nearest), (gegl_buffer_get): Split the resampling from the pyramid level out in a utility function. 2006-11-29 Øyvind Kolås * operations/render/text.c (process): Swap Red and Blue components to get correct colors. 2006-11-29 Øyvind Kolås * bin/editor.c: made zoom to 100% and 200% be 1|2, to allow 1 and 2 to be used on it's own in text entries. 2006-11-29 Øyvind Kolås * operations/file-io/exr-load.cpp: added extra params needed for gegl_buffer_set(). 2006-11-28 Øyvind Kolås Simplified buffer handling, by using rect parameter made available in recent changes to buffer_set/get methods. * operations/color/stretch-contrast.c: (process): * operations/file-io/jpg-load.c: (gegl_buffer_import_jpg): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-save.c: (gegl_buffer_export_png): * operations/file-io/svg-load.c: (gegl_buffer_import_svg): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/text.c: (process): * operations/workshop/mandelbrot.c: (process): 2006-11-28 Øyvind Kolås Simplified buffer handling, by using rect parameter made available in buffer_set/get methods. * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): 2006-11-28 Øyvind Kolås Adapt to changes in previous commit. * operations/blur/box-blur.c: (hor_blur), (ver_blur): * operations/blur/gaussian-blur.c: (iir_young_hor_blur), (iir_young_ver_blur), (fir_hor_blur), (fir_ver_blur): * operations/color/stretch-contrast.c: (buffer_get_min_max), (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (gegl_buffer_import_jpg): * operations/file-io/pixbuf.c: (process): * operations/file-io/png-load.c: (gegl_buffer_import_png): * operations/file-io/png-save.c: (gegl_buffer_export_png): * operations/file-io/raw-load.c: (load_buffer): * operations/file-io/svg-load.c: (gegl_buffer_import_svg): * operations/render/FractalExplorer.c: (process): * operations/render/checkerboard.c: (process): * operations/render/color.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/interpolate-cubic.c: (affine_cubic): * operations/transform/interpolate-lanczos.c: (affine_lanczos): * operations/transform/linear.c: (affine_linear), (scale_linear): * operations/transform/module.c: (gegl_module_register): * operations/transform/nearest.c: (affine_nearest), (scale_nearest): * operations/workshop/demosaic-simple.c: (demosaic): * operations/workshop/gtk-display.c: (process): * operations/workshop/mandelbrot.c: (process): * operations/workshop/rawbayer-load.c: (load_buffer): * bin/export.c: (gegl_buffer_export_png): * bin/gegl-projection.c: (task_render): * bin/gegl-view.c: (expose_event): 2006-11-28 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_set), (gegl_buffer_get): Made these two the only public setters/getters of linear pixel data to simplify the public API, if the rect is NULL, the entire extent of the buffer will be used. If the format passed in is NULL, the format of the buffer will be used. * gegl/gegl-node.c: (gegl_node_blit_buf), * gegl/gegl-operation-point-composer.c: (process_inner), * gegl/gegl-operation-point-filter.c: (process_inner): adapt to changes. 2006-11-28 Øyvind Kolås Improve startup time a lot by not creating a projection that is destroyed (destroying a projection (a huge bounded buffer), is taking a lot of time. * bin/editor.c (create_window): do not pass an initial node to view. * bin/gegl-view.c (set_property): handle setting of NULL node better. 2006-11-27 Øyvind Kolås * bin/gegl-view.c (set_property), (expose_event): make the projection be 24bit instead of including an unused alpha byte. 2006-11-27 Øyvind Kolås * bin/gegl-projection.c (task_render): Handle different specified formats correctly. (8bit RGBA was assumed). 2006-11-27 Øyvind Kolås * bin/gegl-projection.c (task_render): * bin/gegl-view.c: * gegl/buffer/gegl-storage.c (gegl_storage_constructor): * operations/render/FractalExplorer.c: 2006-11-27 Øyvind Kolås * bin/gegl-projection.c: (gegl_projection_constructor), (set_property), (get_property): override default values of properties properly. * gegl/buffer/gegl-buffer.c: (set_property): Do not set buffer if NULL is passed in, this is needed to avoid changing it in construct when no format is being passed (thus being set to NULL). 2006-11-27 Øyvind Kolås * bin/gegl-projection.[ch] (override_default_param_values), (gegl_projection_constructor), (finalize): made GeglProjection be a subclass of GeglBuffer. override_default_params changes the passed properties passed in the construction 2006-11-27 Øyvind Kolås * bin/editor.c: changed zoom in/out shortcuts to plus and minus. 2006-11-27 Øyvind Kolås * bin/editor.c * gegl/buffer/gegl-storage.c (gegl_storage_constructor): * operations/render/FractalExplorer.c 2006-11-26 Øyvind Kolås * bin/editor.c (cb_fit): update window title after zooming to fit. 2006-11-26 Øyvind Kolås * bin/editor.c (cb_fit): Added a zoom to fit window action (ctrl+F) 2006-11-26 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get_rect_fmt_scale): Increase size of sampled buffer in such a manner that no garbage data gets included. 2006-11-26 Øyvind Kolås * gegl/buffer/gegl-buffer.c: Add a scaling implementation that uses nearest neighbour "interpolation" on the next bigger available scale of a pyramid. * gegl/buffer/gegl-tile.c: (gegl_tile_void_pyramid), (gegl_tile_unlock): Void pyramid levels above when a tile on the base level changes. 2006-11-25 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (get_tile): Do not generated decimated tile if none of 4 needed decimated/actual tiles exist on lower level. 2006-11-25 Øyvind Kolås Show zoom level in title bar. * bin/editor.[ch]: (editor_main), (gegl_editor_update_title), (cb_zoom_100), (cb_zoom_200), (cb_zoom_50), (cb_zoom_in), (cb_zoom_out): Show the zoom level in the titlebar. * bin/gegl-view.c: (motion_notify_event): Also show when changing zoom with right mouse button (this coupling is too tight, but it works for now). 2006-11-25 Øyvind Kolås * bin/gegl-view.c: (computed_event): Increase size of exposed region to circumwent gaps due to scaling related rounding errors. 2006-11-25 Øyvind Kolås * bin/editor.c: (cb_shrinkwrap): Made shrinkwrap take zoom into account. 2006-11-24 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (get_tile): request source tiles for decimation from ourselves and not our source (to make multiple levels of decimation work properly). 2006-11-24 Øyvind Kolås * gegl/buffer/gegl-tile-zoom.c: (downscale_u8): divide by 4, the number of samples, not the number of components. 2006-11-24 Øyvind Kolås Added (at the moment unused) code for handling an image pyramid for zooming out. * gegl/buffer/Makefile.am: added gegl-tile-zoom.[ch] * gegl/buffer/gegl-tile-zoom.[ch]: class to handle requests and caching of downsampled levels of an image pyramid per buffer. * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): insert the a zoom handler in the tile request chain. 2006-11-23 Øyvind Kolås * bin/gegl-tree-editor.c: Quiet compiler warning by including gegl-plugin.h instead of gegl.h. 2006-11-23 Øyvind Kolås * gegl/buffer/gegl-tile.h: improved wording of a comment. 2006-11-23 Øyvind Kolås * autogen.sh: lower required GTK+ version. * configure.in: lower required GTK+ version. 2006-11-23 Øyvind Kolås Adding zooming actions * bin/editor.c: (cb_zoom_100), (cb_zoom_200), (cb_zoom_50), (cb_zoom_in), (cb_zoom_out): 2006-11-23 Øyvind Kolås * bin/gegl-view.c: (motion_notify_event): fixed issue with math. (zoom center still moves as you drag though) 2006-11-21 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: Restrict sampling to ensure using rendered data. Might introduce unwanted decimation, but that shouldn't matter much with nearest neighbour interpolation. 2006-11-21 Øyvind Kolås Quiet compiler warnings. (and perhaps a minor bug mutation|fix). * bin/editor-optype.c: (popup_properties): * bin/editor.c: (cb_structure_visible), (editor_refresh_structure): * bin/editor.h: * bin/export.c: * bin/gegl-tree-editor-action.h: * bin/gegl.c: 2006-11-21 Øyvind Kolås Fixed some motion-hint related bug in zoom interaction. * bin/gegl-view.c: (motion_notify_event), (expose_event): 2006-11-21 Øyvind Kolås Added primitive and buggy zoom capability to the editor. * bin/gegl-view.h: added scale property and instance variable. * bin/gegl-view.c: (gegl_view_class_init), (gegl_view_init), (computed_event), (set_property), (get_property), (motion_notify_event), (expose_event), (gegl_view_repaint): 2006-11-18 Øyvind Kolås Added multi resolution retrival interface to GeglBuffer, maybe it should use a fraction instead of a floating point number. Apart from that the function seems to do it's job, and is a good API for something that will improve both in quality and speed as GeglBuffers get the ability to cache mipmap resamplings. * gegl/buffer/gegl-buffer.[ch]: added void gegl_buffer_get_rect_fmt_scale (GeglBuffer *buffer, GeglRect *rect, void *dest, void *format, gdouble scale); 2006-11-18 Øyvind Kolås * gegl/gegl-xml.c: removed comma at end of enumerator. 2006-11-18 Øyvind Kolås Made internal methods for the binaries static. * tools/introspect.c: (introspection): * tools/operation_reference.c: (compare_operation_names), (gegl_operations), (category_menu_item), (category_index): 2006-11-18 Øyvind Kolås Silencing to be able to cope with stricter settings of warnings during compile. * operations/transform/chant.h: * operations/transform/interpolate-cubic.c: * operations/transform/interpolate-lanczos.c: (affine_lanczos): * operations/transform/linear.c: * operations/transform/module.c: (affine_module_get_module): * operations/transform/module.h: * operations/transform/nearest.c: 2006-11-18 Øyvind Kolås Silencing of stricter warnings. * gegl/buffer/gegl-buffer.c: * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-tile-mem.h: * gegl/gegl-color.c: (parse_float_argument_list): do not mix code and declarations. * gegl/gegl-init.c: moved gegl_buffer_stats prototype to gegl-buffer.h * gegl/gegl-instrument.c: (timing_find): made static * gegl/gegl-xml.c: (error), (each_ref): made functions static include .h * gegl/module/gegldatafiles.c: made functions static, removed dead code. * gegl/module/geglmodule.c: made functions static. 2006-11-17 Øyvind Kolås Silencing of strict warnings. * operations/render/FractalExplorer.c: made make_color_map() static. * operations/blur/box-blur.c: (process), * operations/blur/gaussian-blur.c: (process), * operations/svg/svg_huerotate.c: (process), * operations/svg/svg_luminancetoalpha.c: (process), * operations/svg/svg_matrix.c: (process), * operations/svg/svg_saturate.c: (process): * operations/workshop/demosaic-simple.c: (process): avoid mixing declarations and code. 2006-11-17 Øyvind Kolås * operations/file-io/load.c: (prepare): added extra braces in body of if. 2006-11-17 Øyvind Kolås Made code more C standard conformant. * gegl/gegl-chant.h: declare functions before defining then. * gegl/gegl-extension-handler.c: include header for function prototypes. * gegl/gegl-operation.c: removed unused gegl_operation_set_result_rect. * gegl/gegl-prepare-visitor.c: (visit_node): do not mix code and declarations. 2006-11-17 Øyvind Kolås * configure.in: lower required GTK+ version to 2.8.9 * gegl/gegl-operation.c: (gegl_operation_class_set_name): do not use g_intern_string since that would demand a rather recent glib. 2006-11-17 Øyvind Kolås Removed gegl_store_set_root call, it is now being called by the gegl_store_set_gegl call. * bin/editor.c: (editor_refresh_structure): * bin/gegl-store.c: (gegl_store_set_gegl): * bin/gegl-store.h: 2006-11-17 Øyvind Kolås Made the fast adding of ops, add a sibling to the currently selected op in the treeview, if any. * bin/editor-optype.c: (chain_in_operation): * bin/gegl-tree-editor-action.c: (gegl_add_sibling): * bin/gegl-tree-editor.c: (tree_editor_get_active), (tree_editor_set_active): 2006-11-17 Øyvind Kolås Made the logic to force a rerender of the view work correctly (needed to manually compensate for bugs). * bin/gegl-projection.c: (gegl_projection_forget_queue), (gegl_projection_forget): * bin/gegl-projection.h: * bin/gegl-view.c: (gegl_view_repaint): 2006-11-15 Øyvind Kolås * bin/editor.c: (cb_structure_visible): removed attempt at keeping the size of the viewport if it was shrink wrapped. * bin/gegl-tree-editor.c: (view_onButtonPressed): removed dead code. 2006-11-15 Øyvind Kolås Made the default value of GEGL_PATH depend on the PREFIX used when configuring GEGL. * gegl/Makefile.am: * gegl/gegl-init.c: (gegl_init): 2006-11-15 Øyvind Kolås * configure.in: commented out checks for yacc and lex. 2006-11-14 Kevin Cozens * operations/render/FractalExplorer.c: Added. 2006-11-13 Øyvind Kolås Added a cairo based customization of brightness-contrast. (This needs to be made a lot easier, perhaps through plug-ins.) * bin/Makefile.am: * bin/gegl-node-editor-brightness-contrast.c: (gegl_node_editor_brightness_contrast_class_init), (gegl_node_editor_brightness_contrast_init), (expose), (event_press), (event_motion), (construct): * bin/gegl-node-editor-level.c: (drag_n_motion): * bin/gegl-node-editor.c: (gegl_node_editor_new): 2006-11-13 Øyvind Kolås Started adding infrastructure for custom GUIs for editing properties of nodes. * bin/Makefile.am: * bin/editor-optype.c: (popup_properties), (menu_item_activate), (typeeditor_optype), (entry_activate): * bin/editor.c: (create_window), (cb_recompute), (reset_gegl), (gegl_gui_flush): * bin/editor.h: * bin/gegl-node-editor.c: (gegl_node_editor_class_init), (gegl_node_editor_init), (set_property), (construct), (gegl_node_editor_construct), (constructor), (type_editor_generic_changed), (type_editor_color_changed), (type_editor_generic), (property_editor_general), (gegl_widget_get_cr), (gegl_node_editor_new): * bin/gegl-node-editor.h: * bin/gegl-node-editor-level.c: added a subclass for threshold and opacity. * bin/gegl-tree-editor-action.c: (remove_itm), (move_up), (move_down): * bin/gegl-tree-editor.c: (property_editor_rebuild): 2006-11-12 Øyvind Kolås s/gegl_node_get_op_type_name/gegl_node_get_operation/ * bin/editor-optype.c * bin/gegl-store.c: 2006-11-12 Øyvind Kolås s/gegl_node_get_op_type_name/gegl_node_get_operation/ * gegl/gegl-dirt-visitor.c: (visit_node): * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-have-visitor.c: (visit_node): * gegl/gegl-node.c: (gegl_node_get_operation), (gegl_node_get_debug_name): * gegl/gegl-node.h: * gegl/gegl-prepare-visitor.c: (visit_node): * gegl/gegl-xml.c: (add_stack): * gegl/gegl.h: made gegl_node_get_operation public. 2006-11-09 Øyvind Kolås * tools/introspect.c: (collapse_all), (expand_all), (introspect), (introspect_overview): removed dependency on anything but the public gegl.h header. 2006-11-09 Øyvind Kolås Moved the static caches for gtype lookups from names and a list of available operation types' names to GeglOperation. * gegl/gegl-operation.[ch]: (gegl_operation_gtype_from_name), (gegl_operation_list_operations): moved here from node, and renamed with better names. * gegl/gegl-node.c: (gegl_node_set_op_class): use the new gegl_operation_gtype_from_name. * gegl/gegl.h: added gegl_operation_list_operations 2006-11-09 Øyvind Kolås * operations/color/whitebalance.c: added whitebalance operation. 2006-11-08 Øyvind Kolås Made GeglNodeEditor be a class derived from GtkVBox. * bin/gegl-node-editor.c: (gegl_node_editor_class_init), (gegl_node_editor_init), (set_property), (constructor), (gegl_node_editor_new), (property_editor_general): * bin/gegl-node-editor.h: 2006-11-08 Øyvind Kolås Moved the node editor code out into a single file. * bin/Makefile.am: * bin/gegl-node-editor.c: (type_editor_generic_changed), (type_editor_color_changed), (type_editor_color), (type_editor_generic), (property_editor_general), (gegl_node_editor_new): * bin/gegl-node-editor.h: * bin/gegl-tree-editor.c: (property_editor_rebuild): 2006-11-08 Kevin Cozens * bin/editor-optype.c * bin/gegl-tree-editor.c: Vertically center widget labels. 2006-11-07 Øyvind Kolås * operations/color/levels.c: added a linear level remapping op. 2006-11-05 Øyvind Kolås Added ability to export a part of the composition (from the projection actually) to a png file. * bin/Makefile.am: added export.[ch], link with libpng. * bin/export.[ch] NEW: a dialog to handle exporting parts/all fo the defined region. * bin/editor.c: (cb_export): added export menu entry/shortcut. * bin/editor.h: * bin/gegl-projection.[ch]: (task_render), (task_monitor), (gegl_projection_render), (gegl_projection_get_buffer): * bin/gegl-view.c: (gegl_view_get_projection): * bin/gegl-view.h: 2006-11-05 Øyvind Kolås Make Ctrl+L jump to the quick add op entry along the top. * bin/editor-optype.c: (typeeditor_optype): * bin/editor.c: (cb_window_keybinding): * bin/editor.h: * bin/gegl.c: * bin/gegl-tree-editor-action.c: (add_sibling_op): removed debug spew. 2006-11-05 Øyvind Kolås * operations/render/noise.c: (process): Changed default parameters to be in a better range. 2006-11-04 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): do a bit more detailed instrumentation. 2006-11-04 Øyvind Kolås * operations/file-io/load.c: made the default path be the empty string, to silence the cries for lena.png in the debugging output. 2006-11-04 Øyvind Kolås Removed unneeded "data" pointer from interface of property redirect code. * gegl/gegl-operation-meta.[ch]: (redirect_new), (gegl_operation_meta_redirect): * operations/meta/dropshadow.c: (associate): * operations/meta/unsharp-mask.c: (associate), (class_init): 2006-11-04 Øyvind Kolås Added new infrsatructure to do redirects of properties between meta operations and their inner nodes. * docs/index-static.html.in: * gegl/gegl-node.c: (property_changed): * gegl/gegl-operation-meta.c: (gegl_operation_meta_init), (redirect_new), (redirect_free), (gegl_node_copy_property_property), (gegl_operation_meta_redirect), (gegl_operation_meta_property_changed): * gegl/gegl-operation-meta.h: * operations/meta/dropshadow.c: (associate), (class_init): Use the new meta op infrastructure. 2006-11-04 Øyvind Kolås * gegl/gegl.h: added gegl_node_set/gegl_node_get property. 2006-11-03 Øyvind Kolås * operations/file-io/png-load.c: added Kevin Cozens to copyright message in op. 2006-11-03 Kevin Cozens * operations/file-io/png-load.c: Create output buffer based on format determined from the call to query_png(). 2006-11-03 Øyvind Kolås Changes to not quite functional code. * gegl/gegl-operation-meta.h: * operations/meta/dropshadow.c: (associate): 2006-11-03 Øyvind Kolås * operations/meta/dropshadow.c: (associate): use new API instead. 2006-11-03 Øyvind Kolås Improved the gegl binary and moved larger portions to use pure public api from gegl.h. * bin/Makefile.am: * bin/editor-optype.c: (popup_properties), (chain_in_operation), (menu_item_activate), (typeeditor_optype), (entry_activate): * bin/editor.c: (cb_window_keybinding), (create_window), (editor_main), (cb_about), (cb_structure_visible), (cb_properties_visible), (cb_tree_visible), (cb_shrinkwrap), (cb_recompute), (editor_refresh_structure), (reset_gegl): * bin/editor.h: * bin/gegl-projection.c: * bin/gegl-projection.h: * bin/gegl-store.c: * bin/gegl-tree-editor-action.c: * bin/gegl-tree-editor.c: (type_editor_generic), (property_editor_general): * bin/gegl-view.c: * bin/gegl-view.h: 2006-11-03 Øyvind Kolås Improved and reindented the the public API (gegl.h) * gegl/gegl.h: * gegl/buffer/gegl-buffer-allocator.c: * gegl/buffer/gegl-buffer.c: * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-tile-cache.c: * gegl/buffer/gegl-tile.c: * gegl/gegl-color.c: (gegl_color_new): make this be the public constructor. * gegl/gegl-color.h: * gegl/gegl-node.c: (gegl_node_get_properties): renamed from gegl_node_list_properties. * gegl/gegl-node.h: * gegl/gegl-xml.c: * operations/blur/Makefile.am: * operations/color/Makefile.am: * operations/core/Makefile.am: * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/generated/Makefile.am: * operations/meta/Makefile.am: * operations/render/Makefile.am: * operations/svg/Makefile.am: * operations/transform/Makefile.am: * operations/transparency/Makefile.am: * operations/workshop/Makefile.am: * operations/workshop/generated/Makefile.am: 2006-11-03 Øyvind Kolås Some prototype code towards making it possible to write meta ops as XML instead of C. * gegl/gegl-operation-meta.c: (gegl_operation_meta_redirect): * operations/meta/dropshadow.c: (associate): 2006-11-03 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_connect), (gegl_node_link_many): Made insertion of nodes provide dirt to the structure. 2006-11-02 Øyvind Kolås * bin/gegl.c: remove old splash projects. 2006-11-02 Øyvind Kolås Added some experimental code to play with bayer demosaicing from raw files, one loader that only grabs the raw CCD/CMOS data for raw files with extension either .rawbayer or .rawbayerS (the S version needed for some endianness/pnm reader offset issues). demosaic-simple does a nearest correctly colored neighbour demosaicing. The exact bayer pattern can be specified with integers ranged 0..3. * operations/workshop/demosaic-simple.c: NEW file * operations/workshop/rawbayer-load.c: NEW file 2006-11-02 Øyvind Kolås * bin/gegl.c: Made resizes follow the shrink wrap, made the default project a little bit more interesting. 2006-11-02 Øyvind Kolås Fixed bug #367869, create a GHashMap cache of string->op_id, lookups. * gegl/gegl-node.c: (add_operations), (g_type_from_op_class): 2006-11-01 Øyvind Kolås Added shrink wrap at startup, as well as a shrink-wrap shortcut (Ctrl+E, same as in GIMP). * bin/editor.c: (create_window), (editor_main), (cb_shrinkwrap): 2006-11-01 Øyvind Kolås Added method to get the bounding box of the defined data in the projection. * gegl/gegl-node.[ch]: (gegl_node_get_defined_rect): 2006-11-01 Øyvind Kolås Made the GUI start without the buggy structure editing tools visible, they can be turned on by switch a toggle in the menu. Also made short cuts work. * bin/editor.c: (create_window), (editor_main), (get_actions), (create_menubar), (cb_composition_new), (cb_composition_load), (cb_composition_save), (cb_quit_dialog), (cb_about), (cb_tree_visible), (cb_properties_visible): * bin/editor.h: * bin/gegl.c: (main): 2006-10-31 Øyvind Kolås Remove all other queued requests from the projection to speed up interaction. * bin/gegl-projection.c: (gegl_projection_forget): * bin/gegl-projection.h: * bin/gegl-view.c: (set_property), (gegl_view_repaint): 2006-10-31 Øyvind Kolås * gegl/gegl-dirt-visitor.c: (visit_node): handle meta nodes. * gegl/gegl-node.c: (property_changed): trigger meta nodes to rerender by propagating properties immediatly. 2006-10-31 Øyvind Kolås Added a meta super class for meta operations. * gegl/Makefile.am: added gegl-operation-meta.[ch] * gegl/gegl-chant.h: * gegl/gegl-operation-meta.[ch] NEW: a superclass for meta operations. * operations/file-io/load.c: * operations/meta/dropshadow.c: * operations/meta/layer.c: * operations/meta/unsharp-mask.c: 2006-10-30 Øyvind Kolås * gegl/gegl-clean-visitor.c: (visit_node): Also clean graph when traversing ghost pad|node. 2006-10-30 Øyvind Kolås Cleaned up the projection/view, removed dead code and other cruft. * bin/gegl-projection.c: (gegl_projection_constructor), (gegl_projection_update_rect), (task_render), (task_monitor): * bin/gegl-projection.h: * bin/gegl-view.c: (gegl_view_init), (computed_event), (invalidated_event), (expose_event): 2006-10-30 Øyvind Kolås * bin/gegl-projection.h: added GeglProjection->queued_region. * bin/gegl-projection.c: (gegl_projection_constructor), (gegl_projection_init), (finalize), (enqueue_dirty), (gegl_projection_update_rect), (task_render), (task_monitor): improved mechanisms for keeping projection up to date. 2006-10-30 Øyvind Kolås * gegl/gegl-operation.c: (gegl_operation_get_affected_region): Sanity check, making no change no affecting. * operations/blur/box-blur.c, * operations/blur/gaussian-blur.c: (get_defined_region), (get_source_rect): Sanity improvements for extent changing of empty rectangles. 2006-10-30 Øyvind Kolås * configure.in: depend on librsvg >= 2.14.0, improved messages in dependency summary. 2006-10-29 Øyvind Kolås Made som changes to how renderings are handled in background/enqueued for rendering. This code still needs quite a bit of cleanup/refactoring before it works in a satisfactory manner. * bin/gegl-projection.c: (gegl_projection_class_init), (enqueue_dirty), (task_monitor): * bin/gegl-view.c: (computed_event), (invalidated_event), (set_property), (expose_event), (gegl_view_repaint): 2006-10-29 Øyvind Kolås Minimized unneeded recomputation in the GUI test app with a new dirt propagation infrastructure. The dirt accumulation is happening as the graph is manipulated, properties are changed etc automatically. The code probably needs more changes as well, but the basics seems to work correctly. * bin/gegl-projection.c: (gegl_projection_constructor), (set_property), (task_render), (task_monitor): Handle dirt tracking/cleaning for updates. * bin/gegl-view.c: (set_property), (gegl_view_repaint): * bin/gegl.c: (main): changed the default project. * gegl/Makefile.am: added gegl-{clean,dirt}-visitor.[ch] * gegl/gegl-types.h: added dirt and clean visitors. * gegl/gegl-dirt-visitor.[ch] NEW:, visitor for propagating dirtied regions in the graph. * gegl/gegl-clean-visitor.[ch] NEW:, visitor that cleans up dirt rectangles. * gegl/gegl-node.[ch]: added gegl_node_get_dirty_rect, gegl_node_clear_dirt and dirt_rect instance member. * gegl/gegl-operation.c: (get_affected_region): Added get_affected_region to operations that needed to override default behavior. * operations/blur/box-blur.c: (get_affected_region), (class_init): * operations/blur/gaussian-blur.c: (get_affected_region), (class_init): * operations/core/shift.c: (get_affected_region), (class_init): * operations/transform/affine.c: (op_affine_class_init), (get_defined_region), (get_affected_region): * operations/generated/porter-duff.rb: (op_affine_class_init). 2006-10-17 Øyvind Kolås * configure.in: depend on babl>=0.0.6 (and not on a CVS version). 2006-10-17 Øyvind Kolås Use G_GNUC_NULL_TERMINATED for varargs lists that should be NULL terminated. * gegl/gegl-graph.h: * gegl/gegl-node.h: * gegl/gegl.h: 2006-10-16 Øyvind Kolås * gegl/gegl-xml.c: (encode_node_attributes): serialize colors when saving XML as well. 2006-10-16 Øyvind Kolås * gegl/gegl-xml.c: (encode_node_attributes): output a warning if a property fails to be encoded due to unimplemented property type. 2006-10-13 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_operation_object): connect to the proper pad of the node that our output is. 2006-10-13 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_operation_object): reconnect aux to aux and not input. 2006-10-12 Øyvind Kolås * tools/xml_insert.sh: if an additional argument is given encode the input to html entities. 2006-10-12 Øyvind Kolås * gegl/gegl.h: add gegl_graph_new (), gegl_color_new_from_string and the GeglColor type. * gegl/gegl-graph.[ch]: added gegl_graph_new () * gegl/gegl-node.c: removed unused variable. 2006-10-11 Øyvind Kolås * gegl/gegl-operation-composer.c: (process): changed warning message to reflect reality. 2006-10-11 Øyvind Kolås * operations/meta/unsharp-mask.c: changed default values to radius=1.0 and scale=1.0. 2006-10-11 Øyvind Kolås s/_prop\ /_pad\ /g * bin/gegl-store.c: (gegl_previous_sibling), (gegl_parent): * docs/reference/gegl/gegl-sections.txt: * docs/reference/gegl/tmpl/gegl-connection.sgml: * gegl/gegl-connection.c: (gegl_connection_new), (gegl_connection_get_sink_pad), (gegl_connection_set_sink_pad), (gegl_connection_get_source_pad), (gegl_connection_set_source_pad): * gegl/gegl-connection.h: * gegl/gegl-node.c: (pads_exist), (find_connection), (gegl_node_connect), (gegl_node_disconnect), (gegl_node_disconnect_sources), (gegl_node_disconnect_sinks), (gegl_node_set_operation_object): * gegl/gegl-pad.c: (gegl_pad_disconnect), (gegl_pad_get_depends_on), (gegl_pad_get_connected_to): * tests/nodeconnectionstest.c: (test_node_connections): 2006-10-11 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_operation_object): start at attemts of disconnecting from graph, tearing down node resources, and then reconnecting the node to sources sinks after association of new operation. 2006-10-11 Øyvind Kolås * bin/gegl-store.c: (gegl_parent): removed dead code. 2006-10-10 Kevin Cozens * configure.in: Relaxed the checks for the GTK+ library. 2006-10-10 Øyvind Kolås * bin/gegl-projection.c: (gegl_projection_constructor): use "R'G'B'A u8" instead of "R'G'B' u8" for storage, since the first is what is actually queried by gegl-view, as well as what is rendered in the rendering task. 2006-10-10 Øyvind Kolås * operations/workshop/gtk-display.c: an op that acts a passthrough op, and as a side effects shows the buffer passed through in a GtkWindow, depends on the gtk+ library already being initialized and a mainloop to be running. * operations/workshop/Makefile.am: added GTK+ deps for gtk-display op. 2006-10-09 Øyvind Kolås * AUTHORS: Added Geert Jordaens. 2006-10-09 Øyvind Kolås Made the GUI pop up by default also if called with no argument when GTK support is compiled in. * bin/editor.c: (create_tree_window): * bin/gegl-options.c: (opts_new), (parse_args): * bin/gegl-options.h: * bin/gegl.c: (main): 2006-10-09 Øyvind Kolås * operations/file-io/Makefile.am: fix inclusion of .cc files in dist. 2006-10-09 Øyvind Kolås * autogen.sh: autogenerate before running configure (to allow the user to see the results of the dependency checks at the end.) 2006-10-09 Dominik Ernst Added support for loading OpenEXR images and checks for OpenEXR. * configure.in * operations/file-io/Makefile.am * operations/file-io/exr-load.cpp 2006-10-09 Øyvind Kolås * bin/gegl-view.c: (gegl_view_constructor): removed double buffering. Since we do our own. 2006-10-09 Øyvind Kolås * bin/gegl.c: (main): fixed out of bounds error checks and wrongful pointer manipulations. 2006-10-09 Øyvind Kolås * configure.in: made HAVE_GTK show up as a define that can be checked for. 2006-10-09 Øyvind Kolås * bin/gegl.c: #include "config.h" 2006-10-09 Kevin Cozens * configure.in * bin/Makefile.am: Use HAVE_* instead of HAS_* in variables set by tests for libraries. Added optional test for GTK+. * bin/gegl.c: Added #if HAVE_GTK to fix build when not using GTK+. * bin/gegl-options.c: Removed usage information for options that are no longer used. 2006-10-09 Øyvind Kolås * bin/gegl-options.c: (gegl_options_parse), (parse_args): made the handling of various commandline combinations saner. * bin/gegl.c: (main): made the default script fully empty. (to allow building a document entirely from things after --) * gegl/gegl-pad.c: (gegl_pad_disconnect): remove assertion, that no longer holds with ghost pads. 2006-10-09 Øyvind Kolås Imported a GTK+ based editing component for the gegl binary, the build environment for building this has not been fully adapted yet. * bin/editor-optype.c: * bin/editor.c: * bin/editor.h: * bin/gegl-projection.c: * bin/gegl-projection.h: * bin/gegl-store.c: * bin/gegl-store.h: * bin/gegl-tree-editor-action.c: * bin/gegl-tree-editor-action.h: * bin/gegl-tree-editor.c: * bin/gegl-tree-editor.h: * bin/gegl-view.c: * bin/gegl-view.h: 2006-10-09 Øyvind Kolås Make greater efforts not to compile items when dependencies are not satisfied (LIBS not being set when expected to be). Also made the compile a lot less verbose, by only outputing the name of the object being compiled. * operations/blur/Makefile.am: * operations/color/Makefile.am: * operations/core/Makefile.am: * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/generated/Makefile.am: * operations/meta/Makefile.am: * operations/render/Makefile.am: * operations/svg/Makefile.am: * operations/transform/Makefile.am: * operations/transparency/Makefile.am: * operations/workshop/Makefile.am: * operations/workshop/generated/Makefile.am: 2006-10-09 Øyvind Kolås Relicensed the GEGL binary under GPL instead of LGPL, incorporated changes to better cooperate with an upcoming editing component that uses GTK+. * bin/gegl-options.[ch]: (parse_args): relicensed. * bin/gegl.c: (file_is_gegl_xml), (main): added simple handling of operations specified on commandline, as already documented in usage. 2006-10-08 Øyvind Kolås Added build infrastructure for bin dir. * Makefile.am: added bin subdir. * configure.in: added creation of bin/Makefile * gegl/Makefile.am: remove remnants of the gegl bin. * bin/.cvsignore: new file * bin/Makefile.am: new file. 2006-10-08 Øyvind Kolås * gegl/gegl.c, * gegl/gegl-options.[ch]: moved these files ... * bin/gegl.c, * bin/gegl-options.[ch]: ... here. 2006-10-08 Øyvind Kolås * bin/: new directory, for end-user binaries exercising GEGL. 2006-10-08 Kevin Cozens * gegl/gegl-operation.[ch]: Changed 'effected' to 'affected'. * operations/render/text.c: Added 'color' parameter. Use proper Pango values when setting alignment. 2006-10-07 Øyvind Kolås Added gegl_operation.get_effected_region virtual method. * gegl/gegl-operation.[ch]: (gegl_operation_class_init), (gegl_operation_get_effected_region), (get_defined_region), (get_effected_region): added virtual method. 2006-10-07 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_operation_object): Added cast to shut up warning. 2006-10-07 Øyvind Kolås * gegl/gegl-operation.c: (gegl_operation_set_source_region): only set rect on the one that is specified. 2006-10-07 Øyvind Kolås Modified meta nodes to incurr fewer repeated changes on the graph. * operations/meta/dropshadow.c: (prepare): * operations/meta/layer.c: (prepare), (dispose), (finalize), (refresh_cache): * operations/meta/unsharp-mask.c: (prepare): * tools/Makefile.am: 2006-10-07 Øyvind Kolås * gegl/gegl-node.h: added dirty variable to GeglNode struct. * gegl/gegl-node.c: (gegl_node_set_op_class), (property_changed), (gegl_node_set_operation_object): set GeglNode->dirty when properties change (on notification of change actually, might not _really_ have changed.). * operations/file-io/load.c: (prepare), (refresh_cache): reduce number of changed emitted. 2006-10-07 Øyvind Kolås Added four more SVG-filters from Geert Jordaens * configure.in: * operations/Makefile.am: * operations/svg/.cvsignore: * operations/svg/Makefile.am: * operations/svg/svg_huerotate.c: (init), (process): * operations/svg/svg_luminancetoalpha.c: (init), (process): * operations/svg/svg_matrix.c: (init), (process): * operations/svg/svg_saturate.c: (init), (process): 2006-10-06 Øyvind Kolås * operations/render/text.c: (process): create a linear buffer of the minimum needed size. 2006-10-06 Øyvind Kolås * gegl/gegl-color.[ch]: (gegl_color_from_string): added new convenience function. * operations/meta/dropshadow.c: (associate): specify the color of the shadow (black) explicitly in the code. 2006-10-06 Øyvind Kolås * operations/render/color.c: (process): renamed parameter from "color" to "value". 2006-10-06 Øyvind Kolås * operations/meta/dropshadow.c: (associate): make the darkening of the layer work by using porter-duff operator "in", instead of abusing brightness/contrast. 2006-10-06 Øyvind Kolås * operations/generated/porter-duff.rb: the defined region for "in" is not the union of the inputs but only the defined region of "input". Special case the "in" operation (this probably applies to other compositing ops as well). 2006-10-06 Øyvind Kolås * operations/render/text.c: (process): force an initial conversion to R'G'B'A u8 to work around a bug in babl. 2006-10-06 Øyvind Kolås Make use of gegl_node_link and gegl_node_link_many in meta operations. * operations/meta/dropshadow.c: (associate): * operations/meta/layer.c: (associate): * operations/meta/unsharp-mask.c: (associate): * operations/render/text.c: (process): 2006-10-06 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_get): removed unused variable write. 2006-10-06 Øyvind Kolås Removed sections of dead code, and cleaned up some comments/debug messages. * gegl/buffer/gegl-buffer.c: * gegl/gegl-init.c: (gegl_exit): * gegl/gegl-operation-filter.c: * gegl/gegl-operation.c: (gegl_operation_create_pad), (associate), (gegl_operation_set_source_region), (get_defined_region), (calc_source_regions): * gegl/gegl-xml.c: (add_stack): 2006-10-05 Øyvind Kolås * operations/render/text.c: (process): cairo provides us with premultiplied sRGB gamma 8bit data, correct the code to reflect this. 2006-10-05 Øyvind Kolås * operations/generated/math.rb: request non premultiplied data on input pad. 2006-10-05 Øyvind Kolås Generate RaGaBaA float instead of whatever the input format was in the transform operations. * operations/transform/affine.c: (process): * operations/transform/interpolate-cubic.c: (affine_cubic): * operations/transform/interpolate-lanczos.c: (affine_lanczos): * operations/transform/linear.c: (affine_linear), (scale_linear): * operations/transform/nearest.c: (affine_nearest), (scale_nearest): 2006-10-05 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: add more compensation for erronious interaction between adjecant buffers. 2006-10-05 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt): skip abyss faster when writing. 2006-10-05 Øyvind Kolås * gegl/buffer/gegl-buffer.c: reordered functions to make buffer setters/getters be located at end of file. 2006-10-05 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt), (gegl_buffer_set), (gegl_buffer_get): Cleaned up code, enabled disabled abyss clearing. 2006-10-03 Kevin Cozens * operations/render/text.c: Added what seems like a bit of a hack to stop the position of the rendered text from shifting position based on the type of alignment being requested. 2006-10-03 Øyvind Kolås * operations/blur/gaussian-blur.c: (process): make the end result be "RaGaBaA float" instead of what we got in. 2006-10-03 Øyvind Kolås * operations/blur/box-blur.c: (process), (hor_blur), (ver_blur), (get_defined_region), (get_source_rect), (calc_source_regions): Copied changes from gaussian blur to make the box-blur behave when translated. 2006-10-03 Dominik Ernst * operations/blur/gaussian-blur.c: (process), (hor_blur), (ver_blur), (get_source_rect), (calc_source_regions): modified to use correctly sized temp buffers, and set the format of the temp buffers to "RaGaBaA float" 2006-10-03 Øyvind Kolås * operations/blur/box-blur.c: (process), (hor_blur), (ver_blur), (get_source_rect), (calc_source_regions): modified to use correctly sized temp buffers, and set the format of the temp buffers to "RaGaBaA float" 2006-10-02 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt): fixed error introduced in previous commit. 2006-10-02 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt): moved some conditionals out of loops. 2006-10-01 Kevin Cozens Added slightly modified versions of the lanczos and cubic interpolate affine transformations written by Geert Jordaens. (Bug #357331) * operations/transform/affine.c: Added hooks for interpolate ops. * operations/transform/affine.h: Added lanczos_width to _OpAffine. * operations/transform/interpolate-cubic.c * operations/transform/interpolate-cubic.h * operations/transform/interpolate-lanczos.c * operations/transform/interpolate-lanczos.h: Added * operations/transform/linear.c: Removed braces left in by mistake after removal of debug code. 2006-09-30 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_set_rect_fmt), (gegl_buffer_get_rect_fmt), (gegl_buffer_set_rect), (gegl_buffer_get_rect): Added convenience functions to only render/retrieve portions of a buffer in a given pixel format specified with a GeglRect. 2006-09-30 Kevin Cozens * operations/transform/linear.c * operations/transform/nearest.c: Updated to use float instead of u8. * docs/gallery/clones.xml: Reduced blur radius by 1/3 due to recent changes in the gaussian-blur. 2006-09-27 Øyvind Kolås * gegl/gegl-options.c: (usage): do not return with error when printing usage. 2006-09-27 Kevin Cozens * gegl/gegl.c: Display usage information in gegl-options.c and not here. * gegl/gegl-options.c: Removed support and usage information for obsolete --stats/-s option. Added missing usage information. * gegl/gegl-options.h: Removed stats member from GeglOptions structure. 2006-09-27 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_get_connected_to): added a convenience method more suited for high level interaction with the graph. 2006-09-26 Øyvind Kolås * gegl/gegl-eval-mgr.c: removed cruft amongst headers. 2006-09-26 Øyvind Kolås * gegl/gegl.h: Rewrote to only contain the public API of GEGL. * gegl/gegl-plugin.h: new file for inclusion when a tight coupling with GEGL is needed (plug-ins use a lot more API than host apps embedding GEGL). * gegl/Makefile.am: added gegl-plugin.h Other files modified due to these changes. * gegl/gegl-chant.h: * gegl/gegl-graph.c: (gegl_graph_new_node), (gegl_graph_create_node), (gegl_graph_input), (gegl_graph_output): * gegl/gegl-graph.h: * gegl/gegl-init.c: (gegl_exit): * gegl/gegl-node.c: (gegl_node_get_depends_on), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property): * gegl/gegl-operation.c: (get_defined_region), (calc_source_regions): * gegl/gegl-xml.c: (start_element), (end_element), (gegl_to_xml): * gegl/gegl.c: (main), (main_interactive): * operations/file-io/load.c: (associate), (refresh_cache): * operations/meta/dropshadow.c: (associate): * operations/meta/layer.c: (associate), (refresh_cache): * operations/meta/unsharp-mask.c: (associate): * operations/transform/affine.c: * operations/transform/chant.h: * operations/transform/linear.c: * operations/transform/linear.h: * operations/transform/nearest.c: * operations/transform/nearest.h: * tools/introspect.c: (stuff): * tools/operation_reference.c: 2006-09-26 Øyvind Kolås * gegl/gegl-graph.c: (dispose): removed dead code. * gegl/gegl-node.c: (gegl_node_get_depends_on): removed dead code. 2006-09-26 Øyvind Kolås * gegl/gegl-node.h: added missing g to egl_node_link. 2006-09-26 Øyvind Kolås Accidentaly commited changes to the following files when commiting the previous patch. Reverting to prior state. * gegl/Makefile.am: * gegl/gegl-cr-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-types.h: 2006-09-26 Dominik Ernst * gegl/gegl-chant.h: fixed an issue with g++. 2006-09-26 Øyvind Kolås * gegl/gegl-cr-visitor.c: (visit_node): improved calculation of needed unrefs for buffers. Reduces buffer leakage for meta nodes significantly. 2006-09-26 Dominik Ernst * operations/file-io/png-save.c: (gegl_buffer_export_png): Fixed endian issue for 16-bit rgba images. 2006-09-25 Dominik Ernst * operations/file-io/png-save.c: added write support for 16-bit rgba images. 2006-09-25 Øyvind Kolås Refactoring of how meta-nodes are connected in the graph (hopefully more similar to normal nodes.) * gegl/gegl-eval-visitor.c: (visit_pad): use gegl_pad_get_real_connected_to instead of gegl_pad_get_connected_to. * gegl/gegl-have-visitor.c: (visit_node): some sanity checking. * gegl/gegl-node.c: (gegl_node_get_depends_on): add the needed code to do traversals properly. (gegl_node_get_op_type_name): provide better debug string for meta-nodes. * gegl/gegl-operation.c: removed function produce_nodes (use gegl_node_depends_on instead. (gegl_operation_source_get_defined_region), (gegl_operation_set_source_region), (get_defined_region), (calc_source_regions): deal with changes in connections between nodes. * gegl/gegl-pad.[ch]: (gegl_pad_get_connected_to), (gegl_pad_get_real_connected_to): resurrected the redirecting gegl_pad_get_connected_to function. * gegl/gegl-xml.c: (add_stack): use gegl_connected_to. 2006-09-24 Kevin Cozens * gegl/buffer/gegl-buffer.c (gegl_buffer_iterate_fmt): Moved some offset calculations out of the inner loops as suggested by the TODO comment. 2006-09-24 Øyvind Kolås * gegl/gegl-graph.[ch]: (gegl_graph_create_node): new simple function to create a node without setting parameters (syntactic sugar). 2006-09-24 Øyvind Kolås s/gegl_graph_create_node/gegl_graph_new_node/ in public API. * gegl/gegl-graph.c: (gegl_graph_new_node): * gegl/gegl-graph.h: * gegl/gegl-xml.c: (start_element): * gegl/gegl.c: (main), (main_interactive): * operations/file-io/load.c: (associate), (refresh_cache): * operations/meta/dropshadow.c: (associate): * operations/meta/layer.c: (associate), (refresh_cache): * operations/meta/unsharp-mask.c: (associate): * tests/mockimageoperationtest.c: (test_mock_image_operation_g_object_properties), (test_mock_image_operation_chain): * tools/introspect.c: (stuff): 2006-09-24 Øyvind Kolås Commented out duplicate operations in blend.rb, added cvs ignore files. * operations/workshop/.cvsignore: * operations/workshop/Makefile.am: * operations/workshop/generated/.cvsignore: * operations/workshop/generated/blend.rb: 2006-09-23 Øyvind Kolås * configure.in: depend on babl 0.5 or newer. 2006-09-23 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_link), (gegl_node_link_many), added new convenience function to be able to more elegantly link up a graph. (concept taken from gstreamers API). 2006-09-22 Dominik Ernst * operations/file-io/png-load.c: Added support for interlaced, gray-scale and paletted PNG images. 2006-09-22 Øyvind Kolås Added a workshop directory in operations, that contains operations that are not compiled by default. To compile them, enter the workshop dir,. type make, and make install, if you rebuild the docs directory after having built the workshop operations, then they will be documented in the Operations Reference as well. * configure.in: generate the makefiles for the workshop. * operations/workshop/Makefile.am: * operations/workshop/generated/Makefile.am: * operations/workshop/mandelbrot.c: mandelbrot renderer. * operations/workshop/generated/blend.rb: a heap of blending modes. * autogen.sh: generate the .c files for blend.rb. 2006-09-22 Øyvind Kolås * gegl/module/geglmodule.c: (gegl_module_register_type): put some code dead to allow re-registration with the same name to fail safely later with a warning. 2006-09-22 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): do not print the debug rects twice. 2006-09-21 Øyvind Kolås * Makefile.am: added target website, depending on all, running recursive make on docs subdir. 2006-09-21 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): tuned default value to 0.007 as that seems to be a good compromise between speed/acceptable conversions at the moment. 2006-09-21 Øyvind Kolås * tools/introspect.c: (introspection): added link to short cut icon. * tools/operation_reference.c: (main): added link to short cut icon. 2006-09-21 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): set BABL_ERROR to 0.01 in the environment if it is not set, this allows using some more of the optimized conversion function, with a slight accuracy penalty. 2006-09-21 Øyvind Kolås * gegl/gegl-instrument.c: (gegl_instrument_utf8): added grouping to make the diagram easier to read. 2006-09-21 Øyvind Kolås * gegl/gegl-instrument.c: (gegl_instrument_utf8): output percentage of parent task instead of usecs spent. (more human readable, less machine readable). 2006-09-19 Øyvind Kolås * gegl/buffer/gegl-tile.c: (gegl_tile_unlock): do not check for <0 on unsigned value. 2006-09-19 Øyvind Kolås * gegl/Makefile.am: to not use -version-info when compiling gegl, only when compiling GEGL. 2006-09-19 Øyvind Kolås * operations/blur/gaussian-blur.c: (process): set temp=NULL to shut up gcc. 2006-09-18 Øyvind Kolås * gegl/gegl-instrument.c: (gegl_instrument): Handle implicit specification of parents a bit better. 2006-09-18 Øyvind Kolås Renamed gegl_instrument_xhtml to gegl_instrument_utf8 which is more correct. * gegl/gegl-instrument.c: (gegl_instrument_utf8): * gegl/gegl-instrument.h: * gegl/gegl-init.c 2006-09-18 Øyvind Kolås * tools/introspect.c: (stuff): do not use deprecated "blank" operation, but "checkerboard" instead. 2006-09-18 Øyvind Kolås * gegl/gegl-instrument.c: (sort_children), (gegl_instrument_xhtml): Sort the consumption of chilren in decreasing order. To better visualize where time disappears. 2006-09-18 Øyvind Kolås Changed indentation of time instrumentation. * gegl/gegl-instrument.c: (tab_to), (bar), (gegl_instrument_xhtml): 2006-09-18 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): removed dead code in #if 0. 2006-09-17 Øyvind Kolås * gegl/gegl-instrument.[ch]: NEW files providing an instrumentation framework for GEGL. * gegl/Makefile.am: added gegl-instrument.[ch] * gegl/gegl-node.[ch]: removed per node instrumentation fields from structure. * gegl/gegl-debug-rect-visitor.c: (visit_node): no longer print instrumentation in debug rects. * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): instrument * gegl/gegl-eval-visitor.c: (visit_pad): instrument * gegl/gegl-have-visitor.c: (visit_node):instrument * gegl/gegl-prepare-visitor.c: (visit_node): instrument * gegl/gegl-xml.c: (gegl_xml_parse): instrument * gegl/gegl.c: (main): instrument * gegl/gegl-init.c: (gegl_init): instrument, (gegl_exit): instrument and conditionally print instrumentation stats if GEGL_DEBUG_TIME is set. 2006-09-15 Kevin Cozens * gegl/Makefile.am: References to gegl-debug-time-visitor.[ch] have been removed. Should have been part of earlier commit. 2006-09-15 Kevin Cozens Applied patches from Dominik Ernst. * operations/blur/gaussian-blur.c: improved accuracy for small radius values and now uses the radius paramater literally as standard deviation. * operations/transform/module.c * operations/transform/reflect.c: added an affine op to reflect an image about a line. 2006-09-15 Kevin Cozens * gegl/gegl-eval-mgr.c: Temporarily #if'ed out one #include and one if statement. The #if'ed out sections need two files that are not currently in CVS. Fixes building from CVS. 2006-09-15 Øyvind Kolås * operations/render/blank.c: removed, it is now deprecated by the "color" operation. 2006-09-15 Øyvind Kolås Renamed "io" category to "input". * operations/core/buffer.c: * operations/file-io/load.c: * operations/file-io/pixbuf.c: * operations/file-io/svg-load.c: 2006-09-15 Øyvind Kolås * docs/Makefile.am: made the operations.html and class-hierachy.html depend on the state of operations / library. 2006-09-15 Øyvind Kolås Added operation color, that renders a infinite buffer with the specified color (pixel value). * operations/render/color.c: (process), (get_defined_region): 2006-09-15 Øyvind Kolås Removed category "sources", moved with no category into render. * operations/file-io/load.c: * operations/render/blank.c: * operations/render/checkerboard.c: * operations/render/noise.c: * operations/render/text.c: 2006-09-15 Øyvind Kolås Changed operation categories. * operations/core/buffer.c: io, programming * operations/file-io/load.c: io * operations/file-io/svg-load.c: io (since it has additional properties compared to load). 2006-09-15 Øyvind Kolås Added pixbuf operation in category programming. * operations/file-io/pixbuf.c: NEW operation that uses a GdkPixbuf from a pointer, in category programming. * operations/file-io/Makefile.am: added new file. 2006-09-14 Kevin Cozens * operations/file-io/svg-load.c: Pass the rendered image to gegl all at once instead of a scan line at a time. 2006-09-14 Øyvind Kolås * gegl/gegl-node.[ch]: (gegl_node_init): added field to store the amount of time spent in babl when processing. * gegl/gegl-eval-visitor.c: (visit_pad): store the time spent in babl during processing seperatly. 2006-09-14 Øyvind Kolås Added code to measue amount of time spent doing processing for an individual node. Should probably extend babl to be able to query the total amount of usecs spent doing actual babl conversions as well to be able to seperate it out from the rest of the processing happening in a node. * gegl/gegl-node.[ch]: added usecs field to node. * gegl/gegl-eval-visitor.c: increment the usecs of the node with the amount of time spent doing processing for this node. 2006-09-14 Øyvind Kolås * operations/render/text.c: (process): use a premultiplied pixel format when setting the buffer from cairo. 2006-09-14 Øyvind Kolås * operations/render/text.c: (process): 2006-09-14 Øyvind Kolås * gegl/gegl-color.c: (value_set_default): Add an extra reference when setting the default from the paramspec (not sure why this is needed, but references are leaked if it is not done.) 2006-09-13 Kevin Cozens * operations/render/text.c: Update to handle escaped characters to allow use of multi-line text). Added wrap and alignment options. 2006-09-13 Kevin Cozens * tools/.cvsignore: Added operation_reference. 2006-09-13 Øyvind Kolås Made the XML output terse by default ( instead of Also increased indentation level to 4 spaces. * gegl/gegl-xml.c: (encode_node_attributes), (add_stack), (gegl_to_xml): 2006-09-13 Kevin Cozens * configure.in: Added tests for librsvg * operations/file-io/Makefile.am * operations/file-io/svg-load.c: First version of a file loader for SVG files. 2006-09-13 Øyvind Kolås Added casts to GObject for g_object_get_data calls. * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-operation-filter.c: (process): 2006-09-13 Øyvind Kolås Reworked the XML export to work properly with meta nodes, also removed the element from the sample XML documents. * gegl/gegl-xml.c: (start_element), (add_stack), (gegl_to_xml): reworked the xml serializer. * gegl/gegl-node.c: (gegl_node_get_valist), (gegl_node_get_property): Changed to make reading of meta-node properties work correctly. * gegl/gegl-pad.[ch]: (gegl_pad_get_connected_to2): made the old gegl_pad_get_connected_to public again, this function and code that uses it still needs refactoring. * gegl/gegl-options.[ch]: (parse_args): added -X option,. * gegl/gegl.c: (main): .. that reserializes the graph to an XML document. * docs/gallery/clones.xml, * docs/gallery/drop-shadow.xml, * docs/gallery/unsharp-mask.xml: removed element from documents. 2006-09-13 Øyvind Kolås * operations/meta/layer.c: Removed unused chanted "private" pointer. 2006-09-12 Øyvind Kolås Silence warnings when nops (probably proxy-nops) are passing NULL buffers (which layers do). * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-operation-filter.c: (process): 2006-09-12 Øyvind Kolås * operations/meta/layer.c: changed to incorporate it's own caching multifile loader. 2006-09-12 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): only "prepare" the nodes in the graph once. * gegl/gegl-operation-composer.c: (process): made the error message explicit, and not depend on conditionals that were already checked. 2006-09-12 Øyvind Kolås * gegl/gegl-operation-composer.c: (process): allow composer ops with only the aux pad set to work. 2006-09-12 Øyvind Kolås * gegl/gegl-chant.h: properly handle unreferencing and freeing of chanted properties. 2006-09-12 Øyvind Kolås Improved documentation strings for most operations. * tools/operation_reference.c: (category_menu_item), (category_index), (main): hide the "hidden" category from being output. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/brightness-contrast.c: * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/core/buffer.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/display/display.c: * operations/file-io/jpg-load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/png-save.c: * operations/file-io/raw-load.c: * operations/meta/dropshadow.c: * operations/meta/unsharp-mask.c: * operations/render/blank.c: * operations/render/checkerboard.c: * operations/render/noise.c: * operations/render/text.c: * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: * operations/transparency/opacity.c: 2006-09-11 Øyvind Kolås Made gegl_color_set_from_string and gegl_color_get_string private, and merged their functionality into a GObject property "string" instead, other getters could probably be added to get HEX strings or other variants of formatted strings of the color. * gegl/gegl-color.[ch]: (gegl_color_class_init), (set_property), (get_property), (gegl_param_spec_color_from_string): * gegl/gegl-xml.c: (start_element): 2006-09-11 Øyvind Kolås Added gegl_color_get_string method. * gegl/gegl-color.[ch]: (gegl_color_get_string): 2006-09-11 Øyvind Kolås * gegl/gegl-color.h: moved GeglColor type def from here .. * gegl/gegl-types.h: .. to here * gegl/gegl-color.[ch]: added gegl_param_spec_color_from_string, removed conversions between string GValues and GeglColor. * gegl/gegl-chant.h: use gegl_param_spec_color_from_string when chanting a GeglColor. 2006-09-11 Øyvind Kolås * gegl/gegl-color.[ch]: removed CR/LF line endings. 2006-09-11 Kevin Cozens * gegl/gegl.c: Tick values are longs not ints. 2006-09-10 Øyvind Kolås * gegl/gegl-operation-source.c, * gegl/gegl-operation-filter.c, * gegl/gegl-operation-composer.c: improved the documentation of the input/aux/output properties/pads. * operations/color/stretch-contrast.c: added to "enhance" category. * tools/operation_reference.c: reworded introductory paragraph. 2006-09-10 Øyvind Kolås Refactored the operation reference generator to use categories/tags of the operations instead of peeking into the superclasses. At the moment it doesn't list the categories in alphabetical order, this should be fixed. * tools/operation_reference.c: (gegl_operations_build), (compare_operation_names), (gegl_operations), (list_properties), (category_menu_item), (category_index), (main), (index_introspect): * docs/gegl.css: changed the layout of operation properties slightly. 2006-09-10 Øyvind Kolås Added categories to meta ops. * operations/file-io/load.c: * operations/meta/dropshadow.c: * operations/meta/layer.c: (prepare), (associate): * operations/meta/unsharp-mask.c: 2006-09-10 Øyvind Kolås Moved the operation reference generator out of the gegl binary. * gegl/gegl.c: (main), (main_interactive): moved the operation reference generator to ../tools/operation_reference. * gegl/gegl-options.[ch]: (parse_args): removed references to operation reference generator. * tools/operation_reference.c: (main), (list_properties), (introspect), (index_introspect), (gegl_list_ops): * tools/Makefile.am: added operation_reference.c * docs/Makefile.am: use the new operation reference tool instead of special run mode of the gegl binary. 2006-09-10 Martin Nordholts Renamed GeglParamSpecColor to GeglParamColor and related function names accordingly. * gegl/gegl-color.c: (gegl_param_color_init), (finalize), (value_set_default), (gegl_param_color_get_type), (gegl_param_spec_color): * gegl/gegl-color.h: 2006-09-10 Martin Nordholts Added support for color representations with GeglColor, as well as integration of GeglColor:s in chanted operations. GeglColor properties of chanted operations uses a superset of CSS color strings for color specification. * gegl/gegl-color.[ch]: NEW files. * gegl/gegl-chant.h: added the ability to chant color properties. * gegl/Makefile.am: * gegl/gegl-xml.c: (start_element): handle colors in XML parsing. * gegl/gegl.h: include GeglColor. * operations/render/checkerboard.c: (process): make use of GeglColor. * docs/todo.html: removed GeglColor item. * AUTHORS: Added Martin Nordholts. 2006-09-09 Øyvind Kolås Disabled some of the 0 padding code of gegl_buffer_get_fmt since it wrote outside the passed buffer. Proper fix is needed later. * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt) 2006-09-09 Kevin Cozens * configure.in: Don't report on librsvg since checks aren't there yet. 2006-09-09 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor): removed debug message about creation of empty buffer. 2006-09-09 Øyvind Kolås Allow 0x0 buffers. * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor): made -1x-1 be interpreted as inherit source dimensions instead. (gegl_buffer_class_init): set default dimensions to -1,-1. * operations/transform/affine.c: (process): do not bail out on 0x0 buffers. * operations/transform/linear.c: (affine_linear), (scale_linear): bail out if no pixels. 2006-09-09 Øyvind Kolås Removed property_name / pad_name parameter from the process method of source, filter and composer. Simplified other bits of the code as needed. * gegl/gegl-chant.h: * gegl/gegl-operation-composer.c: (process): * gegl/gegl-operation-composer.h: * gegl/gegl-operation-filter.c: (process): * gegl/gegl-operation-filter.h: * gegl/gegl-operation-point-composer.c: (process_inner): * gegl/gegl-operation-point-filter.c: (process_inner): * gegl/gegl-operation-source.c: (process): * gegl/gegl-operation-source.h: * operations/blur/box-blur.c: (process): * operations/blur/gaussian-blur.c: (process): * operations/color/stretch-contrast.c: (process): * operations/core/buffer.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process): * operations/core/nop.c: (process): * operations/core/shift.c: (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process): * operations/file-io/magick-load.c: (process): * operations/file-io/png-load.c: (process), (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/render/blank.c: (process): * operations/render/checkerboard.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/affine.c: (process): 2006-09-09 Øyvind Kolås Use the virtual process method of GeglOperationFilter and GeglOperationComposer,. instead of bypassing it and using GeglOperation's. (ref counting fixes). * gegl/gegl-operation-point-composer.c: (gegl_operation_point_composer_class_init): * gegl/gegl-operation-point-filter.c: (gegl_operation_point_filter_class_init): 2006-09-08 Kevin Cozens * configure.in: Simplified and reordered library checks. Library checks are not fatal if the library doesn't exist. Added checks for Pango libraries. Display results of which libraries were found. * operations/render/Makefile.am: Added extra Pango CFLAGS and LIBS needed to build the text.so operation file. * operations/render/text.c: Use Pango for text layout. Added 'font' option to set font face, weight, and style. 2006-09-09 Øyvind Kolås Some ref-counting fixups. * gegl/gegl-operation-composer.c: (set_property), * gegl/gegl-operation-filter.c: (set_property): add a reference when the input buffers are set. * gegl/gegl-operation-point-filter.c: (process_inner), * gegl/gegl-operation-point-composer.c: (process_inner): removed unneeded unrefs of output. 2006-09-08 Øyvind Kolås Moved previously added -fPIC to CFLAGS. * operations/blur/Makefile.am: * operations/color/Makefile.am: * operations/core/Makefile.am: * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/generated/Makefile.am: * operations/meta/Makefile.am: * operations/render/Makefile.am: * operations/transform/Makefile.am: * operations/transparency/Makefile.am: 2006-09-08 Øyvind Kolås Added -fPIC to LDADD to make the plug-ins compile for 64bit archs. * operations/blur/Makefile.am: * operations/color/Makefile.am: * operations/core/Makefile.am: * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/generated/Makefile.am: * operations/meta/Makefile.am: * operations/render/Makefile.am: * operations/transform/Makefile.am: * operations/transparency/Makefile.am: 2006-09-08 Øyvind Kolås Some ref-counting fixups. * gegl/gegl-chant.h: ref gobject when set. * operations/core/buffer.c: (dispose), (get_defined_region), (class_init): 2006-09-08 Øyvind Kolås Invoke gegl_exit earlier, to make the buffer ref-counting output more accurate during bug hunt season. * gegl/gegl.c: (main): invoke gegl_exit earlier. 2006-09-08 Øyvind Kolås Some ref-counting fixups. * gegl/gegl-operation-composer.c: (set_property): add our own ref * gegl/gegl-operation-filter.c: (set_property): * gegl/gegl-eval-visitor.c: (visit_pad): unref the value when done with it. * operations/file-io/load.c: (refresh_cache): perform an extra unref on the retrieved buffer. * gegl/gegl-node.c: (gegl_node_blit_buf): unref the gegl-buffer we blit from. 2006-09-08 Øyvind Kolås Changed the output of the gallery generation to include timing in msecs as well as number of leaked buffers. (a regression in some respects since it will always rebuild all the PNGs in the gallery dir when make is issued in the dir now.) * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_leaks): added a method returning the buffer balance (positive number==leaks). * gegl/gegl-options.[ch]: (opts_new), (parse_args): added a new -s option. * gegl/gegl.c: (main): generate a line of information when -s is passed as an option. * docs/gallery/Makefile.am: use the -s option when building, and do not use recursive make. 2006-09-07 Øyvind Kolås Harmonization, reindentation, simplification and tiny bits more. * operations/blur/box-blur.c: (process): * operations/blur/gaussian-blur.c: (process): * operations/color/brightness-contrast.c: (init), (process): * operations/color/invert.c: (process): * operations/color/stretch-contrast.c: (inner_process), (buffer_get_min_max), (process): * operations/color/threshold.c: (process): * operations/core/buffer.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process), (get_defined_region): * operations/core/nop.c: (op_process), (class_init): * operations/core/shift.c: (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process): * operations/file-io/load.c: (dispose), (finalize), (class_init): * operations/file-io/magick-load.c: (process): * operations/file-io/png-load.c: (process): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/meta/dropshadow.c: (prepare): * operations/meta/layer.c: (prepare), (associate): * operations/meta/unsharp-mask.c: * operations/render/blank.c: (process): * operations/render/checkerboard.c: (process): moved the problematic origin far into negativ land. * operations/render/noise.c: (process), (get_defined_region): * operations/render/text.c: (process): * operations/transform/affine.c: (process): * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: * operations/transparency/opacity.c: (process): 2006-09-07 Øyvind Kolås Simplificaiton of buffer reference counting code, not plugging any leaks yet though. * gegl/gegl-cr-visitor.c: (visit_node): include graphs references in refernce tracking for outputs. * gegl/gegl-eval-visitor.c: (visit_pad): do not issue clean_pads, but clean the already passed buffer. * gegl/gegl-operation.[ch]: removed virtual method clean_pads. * gegl/gegl-operation-composer.c, * gegl/gegl-operation-filter.c, * gegl/gegl-operation-source.c: removed clean pads and finalize. 2006-09-06 Øyvind Kolås Added capability to serialize/parse boolean properties. * gegl/gegl-xml.c: (start_element), (encode_node_attributes): 2006-09-06 Øyvind Kolås Made sdl, cairo and libjpeg optional dependencies. * configure.in: Made the checks for libjpeg and sdl be non-fatal failures, also commented out check for lcms as it is not in use. * operations/display/Makefile.am: * operations/file-io/Makefile.am: * operations/render/Makefile.am: Made failure to compile .so's of operations with dependencies non-fatal. 2006-09-06 Øyvind Kolås Readded caching to the "load" meta op in a saner fashion than before. If the boolean cache property (not available from XML yet) is set to TRUE (the default), the load op will invoke itself upon the first "prepare" call, load the whole image into a buffer, keep that buffer around and use the new "buffer" op to pass it on to the rest of the pipeline. * operations/core/buffer.c: NEW operation that takes a GeglBuffer as parameter (for internal use). * operations/file-io/load.c: (prepare), (class_init), (refresh_cache): added cache using "buffer" op. 2006-09-06 Øyvind Kolås * operations/file-io/load.c: (prepare): generate a text string when the file specified does not exist. This makes gegl pass dist-check again even though the data files for the gallery are not properly copied for the distcheck. 2006-09-05 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_connect): s/oops/to a sane warning message about failing to find input pad. * operations/file-io/load.c: (prepare): remove debug message. 2006-09-05 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-node.c: (gegl_node_connect): * operations/color/brightness-contrast.c: * operations/file-io/load.c: (prepare): * operations/meta/layer.c: (prepare), (associate): 2006-09-05 Kevin Cozens * gegl/gegl-options.c: Minor fixes to usage information. Display usage information when -h/--help specified on command line. * operations/render/text.c: Fixed problems in positioning of text. * docs/gallery/clones.xml: Moved 'warming up' text down 5 pixels. 2006-09-04 Øyvind Kolås Added gegl_node_blit_buf method, which is the new primary method to aquire data from GEGL. * gegl/gegl-node.[ch]: (gegl_node_get_sources), (gegl_node_blit_buf): 2006-09-04 Øyvind Kolås Removed caches. * operations/file-io/magick-load.c: (load_cache), (process), (get_defined_region): * operations/file-io/raw-load.c: (process), (get_defined_region), (class_init), (load_buffer): 2006-09-04 Øyvind Kolås Removed broken cache. * operations/render/text.c: (process), (get_defined_region): 2006-09-04 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * operations/color/brightness-contrast.c: * operations/meta/layer.c: (prepare): 2006-09-04 Øyvind Kolås s/ChantInstance/GeglChantOperation/ s/CHANT_OPERATION/GEGL_CHANT_INSTANCE/ * gegl/gegl-chant.h: * operations/blur/box-blur.c: (process), (get_defined_region), (calc_source_regions): * operations/blur/gaussian-blur.c: (process), (get_defined_region), (calc_source_regions): * operations/color/brightness-contrast.c: (process): * operations/color/invert.c: (init): * operations/color/threshold.c: (init), (process): * operations/core/crop.c: (process), (get_defined_region): * operations/core/shift.c: (process), (get_defined_region), (calc_source_regions): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process), (get_defined_region): * operations/file-io/load.c: (prepare), (associate): * operations/file-io/magick-load.c: (load_cache), (process), (get_defined_region), (dispose): * operations/file-io/png-load.c: (process), (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process), (get_defined_region), (dispose), (load_cache): * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/meta/dropshadow.c: (prepare), (associate): * operations/meta/layer.c: (prepare), (associate): * operations/meta/unsharp-mask.c: (associate), (prepare): * operations/render/checkerboard.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process), (get_defined_region), (dispose): * operations/transform/chant.h: * operations/transform/rotate.c: (create_matrix): * operations/transform/scale.c: (create_matrix): * operations/transform/shear.c: (create_matrix): * operations/transform/translate.c: (create_matrix): * operations/transparency/opacity.c: (init), (process): 2006-09-04 Øyvind Kolås s/GEGL_CHANT_CONSTRUCT/GEGL_CHANT_INIT/ s/GEGL_CHANT_CLASS_CONSTRUCT/GEGL_CHANT_CLASS_INIT/ * docs/gallery/Makefile.am: * gegl/gegl-chant.h: * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/file-io/jpg-load.c: * operations/file-io/load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/raw-load.c: * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/meta/dropshadow.c: * operations/meta/layer.c: * operations/meta/unsharp-mask.c: * operations/render/noise.c: * operations/render/text.c: * operations/transform/chant.h: * operations/transparency/opacity.c: 2006-09-04 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_add_pad): removed debug EEK, just return silently when a second attempt is made to add a pad to a node. 2006-09-04 Øyvind Kolås * docs/Makefile.am: do not include system-wide plug-ins when invoking gegl. 2006-09-04 Øyvind Kolås * operations/blur/box-blur.c: (get_defined_region), * operations/blur/gaussian-blur.c: (get_defined_region), * operations/core/crop.c: (get_defined_region): initialize GeglRects to {0,0,0,0} 2006-09-03 Øyvind Kolås Cleaned up the base class for operations even more, added comments in the header describing the functions that are important to operation writers. * gegl/gegl-operation.[ch]: removed dead code. * gegl/gegl-cr-visitor.c: (visit_node): moved som code here from gegl-operation.c. 2006-09-03 Øyvind Kolås Removed (mostly unusued) gegl_operation_set_have_rect and gegl_operation_have_rect, gegl_operation_result_region, gegl_operation_get_name. * gegl/gegl-operation.[ch]: removed unneeded code. * gegl/gegl-operation.h: * gegl/gegl-have-visitor.c: (visit_node): * operations/blur/gaussian-blur.c: (get_defined_region): * operations/core/crop.c: (get_defined_region): * operations/render/text.c: (process), (get_defined_region): 2006-09-03 Øyvind Kolås s/gegl_operation_get_have_rect/gegl_operation_source_get_defined_region/ * gegl/gegl-operation-composer.c: (get_defined_region): * gegl/gegl-operation-filter.c: (get_defined_region): * gegl/gegl-operation.c: (gegl_operation_source_get_defined_region): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (get_defined_region): * operations/blur/gaussian-blur.c: (get_defined_region): * operations/core/crop.c: (get_defined_region): * operations/core/shift.c: (get_defined_region): * operations/transform/affine.c: (get_defined_region): 2006-09-03 Øyvind Kolås s/gegl_operation_need_rect/gegl_operation_get_requested_region/ * gegl/gegl-operation-composer.c: (calc_source_regions): * gegl/gegl-operation-filter.c: (calc_source_regions): * gegl/gegl-operation.c: (gegl_operation_get_requested_region): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (calc_source_regions): * operations/blur/gaussian-blur.c: (calc_source_regions): * operations/color/stretch-contrast.c: (process), (calc_source_regions): * operations/core/crop.c: (calc_source_regions): * operations/core/shift.c: (calc_source_regions): * operations/display/display.c: (process): * operations/render/blank.c: (process): * operations/render/checkerboard.c: (process): * operations/render/noise.c: (process): * operations/transform/affine.c: (calc_source_regions): 2006-09-03 Øyvind Kolås s/gegl_operation_set_need_rect/gegl_operation_set_source_region/ made the region function take a GeglRect instead of seperate x,y,w,h. * gegl/gegl-have-visitor.c: (visit_node): * gegl/gegl-operation-composer.c: (calc_source_regions): * gegl/gegl-operation-filter.c: (calc_source_regions): * gegl/gegl-operation.c: (gegl_operation_set_have_rect), (gegl_operation_set_source_region): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (calc_source_regions): * operations/blur/gaussian-blur.c: (calc_source_regions): * operations/color/stretch-contrast.c: (calc_source_regions): * operations/core/crop.c: (get_defined_region), (calc_source_regions): * operations/core/shift.c: (calc_source_regions): * operations/transform/affine.c: (calc_source_regions): 2006-09-03 Øyvind Kolås s/evaluate/process/ * gegl/gegl-eval-visitor.c: (visit_pad): * gegl/gegl-node.c: * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (process): * gegl/gegl-operation-composer.h: * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (process): * gegl/gegl-operation-filter.h: * gegl/gegl-operation-point-composer.c: (gegl_operation_point_composer_class_init), (process_inner): * gegl/gegl-operation-point-composer.h: * gegl/gegl-operation-point-filter.c: (gegl_operation_point_filter_class_init), (process_inner): * gegl/gegl-operation-point-filter.h: * gegl/gegl-operation-source.c: (gegl_operation_source_class_init), (process): * gegl/gegl-operation-source.h: * gegl/gegl-operation.c: (gegl_operation_process): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (process): * operations/blur/gaussian-blur.c: (process): * operations/color/brightness-contrast.c: (process): * operations/color/invert.c: (process): * operations/color/stretch-contrast.c: (inner_process), (process): * operations/color/threshold.c: (process): * operations/core/clone.c: (process): * operations/core/crop.c: (process): * operations/core/nop.c: (process), (op_process), (class_init): * operations/core/shift.c: (process): * operations/display/display.c: (process): * operations/file-io/jpg-load.c: (process): * operations/file-io/magick-load.c: (process): * operations/file-io/png-load.c: (process), (get_defined_region): * operations/file-io/png-save.c: (process): * operations/file-io/raw-load.c: (process): * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/render/blank.c: (process): * operations/render/checkerboard.c: (process): * operations/render/noise.c: (process): * operations/render/text.c: (process): * operations/transform/affine.c: (op_affine_class_init), (process): * operations/transparency/opacity.c: (process): * tests/* 2006-09-03 Øyvind Kolås s/defined_region/get_defined_region/ * gegl/gegl-chant.h: * gegl/gegl-have-visitor.c: (visit_node): * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (get_defined_region): * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (get_defined_region): * gegl/gegl-operation-source.c: (gegl_operation_source_class_init), (get_defined_region): * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_get_defined_region), (get_defined_region): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (get_defined_region), (class_init): * operations/blur/gaussian-blur.c: (get_defined_region), (class_init): * operations/core/crop.c: (get_defined_region), (class_init): * operations/core/shift.c: (get_defined_region), (class_init): * operations/file-io/jpg-load.c: (get_defined_region): * operations/file-io/magick-load.c: (get_defined_region): * operations/file-io/png-load.c: (get_defined_region): * operations/file-io/raw-load.c: (get_defined_region): * operations/render/blank.c: (get_defined_region): * operations/render/checkerboard.c: (get_defined_region): * operations/render/noise.c: (get_defined_region): * operations/render/text.c: (get_defined_region): * operations/transform/affine.c: (op_affine_class_init), (get_defined_region): 2006-09-03 Øyvind Kolås s/calc_need_rect/calc_source_regions/ * gegl/gegl-need-visitor.c: (visit_node): * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (calc_source_regions): * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (calc_source_regions): * gegl/gegl-operation-source.c: (gegl_operation_source_class_init), (calc_source_regions): * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_calc_source_regions), (calc_source_regions): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (calc_source_regions), (class_init): * operations/blur/gaussian-blur.c: (calc_source_regions), (class_init): * operations/color/stretch-contrast.c: (calc_source_regions), (class_init): * operations/core/crop.c: (calc_source_regions), (class_init): * operations/core/shift.c: (calc_source_regions), (class_init): * operations/transform/affine.c: (op_affine_class_init), (calc_source_regions): 2006-09-03 Øyvind Kolås Fix mistake in "class"->"operation" renaming patch, from Victor Bogado. * gegl/gegl-node.c 2006-09-03 Øyvind Kolås s/calc_have_rect/defined_region/, this new virtual method for operations returns (over the stack) a GeglRect. The graph evaluation manager is responsible for updating the operation (and node)'s state. * gegl/gegl-chant.h: * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): * gegl/gegl-have-visitor.c: (visit_node): * gegl/gegl-operation-composer.c: (gegl_operation_composer_class_init), (defined_region): * gegl/gegl-operation-filter.c: (gegl_operation_filter_class_init), (defined_region): * gegl/gegl-operation-source.c: (gegl_operation_source_class_init), (defined_region): * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_defined_region), (defined_region): * gegl/gegl-operation.h: * operations/blur/box-blur.c: (defined_region), (class_init): * operations/blur/gaussian-blur.c: (defined_region), (class_init): * operations/core/crop.c: (defined_region), (class_init): * operations/core/shift.c: (defined_region), (class_init): * operations/file-io/jpg-load.c: (defined_region): * operations/file-io/load.c: (prepare): * operations/file-io/magick-load.c: (defined_region): * operations/file-io/png-load.c: (defined_region): * operations/file-io/raw-load.c: (defined_region): * operations/render/blank.c: (defined_region): * operations/render/checkerboard.c: (defined_region): * operations/render/noise.c: (defined_region): * operations/render/text.c: (defined_region): * operations/transform/affine.c: (op_affine_class_init), (defined_region): 2006-09-02 Kevin Cozens * operations/render/checkerboard.c: Applied slightly modified patch from Martin Nordholts which makes the checkerboard operation use the 'RGBA float' pixel format. Also removes lots of if cases. 2006-09-02 Kevin Cozens * gegl/buffer/.cvsignore * gegl/module/.cvsignore * tools/.cvsignore: Added .deps 2006-09-02 Øyvind Kolås * gegl/gegl-chant.h, * operations/transform/chant.h: define GEGL_CHANT_PROPERTIES for the rest a global replace of "#ifdef GEGL_CHANT_SELF" with "#ifdef GEGL_CHANT_PROPERTIES" * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/brightness-contrast.c: * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/display/display.c: * operations/file-io/jpg-load.c: * operations/file-io/load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/png-save.c: * operations/file-io/raw-load.c: * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/meta/dropshadow.c: * operations/meta/layer.c: * operations/meta/unsharp-mask.c: * operations/render/blank.c: * operations/render/checkerboard.c: * operations/render/noise.c: * operations/render/text.c: * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: * operations/transparency/opacity.c: 2006-09-02 Øyvind Kolås Namespaced the chanting by performing a recursive %s/CHANT_/GEGL_CHANT_/g %s/chant_/gegl_chant_/g * gegl/gegl-chant.h: * operations/blur/box-blur.c: (evaluate), (calc_have_rect), (calc_source_regions): * operations/blur/gaussian-blur.c: (evaluate), (calc_have_rect), (calc_source_regions): * operations/color/brightness-contrast.c: (evaluate): * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: (evaluate): * operations/core/clone.c: * operations/core/crop.c: (evaluate): * operations/core/nop.c: * operations/core/shift.c: * operations/display/display.c: (evaluate): * operations/file-io/jpg-load.c: (evaluate), (calc_have_rect): * operations/file-io/load.c: (prepare), (associate): * operations/file-io/magick-load.c: (evaluate), (calc_have_rect), (dispose): * operations/file-io/png-load.c: (evaluate), (calc_have_rect): * operations/file-io/png-save.c: (evaluate): * operations/file-io/raw-load.c: (evaluate), (calc_have_rect), (dispose): * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/generated/svg-blend.rb: * operations/meta/dropshadow.c: (prepare), (associate): * operations/meta/layer.c: (prepare), (associate): * operations/meta/unsharp-mask.c: (associate), (prepare): * operations/render/blank.c: * operations/render/checkerboard.c: (evaluate): * operations/render/noise.c: (evaluate): * operations/render/text.c: (evaluate), (calc_have_rect), (dispose): * operations/transform/chant.h: * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: * operations/transparency/opacity.c: (evaluate): 2006-09-02 Øyvind Kolås * gegl/gegl-extension-handler.c: (gegl_extension_handler_register): removed unused variable old. * gegl/gegl-prepare-visitor.c: (visit_node): added a const to a gchar* declaration. 2006-09-02 Øyvind Kolås * gegl/gegl-extension-handler.h: do not include config.h 2006-09-02 Øyvind Kolås Added the ability to register operations for extensions, thus making it possible for the load operation to handle new file input operations. * gegl/gegl-extension-handler.[ch]: new files. * gegl/Makefile.am: compile the new files. * gegl/gegl-chant.h: include gegl-extension-handler.h for sources. * operations/file-io/jpg-load.c, * operations/file-io/load.c:, * operations/file-io/png-load.c, * operations/file-io/raw-load.c: register. 2006-09-02 Øyvind Kolås Fixes for the s/class/operation/ change. * operations/file-io/magick-load.c: * operations/meta/dropshadow.c: (associate): * operations/meta/layer.c: (associate): * operations/meta/unsharp-mask.c: (associate): 2006-09-01 Øyvind Kolås * operations/file-io/load.c: (associate): do not set operation to "load", causing an infinite loop. 2006-09-01 Øyvind Kolås Rewrote load operation to be a meta-op (it should probably move to ../meta due to this change.). All caching has been removed. Pending a better way to cache buffers when subgraphs haven't changed to reenable a reasonable interactive performance. * operations/file-io/load.c: (prepare), (associate), (class_init): 2006-09-01 Øyvind Kolås * AUTHORS: added Victor Bogado. 2006-09-01 Øyvind Kolås * operations/file-io/load.c: (refresh_cache): s/class/operation/ * operations/meta/layer.c: (prepare): s/class/operation/ * tools/introspect.c: (stuff): s/class/operation/ * docs/gallery/drop-shadow.xml: s/class/operation/ 2006-09-01 Øyvind Kolås Applied patch from Victor Bogado that changes the name of the "class" property of GeglNode to "operation". It also adds workaround code for the deprecated behavior that issues warnings. (FIXME's have been attached to the warnings as a reminder that they should be removed when the API is frozen.) * gegl/gegl-graph.c: (gegl_graph_get_pad_proxy): * gegl/gegl-node.c: (gegl_node_class_init), (gegl_node_set_valist), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property): * gegl/gegl-xml.c: (name2val), (start_element), (encode_node_attributes), (add_stack): * gegl/gegl.c: (main), (main_interactive): 2006-09-01 Øyvind Kolås * autogen.sh: added check for ruby. 2006-09-01 Øyvind Kolås Turning off caching for now, until memory leaks have been debugged, or an enviroment variable or other mechanism is used to toggle it. * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor): * gegl/buffer/gegl-storage.c: (gegl_storage_constructor): 2006-09-01 Øyvind Kolås * operations/generated/svg-blend.rb: SVG blending mode operators. 2006-09-01 Øyvind Kolås * autogen.sh: generate SVG blending mode operators. * operations/generated/svg-blend.rb: SVG blending mode operators. 2006-08-31 Øyvind Kolås * gegl/gegl-pad.c: (gegl_pad_get_depends_on): do lookups through graphs. * gegl/gegl-eval-visitor.c: (visit_pad): removed code made redundant by above change. * gegl/gegl-node.c: (gegl_node_connect): removed code made redundant by above change. * gegl/gegl-operation.c: (gegl_operation_get_have_rect): removed code my redudnat by above change. 2006-08-31 Øyvind Kolås * configure.in: increased version to 0.0.3 to have an odd number indicating that this is a CVS version. Changed to depend on babl>=0.0.4. * docs/index-static.html.in: Changed dependencies to reflect dependency on babl>=0.0.4. 2006-08-31 Øyvind Kolås * Makefile.am: added a dependency on all for README, making it possible to ./autogen.sh && make distcheck # directly from CVS checkout. 2006-08-31 Øyvind Kolås * autogen.sh: commented out checks for gtkdocize, since it is not currently used. 2006-08-31 Øyvind Kolås Added a meta operation called layer. * operations/meta/layer.c: (prepare), (associate), (class_init): 2006-08-31 Øyvind Kolås * docs/gallery/Makefile.am: only rebuild changed samples (or if any built plug-ins are newer than the pngs). 2006-08-31 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_add_pad), (gegl_node_connect), (gegl_node_set_property): disconnect the existing connection when doing a reconnect on a source property. 2006-08-30 Øyvind Kolås Made operations rebuild if gegl headers have changed. * operations/blur/Makefile.am, * operations/color/Makefile.am, * operations/core/Makefile.am, * operations/display/Makefile.am, * operations/file-io/Makefile.am, * operations/generated/Makefile.am, * operations/meta/Makefile.am, * operations/render/Makefile.am, * operations/transform/Makefile.am, * operations/transparency/Makefile.am: Added dependency on the gegl headers. 2006-08-30 Øyvind Kolås Added synonyms to XML parser gegl=image nad tree=layers, this to aid experimentation towards an Structured Open Unstable Raster Compositing Embedding. * gegl/gegl-xml.c: (start_element), (end_element): 2006-08-30 Øyvind Kolås * gegl/gegl-eval-visitor.c: (visit_pad): do not hardcode the name of the pad to be "input". * gegl/gegl-graph.c: (gegl_graph_get_pad_proxy): set name of padA * gegl/gegl-pad.c: (gegl_pad_set_param_spec), (gegl_pad_get_name): Use the gegl-name instead of the paramspec name (this might be just a temporary fix though). 2006-08-30 Øyvind Kolås * gegl/gegl-operation-point-composer.c: (evaluate_inner): If no input received on input, and there is something on aux, just pass it through. 2006-08-30 Øyvind Kolås * tools/introspect.c: Changed the sample to a simple graph that does evaluate successfully, cleaned up the introspection code to not poke through NULL pointers. 2006-08-30 Øyvind Kolås * operations/generated/math.rb: do componentwize arithmetic (request RGB to get three components,. using greyscale will then give the same value to all components.) 2006-08-30 Øyvind Kolås Added two example meta operations, that are graph that are plugged into the main GEGL graph as if they were a single node. * gegl/gegl-chant.h: added CHANT_GRAPH * operations/Makefile.am: added makefile. * configure.in: added directory for meta operations. * operations/meta/: new dir. * operations/meta/Makefile.am: new file * operations/meta/.cvsignore: new file * operations/meta/dropshadow.c: A dropshadow filter. * operations/meta/unsharp-mask.c: An unsharp mask filter. 2006-08-30 Øyvind Kolås * tools/introspect.c: (collapse_all), (expand_all), (introspect_overview): Include plug-ins in introspection. 2006-08-30 Øyvind Kolås Halfway done (functional) refactoring to make it possible to define graphs inside nodes from operation plug-ins. * gegl/Makefile.am: added gegl-prepare-visitor.h * gegl/gegl-prepare-visitor.[ch]: new files. * gegl/gegl-types.h: new class gegl-prepare visitor * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): use gegl prepare visitor. * gegl/gegl-have-visitor.c: (visit_node): do not call prepare. * gegl/gegl-graph.c: (gegl_graph_get_pad_proxy): decorate proxynops and node with indicators that they are special. * gegl/gegl-node.h: added is_graph boolean to instance struct. * gegl/gegl-node.c: (gegl_node_init), (gegl_node_add_pad), (gegl_node_get_depends_on), (gegl_node_evaluate), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property), (gegl_node_get_op_type_name): * gegl/gegl-operation.c: (gegl_operation_get_have_rect), (producer_nodes), (gegl_operation_set_need_rect): * gegl/gegl-pad.c: (gegl_pad_get_depends_on): * gegl/gegl-eval-visitor.c: (visit_pad): 2006-08-25 Kevin Cozens * docs/gallery/Makefile.am: Removed distcheck target. * docs/gallery/data/Makefile.am: Removed distcheck-hook target. 2006-08-27 Øyvind Kolås * gegl/gegl-graph.c: (gegl_graph_get_pad_proxy): removed debug printlning. 2006-08-27 Øyvind Kolås Rewrote parts of the graph handling, this doesn't seem to work fully yet. But it seems like no old behavior has been lost with this change. * gegl/gegl-graph.[ch]: (gegl_graph_get_pad_proxy): made static (gegl_graph_input), (gegl_graph_output): new public methods with better names than get_pad_proxy. * gegl/gegl-node.c: (gegl_node_connect), (gegl_node_get_depends_on), (gegl_node_create_pad), (gegl_node_get_valist), (gegl_node_get_property): handle graphs correctly. * gegl/gegl-xml.c: (start_element), (end_element), (add_stack): adapt to new gegl_graph_output|input methods. * gegl/gegl.c: (main), (main_interactive): adapt to new gegl_graph_output|input methods. * operations/file-io/load.c: (refresh_cache), (evaluate), (calc_have_rect): adapt to new gegl_graph_output|input methods. Should be further adapted to actually have a live graph, instead of using it's seperate evaluation instance to do it's work. 2006-08-27 Øyvind Kolås * gegl/gegl-eval-visitor.c: (visit_pad): added a warning when passing a NULL between nodes. 2006-08-27 Øyvind Kolås * gegl/gegl-operation.[ch]: (gegl_operation_class_init), (gegl_operation_prepare), (gegl_operation_get_have_rect), (gegl_operation_set_need_rect): added virtual method prepare. * gegl/gegl-have-visitor.c: (visit_node): prepare operation before asking what it has. 2006-08-27 Øyvind Kolås * tools/introspect.c: (introspection), (list_properties_simple), (list_properties), (details_for_type), (collapse_all), (expand_all), (introspect), (introspect_overview): added collapsible DHTML tree instead of index. 2006-08-25 Kevin Cozens * Makefile.am * docs/Makefile.am * docs/gallery/Makefile.am * docs/gallery/data/Makefile.am * operations/blur/Makefile.am * operations/color/Makefile.am * operations/core/Makefile.am * operations/display/Makefile.am * operations/file-io/Makefile.am * operations/generated/Makefile.am * operations/render/Makefile.am * operations/transform/Makefile.am * operations/transparency/Makefile.am: More changes towards fixing 'make distcheck'. Makefiles now properly handle the building of the files in a different directory from the actual source and data files. Appended -local to some Makefile targets to avoid overriding ones generated by automake/autoconf. Fixed use of wild cards in EXTRA_DIST. 2006-08-23 Kevin Cozens * gegl/Makefile.am * gegl/buffer/Makefile.am * gegl/module/Makefile.am * tools/Makefile.am: Use GEGL_API_VERSION defined in configure.in in name of libgegl file and for gegl include directory. 2006-08-23 Kevin Cozens * .cvsignore: Added 'README' * docs/.cvsignore: Added 'class-hierarchy.html' * docs/gallery/data/.cvsignore: File added * tools/.cvsignore: Added 'introspect' * docs/Makefile.am * docs/gallery/Makefile.am * operations/transform/Makefile.am * tools/Makefile.am: Some changes towards fixing 'make distcheck'. 2006-08-23 Øyvind Kolås * docs/Makefile.am: created class-hierarchy.html * Makefile.am: changed order of tools and docs subdir. * tools/introspect.c: Added a gobject introspection->html tool for documentation. * tools/Makefile.am: 2006-08-23 Øyvind Kolås * TODO: removed, the information lives on in docs/todo.html. 2006-08-23 Øyvind Kolås * TODO: added some more thoughts. 2006-08-22 Kevin Cozens Minor changes to fix 'make dist'. * configure.in: Fixed versioning of tarball. * docs/gallery/data/Makefile.am: Removed *.svg from EXTRA_DIST. 2006-08-22 Øyvind Kolås * README: removed * configure.in: added check for w3m * Makefile.am: added dist rule to format index.html into README. 2006-08-22 Øyvind Kolås Distribute data by wildcard as well, (add more extensions to Makefile.am when raw/raf/nef are added) * configure.in: * docs/gallery/Makefile.am: * docs/gallery/data/Makefile.am: 2006-08-22 Øyvind Kolås Overhaul of files included/not when rolling tarballs. * configure.in: removed dead code from traversal. * docs/Makefile.am: do not enter the reference. * operations/blur/Makefile.am, * operations/color/Makefile.am, * operations/core/Makefile.am, * operations/display/Makefile.am, * operations/file-io/Makefile.am, * operations/render/Makefile.am, * operations/transform/Makefile.am, * operations/transparency/Makefile.am: EXTRA_DIST=*.c * operations/generated/Makefile.am: EXTRA_DIST=*.rb *.c * gegl/Makefile.am: added some of the needed headers to EXTRA_DIST. * gegl/gegl-chant.h: initialize priv member to NULL. 2006-08-22 Øyvind Kolås * tools/Makefile.am: do not include the testsuite subdir. 2006-08-22 Øyvind Kolås * gegl/gegl-chant.h: added a gpointer priv to the ChantInstance for use in the plug-in implementations. 2006-08-22 Øyvind Kolås * gegl/gegl-node.h: made GeglGraph the superclass. * gegl/gegl-graph.h: made GeglObject the superclass. * gegl/gegl-graph.c: (gegl_graph_get_pad_proxy): refactored a new method from gegl_graph_get_nop_{in,out}put. * gegl/gegl-node.c: (gegl_node_remove_pad): unref pad. (gegl_node_get_valist),(gegl_node_get_property): adopt to refactoring. * gegl/gegl-xml.c: (start_element), (end_element), (add_stack): adopt to refactoring. * gegl/gegl.c: (main), (main_interactive): adopt to refactoring. 2006-08-21 Kevin Cozens * configure.in: Various bits of auto-configuration magic. Added checks for some programs and libraries. Defined GEGL_UNSTABLE. * operations/display/Makefile.am * operations/file-io/Makefile.am * operations/render/Makefile.am: Make use of C and linker flags that were determined during the running of 'configure'. 2006-08-20 Dominik Ernst * operations/blur/gaussian-blur.c: adjusted the computation of sigma, so blurring with radius 0 does not actually blur the image. 2006-08-18 Øyvind Kolås * gegl/gegl-xml.c: (encode_node_attributes): encoded G_TYPE_DOUBLE as well. 2006-08-18 Øyvind Kolås * AUTHORS: added Kevin Cozens to code section. 2006-08-17 Kevin Cozens * blur/Makefile.am * color/Makefile.am * core/Makefile.am * display/Makefile.am * file-io/Makefile.am * generated/Makefile.am * render/Makefile.am * transform/Makefile.am * transparency/Makefile.am: ext_dir now uses the directory specified during ./configure instead of a using hard-coded value. Also added DESTDIR so install will work properly during packaging. 2006-08-17 Øyvind Kolås * operations/render/text.c: a modified version of the text op got commited accidently, here is a version that at least compiles, but the issue of not rerendering correctly is not handled. 2006-08-17 Øyvind Kolås * operations/file-io/jpg-load.c: (evaluate), (calc_have_rect): provide a dummy 10x10 buffer when failing to load a jpg. 2006-08-17 Øyvind Kolås * TODO: updated with thoughts about how caching ops could evolve. 2006-08-17 Øyvind Kolås * operations/file-io/png-load.c: (evaluate): provide a dummy 10x10 buffer if loading of png fails. * operations/file-io/load.c: (refresh_cache): removed debug printlining. 2006-08-17 Øyvind Kolås Removed internal caching from file loading operations, (the meta loader still has a cache). * operations/file-io/jpg-load.c: (evaluate): * operations/file-io/magick-load.c: (load_cache), (evaluate): * operations/file-io/png-load.c: (evaluate), (query_png): * operations/file-io/raw-load.c: (evaluate): 2006-08-17 Øyvind Kolås Make the cache of the meta loader be invalidated if the path property changes. * operations/file-io/load.c: (gegl_operation_load_class_init), (refresh_cache), (calc_have_rect), (dispose): 2006-08-17 Øyvind Kolås * operations/file-io/load.c: migrated from chanting to full boiler plate gobject. 2006-08-17 Øyvind Kolås * gegl/gegl-operation-point-composer.h, * gegl/gegl-operation-point-filter.h: Changed to use the proper super class-struct. (they used GeglOperationClass directly). 2006-08-17 Øyvind Kolås * docs/gallery/clones.xml: make used of the radius-x and radius-y properties instead of radius of the gaussian blur. 2006-08-16 Øyvind Kolås Added two ops, one that renders a black/white checkerboard with specified horizonal/vertical spacings for the cells, and one that generates a blank image. * operations/render/blank.c, * operations/render/checkerboard.c: New files. 2006-08-16 Øyvind Kolås Fixed aux format request in point composers. * gegl/gegl-operation-point-composer.c: (evaluate_inner): Fetch the aux input with the pixel format specified in GeglOperationPointComposer->aux_format. 2006-08-16 Øyvind Kolås Added a colon seperated list of categories to each operation class structure. This allows generation of easily browsable menus for class selection in user interfaces. * gegl/gegl-operation.h: added categories to class struct. * gegl/gegl-chant.h: use provided CHANT_CATEGORIES if set, or "misc" if not set for klass->categories. * operations/*/*.[c|rb]: gave all operations misc categories. 2006-08-15 Øyvind Kolås * tests/bfspadvisitortest.c~, * tests/dfspadvisitortest.c~, * tests/gegl-mock-pad-visitor.c~: removed temp files accidentaly checked into CVS. 2006-08-14 Øyvind Kolås Reintroduced check for glib, and made it check for glib >=2.10.0 * autogen.sh: uncommented check for glib and increased version number being checked for. 2006-08-13 Øyvind Kolås * docs/.cvsignore, * docs/gallery/.cvsignore, * gegl/module/.cvsignore: Added and updated .cvsignore files. 2006-08-12 Dominik Ernst * operations/blur/gaussian-blur.c: improved the efficiency by implementing an IIR algorithm, also blur can be applied in x and y direction independently. 2006-08-12 Øyvind Kolås Added cvsignore files to the operations subdir. * operations/.cvsignore, * operations/blur/.cvsignore, * operations/color/.cvsignore, * operations/core/.cvsignore, * operations/display/.cvsignore, * operations/file-io/.cvsignore, * operations/generated/.cvsignore, * operations/render/.cvsignore, * operations/transform/.cvsignore, * operations/transparency/.cvsignore: NEW files. 2006-08-12 Øyvind Kolås Made properties of operations that used to be passed as gfloats be passed as gdoubles. * operations/blur/box-blur.c, * operations/blur/gaussian-blur.c, * operations/color/brightness-contrast.c, * operations/color/threshold.c, * operations/core/crop.c, * operations/core/shift.c, * operations/generated/math.rb, * operations/render/noise.c, * operations/render/text.c, * operations/transparency/opacity.c: replaced chant_float with chant_double, and some adjustments to the min/max ranges of properties. 2006-08-12 Øyvind Kolås * operations/file-io/load.c: Added the .nef|.NEF extension to the set of files handled by the raw-loader. 2006-08-10 Øyvind Kolås * gegl/gegl-operation-point-composer.c: (evaluate_inner): * gegl/gegl-operation-point-filter.c: (evaluate_inner): handle zero extent buffers better (adaptation of a patch from Richard Kralovic) * AUTHORS: Added Richard Kralovic 2006-08-10 Øyvind Kolås Added copyright statements to operations. * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/brightness-contrast.c: * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * operations/display/display.c: * operations/file-io/jpg-load.c: * operations/file-io/load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/png-save.c: * operations/file-io/raw-load.c: * operations/render/noise.c: * operations/render/text.c: * operations/transparency/opacity.c: 2006-08-10 Øyvind Kolås * AUTHORS: Added Dominik Ernst 2006-08-09 Øyvind Kolås Made the ops build within the source tree. * operations/transparency/Makefile, * operations/blur/Makefile, * operations/color/Makefile, * operations/display/Makefile, * operations/file-io/Makefile, * operations/generated/Makefile, * operations/render/Makefile, * operations/transform/Makefile: Removed Makefiles * operations/Makefile.am, * operations/blur/Makefile.am, * operations/color/Makefile.am, * operations/core/Makefile.am, * operations/display/Makefile.am, * operations/file-io/Makefile.am, * operations/generated/Makefile.am, * operations/render/Makefile.am, * operations/transform/Makefile.am, * operations/transparency/Makefile.am: added makefile.am's that are using wildcards for which ops to compile. * configure.in: added makefiles to be generated. * autogen.sh: trigger generation of ops using ruby. 2006-08-09 Øyvind Kolås Incorporated operations into CVS, the build system of GEGL is still too fragile, but at least most of the relevant code is now under version control. Further reorganization and setup is needed. * operations/Makefile.am: * operations/blur/Makefile: * operations/blur/box-blur.c: * operations/blur/gaussian-blur.c: * operations/color/Makefile: * operations/color/brightness-contrast.c: * operations/color/invert.c: * operations/color/stretch-contrast.c: * operations/color/threshold.c: * operations/display/Makefile: * operations/display/display.c: * operations/file-io/Makefile: * operations/file-io/jpg-load.c: * operations/file-io/load.c: * operations/file-io/magick-load.c: * operations/file-io/png-load.c: * operations/file-io/png-save.c: * operations/file-io/raw-load.c: * operations/generated/Makefile: * operations/generated/math.rb: * operations/generated/porter-duff.rb: * operations/render/Makefile: * operations/render/noise.c: * operations/render/text.c: * operations/transform/Makefile: * operations/transform/affine.c: * operations/transform/affine.h: * operations/transform/chant.h: * operations/transform/linear.c: * operations/transform/linear.h: * operations/transform/matrix.c: * operations/transform/matrix.h: * operations/transform/module.c: * operations/transform/module.h: * operations/transform/nearest.c: * operations/transform/nearest.h: * operations/transform/rotate.c: * operations/transform/scale.c: * operations/transform/shear.c: * operations/transform/translate.c: * operations/transparency/Makefile: * operations/transparency/opacity.c: 2006-08-09 Øyvind Kolås * gegl/gegl.c: (index_introspect), (gegl_list_ops): Modified to list operations inline in the body after each category header instead of the right-hand menu. 2006-08-09 Øyvind Kolås Added superclasses for point filters and point composers, as well as integration with gegl-chant (the boiler plate reducer). * gegl/gegl-operation-point-composer.[ch]: new files * gegl/gegl-operation-point-filter.[ch]: new files * gegl/Makefile.am, * gegl/gegl-chant.h: modified to incorporate new files. 2006-07-19 Philip Lafleur * gegl/gegl-chant.h: Removed CHANT_AFFINE code (refactored to operations). 2006-07-18 Øyvind Kolås * gegl/gegl.c: changed the static html content (this should perhaps be moved to the docs dir somehow.) 2006-07-18 Philip Lafleur * gegl/gegl-operation.[ch]: Store class name as an interned string to speed up name->type lookup. * gegl/gegl-node.c (g_type_from_op_class2): Replace _ with - in operation class names before looking them up. 2006-07-18 Øyvind Kolås Reworked the magic chanting. - removed need for a camel cased name - shortened CHANT_SUPER_CLASS_FOO to CHANT_SUPER_CLASS. * gegl/gegl-chant.h: * gegl/gegl-operation.c: (gegl_operation_class_set_name): perform a s/_/-/ on the string. * operations/core/clone.c, * operations/core/crop.c, * operations/core/nop.c, * operations/core/shift.c: Changed accordingly. 2006-07-17 Øyvind Kolås * AUTHORS: added myself to Documentation. 2006-07-17 Øyvind Kolås * gegl/gegl.c: (list_properties), (introspect), (index_introspect), (gegl_list_ops): Made the generated webpage a easier to interact with and prettier. 2006-07-17 Øyvind Kolås * gegl/gegl-chant.h: added CHANT_DESCRIPTION, which ends up as the textual decsription of the operation being defined. * operations/core/crop.c, * operations/core/nop.c, * operations/core/shift.c: fixed accordingly. 2006-07-17 Øyvind Kolås * gegl/gegl-chant.h: Added descriptive blurbs to all property chants. * operations/core/clone.c, * operations/core/crop.c, * operations/core/shift.c: fixed accordingly. 2006-07-17 Øyvind Kolås * operations/core/Makefile.am: stop pkg-config pulling in the headers of the (possibly) installed GEGL. 2006-07-16 Philip Lafleur * gegl/gegl-chant.h: - Implemented CHANT_STATIC option for static operations; - implemented chant_boolean() property; - implemented CHANT_SUPER_CLASS_AFFINE inheritance; - implemented CHANT_CONSTRUCT option that defines init(self), called from the operation's gobject constructor; - removed the need for defining CHANT_type_name_init and CHANT_type_name_class_init. * operations/core/clone.c: removed definition of CHANT_STATIC. * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: removed definitions of CHANT_type_name_init and CHANT_type_name_class_init. 2006-07-17 Øyvind Kolås * Makefile.am: do not include the unit tests in the build right now. 2006-07-17 Øyvind Kolås Added a compiletime xml-includes tool written in bash. * tools/Makefile.am: * tools/xml_insert.sh: 2006-07-17 Øyvind Kolås Added a core set of operations that are compiled alongside the GEGL library. * gegl/gegl-chant.h: A code containing magic encantations used to significantly decrease the needed lines of code to develop operation plug-ins. * gegl/Makefile.am: added gegl-chant.h * operations/Makefile.am: new file, that simply builds in the core subdir as well. * operations/core/Makefile.am: Added a makefile for compiling modules, probably not quite automakified yet. * operations/core/clone.c: * operations/core/crop.c: * operations/core/nop.c: * operations/core/shift.c: * configure.in, Makefile.am: modified accordingly. 2006-07-17 Øyvind Kolås * gegl/module/Makefile.am: renamed meta level variables. 2006-07-17 Øyvind Kolås * TODO: updated TODO 2006-07-07 Øyvind Kolås * gegl/gegl-init.c: (gegl_init): use PREFIX/lib/gegl instead of PREFIX/lib/gegl-operations. 2006-07-06 Øyvind Kolås Added a gegl tool binary, the can view xml graphs and export them to files. * gegl/.cvsignore: * gegl/gegl-options.c: (opts_new), (usage), (print_opts), (fixup), (gegl_options_parse), (parse_args): * gegl/gegl-options.h: * gegl/gegl.c: (main), (main_interactive), (list_properties), (introspect), (gegl_list_ops): 2006-07-06 Øyvind Kolås Added a framework for dynamically loading GEGL operations based on gmodule. Copied from GIMPs module. * configure.in: added gegl/module/Makefile to generated files. * gegl/Makefile.am: added module dir * gegl/gegl-init.c: (gegl_init): load modules upon library initialization. * gegl/gegl-module.h * gegl/module/Makefile.am, * gegl/module/gegldatafiles.c, * gegl/module/gegldatafiles.h, * gegl/module/geglmodule.c, * gegl/module/geglmodule.h, * gegl/module/geglmoduledb.c, * gegl/module/geglmoduledb.h, * gegl/module/geglmoduletypes.h: New files. 2006-07-06 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_get), (gegl_node_get_valist), (gegl_node_get_property), (gegl_node_get_op_type_name): Reroute when as needed when graphs are queried for properties. 2006-07-06 Øyvind Kolås * AUTHORS: made vertical spacing more uniform. 2006-07-06 Øyvind Kolås * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_class_set_description): * gegl/gegl-operation.h: Added a class level description string, that can be used by ui/reports, etc for a longer description than what the name alone provides. 2006-07-06 Øyvind Kolås * gegl/gegl-xml.c: (start_element), (end_element): Due to demand, implemented the ability to name the ops directly with the tags. Not sure if this is a change that should be made permanent. 2006-07-06 Øyvind Kolås * gegl/gegl-eval-mgr.c: Reverted change of 2006-07-02, as changes in uncommited changes built up in a net-less period depends on being able to query the data of a gegl-graph, after evaluation. (The cleaning should perhaps be done at dispose time for the graph?) 2006-07-04 Philip Lafleur * gegl/gegl-utils.c (gegl_rect_bounding_box): Added a missing 'else' that was breaking rect calculations. 2006-07-03 Philip Lafleur * gegl/gegl-node.c (gegl_node_set_valist): Pass all properties following a "class" property as construction properties to the created operation so that they may be used in initialization. This means that the "name" property should appear before the "class" property if used. 2006-07-03 Philip Lafleur * gegl/gegl-cr-visitor.c, * gegl/gegl-debug-rect-visitor.c, * gegl/gegl-node.[ch], * gegl/gegl-operation.[ch]: Removed comp_rect since there are currently no plans to use it. 2006-07-03 Philip Lafleur * gegl/gegl-cr-visitor.c, * gegl/gegl-debug-rect-visitor.c, * gegl/gegl-eval-visitor.c, * gegl/gegl-graph.c, * gegl/gegl-have-visitor.c, * gegl/gegl-need-visitor.c, * gegl/gegl-object.[ch], * gegl/gegl-operation.c, * gegl/gegl-pad.c: Removed unused/unnecessary code. 2006-07-02 Philip Lafleur * gegl/gegl-eval-mgr.c: Clean root node's pads after evaluating. This fixes a memory leak when using an operation with output (non-sink) as the root. 2006-06-28 Øyvind Kolås * AUTHORS: added Philip Lafleur 2006-06-28 Øyvind Kolås * gegl/buffer/gegl-buffer.c: changed REMAINDER macro to provide correct results for negative values that are a multiple of the remainder. 2006-06-27 Philip Lafleur * gegl/gegl-eval-mgr.c, * gegl/gegl-have-visitor.c, * gegl/gegl-need-visitor.c, * gegl/gegl-node.[ch], * gegl/gegl-operation-composer.c, * gegl/gegl-operation-filter.c, * gegl/gegl-operation-source.c, * gegl/gegl-operation.[ch]: Changed API for need_rect calculation; A node's need_rect should be what is needed from it by its parents, not what it needs from its children. An operation sets the need_rects of its children using gegl_operation_set_need_rect(self) in its calc_source_regions() function. 2006-06-25 Øyvind Kolås * tests/Makefile.am: Added babl cflags to compilation of tests. 2006-06-25 Øyvind Kolås Removed (defunct) references to in-place processing. * gegl/gegl-operation-composer.[ch]: (gegl_operation_composer_class_init), (gegl_operation_composer_init), (get_property), (set_property): 2006-06-25 Øyvind Kolås Added abstract base classes for source, filter and composer operations that use GeglBuffers. * gegl/Makefile.am: Added new files. * gegl/gegl-operation-composer.[ch], * gegl/gegl-operation-filter.[ch], * gegl/gegl-operation-source.[ch]: Added files. 2006-06-25 Øyvind Kolås Another installed change of organization of installed headers. * gegl/gegl.h: changed path of buffer. * gegl/buffer/Makefile.am: install headers in seperate subdir. 2006-06-25 Øyvind Kolås Changed the way the headers are installed to mimick glib. gegl.h is installed in prefix/include/gegl-x.x/gegl.h and the rest in a gegl subdir in that directory. If you've got an existing GEGL installation you need to perform a rm -rf on your gegl include dir before doing make install, for the header enviroment to be correct. * gegl.pc.in: Changed specified path. * gegl/Makefile.am: Added a new subdir path to install headers in. * gegl/gegl-xml.h: changed header to handle change. * gegl/gegl.h: include headers with path. 2006-06-24 Øyvind Kolås * gegl/buffer/gegl-buffer.h, gegl/buffer/gegl-tile-backend.c: modified to include babl/babl.h instead of just babl.h * gegl/gegl-init.c: (gegl_exit): added BABL_DEBUG_BUFS for enabling tile/buffer refererence leaks. 2006-06-23 Øyvind Kolås Added a function to serialize a graph of gegl nodes, either starting with a container graph, or a node to an XML structure. The XML structure is the same structure that is supported in the parser, it is a hierarchical representation of the graph which allows clones. This is capable of supporting any graph as long as the node types are limited to sources (1 output), filters (1 input 1 output) and composers (2 inputs 1 output). * gegl/gegl-xml.h: (gegl_to_xml). * gegl/gegl-xml.c: (gegl_xml_parse), (tuple), (encode_node_attributes), (add_stack), (free_clone_id), (gegl_to_xml): Added xml serializer. 2006-06-23 Øyvind Kolås * gegl/buffer/gegl-buffer.c: Added missing return type. (gint). 2006-06-22 Øyvind Kolås Gave the tile offset and indice computation functions more descriptive names. * gegl/buffer/gegl-buffer.c: (REMAINDER): a macro to work around the lack of well definedness of % for negative numbers in C. (tile_indice): new name for indice() (tile_offset): new name for toff() (gegl_buffer_iterate_fmt), (gegl_buffer_void): use the new names. 2006-06-21 Øyvind Kolås * gegl/buffer/Makefile.am: remove extranous / in header install path. 2006-06-21 Øyvind Kolås * TODO: updated wording of the GEGL buffer todo item. 2006-06-20 Jakub Steiner * /docs/images/gegl-logo.svg: convert text to paths and fix the positioning a little. 2006-06-19 Øyvind Kolås * TODO: multithreading of evaluation. 2006-06-20 Øyvind Kolås Reduced the memory usage of GEGL significantly by freeing up temporary buffers immediatly when they are no longer needed. * gegl/gegl-node.[ch]: added refs member to GeglNode struct, which indicates how many references (uses) of this nodes pads will occur in a processing of the composition. * gegl/gegl-cr-visitor.c: (visit_node): set refs to the number of sinks at the same time as computation of comp and result rects. * gegl/gegl-debug-rect-visitor.c: (visit_node): output the number of refs when showing * gegl/gegl-operation.[ch]: (gegl_operation_class_init), (gegl_operation_associate), (clean_pads), (gegl_operation_clean_pads): debug information. * gegl/gegl-eval-visitor.c: (visit_pad): decrement node->refs, and invoke operation->clean_pads() when it drops to 0 * gegl/gegl-operation.[ch]: (gegl_operation_class_init), (gegl_operation_associate), (clean_pads), (gegl_operation_clean_pads): Added virtual method clean_pads() which unrefs the data stored at the output pads when it is no longer needed. 2006-06-20 Øyvind Kolås * gegl/buffer/gegl-tile.c: (gegl_tile_lock), (gegl_tile_unlock): commented out call to dirtying, since it is not in use at the moment. 2006-06-19 Øyvind Kolås * gegl/gegl-operation.[ch]: removed dead code. 2006-06-19 Øyvind Kolås Removed dirty flag from pads, it is currently unused. * gegl/gegl-pad.[ch]: (gegl_pad_init), (visitable_needs_visiting): 2006-06-19 Øyvind Kolås * TODO: removed finished tasks, added refactoring of buffer implementation to support multiple backends. 2006-06-19 Øyvind Kolås Added the ability to have one input, and one output ghost pad for a graph. At the moment it uses the "nop" operation, and thus only works for buffer pads. This works for simple uses of embedding graphs/trees in xml, but might not be sufficient at a later stage. * gegl/gegl-graph.[ch]: (gegl_graph_get_output_nop), (gegl_graph_get_input_nop): Added methods to get a routing "nop" node that can be used when connecting the nodes inside the graph to the graph itself. After these have been called the first time the graph (node superclass) will have the corresponding pads as well. * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): Changed to reflect the new ghost pads. * gegl/gegl-node.c: (gegl_node_get_depends_on): Follow connections to graphs to the Nop corresponding to the pad. * gegl/gegl-xml.c: (start_element), (end_element), (gegl_xml_parse): Allow trees to be nested when parsing the XML. 2006-06-19 Øyvind Kolås * gegl/gegl-debug-rect-visitor.c: (visit_node): Improved debugging output a bit, and removed unused variable. 2006-06-17 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_iterate_fmt): Iterate all scanlines withing a tilerow,. not only the first. 2006-06-14 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.[ch]: (gegl_buffer_allocators_free): New function, Free the underlying tiled buffers used as allocation pools for various pixel formats. * gegl/gegl-init.c: (gegl_exit): Call the above function, as well as a, ifdefed out block that enable dumping of buffer/tile stats. 2006-06-14 Øyvind Kolås * gegl/gegl-xml.c: (gegl_xml_parse): redirect the output pad (this hack leads to leaking of buffers at the moment. Graphs needs the ability to route output from one of the interior nodes. 2006-06-13 Øyvind Kolås Register a name for the operations, and use that through a "class" property and not "operation" when instantiating nodes. * gegl/gegl-node.c: (gegl_node_class_init), (set_property), (get_property), (g_type_from_op_class2), (g_type_from_op_class), (gegl_node_set_op_class), (gegl_node_get_op_class), (gegl_node_set_valist), (gegl_node_get_valist), (gegl_node_set_property), (gegl_node_get_property): * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_init), (gegl_operation_class_set_name), (gegl_operation_get_name): * gegl/gegl-operation.h: * gegl/gegl-xml.c: (start_element): 2006-06-13 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_dispose): do not set the trait->source = NULL when disposing it leads to leaks, for now just accept that the buffer might be vodied multiple times. 2006-06-12 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (get_tile): removed unused variables. 2006-06-12 Øyvind Kolås Added instrumentation to voiding of tiles. * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_alloc): reduced abyss safety margins. * gegl/buffer/gegl-buffer.c: (gegl_buffer_dispose): moved back here from finalize, but doing a nasty hack to make sure we're only run once. * gegl/buffer/gegl-tile-mem.c: (gegl_tile_mem_stats), (dbg_alloc), (dbg_dealloc), (mem_entry_destroy), (mem_priv_set_tile), (mem_priv_void_tile), (void_tile): Added instrumentation to tile chunk allocations. Fixed voiding handler. 2006-06-12 Øyvind Kolås Made abyss behavior correct in detailed mode as well. * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor), (gegl_buffer_init), (gegl_buffer_iterate_fmt): Made abyss be stored in the buffer, and applied directly during iteration. * gegl/buffer/gegl-tile-abyss.[ch]: REMOVED. * gegl/buffer/Makefile.am: 2006-06-11 Øyvind Kolås Added a GMarkup SAX parser for a tree structure that can contain layers, layer groups, "effect layers" and clones. * gegl/gegl-xml.h: The parser. * gegl/gegl.h: include the header for the parser. * gegl/Makefile.am: add gegl-xml.[ch] 2006-06-10 Øyvind Kolås When finally voiding (freeing) tiles associated with buffers do it in a finalize handler and not in the dispose handler (the same tiles were sometimes being voided multiple times). * gegl/buffer/gegl-buffer.c: (gegl_buffer_dispose): moved to (gegl_buffer_finalize), (gegl_buffer_class_init): s/dispose/finalize. 2006-06-08 Øyvind Kolås * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): temporary(?) hack to make output ghost pads possible for GeglGraphs. 2006-06-05 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_class_init): changed blurb of operation-object property. 2006-06-05 Øyvind Kolås Added instrumentation for buffer allocations, and voiding of the reserved data for bottom level buffers. * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_stats): prints,. buffer allocation statistics. (gegl_buffer_dispose): record stats (gegl_buffer_constructor), (gegl_buffer_init), (gegl_buffer_iterate_fmt), (gegl_buffer_set), (gegl_buffer_void): 2006-06-04 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.h: add prototoype for get_type function. 2006-06-04 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: store allocators for different pixel formats in a hash. 2006-06-04 Øyvind Kolås * gegl/gegl-operation.c: (gegl_operation_have_rect): return NULL if node not connected to another node. 2006-06-04 Øyvind Kolås * README: borught slightly more in sync with rest of GEGL. 2006-06-03 Øyvind Kolås * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_size): removed. (gegl_buffer_pixels): added. 2006-06-03 Øyvind Kolås * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_allocator_init), (gegl_buffer_alloc): Increased safety distances in allocation. There are geometric out of bounds accesses without this. 2006-06-03 Øyvind Kolås * gegl/buffer/gegl-buffer.c: (gegl_buffer_constructor), (gegl_buffer_iterate_fmt), (gegl_buffer_set), (gegl_buffer_get), (gegl_buffer_set_fmt), (gegl_buffer_get_fmt): Removed the need for a temporary buffer, but use babl for converting scanlines from tile to buffer. 2006-06-03 Øyvind Kolås Made it possible to enable output of debug rectangles if the enviroment variable GEGL_DEBUG_RECTS is set. * gegl/gegl-debug-rect-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): 2006-06-03 Øyvind Kolås * gegl/gegl-debug-rect-visitor.c: (visit_node): * gegl/gegl-eval-mgr.c: (gegl_eval_mgr_apply): 2006-06-02 Øyvind Kolås * TODO: updated the roadmap (made notes about what things are done, it seems like we've come a long way since the TODO file was added one year ago. 2006-06-02 Sven Neumann * configure.in: no need to AC_SUBST the variables set by PKG_CHECK_MODULES(). 2006-06-02 Øyvind Kolås Made the gegl-buffer babl aware. * configure.in: Added babl as a dependency * gegl.pc.in: Added babl as a dependency * gegl/Makefile.am: Added babl to includes / LDFLAGS * gegl/buffer/Makefile.am: Install header files (just dumping then in the GEGL dir for now). * gegl/buffer/gegl-buffer.[ch]: (gegl_buffer_get_format), (gegl_buffer_px_size), (gegl_buffer_size), (gegl_buffer_iterate), (gegl_buffer_set), (gegl_buffer_get), (gegl_buffer_set_fmt), (gegl_buffer_get_fmt): Added methods to set/get linear buffers through babl backed conversions. * gegl/buffer/gegl-storage.c: (get_property), (set_property), (gegl_storage_dispose), (gegl_storage_constructor): completing renaming from buffer->storage. * gegl/buffer/gegl-tile-backend.c: (get_property), (set_property), (constructor), (gegl_tile_backend_class_init): * gegl/buffer/gegl-tile-backend.h: correctly set format when passed in to constructor. * gegl/gegl-init.c: (gegl_init), (gegl_exit): init/deinit babl. * gegl/gegl.h: include gegl-buffer as well. 2006-06-02 Øyvind Kolås Made child rectangles be computed correctly when there are multiple outputs from a node. * gegl/gegl-node.[ch]: (consumer_nodes), (gegl_node_get_requested_rect): Correctly sum up child requests. * gegl/gegl-operation.[ch]: (gegl_operation_get_requested_rect): 2006-05-31 Øyvind Kolås Added new tiled buffer implementation. * configure.in: * gegl/Makefile.am: * gegl/buffer/: new directory * gegl/buffer/Makefile.am: * gegl/buffer/gegl-buffer-allocator.c: (gegl_buffer_allocator_class_init), (gegl_buffer_allocator_init), (gegl_buffer_alloc), (gegl_buffer_new_from_format): * gegl/buffer/gegl-buffer-allocator.h: * gegl/buffer/gegl-buffer-types.h: * gegl/buffer/gegl-buffer.c: (indice), (toff), (needed_tiles), (needed_width), (get_property), (set_property), (gegl_buffer_dispose), (gegl_buffer_backend), (gegl_buffer_storage), (gegl_buffer_constructor), (get_tile), (gegl_buffer_class_init), (gegl_buffer_init), (gegl_buffer_void_tile), (gegl_buffer_idle), (gegl_buffer_get_format), (gegl_buffer_add_dirty), (gegl_buffer_flush_dirty), (gegl_buffer_is_dirty), (gegl_buffer_iterate), (gegl_buffer_set), (gegl_buffer_get): * gegl/buffer/gegl-buffer.h: * gegl/buffer/gegl-storage.c: (get_property), (set_property), (gegl_storage_dispose), (gegl_storage_constructor), (gegl_storage_class_init), (gegl_storage_init): * gegl/buffer/gegl-storage.h: * gegl/buffer/gegl-tile-abyss.c: (finalize), (get_tile), (message), (get_property), (set_property), (constructor), (gegl_tile_abyss_class_init), (gegl_tile_abyss_init): * gegl/buffer/gegl-tile-abyss.h: * gegl/buffer/gegl-tile-backend.c: (get_property), (set_property), (constructor), (gegl_tile_backend_class_init), (gegl_tile_backend_init): * gegl/buffer/gegl-tile-backend.h: * gegl/buffer/gegl-tile-cache.c: (finalize), (dispose), (get_tile), (message), (get_property), (set_property), (gegl_tile_cache_class_init), (gegl_tile_cache_init), (gegl_tile_cache_new), (gegl_tile_cache_wash), (gegl_tile_cache_get_tile), (gegl_tile_cache_has_tile), (gegl_tile_cache_trim), (gegl_tile_cache_void), (gegl_tile_cache_insert): * gegl/buffer/gegl-tile-cache.h: * gegl/buffer/gegl-tile-empty.c: (finalize), (get_tile), (get_property), (set_property), (constructor), (gegl_tile_empty_class_init), (gegl_tile_empty_init): * gegl/buffer/gegl-tile-empty.h: * gegl/buffer/gegl-tile-log.c: (get_tile), (message), (gegl_tile_log_class_init), (gegl_tile_log_init): * gegl/buffer/gegl-tile-log.h: * gegl/buffer/gegl-tile-mem.c: (mem_entry_new), (mem_entry_destroy), (mem_bank_new), (mem_bank_destroy), (mem_priv_new), (mem_priv_destroy), (mem_priv_get_tile), (mem_priv_set_tile), (mem_priv_void_tile), (get_tile), (set_tile), (void_tile), (message), (set_property), (get_property), (finalize), (gegl_tile_mem_class_init), (gegl_tile_mem_init): * gegl/buffer/gegl-tile-mem.h: * gegl/buffer/gegl-tile-store.c: (get_tile), (message), (gegl_tile_store_class_init), (gegl_tile_store_init), (gegl_tile_store_get_tile), (gegl_tile_store_message): * gegl/buffer/gegl-tile-store.h: * gegl/buffer/gegl-tile-trait.c: (dispose), (get_tile), (message), (get_property), (set_property), (gegl_tile_trait_class_init), (gegl_tile_trait_init): * gegl/buffer/gegl-tile-trait.h: * gegl/buffer/gegl-tile-traits.c: (gegl_tile_traits_nuke_cache), (dispose), (finalize), (get_tile), (message), (gegl_tile_traits_class_init), (gegl_tile_traits_init), (gegl_tile_traits_rebind), (gegl_tile_traits_add), (gegl_tile_traits_get_first): * gegl/buffer/gegl-tile-traits.h: * gegl/buffer/gegl-tile.c: (get_property), (set_property), (dispose), (gegl_tile_class_init), (gegl_tile_init), (gegl_tile_new_from_data), (gegl_tile_dup), (gegl_tile_new), (gegl_tile_unclone), (gegl_tile_lock), (gegl_tile_unlock), (gegl_tile_is_stored), (gegl_tile_void), (gegl_tile_cpy), (gegl_tile_swp), (gegl_tile_get_data), (gegl_tile_store): * gegl/buffer/gegl-tile.h: 2006-05-31 Øyvind Kolås Removed old buffer implementation, a tile management system, built to coexist with babl will replace it. * configure.in, * gegl/Makefile.am, * gegl/image/.cvsignore, * gegl/image/Makefile.am, * gegl/image/gegl-buffer-double.c, * gegl/image/gegl-buffer-double.h, * gegl/image/gegl-buffer.c, * gegl/image/gegl-buffer.h, * gegl/image/gegl-cache-entry.c, * gegl/image/gegl-cache-entry.h, * gegl/image/gegl-cache-store.c, * gegl/image/gegl-cache-store.h, * gegl/image/gegl-cache.c, * gegl/image/gegl-cache.h, * gegl/image/gegl-color-model.c, * gegl/image/gegl-color-model.h, * gegl/image/gegl-color-space-imp.h, * gegl/image/gegl-color-space.h, * gegl/image/gegl-component-sample-model.c, * gegl/image/gegl-component-sample-model.h, * gegl/image/gegl-entry-record.c, * gegl/image/gegl-entry-record.h, * gegl/image/gegl-heap-cache-store.c, * gegl/image/gegl-heap-cache-store.h, * gegl/image/gegl-heap-cache.c, * gegl/image/gegl-heap-cache.h, * gegl/image/gegl-image-types.h, * gegl/image/gegl-normalizer-mult.c, * gegl/image/gegl-normalizer-mult.h, * gegl/image/gegl-normalizer.c, * gegl/image/gegl-normalizer.h, * gegl/image/gegl-null-cache-store.c, * gegl/image/gegl-null-cache-store.h, * gegl/image/gegl-sample-model.c, * gegl/image/gegl-sample-model.h, * gegl/image/gegl-swap-cache-store.c, * gegl/image/gegl-swap-cache-store.h, * gegl/image/gegl-swap-cache.c, * gegl/image/gegl-swap-cache.h, * gegl/image/gegl-tile-iterator.h, * gegl/image/gegl-tile.h: Removed. 2006-05-31 Øyvind Kolås Removed gegl/image related tests. * tests/gegl-image-buffer-caching-test.c, * tests/gegl-image-buffer-double-test.c, * tests/gegl-image-cache-store-tests.c, * tests/gegl-image-cache-store-tests.h, * tests/gegl-image-cache-tests.c, * tests/gegl-image-cache-tests.h, * tests/gegl-image-component-sample-model-test.c, * tests/gegl-image-entry-record-test.c, * tests/gegl-image-heap-cache-store-test.c, * tests/gegl-image-heap-cache-tests.c, * tests/gegl-image-memory-cache-test.c, * tests/gegl-image-mock-cache-entry-test.c, * tests/gegl-image-mock-cache-entry.c, * tests/gegl-image-mock-cache-entry.h, * tests/gegl-image-null-cache-store-test.c, * tests/gegl-image-swap-cache-store-test.c, * tests/gegl-image-swap-cache-test.c: Removed. * tests/Makefile.am, * tests/testgegl.c: (main): Changed to reflect test removal. 2006-05-31 Sven Neumann * configure.in: define G_DISABLE_DEPRECATED if compiling against glib <= 2.11. 2006-05-31 Øyvind Kolås * gegl/Makefile.am: added new classes. * gegl/gegl-types.h: Added types for the new classes. * gegl/gegl-eval-mgr.h: added the ROI being requested to the instance struct of the eval manager. * gegl/gegl-eval-mgr.c: Traverse the graph for have, need, and compute/result rectangles for the region of interest computation. * gegl/gegl-debug-rect-visitor.[ch]: * gegl/gegl-cr-visitor.[ch]: * gegl/gegl-have-visitor.[ch]: * gegl/gegl-need-visitor.[ch]: 2006-05-31 Øyvind Kolås Added infrastructure to compute ROI as outlined in: http://portal.acm.org/citation.cfm?id=192191 to Node and Operation classes. (these code paths needs to be untangled at some point). This commit also contains some improvements to the error messages generated by sanity checking of arguments etc. * gegl/gegl-node.c: (pads_exist), (gegl_node_apply_roi), (gegl_node_set_operation), (gegl_node_set_valist), (gegl_node_get_valist), (gegl_node_get_op_type_name), (gegl_node_set_have_rect), (gegl_node_get_have_rect), (gegl_node_set_need_rect), (gegl_node_set_comp_rect), (gegl_node_get_need_rect), (gegl_node_get_debug_name): * gegl/gegl-node.h: * gegl/gegl-operation.c: (gegl_operation_class_init), (gegl_operation_calc_have_rect), (gegl_operation_calc_source_regions), (gegl_operation_calc_comp_rect), (gegl_operation_calc_result_rect), (associate), (gegl_operation_set_have_rect), (gegl_operation_get_have_rect), (gegl_operation_set_need_rect), (gegl_operation_set_comp_rect), (gegl_pad_get_connected_to2), (gegl_operation_get_need_rect), (calc_have_rect), (calc_source_regions), (calc_comp_rect), (calc_result_rect), (gegl_operation_need_rect), (gegl_operation_have_rect), (gegl_operation_result_rect), (gegl_operation_comp_rect): * gegl/gegl-operation.h: 2006-05-15 Øyvind Kolås * gegl/gegl-connection.c, gegl/gegl-connection.h, gegl/gegl-eval-mgr.c, gegl/gegl-eval-mgr.h, gegl/gegl-eval-visitor.c, gegl/gegl-eval-visitor.h, gegl/gegl-graph.c, gegl/gegl-graph.h, gegl/gegl-init.c, gegl/gegl-init.h, gegl/gegl-node.c, gegl/gegl-node.h, gegl/gegl-object.c, gegl/gegl-object.h, gegl/gegl-operation.c, gegl/gegl-operation.h, gegl/gegl-pad.c, gegl/gegl-pad.h, gegl/gegl-types.h, gegl/gegl-utils.c, gegl/gegl-utils.h, gegl/gegl-visitable.c, gegl/gegl-visitable.h, gegl/gegl-visitor.c, gegl/gegl-visitor.h, gegl/gegl.h: changed license in source files to LGPL, it was mistakingly applied as GPL 2003-12-21. 2006-04-05 Øyvind Kolås * gegl/gegl-node.c: (gegl_node_set_valist), (gegl_node_get_valist): Made va_list setters/getter error message tolerant to nodes without associated operation object. 2006-03-30 Manish Singh * autogen.sh: sync up with GIMP's autogen.sh. Should fix #336534. 2006-03-11 Øyvind Kolås * gegl/gegl-node.c: (pads_exist), (gegl_node_set_operation), (gegl_node_set_valist), (gegl_node_get_valist): Improved error reporting, set Operation type to "OpNop" if type lookup fails (the name of this operation will probably change, and it currently only exists outside GEGL.) 2006-03-07 Øyvind Kolås * gegl/gegl-node.c: (finalize): unref associated operation in finalizer. 2006-01-11 Sven Neumann * autogen.sh: commented out remaining traces of checks for glib-gettextize and intltool since we are currently not using any internationalization features. Also prefer newer versions of automake over older ones. 2005-07-31 Sven Neumann * gegl/gegl-visitor.c (gegl_visitor_visit_node): fixed function name. 2005-07-31 Øyvind Kolås * gegl/gegl-graph.c * gegl/gegl-node.c * gegl/gegl-types.h * gegl/gegl-utils.c * gegl/gegl-visitor.c: reindented. 2005-07-31 Øyvind Kolås * ChangeLog: added missing entry. 2005-07-31 Øyvind Kolås * tests/bfspadvisitortest.o * tests/dfspadvisitortest.o * tests/gegl-mock-pad-visitor.o * tests/padconnectionstest.o * tests/updatepadtest.o: removed from repository 2005-07-31 Øyvind Kolås * gegl/gegl-connection.[c] * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-graph.c * gegl/gegl-object.[ch] * gegl/gegl-pad.[ch] * gegl/gegl-visitor.[ch]: Make consistent use of using self as the object instance. * gegl/gegl-node.[c]: added gegl_node_get_properties () * gegl/gegl-operation.[ch]: Made descendant class of GObject instead 2005-07-30 Øyvind Kolås * gegl/gegl-operation.[ch]: removed gegl_operation_{set|get}_node. 2005-07-30 Øyvind Kolås * gegl/gegl-node.[ch]: Finished gegl_node_set and gegl_node_get operations. * gegl/gegl-graph.[ch]: added gegl_graph_create_node() * tests/ * tests/bfspadvisitortest.o * tests/dfspadvisitortest.o * tests/gegl-mock-pad-visitor.o * tests/mockimageoperationtest.c * tests/padconnectionstest.o * tests/updatepadtest.o: modified to use above mentioned api's. 2005-07-29 Øyvind Kolås * gegl/gegl-node.[ch] * gegl/gegl-operation.[ch]: Refactored to use compostion instead of inheritance for node<->operation relation. * gegl/gegl-pad.c * gegl/gegl-pad.h * gegl/gegl-eval-visitor.c: Modified to reflect changes. * tools/make-init-types.sh: Added a tool to generate a function to reference all types. * tests/Makefile.am: Added rules to make gegl-tests-init-types.c * tests/testgegl.c: Added referencing of built in types, do stack trace upon crash. * tests/bfspadvisitortest.c: * tests/dfsnodevisitortest.c: * tests/dfspadvisitortest.c: * tests/gegl-image-buffer-double-test.c: * tests/gegl-mock-image-operation.c: * tests/gegl-mock-operation-0-1.c: * tests/gegl-mock-operation-1-1.c: * tests/gegl-mock-operation-2-1.c: * tests/gegl-mock-operation-2-2.c: * tests/graphtest.c: * tests/mockimageoperationtest.c: * tests/mockoperation01test.c: * tests/mockoperation11test.c: * tests/mockoperation12test.c: * tests/mockoperation21test.c: * tests/mockoperation22test.c: * tests/nodeconnectiontest.c: * tests/updatepadtest.c: Changed to accomodate refactoring. 2005-07-28 Sven Neumann * AUTHORS: collected a list of contributors from the ChangeLog. 2005-07-23 Øyvind Kolås * tests/bfspropertytest.c * tests/dfspropertytest.c * tests/gegl-mock-property-visitor.c * tests/gegl-mock-property-visitor.h * tests/propertyconnectiontest.c * tests/updatepropertytest.c: removed * tests/bfspadtest.c * tests/dfspadtest.c * tests/gegl-mock-pad-visitor.c * tests/gegl-mock-pad-visitor.h * tests/padconnectiontest.c * tests/updatepadtest.c: added and modified to reflect this change. * tests/Makefile.am: modified accordingly 2005-07-22 Øyvind Kolås * gegl/gegl-node.[ch}: added operation property, and private "child" pointer to operation object. Preparations for using composition instead of inheritance for the node<->operation relationship. 2005-07-22 Øyvind Kolås * tests/bfspropertyvisitortest.c * tests/dfspropertyvisitortest.c * tests/gegl-mock-property-visitor.c * tests/gegl-mock-property-visitor.h * tests/mockoperation01test.c * tests/mockoperation11test.c * tests/mockoperation12test.c * tests/mockoperation21test.c * tests/mockoperation22test.c * tests/propertyconnectionstest.c * tests/testgegl.c * tests/updatepropertytest.c: Replaced occurences of property where pad is meant from variable, class and function names in source. File renaming is still pending. 2005-07-22 Øyvind Kolås * tests/gegl-image-heap-cache-tests.c * tests/gegl-image-swap-cache-test.c: s/Geg/Gegl/ in the registration of tests. 2005-07-22 Øyvind Kolås * tests/bfspropertyvisitortest.c * tests/dfspropertyvisitortest.c * tests/gegl-mock-property-visitor.c * tests/gegl-mock-property-visitor.h * tests/mockoperation01test.c * tests/mockoperation11test.c * tests/mockoperation12test.c * tests/mockoperation21test.c * tests/mockoperation22test.c * tests/propertyconnectionstest.c * tests/testgegl.c * tests/updatepropertytest.c: Replaced occurences of property where pad is meant from variable, class and function names in source. File renaming is still pending. 2005-07-22 Øyvind Kolås * tests/gegl-image-heap-cache-tests.c * tests/gegl-image-swap-cache-test.c: s/Geg/Gegl/ in the registration of tests. 2005-07-22 Øyvind Kolås * tests/gegl-image-heap-cache-tests.c * tests/gegl-image-swap-cache-test.c: s/Geg/Gegl/ in the registration of tests. 2005-07-11 Øyvind Kolås * gegl/gegl-property.[ch]: removed * gegl/gegl-pad.[ch]: resurrected from gegl-property.[ch] * gegl-connection.c * gegl-connection.h * gegl-eval-mgr.c * gegl-eval-mgr.h * gegl-eval-visitor.c * gegl-eval-visitor.h * gegl-graph.c * gegl-graph.h * gegl-node.c * gegl-node.h * gegl-operation.c * gegl-operation.h * gegl-pad.c * gegl-pad.h * gegl-types.h * gegl-visitor.c * gegl-visitor.h * gegl.h: renaming property to pad. * tests/*.[ch]: fix to make the test suite work with API changes. 2005-06-11 Øyvind Kolås * gegl/Makefile.am: fixed newline escaping problem, added gegl-types.h and gegl-utils.h to list of installed headers. * gegl.pc.in: change the include path to .../gegl-1.0/gegl. 2005-06-11 Øyvind Kolås * gegl/gegl-filter.[ch] * tests/mockfilter01test.c * tests/mockfilter11test.c * tests/mockfilter12test.c * tests/mockfilter21test.c * tests/mockfilter22test.c * docs/reference/gegl/tmpl/gegl-filter.sgml * tests/mockfilter01test.c * tests/mockfilter11test.c * tests/mockfilter12test.c * tests/mockfilter21test.c * tests/mockfilter22test.c * tests/mockimagefiltertest.c: removed * gegl/gegl-operation.[ch]: * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-eval-visitor.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-operation.sgml * docs/reference/gegl/tmpl/gegl-property.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml * gegl/Makefile.am * gegl/gegl-eval-visitor.c * gegl/gegl-property.c * gegl/gegl-property.h * gegl/gegl-types.h * gegl/gegl.h * tests/Makefile.am * tests/bfspropertyvisitortest.c * tests/dfsnodevisitortest.c * tests/dfspropertyvisitortest.c * tests/gegl-mock-image-operation.c * tests/gegl-mock-image-operation.h * tests/gegl-mock-operation-0-1.c * tests/gegl-mock-operation-0-1.h * tests/gegl-mock-operation-1-1.c * tests/gegl-mock-operation-1-1.h * tests/gegl-mock-operation-1-2.c * tests/gegl-mock-operation-1-2.h * tests/gegl-mock-operation-2-1.c * tests/gegl-mock-operation-2-1.h * tests/gegl-mock-operation-2-2.c * tests/gegl-mock-operation-2-2.h * tests/gegl-mock-property-visitor.c * tests/graphtest.c * tests/mockimageoperationtest.c * tests/mockoperation01test.c * tests/mockoperation11test.c * tests/mockoperation12test.c * tests/mockoperation21test.c * tests/mockoperation22test.c * tests/nodeconnectionstest.c * tests/testgegl.c * tests/updatepropertytest.c: refactoring filter->operation 2005-06-07 Jakub Steiner * docs/images/gegl-logo.svg: Proposed logo for the library. Feel free to change 2005-06-05 Øyvind Kolås * gegl/gegl-property.h: remove duplicate gegl_property_set_param_spec. 2005-06-05 Øyvind Kolås * gegl/gegl-property.h: indentation cleanup from previous commit. 2005-06-05 Øyvind Kolås * gegl/gegl-property.[ch] * tests/*.c: s/property_num_/property_get_num_/ * gegl/gegl-graph.[ch] * tests/*.c: s/graph_num_/graph_get_num_/ * gegl/gegl-connection.c: add comment about where to store data from pixel format negotiation. 2005-06-05 Øyvind Kolås * gegl/gegl-node.[ch] * tests/*.c: s/gegl_node_num_s/gegl_node_get_num_s/ 2005-06-04 Øyvind Kolås * TODO: updated directory restructuring plan. 2005-06-04 Øyvind Kolås * README: expand DAG at first usage. * TODO: in the directory restructuring, specify where gmodules lives. 2005-06-04 Sven Neumann * tools/testsuite/Makefile.am: run testcomplex from 'make check'. 2005-06-03 Sven Neumann * codegen/common.h * codegen/data_type.h * gegl/image/gegl-buffer.c * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache.c * gegl/image/gegl-color-model.c * gegl/image/gegl-color-space-imp.h * gegl/image/gegl-component-sample-model.c * gegl/image/gegl-entry-record.c * gegl/image/gegl-heap-cache.c * gegl/image/gegl-normalizer-mult.c * gegl/image/gegl-normalizer.c * gegl/image/gegl-sample-model.c * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache.c * gil/gil/gilsymbol.h * gil/gil/gilsymboltable.h * gil/gil/giltype.h * tests/gegl-image-buffer-caching-test.c * tests/gegl-image-buffer-double-test.c * tests/gegl-image-cache-tests.c * tests/gegl-image-component-sample-model-test.c * tests/gegl-image-memory-cache-test.c: converted tabs to spaces. 2005-06-03 Sven Neumann * gegl/image/Makefile.am (IMAGE_unused_sources): added gegl-tile.h and gegl-tile-iterator.h. 2005-06-03 Michael Natterer * gegl/gegl-property.c: cleanup. 2005-06-03 Michael Natterer * gegl/image/gegl-buffer.[ch] * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-store.c * gegl/image/gegl-cache.[ch] * gegl/image/gegl-heap-cache-store.[ch] * gegl/image/gegl-heap-cache.c * gegl/image/gegl-null-cache-store.c: lots of cleanup. 2005-06-03 Sven Neumann * gegl/image/gegl-normalizer.c * gegl/image/gegl-normalizer-mult.c: code cleanup. 2005-06-03 Øyvind Kolås * TODO: moved graph related files up a level. 2005-06-03 Sven Neumann * gegl/Makefile.am * gegl/gegl-add.[ch] * gegl/gegl-comp.[ch] * gegl/gegl-fade.[ch] * gegl/gegl-fill.[ch] * gegl/gegl-i-add.[ch] * gegl/gegl-mult.[ch] * gegl/gegl-multiply.[ch] * gegl/gegl-over.[ch] * gegl/gegl-print.[ch]: removed these files. They depend on non-existant classes and the implementation is incorrect anyway. 2005-06-03 Sven Neumann * tests/gegl-mock-image-filter.c * tests/gegl-mock-image.c * tests/gegl-mock-node-visitor.c * tests/gegl-mock-object.c * tests/gegl-mock-property-visitor.c: use G_DEFINE_TYPE, cleanup. 2005-06-03 Sven Neumann * tests/gegl-mock-filter-0-1.c * tests/gegl-mock-filter-1-1.c * tests/gegl-mock-filter-1-2.c * tests/gegl-mock-filter-2-1.c * tests/gegl-mock-filter-2-2.c: use G_DEFINE_TYPE, cleanup. 2005-06-03 Sven Neumann * tests/gegl-image-mock-cache-entry.[ch]: use G_DEFINE_TYPE, cleanup. * tests/gegl-image-cache-tests.c: fixed a typo. 2005-06-03 Sven Neumann * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache.c: use G_DEFINE_TYPE, cleanup. 2005-06-03 Sven Neumann * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-heap-cache.c: use G_DEFINE_TYPE, cleanup. 2005-06-02 Sven Neumann * gegl/image/gegl-normalizer-mult.c * gegl/image/gegl-normalizer.c: use G_DEFINE_TYPE, cleanup. 2005-06-03 Michael Natterer * gegl/gegl-connection.[ch] * gegl/gegl-eval-mgr.[ch] * gegl/gegl-eval-visitor.c * gegl/gegl-filter.c * gegl/gegl-graph.[ch] * gegl/gegl-init.[ch] * gegl/gegl-node.[ch] * gegl/gegl-object.c * gegl/gegl-property.c * gegl/gegl-types.h * gegl/gegl-utils.[ch] * gegl/gegl-visitable.c * gegl/gegl-visitor.c * gegl/gegl.h: more cleanup. 2005-06-02 Sven Neumann * gegl/image/gegl-component-sample-model.c * gegl/image/gegl-sample-model.c: use G_DEFINE_TYPE, cleanup. 2005-06-02 Sven Neumann * gegl/image/Makefile.am: list unused (uncompiled) files. * gegl/image/gegl-color-model.c: use G_DEFINE_TYPE, cleanup. 2005-06-02 Sven Neumann * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-store.c * gegl/image/gegl-cache.c * gegl/image/gegl-null-cache-store.c: use G_DEFINE_TYPE macros, cleanup. * tests/gegl-mock-*.c: fixed includes. 2005-06-02 Michael Natterer * gegl/gegl-connection.[ch] * gegl/gegl-eval-mgr.[ch] * gegl/gegl-eval-visitor.[ch] * gegl/gegl-filter.[ch] * gegl/gegl-graph.[ch] * gegl/gegl-node.[ch] * gegl/gegl-object.[ch] * gegl/gegl-property.[ch] * gegl/gegl-types.h * gegl/gegl-visitable.[ch] * gegl/gegl-visitor.[ch]: same header and include cleanup as in gegl/image * gegl/gegl.h: added opaque typedefs. * gegl/image/gegl-normalizer-mult.c * gegl/image/gegl-normalizer.c: same cleanup here. 2005-06-02 Sven Neumann * gegl/image/gegl-buffer-double.c * gegl/image/gegl-buffer.c: use G_DEFINE_TYPE macros, some cleanup. * tests/gegl-image-*.c: fixed includes. 2005-06-02 Øyvind Kolås * TODO: file added. 2005-06-02 Øyvind Kolås * README: spellchecking. 2005-06-02 Øyvind Kolås * README: replaced with a file giving an overview of the library. 2005-06-02 Sven Neumann * gegl/gegl.h: added copyright header. 2005-06-02 Sven Neumann * autogen.sh * configure.in: look for a file that is actually being compiled. 2005-06-02 Michael Natterer * autogen.sh: call autoheader. * configure.in: added AM_CONFIG_HEADER(). * */*.c: #include "config.h" 2005-06-02 Michael Natterer * gegl/image/gegl-image-types.h: new file. * gegl/image/Makefile.am: add it. Also add all headers to SOURCES. * gegl/image/gegl-buffer-double.[ch] * gegl/image/gegl-buffer.[ch] * gegl/image/gegl-cache-entry.[ch] * gegl/image/gegl-cache-store.[ch] * gegl/image/gegl-cache.[ch] * gegl/image/gegl-color-model.[ch] * gegl/image/gegl-color-space.h * gegl/image/gegl-component-sample-model.[ch] * gegl/image/gegl-entry-record.[ch] * gegl/image/gegl-heap-cache-store.[ch] * gegl/image/gegl-heap-cache.[ch] * gegl/image/gegl-normalizer-mult.[ch] * gegl/image/gegl-normalizer.h * gegl/image/gegl-null-cache-store.[ch] * gegl/image/gegl-sample-model.[ch] * gegl/image/gegl-swap-cache-store.[ch] * gegl/image/gegl-swap-cache.[ch] * gegl/image/gegl-tile-iterator.h * gegl/image/gegl-tile.h: added coding style in all headers. Include cleanup. Some indentation and cleanup in the .c files. 2005-06-02 Sven Neumann * gegl/Makefile.am: added a list of files that don't compile. Also list all public headers. 2005-06-01 Sven Neumann * gegl/Makefile.am * gegl/gegl-filter.c * gegl/gegl-node.c * gegl/gegl-object.c * gegl/gegl-property.c * gegl/gegl-visitable.c * gegl/gegl-visitor.c: use G_DEFINE_TYPE macros, some cleanup. 2005-06-01 Sven Neumann * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-graph.c: use G_DEFINE_TYPE macros, some cleanup. 2005-06-01 Sven Neumann * configure.in: some cleanup; renamed generated file version.xml to version. 2005-06-01 Sven Neumann * */*.[ch]: removed leftover trailing whitespace. 2005-06-01 Sven Neumann * tests/Makefile.am: don't run the tests from the all target; use 'make check' to run them. 2005-06-01 Sven Neumann * configure.in: added --enable-debug and --enable-profile options as we use in gimp. * codegen/Makefile.am * gil/gil/Makefile.am: cleanup. 2005-06-01 Sven Neumann * Makefile.am * configure.in * gegl.spec.in: removed the spec file as we did in gimp. * autogen.sh: check for gegl/gegl-add.c instead of for an ambiguous directory. 2005-06-01 Michael Natterer * gegl/image/*.h * tests/gegl-image-mock-cache-entry.h: s/parent/parent_instance/g. Fix previous commit. 2005-06-01 Michael Natterer * gegl/image/*.h * tests/gegl-image-mock-cache-entry.h: use standard include guard #defines. 2005-06-01 Michael Natterer * docs/Makefile.am * gegl/Makefile.am * gegl/image/Makefile.am * gil/gil/Makefile.am * gil/tests/Makefile.am * tests/Makefile.am: whitespace and formatting cleanup. 2005-06-01 Sven Neumann * gegl/gegl-eval-mgr.c * gegl/gegl-filter.c * gegl/image/gegl-cache.h: fixes to gtk-doc comments. 2005-06-01 Michael Natterer * */*.h: added G_GNUC_CONST to all get_type() functions. 2005-06-01 Michael Natterer * */*.[ch]: removed trailing whitespace. 2005-06-01 Michael Natterer * autogen.sh * configure.in: updates, mostly taken from gimp. Bumped required versions to something sane. * acinclude.m4: new file containing the gtk-doc stuff, just as in gimp. * tests/gegl-image-cache-tests.o: was for some reason added to CVS, removed it. 2005-06-01 Sven Neumann * gegl/image/gegl-buffer.h * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache.c: fixed typos in comments. 2005-06-01 Sven Neumann Tagged all files GEGL_BEFORE_CLEANUP. 2004-3-25 19:36 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-entry-record.c * gegl/image/gegl-entry-record.h * gegl/image/gegl-heap-cache.c * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache.c * gegl/image/gegl-swap-cache.h * tests/Makefile.am * tests/gegl-image-cache-tests.c * tests/gegl-image-cache-tests.h * tests/gegl-image-cache-tests.o * tests/gegl-image-heap-cache-tests.c * tests/gegl-image-swap-cache-test.c Added a swap cache implementation and test. I also altered some of the heap cache tests so they could be used with the swap cache as well. 2004-3-18 17:48 Daniel Rogers * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-buffer-double.sgml * docs/reference/gegl/tmpl/gegl-buffer.sgml * docs/reference/gegl/tmpl/gegl-cache-entry.sgml * docs/reference/gegl/tmpl/gegl-cache.sgml * docs/reference/gegl/tmpl/gegl-color-space-imp.sgml * docs/reference/gegl/tmpl/gegl-component-sample-model.sgml * docs/reference/gegl/tmpl/gegl-connection.sgml * docs/reference/gegl/tmpl/gegl-normalizer-mult.sgml * docs/reference/gegl/tmpl/gegl-normalizer.sgml * docs/reference/gegl/tmpl/gegl-property.sgml * docs/reference/gegl/tmpl/gegl-sample-model.sgml * docs/reference/gegl/tmpl/gegl-tile-iterator.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-visitable.sgml Adds some skeletons for some new gegl classes that have yet to be documented. 2004-3-18 17:30 Daniel Rogers * gegl/image/gegl-entry-record.c * gegl/image/gegl-entry-record.h * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-heap-cache-store.h * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache-store.h * tests/Makefile.am * tests/gegl-image-cache-store-tests.c * tests/testgegl.c * tests/gegl-image-heap-cache-tests.c Added more tests for GeglHeapCache 2004-3-16 12:31 Daniel Rogers * ChangeLog, * gegl/image/Makefile.am * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache-store.c * gegl/image/gegl-cache-store.h * gegl/image/gegl-cache.c * gegl/image/gegl-cache.h * gegl/image/gegl-entry-record.c * gegl/image/gegl-entry-record.h * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-heap-cache-store.h * gegl/image/gegl-heap-cache.c * gegl/image/gegl-heap-cache.h * gegl/image/gegl-memory-cache.c * gegl/image/gegl-memory-cache.h * gegl/image/gegl-null-cache-store.c * gegl/image/gegl-null-cache-store.h * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache-store.h * gegl/image/gegl-swap-cache.c * gegl/image/gegl-swap-cache.h * tests/Makefile.am * tests/gegl-image-buffer-caching-test.c * tests/gegl-image-cache-store-tests.c * tests/gegl-image-cache-store-tests.h * tests/gegl-image-entry-record-test.c * tests/gegl-image-heap-cache-store-test.c * tests/gegl-image-mock-cache-entry-test.c * tests/gegl-image-mock-cache-entry.c * tests/gegl-image-null-cache-store-test.c * tests/gegl-image-swap-cache-store-test.c * tests/testgegl.c Merge from NEW_CACHING, now that NEW_CACHING has all the functionality of the old caching system. 2004-3-16 12:31 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-heap-cache.c * gegl/image/gegl-heap-cache.h Added a heap cache implementation. * gegl/image/gegl-memory-cache.c * gegl/image/gegl-memory-cache.h GeglHeapCache replaces GeglMemoryCache, so GeglMemoryCache has been removed. * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-cache.c * gegl/image/gegl-cache.h * gegl/image/gegl-null-cache-store.c * tests/Makefile.am * tests/gegl-image-buffer-caching-test.c * tests/testgegl.c Added back the GeglBuffer caching test, using GeglHeapCache as the cache that is tested. Also, found and fixed some bugs in all the classes mentioned. 2004-3-13 18:32 Daniel Rogers * gegl/image/gegl-cache-entry.c * gegl/image/gegl-entry-record.c * gegl/image/gegl-swap-cache-store.c * tests/Makefile.am * tests/gegl-image-cache-store-tests.c * tests/gegl-image-mock-cache-entry-test.c * tests/gegl-image-mock-cache-entry.c * tests/gegl-image-swap-cache-store-test.c * tests/testgegl.c Adds a test for GeglSwapCacheStore and fixes all the other bugs discovered while writing the tests. This means I finally have a working swap file abstraction. GeglSwapCache and GeglHeapCache should be a piece of cake now. 2004-3-13 18:32 Daniel Rogers * ChangeLog * gegl/image/gegl-heap-cache-store.c * tests/Makefile.am * tests/gegl-image-heap-cache-store-test.c * tests/testgegl.c Adds a test for GeglHeapCacheStore * tests/gegl-image-null-cache-store-test.c Fixes the name of the test. 2004-3-13 18:19 Daniel Rogers * gegl/image/gegl-cache-store.h * gegl/image/gegl-entry-record.c * gegl/image/gegl-null-cache-store.c * tests/Makefile.am * tests/gegl-image-cache-store-tests.c * tests/gegl-image-cache-store-tests.h * tests/gegl-image-entry-record-test.c * tests/gegl-image-mock-cache-entry-test.c * tests/gegl-image-mock-cache-entry.c * tests/gegl-image-null-cache-store-test.c * tests/testgegl.c Provides tests for GeglNullCacheStore and GeglEntryRecord. Fixes numerous bugs. 2004-3-13 07:42 Daniel Rogers * gegl/image/gegl-cache.c * tests/Makefile.am * tests/testgegl.c Provides missing definition of gegl_cache_insert_record and removes the brokens tests for gegl-memory-cache. (which doesn't exist now anyway. 2004-3-13 07:31 Daniel Rogers * tests/gegl-image-mock-cache-entry.c Fix chaining up in the finalizer for GeglMockCacheEntry. Fixes bug #136997 2004-03-12 20:28 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-buffer.c * gegl/image/gegl-cache-store.c * gegl/image/gegl-entry-record.c * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-null-cache-store.c * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache-store.h This makes GeglSwapCacheStore compilable, and adds the source to Makefile.am. Still untested though. 2004-03-11 23:04 Daniel Rogers * gegl/image/gegl-buffer.c * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache-store.c * gegl/image/gegl-cache-store.h * gegl/image/gegl-entry-record.c * gegl/image/gegl-entry-record.h * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-null-cache-store.c * gegl/image/gegl-swap-cache-store.c This more or less implements GeglSwapCacheStore. It is definatly broken. Next I will write some test cases. Get everything up and running, then write GeglHeapCache and GeglSwapCache. They should be more or less tivial at that point. 2004-03-11 21:06 Daniel Rogers * gegl/image/gegl-cache-store.c Fixed the name of gegl_cache_store_get_type. It was named gegl_cache_get_type. 2004-03-11 20:30 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache-store.c * gegl/image/gegl-cache-store.h * gegl/image/gegl-cache.c * gegl/image/gegl-cache.h * gegl/image/gegl-entry-record.c * gegl/image/gegl-entry-record.h * gegl/image/gegl-heap-cache-store.c * gegl/image/gegl-heap-cache-store.h * gegl/image/gegl-memory-cache.c * gegl/image/gegl-null-cache-store.c * gegl/image/gegl-null-cache-store.h * gegl/image/gegl-swap-cache-store.c * gegl/image/gegl-swap-cache-store.h * gegl/image/gegl-swap-cache.c * gegl/image/gegl-swap-cache.h This is a partial implmentation of my new caching stuff. It is kept under the tag "NEW_CACHING". It is spiffy. Love it. It doesn't work. Hate it. 2004-03-03 Sven Neumann * tests/Makefile.am (EXTRA_PROGRAMS): can't use $(TESTS) here any longer because $(EXEEXT) gets in our way. 2004-02-12 22:20 Michael Schumacher * tests/Makefile.am Added $(EXEEXT) to TESTS = testgegl. With this change, building GEGL out of the box with MinGW on Win32 is successful. 2004-1-4 00:49 Daniel Rogers * gegl/image/gegl-component-sample-model.c * gegl/image/gegl-component-sample-model.h * gegl/image/gegl-memory-cache.c * gegl/image/gegl-memory-cache.h * gegl/image/gegl-sample-model.c * gegl/image/gegl-sample-model.h * tests/gegl-image-component-sample-model-test.c * tests/gegl-image-mock-cache-entry-test.c A few fixes for more than a few memory leaks. I believe (because of valgrind) there may be one more leak, but I am having trouble tracking it down. 2004-1-3 19:49 Daniel Rogers * gegl/image/gegl-buffer.c * gegl/image/gegl-cache.h * gegl/image/gegl-memory-cache.c * tests/Makefile.am * tests/gegl-image-buffer-caching-test.c * tests/testgegl.c Added the very beginings of a test of the GeglBuffer cache interaction stuff. Everything else are bug fixes discovered while writing the test. 2004-1-1 23:44 Daniel Rogers * gegl/image/gegl-buffer-double.c * gegl/image/gegl-component-sample-model.c Updates to the copyright notice for the New Year. * gegl/image/gegl-memory-cache.c * gegl/image/gegl-memory-cache.h * tests/gegl-image-memory-cache-test.c * tests/gegl-image-mock-cache-entry-test.c A (possibly) complete test for GeglMemoryCache and fixes for bugs discovered during the writing of the test. 2004-1-1 23:38 Daniel Rogers * gegl/image/gegl-buffer-double.c * gegl/image/gegl-component-sample-model.c * tests/gegl-image-buffer-double-test.c * tests/gegl-image-component-sample-model-test.c Fixes for stupid mistakes to the GPL notice. 2003-12-31 22:52 Daniel Rogers * tests/Makefile.am * tests/gegl-image-buffer-double-test.c * tests/gegl-image-memory-cache-test.c * tests/gegl-image-mock-cache-entry-test.c * tests/gegl-image-mock-cache-entry.c * tests/gegl-image-mock-cache-entry.h * tests/testgegl.c A fairly complete test of the abstract class GeglCacheEntry (using a minimal subclass) and the beginings of a test of the GeglMemoryCache. * gegl/image/gegl-cache.c This adds a property for the persistent flag. 2003-12-28 21:12 Daniel Rogers * gegl/gegl-filter.c * gegl/gegl-property.c * tests/gegl-mock-filter-0-1.c * tests/gegl-mock-property-visitor.c Trivial changes so that compiling with CFLAGS="-Wall -Werror" won't fail. 2003-12-28 20:49 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-cache.c * gegl/image/gegl-cache.h * gegl/image/gegl-memory-cache.c * gegl/image/gegl-memory-cache.h The implements gegl-buffer's cache interation, and implements a concrete cache, gegl-memory-cache. Both of these are _completely_ untested. Writing tests for them is my next task. 2003-12-28 10:16 Daniel Rogers * gegl/image/gegl-init.c * gegl/image/gegl-init.h * gegl/image/gegl-object.c * gegl/image/gegl-object.h * gegl/image/gegl-utils.c * gegl/image/gegl-utils.h Removed becasue the conflicting types between libimage and libgegl have been removed. Libgegl and libimage can now be linked to one another. * gegl/Makefile.am * gegl/image/Makefile.am Altered the build system of libgegl and libimage so that libimage is an uninstalled convience library, as originally intended. * tests/Makefile.am * tests/testgegl.c * tests/testimage.c Removed the seperated test binary for libimage and incorporated the tests into testgegl, since libimage and libgegl can be linked to one another again. 2003-12-22 Manish Singh * tests/gegl-image-component-sample-model-test.c terminate g_object_get call with NULL. 2003-12-21 Calvin Williamson Removed the following to make way for new classes in the image directory. Some of these will go back once the new classes are in place, but some will be replaced by the new versions. * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-array-param-specs.sgml * docs/reference/gegl/tmpl/gegl-array-value-types.sgml * docs/reference/gegl/tmpl/gegl-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-blend.sgml * docs/reference/gegl/tmpl/gegl-channel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-channels.sgml * docs/reference/gegl/tmpl/gegl-channel-value-types.sgml * docs/reference/gegl/tmpl/gegl-color-alpha.sgml * docs/reference/gegl/tmpl/gegl-color-data.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-color-space-gray.sgml * docs/reference/gegl/tmpl/gegl-color-space-rgb.sgml * docs/reference/gegl/tmpl/gegl-component-color-model.sgml * docs/reference/gegl/tmpl/gegl-component-storage.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-dump-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-graph-setup-visitor.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * docs/reference/gegl/tmpl/gegl-image-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-op-interface.sgml * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-input-param-specs.sgml * docs/reference/gegl/tmpl/gegl-input-value-types.sgml * docs/reference/gegl/tmpl/gegl-m-source-param-specs.sgml * docs/reference/gegl/tmpl/gegl-m-source-value-types.sgml * docs/reference/gegl/tmpl/gegl-multi-image-op.sgml * docs/reference/gegl/tmpl/gegl-multiply.sgml * docs/reference/gegl/tmpl/gegl-mult.sgml * docs/reference/gegl/tmpl/gegl-param-specs.sgml * docs/reference/gegl/tmpl/gegl-pipe.sgml * docs/reference/gegl/tmpl/gegl-pixel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-pixel-value-types.sgml * docs/reference/gegl/tmpl/gegl-point-op.sgml * docs/reference/gegl/tmpl/gegl-print.sgml * docs/reference/gegl/tmpl/gegl-scalar-data.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml * docs/reference/gegl/tmpl/gegl-storage.sgml * docs/reference/gegl/tmpl/gegl-string-data.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-value-types.sgml * gegl/gegl-array-param-specs.c * gegl/gegl-array-param-specs.h * gegl/gegl-array-value-types.c * gegl/gegl-array-value-types.h * gegl/gegl-bfs-visitor.c * gegl/gegl-bfs-visitor.h * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-blend.c * gegl/gegl-blend.h * gegl/gegl-buffer.c * gegl/gegl-buffer.h * gegl/gegl-channel-param-specs.c * gegl/gegl-channel-param-specs.h * gegl/gegl-channels.c * gegl/gegl-channels.h * gegl/gegl-channel-value-types.c * gegl/gegl-channel-value-types.h * gegl/gegl-color.c * gegl/gegl-color-data.c * gegl/gegl-color-data.h * gegl/gegl-color.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-color-space.c * gegl/gegl-color-space-gray.c * gegl/gegl-color-space-gray.h * gegl/gegl-color-space.h * gegl/gegl-color-space-rgb.c * gegl/gegl-color-space-rgb.h * gegl/gegl-component-color-model.c * gegl/gegl-component-color-model.h * gegl/gegl-component-storage.c * gegl/gegl-component-storage.h * gegl/gegl-data.c * gegl/gegl-data.h * gegl/gegl-dfs-visitor.c * gegl/gegl-dfs-visitor.h * gegl/gegl-dump-visitor.c * gegl/gegl-dump-visitor.h * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-bfs-visitor.h * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-dfs-visitor.h * gegl/gegl-graph-setup-visitor.c * gegl/gegl-graph-setup-visitor.h * gegl/gegl-image.c * gegl/gegl-image-data.c * gegl/gegl-image-data.h * gegl/gegl-image.h * gegl/gegl-image-iterator.c * gegl/gegl-image-iterator.h * gegl/gegl-image-op.c * gegl/gegl-image-op.h * gegl/gegl-image-op-interface.c * gegl/gegl-image-op-interface.h * gegl/gegl-input-param-specs.c * gegl/gegl-input-param-specs.h * gegl/gegl-input-value-types.c * gegl/gegl-input-value-types.h * gegl/gegl-m-source-param-specs.c * gegl/gegl-m-source-param-specs.h * gegl/gegl-m-source-value-types.c * gegl/gegl-m-source-value-types.h * gegl/gegl-multi-image-op.c * gegl/gegl-multi-image-op.h * gegl/gegl-no-input.c * gegl/gegl-no-input.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-pixel-param-specs.c * gegl/gegl-pixel-param-specs.h * gegl/gegl-pixel-value-types.c * gegl/gegl-pixel-value-types.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-scalar-data.c * gegl/gegl-scalar-data.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-storage.c * gegl/gegl-storage.h * gegl/gegl-string-data.c * gegl/gegl-string-data.h * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-unary.c * gegl/gegl-unary.h * gegl/gegl-value-types.h * tests/bfsvisitormultouttest.c * tests/bfsvisitortest.c * tests/buffertest.c * tests/channelfloatvaluetest.c * tests/channelstest-float.c * tests/channeluint8valuetest.c * tests/channelvaluetest.c * tests/checkoptest.c * tests/colormodeltest.c * tests/colorspacetest.c * tests/colortest.c * tests/dfsvisitormultouttest.c * tests/dfsvisitortest.c * tests/dumpvisitortest.c * tests/floatarraytest.c * tests/gegl-check-op.c * tests/gegl-check-op.h * tests/gegl-mock-bfs-visitor.c * tests/gegl-mock-bfs-visitor.h * tests/gegl-mock-dfs-visitor.c * tests/gegl-mock-dfs-visitor.h * tests/gegl-mock-filter.c * tests/gegl-mock-filter.h * tests/gegl-mock-image-op.c * tests/gegl-mock-image-op.h * tests/gegl-mock-node.c * tests/gegl-mock-node.h * tests/gegl-mock-op.c * tests/gegl-mock-op.h * tests/gegl-mock-point-op.c * tests/gegl-mock-point-op.h * tests/gegl-mock-properties-filter.c * tests/gegl-mock-properties-filter.h * tests/gegl-mock-visitor.c * tests/gegl-mock-visitor.h * tests/graphapplytest-float.c * tests/graphnodetest.c * tests/haverecttest.c * tests/iaddtest-float.c * tests/iaddtest-uint8.c * tests/imageiteratortest.c * tests/imageoptest.c * tests/imagetest.c * tests/mockpropertiesfiltertest.c * tests/multipleoutputstest.c * tests/multiplytest-float.c * tests/multtest-float.c * tests/multtest-uint8.c * tests/needrecttest.c * tests/nodetest.c * tests/optest.c * tests/paramtest.c * tests/pipetest.c * tests/pixelrgbafloatvaluetest.c * tests/pixelrgbfloatvaluetest.c * tests/pixelrgbuint8valuetest.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest-float.c * tests/storagetest.c * tests/testgeglfile.c * tests/testutils.c * tests/testutils.h * tests/tiletest.c * tests/valueimagedatatest.c The following were added. The Property class renames what was called Data before and is closer to being what normal Glib properties are. The Visitor classes were improved as well, and now we have property to property traversal of the graph, as well as node to node traversal. To see how this new stuff works, see the various new unit tests. To see how connecting nodes and properties works see nodeconnectionstest. To see how various concrete filters work, see the mock-filters with various inputs and outputs. To see how the filters with image data will work see mockimagefiltertest * gegl/gegl-connection.c * gegl/gegl-connection.h * gegl/gegl-property.c * gegl/gegl-property.h * gegl/gegl-visitable.c * gegl/gegl-visitable.h * tests/bfspropertyvisitortest.c * tests/dfsnodevisitortest.c * tests/dfspropertyvisitortest.c * tests/gegl-mock-filter-0-1.c * tests/gegl-mock-filter-0-1.h * tests/gegl-mock-filter-1-1.c * tests/gegl-mock-filter-1-1.h * tests/gegl-mock-filter-1-2.c * tests/gegl-mock-filter-1-2.h * tests/gegl-mock-filter-2-1.c * tests/gegl-mock-filter-2-1.h * tests/gegl-mock-filter-2-2.c * tests/gegl-mock-filter-2-2.h * tests/gegl-mock-image.c * tests/gegl-mock-image-filter.c * tests/gegl-mock-image-filter.h * tests/gegl-mock-image.h * tests/gegl-mock-node-visitor.c * tests/gegl-mock-node-visitor.h * tests/gegl-mock-property-visitor.c * tests/gegl-mock-property-visitor.h * tests/graphtest.c * tests/mockfilter01test.c * tests/mockfilter11test.c * tests/mockfilter12test.c * tests/mockfilter21test.c * tests/mockfilter22test.c * tests/mockimagefiltertest.c * tests/nodeconnectionstest.c * tests/propertyconnectionstest.c * tests/updatepropertytest.c These are modified. * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-buffer.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-color-space.sgml * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-eval-visitor.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-init.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-object.sgml * docs/reference/gegl/tmpl/gegl-tile.sgml * docs/reference/gegl/tmpl/gegl-types.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml * gegl/gegl-eval-mgr.c * gegl/gegl-eval-mgr.h * gegl/gegl-eval-visitor.c * gegl/gegl-eval-visitor.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph.c * gegl/gegl-graph.h * gegl/gegl.h * gegl/gegl-init.c * gegl/gegl-init.h * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.c * gegl/gegl-object.h * gegl/gegl-types.h * gegl/gegl-utils.c * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/image/gegl-init.c * gegl/image/gegl-utils.c * gegl/Makefile.am * tests/Makefile.am * tests/testgegl.c 2003-12-07 13:42 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache.c * gegl/image/gegl-cache.h This fixes some more bugs with the proposed cache api and adds an implementation of the abstract class GeglCache. 2003-12-06 19:27 Daniel Rogers * gegl/image/gegl-buffer.c * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache.h This fixes some bugs with the proposed cache api and provides a lot of documentation on the object. It documents the contracts any implementation of GeglCache should follow. 2003-12-06 12:26 Daniel Rogers * gegl/image/Makefile.am * gegl/image/gegl-buffer-double.c * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-cache-entry.h * gegl/image/gegl-cache-entry.c * gegl/image/gegl-cache.h * gegl/image/gegl-color-model.c * gegl/image/gegl-color-model.h * gegl/image/gegl-color-space-imp.h * gegl/image/gegl-color-space.h * gegl/image/gegl-tile-iterator.h * gegl/image/gegl-tile.h This adds most of the remaining classes I have planned for libimage. gegl-image itself is notable missing, as are implementations for several of these classes. Still a work in progress, but things are close now. 2003-12-06 11:45 Daniel Rogers * autogen.sh Commented out call to glib-gettextize which GEGL is not using at the moment. Someone should check this, as I don't completely understand the autofoo tools. 2003-12-06 09:04 Daniel Rogers * autogen.sh Updated autogen.sh to work with newer libtool/autofoo stuff. 2003-11-28 21:20 Daniel Rogers * configure.in I Added a check for lcms. * .cvsignore A change to inform cvs of some eclipse project files to ignore. 2003-11-28 21:11 Daniel Rogers This commit is solely style updates. This makes my files conform to our coding standards. * gegl/image/gegl-buffer-double.c * gegl/image/gegl-buffer-double.h * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-component-sample-model.c * gegl/image/gegl-component-sample-model.h * gegl/image/gegl-init.c * gegl/image/gegl-init.h * gegl/image/gegl-normalizer-mult.c * gegl/image/gegl-normalizer-mult.h * gegl/image/gegl-normalizer.c * gegl/image/gegl-normalizer.h * gegl/image/gegl-object.c * gegl/image/gegl-object.h * gegl/image/gegl-sample-model.c * gegl/image/gegl-sample-model.h * gegl/image/gegl-utils.c * gegl/image/gegl-utils.h 2003-11-22 Daniel Rogers The below classes represent a partial implementation of the new gegl pixel data interface. It should be used as a convience library libimage. * gegl/image * gegl/image/Makefile.am * gegl/image/gegl-buffer-double.c * gegl/image/gegl-buffer-double.h * gegl/image/gegl-buffer.c * gegl/image/gegl-buffer.h * gegl/image/gegl-component-sample-model.c * gegl/image/gegl-component-sample-model.h * gegl/image/gegl-normalizer-mult.c * gegl/image/gegl-normalizer-mult.h * gegl/image/gegl-normalizer.c * gegl/image/gegl-normalizer.h * gegl/image/gegl-sample-model.c * gegl/image/gegl-sample-model.h These six files are copied directly from the parent directory. They don't belong here but here until the rest of gegl is ready to integrate the new pixel data interface, these are here to allow compiling. There are currently name collisions between the two different pieces of code that won't exist when gegl starts using libimage. * gegl/image/gegl-object.c * gegl/image/gegl-object.h * gegl/image/gegl-init.c * gegl/image/gegl-init.h * gegl/image/gegl-utils.c * gegl/image/gegl-utils.h Unit tests for libimage. Currently uses a different test binary since libgegl and libimage are currently not link compatible. * test/Makefile.am * test/gegl-image-buffer-double-test.c * test/gegl-image-component-sample-model-test.c * test/testimage.c 2003-10-31 Calvin Williamson * gegl/image/gegl-component-sample-model.c -- added chaining in finalize * tests/gegl-image-component-sample-model-test.c -- added some unrefs. 2003-08-18 Calvin Williamson Removed the ChannelSpace classes, and introduced a single color Color object. In the process I renamed the former constant color image object (previously called Color) to Fill and made this take a Color object. Now to create a constant color image you create a Fill object and pass it a color object and a data type for the image data. Color objects are meant to be stored as floats internally (doubles eventually) and ops can extract their color model versions of the color during processing and use these. This is closer to how gimp passes its colors around internally. (as doubles). The docs are not completely updated yet for these changes so descriptions and examples may be a little different. There is no need for "generic properties" for parameters if we assume we are passing float or double versions of single colors, opacities, and other parameters. This makes properties a bit simpler overall. Also removed a bunch of ops and left more or less one of each kind. This is easier while the code changes a lot in the images, data buffers, iterators, section of the code. These were modified: * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-channel-value-types.sgml * docs/reference/gegl/tmpl/gegl-color-data.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * docs/reference/gegl/tmpl/gegl-no-input.sgml * docs/reference/gegl/tmpl/gegl-pipe.sgml * docs/reference/gegl/tmpl/gegl-pixel-value-types.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * gegl/gegl-add.c * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-channel-param-specs.c * gegl/gegl-channel-value-types.c * gegl/gegl-channel-value-types.h * gegl/gegl-color.c * gegl/gegl-color-data.c * gegl/gegl-color-data.h * gegl/gegl-color.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-component-color-model.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-fade.c * gegl/gegl.h * gegl/gegl-i-add.c * gegl/gegl-image-data.c * gegl/gegl-image-data.h * gegl/gegl-image-op.c * gegl/gegl-image-op.h * gegl/gegl-init.c * gegl/gegl-mult.c * gegl/gegl-multiply.c * gegl/gegl-no-input.c * gegl/gegl-no-input.h * gegl/gegl-over.c * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-pixel-param-specs.c * gegl/gegl-pixel-value-types.c * gegl/gegl-pixel-value-types.h * gegl/gegl-print.c * gegl/gegl-unary.c * gegl/gegl-unary.h * gegl/gegl-utils.c * gegl/gegl-value-types.h * gegl/Makefile.am * tests/addtest-float.c * tests/addtest-uint8.c * tests/channelfloatvaluetest.c * tests/channelstest-float.c * tests/channeluint8valuetest.c * tests/checkoptest.c * tests/colormodeltest.c * tests/fadetest-float.c * tests/fadetest-uint8.c * tests/gegl-check-op.c * tests/gegl-mock-properties-filter.c * tests/graphapplytest-float.c * tests/haverecttest.c * tests/iaddtest-float.c * tests/iaddtest-uint8.c * tests/Makefile.am * tests/mockpropertiesfiltertest.c * tests/multiplytest-float.c * tests/multtest-float.c * tests/multtest-uint8.c * tests/nodetest.c * tests/pixelrgbafloatvaluetest.c * tests/pixelrgbfloatvaluetest.c * tests/pixelrgbuint8valuetest.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest-float.c * tests/testgegl.c * tests/testutils.c * tests/valueimagedatatest.c * tests/valuetest.c These were removed as described above: * docs/reference/gegl/tmpl/gegl-atop.sgml * docs/reference/gegl/tmpl/gegl-channel-data.sgml * docs/reference/gegl/tmpl/gegl-channel-space-float.sgml * docs/reference/gegl/tmpl/gegl-channel-space.sgml * docs/reference/gegl/tmpl/gegl-channel-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-copy.sgml * docs/reference/gegl/tmpl/gegl-darken.sgml * docs/reference/gegl/tmpl/gegl-difference.sgml * docs/reference/gegl/tmpl/gegl-image-param-specs.sgml * docs/reference/gegl/tmpl/gegl-i-mult.sgml * docs/reference/gegl/tmpl/gegl-inside.sgml * docs/reference/gegl/tmpl/gegl-lighten.sgml * docs/reference/gegl/tmpl/gegl-max.sgml * docs/reference/gegl/tmpl/gegl-min.sgml * docs/reference/gegl/tmpl/gegl-normal.sgml * docs/reference/gegl/tmpl/gegl-outside.sgml * docs/reference/gegl/tmpl/gegl-pixel-data.sgml * docs/reference/gegl/tmpl/gegl-premult.sgml * docs/reference/gegl/tmpl/gegl-screen.sgml * docs/reference/gegl/tmpl/gegl-subtract.sgml * docs/reference/gegl/tmpl/gegl-unpremult.sgml * docs/reference/gegl/tmpl/gegl-xor.sgml * gegl/gegl-atop.c * gegl/gegl-atop.h * gegl/gegl-channel-data.c * gegl/gegl-channel-data.h * gegl/gegl-channel-space.c * gegl/gegl-channel-space-float.c * gegl/gegl-channel-space-float.h * gegl/gegl-channel-space.h * gegl/gegl-channel-space-uint8.c * gegl/gegl-channel-space-uint8.h * gegl/gegl-copy.c * gegl/gegl-copy.h * gegl/gegl-darken.c * gegl/gegl-darken.h * gegl/gegl-difference.c * gegl/gegl-difference.h * gegl/gegl-image-param-specs.c * gegl/gegl-image-param-specs.h * gegl/gegl-i-mult.c * gegl/gegl-i-mult.h * gegl/gegl-inside.c * gegl/gegl-inside.h * gegl/gegl-lighten.c * gegl/gegl-lighten.h * gegl/gegl-max.c * gegl/gegl-max.h * gegl/gegl-min.c * gegl/gegl-min.h * gegl/gegl-normal.c * gegl/gegl-normal.h * gegl/gegl-outside.c * gegl/gegl-outside.h * gegl/gegl-pixel-data.c * gegl/gegl-pixel-data.h * gegl/gegl-premult.c * gegl/gegl-premult.h * gegl/gegl-screen.c * gegl/gegl-screen.h * gegl/gegl-subtract.c * gegl/gegl-subtract.h * gegl/gegl-unpremult.c * gegl/gegl-unpremult.h * gegl/gegl-xor.c * gegl/gegl-xor.h * tests/channelspacetest.c * tests/colortest-float.c * tests/colortest-uint8.c * tests/copytest-float.c * tests/copytest-uint8.c * tests/imulttest-float.c * tests/imulttest-uint8.c * tests/normaltest-float.c These were added: * docs/reference/gegl/tmpl/gegl-array-param-specs.sgml * docs/reference/gegl/tmpl/gegl-array-value-types.sgml * docs/reference/gegl/tmpl/gegl-fill.sgml * docs/reference/gegl/tmpl/gegl-string-data.sgml * gegl/gegl-array-param-specs.c * gegl/gegl-array-param-specs.h * gegl/gegl-array-value-types.c * gegl/gegl-array-value-types.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-string-data.c * gegl/gegl-string-data.h * tests/colortest.c * tests/filltest-float.c * tests/filltest-uint8.c * tests/floatarraytest.c 2003-08-05 Calvin Williamson Added the image op interface. This puts the need_rect, have_rect and color_model compute methods in these. This interface is implemented by any op that has input or output image data, hence needs to calculate the above rects and color model to go with that image data. * gegl/Makefile.am * gegl/gegl-channels.c * gegl/gegl-color.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-image-op.c * gegl/gegl-image-op.h * gegl/gegl-init.c * gegl/gegl-input-value-types.c * gegl/gegl-m-source-value-types.c * gegl/gegl-multi-image-op.c * gegl/gegl-multi-image-op.h * gegl/gegl-no-input.c * gegl/gegl-unary.c * gegl/gegl.h * tests/haverecttest.c * tests/needrecttest.c * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-multi-image-op.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml 2003-08-01 Calvin Williamson Added basic multi-output support. Introduced m-sources, which stands for sources that have multiple outputs, like a channels splitter. New tests show how the m-sources work. * gegl/gegl-channels.c * gegl/gegl-channels.h * gegl/gegl-m-source-param-specs.c * gegl/gegl-m-source-param-specs.h * gegl/gegl-m-source-value-types.c * gegl/gegl-m-source-value-types.h * gegl/gegl-multi-image-op.c * gegl/gegl-multi-image-op.h * tests/channelstest-float.c * tests/multipleoutputstest.c Changed the following to do multi-output support. * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * gegl/Makefile.am * gegl/gegl-binary.c * gegl/gegl-comp.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-image-op.c * gegl/gegl-init.c * gegl/gegl-input-value-types.c * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-param-specs.h * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-unary.c * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-value-types.h * gegl/gegl.h * tests/Makefile.am * tests/addtest-float.c * tests/bfsvisitormultouttest.c * tests/bfsvisitortest.c * tests/dfsvisitormultouttest.c * tests/dfsvisitortest.c * tests/gegl-mock-node.c * tests/gegl-mock-op.c * tests/gegl-mock-point-op.c * tests/graphapplytest-float.c * tests/graphnodetest.c * tests/nodetest.c * tests/optest.c * tests/testgegl.c 2003-07-11 Calvin Williamson Changed ScanlineProcessor so that it keeps a hash table of iterators. This means that ops ask the processor to look up the iterator for them. So we dont pass the array of iterators to the scanline functions, just pass the processor instead. Different types of ops (area, geometric, etc) will have processors that organize their iterators in different ways. Changed all the scanline functions to match this. * gegl/gegl-add.c * gegl/gegl-atop.c * gegl/gegl-color.c * gegl/gegl-copy.c * gegl/gegl-darken.c * gegl/gegl-difference.c * gegl/gegl-fade.c * gegl/gegl-i-add.c * gegl/gegl-i-mult.c * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-multiply.c * gegl/gegl-normal.c * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-unpremult.c * gegl/gegl-xor.c * tests/addtest-float.c * tests/gegl-check-op.c * tests/gegl-mock-point-op.c Updated docs about the changes above: * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml 2003-07-10 Calvin Williamson Changed GLists in Node and Op to GArray's. Updated everyone else to use these now as well. Fixed some compile errors from David Neary . * gegl/gegl-add.c * gegl/gegl-atop.c * gegl/gegl-bfs-visitor.c * gegl/gegl-binary.c * gegl/gegl-blend.c * gegl/gegl-buffer.c * gegl/gegl-channel-space-float.c * gegl/gegl-channel-space-uint8.c * gegl/gegl-channel-space.c * gegl/gegl-channel-value-types.c * gegl/gegl-color-model.c * gegl/gegl-color-space-gray.c * gegl/gegl-color-space-rgb.c * gegl/gegl-color-space.c * gegl/gegl-color.c * gegl/gegl-comp.c * gegl/gegl-component-color-model.c * gegl/gegl-component-storage.c * gegl/gegl-copy.c * gegl/gegl-darken.c * gegl/gegl-dfs-visitor.c * gegl/gegl-difference.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-fade.c * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph-setup-visitor.c * gegl/gegl-graph.c * gegl/gegl-i-add.c * gegl/gegl-i-mult.c * gegl/gegl-image-iterator.c * gegl/gegl-image-op.c * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-multiply.c * gegl/gegl-no-input.c * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-normal.c * gegl/gegl-object.c * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-pipe.c * gegl/gegl-point-op.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-storage.c * gegl/gegl-subtract.c * gegl/gegl-unary.c * gegl/gegl-unpremult.c * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl-xor.c * tests/Makefile.am * tests/addtest-float.c * tests/addtest-uint8.c * tests/bfsvisitortest.c * tests/copytest-float.c * tests/copytest-uint8.c * tests/dfsvisitortest.c * tests/fadetest-float.c * tests/fadetest-uint8.c * tests/gegl-check-op.c * tests/gegl-mock-bfs-visitor.c * tests/gegl-mock-dfs-visitor.c * tests/gegl-mock-filter.c * tests/gegl-mock-image-op.c * tests/gegl-mock-node.c * tests/gegl-mock-object.c * tests/gegl-mock-op.c * tests/gegl-mock-point-op.c * tests/gegl-mock-properties-filter.c * tests/gegl-mock-visitor.c * tests/graphapplytest-float.c * tests/iaddtest-float.c * tests/iaddtest-uint8.c * tests/imulttest-float.c * tests/imulttest-uint8.c * tests/multtest-float.c * tests/multtest-uint8.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest-float.c Added these docs: * docs/dia/inputs_outputs_for_color_op.dia * docs/dia/inputs_outputs_for_fade_op.dia * docs/dia/inputs_outputs_for_over_op.dia * docs/reference/gegl/images/inputs_outputs_for_color_op.png * docs/reference/gegl/images/inputs_outputs_for_fade_op.png * docs/reference/gegl/images/inputs_outputs_for_over_op.png Re-wrote parts of Op, Graph, Data and Node documentation sections: * docs/dia/apply.dia * docs/dia/collectinputs.dia * docs/dia/composite.dia * docs/dia/graph.dia * docs/dia/node_no_input_upstream.dia * docs/dia/ops.dia * docs/dia/sharednode.dia * docs/dia/simplegraph.dia * docs/reference/gegl/Makefile.am * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/images/composite.png * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-atop.sgml * docs/reference/gegl/tmpl/gegl-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-blend.sgml * docs/reference/gegl/tmpl/gegl-buffer.sgml * docs/reference/gegl/tmpl/gegl-channel-data.sgml * docs/reference/gegl/tmpl/gegl-channel-space-float.sgml * docs/reference/gegl/tmpl/gegl-channel-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-channel-space.sgml * docs/reference/gegl/tmpl/gegl-color-data.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-color-space-gray.sgml * docs/reference/gegl/tmpl/gegl-color-space-rgb.sgml * docs/reference/gegl/tmpl/gegl-color-space.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-component-color-model.sgml * docs/reference/gegl/tmpl/gegl-component-storage.sgml * docs/reference/gegl/tmpl/gegl-copy.sgml * docs/reference/gegl/tmpl/gegl-darken.sgml * docs/reference/gegl/tmpl/gegl-data.sgml * docs/reference/gegl/tmpl/gegl-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-difference.sgml * docs/reference/gegl/tmpl/gegl-dump-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-eval-visitor.sgml * docs/reference/gegl/tmpl/gegl-fade.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph-setup-visitor.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-i-add.sgml * docs/reference/gegl/tmpl/gegl-i-mult.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * docs/reference/gegl/tmpl/gegl-image-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-inside.sgml * docs/reference/gegl/tmpl/gegl-lighten.sgml * docs/reference/gegl/tmpl/gegl-max.sgml * docs/reference/gegl/tmpl/gegl-min.sgml * docs/reference/gegl/tmpl/gegl-mult.sgml * docs/reference/gegl/tmpl/gegl-multiply.sgml * docs/reference/gegl/tmpl/gegl-no-input.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-normal.sgml * docs/reference/gegl/tmpl/gegl-object.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-outside.sgml * docs/reference/gegl/tmpl/gegl-over.sgml * docs/reference/gegl/tmpl/gegl-pipe.sgml * docs/reference/gegl/tmpl/gegl-pixel-data.sgml * docs/reference/gegl/tmpl/gegl-point-op.sgml * docs/reference/gegl/tmpl/gegl-premult.sgml * docs/reference/gegl/tmpl/gegl-print.sgml * docs/reference/gegl/tmpl/gegl-scalar-data.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml * docs/reference/gegl/tmpl/gegl-screen.sgml * docs/reference/gegl/tmpl/gegl-storage.sgml * docs/reference/gegl/tmpl/gegl-subtract.sgml * docs/reference/gegl/tmpl/gegl-tile.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-unpremult.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml * docs/reference/gegl/tmpl/gegl-xor.sgml 2003-07-04 Calvin Williamson More properties work. Removed the "input" property of Node and moved it to Graph, where it makes more sense. Added image input properties to Unary, Binary, Comp. Added a normal blend mode, and updated the tests and docs. * HACKING * autogen.sh * gegl/Makefile.am * gegl/gegl-atop.c * gegl/gegl-binary.c * gegl/gegl-color.c * gegl/gegl-comp.c * gegl/gegl-darken.c * gegl/gegl-graph.c * gegl/gegl-inside.c * gegl/gegl-multiply.c * gegl/gegl-node.c * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-pipe.c * gegl/gegl-unary.c * gegl/gegl-xor.c * gegl/gegl.h Updated tests to match changes: * tests/Makefile.am * tests/bfsvisitormultouttest.c * tests/bfsvisitortest.c * tests/channelfloatvaluetest.c * tests/channeluint8valuetest.c * tests/dfsvisitormultouttest.c * tests/dfsvisitortest.c * tests/gegl-check-op.c * tests/gegl-mock-node.c * tests/gegl-mock-op.c * tests/gegl-mock-point-op.c * tests/gegl-mock-properties-filter.c * tests/graphnodetest.c * tests/nodetest.c * tests/optest.c * tests/pixelrgbafloatvaluetest.c * tests/pixelrgbfloatvaluetest.c * tests/pixelrgbuint8valuetest.c * tests/pointoptest.c * tests/printtest.c * tests/testgegl.c * tests/testutils.c * tests/testutils.h Update these docs: * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/tmpl/gegl-atop.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-blend.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-darken.sgml * docs/reference/gegl/tmpl/gegl-difference.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-inside.sgml * docs/reference/gegl/tmpl/gegl-lighten.sgml * docs/reference/gegl/tmpl/gegl-multiply.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-outside.sgml * docs/reference/gegl/tmpl/gegl-over.sgml * docs/reference/gegl/tmpl/gegl-screen.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-xor.sgml Added these: * docs/reference/gegl/tmpl/gegl-normal.sgml * gegl/gegl-normal.c * gegl/gegl-normal.h * tests/addtest-float.c * tests/addtest-uint8.c * tests/colortest-float.c * tests/colortest-uint8.c * tests/copytest-float.c * tests/copytest-uint8.c * tests/fadetest-float.c * tests/fadetest-uint8.c * tests/graphapplytest-float.c * tests/iaddtest-float.c * tests/iaddtest-uint8.c * tests/imulttest-float.c * tests/imulttest-uint8.c * tests/multiplytest-float.c * tests/multtest-float.c * tests/multtest-uint8.c * tests/normaltest-float.c * tests/simpletreetest-float.c Removed these: * tests/addtest-rgb-float.c * tests/addtest-rgb-uint8.c * tests/colortest-rgb-float.c * tests/colortest-rgb-uint8.c * tests/copytest-rgb-float.c * tests/copytest-rgb-uint8.c * tests/fadetest-rgb-float.c * tests/fadetest-rgb-uint8.c * tests/graphapplytest-rgb-float.c * tests/iaddtest-rgb-float.c * tests/iaddtest-rgb-uint8.c * tests/imulttest-rgb-float.c * tests/imulttest-rgb-uint8.c * tests/multiplytest-rgb-float.c * tests/multtest-rgb-float.c * tests/multtest-rgb-uint8.c * tests/simpletreetest-rgb-float.c 2003-06-29 Calvin Williamson Moved some switches and ifs outside the inner loops. * gegl/gegl-add.c * gegl/gegl-atop.c * gegl/gegl-color.c * gegl/gegl-darken.c * gegl/gegl-difference.c * gegl/gegl-fade.c * gegl/gegl-i-add.c * gegl/gegl-i-mult.c * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-multiply.c * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-pipe.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-unpremult.c * gegl/gegl-xor.c 2003-06-25 Calvin Williamson Simplifications related to straightening out the Data classes and how ops install, retrieve, and validate data. This should clear up a lot of confusing code, and make it more apparent where we need to pass the data lists around. Modified these: * HACKING * autogen.sh * configure.in * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-atop.c * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-blend.c * gegl/gegl-blend.h * gegl/gegl-channel-data.c * gegl/gegl-channel-space.h * gegl/gegl-color-model.h * gegl/gegl-color.c * gegl/gegl-color.h * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-copy.c * gegl/gegl-darken.c * gegl/gegl-data.c * gegl/gegl-data.h * gegl/gegl-difference.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-fade.c * gegl/gegl-fade.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph.c * gegl/gegl-i-add.c * gegl/gegl-i-mult.c * gegl/gegl-image-data.c * gegl/gegl-image-op.c * gegl/gegl-image-op.h * gegl/gegl-init.c * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-mult.h * gegl/gegl-multiply.c * gegl/gegl-no-input.c * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-pipe.c * gegl/gegl-pixel-data.c * gegl/gegl-point-op.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-scalar-data.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-unary.c * gegl/gegl-unpremult.c * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl-xor.c * tests/Makefile.am * tests/colortest-rgb-float.c * tests/colortest-rgb-uint8.c * tests/gegl-check.c * tests/gegl-mock-filter.c * tests/gegl-mock-point-op.c * tests/haverecttest.c * tests/needrecttest.c * tests/testgegl.c * tests/testutils.c Added some tests (gegl-mock-properties.c and mockpropertiesfiltertest.c) to illustrate how generic properties are treated for passing to ops. You can see examples of scalars, pixels, and channel data being passed to an op and being stored in the op's input data list, (which has a GValue inside it). Added these: * tests/checkoptest.c * tests/gegl-check-op.c * tests/gegl-check-op.h * tests/gegl-mock-properties-filter.c * tests/gegl-mock-properties-filter.h * tests/mockpropertiesfiltertest.c Removed these old tests: * tests/checktest.c * tests/gegl-check.c * tests/gegl-check.h * tests/gegl-mock-param-filter.c * tests/gegl-mock-param-filter.h Updated docs: * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-atop.sgml * docs/reference/gegl/tmpl/gegl-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-blend.sgml * docs/reference/gegl/tmpl/gegl-buffer.sgml * docs/reference/gegl/tmpl/gegl-channel-data.sgml * docs/reference/gegl/tmpl/gegl-channel-space-float.sgml * docs/reference/gegl/tmpl/gegl-channel-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-channel-space.sgml * docs/reference/gegl/tmpl/gegl-color-data.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-color-space-gray.sgml * docs/reference/gegl/tmpl/gegl-color-space-rgb.sgml * docs/reference/gegl/tmpl/gegl-color-space.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-component-color-model.sgml * docs/reference/gegl/tmpl/gegl-component-storage.sgml * docs/reference/gegl/tmpl/gegl-copy.sgml * docs/reference/gegl/tmpl/gegl-darken.sgml * docs/reference/gegl/tmpl/gegl-data.sgml * docs/reference/gegl/tmpl/gegl-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-difference.sgml * docs/reference/gegl/tmpl/gegl-dump-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-eval-visitor.sgml * docs/reference/gegl/tmpl/gegl-fade.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph-setup-visitor.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-i-add.sgml * docs/reference/gegl/tmpl/gegl-i-mult.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * docs/reference/gegl/tmpl/gegl-image-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-inside.sgml * docs/reference/gegl/tmpl/gegl-lighten.sgml * docs/reference/gegl/tmpl/gegl-max.sgml * docs/reference/gegl/tmpl/gegl-min.sgml * docs/reference/gegl/tmpl/gegl-mult.sgml * docs/reference/gegl/tmpl/gegl-multiply.sgml * docs/reference/gegl/tmpl/gegl-no-input.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-object.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-outside.sgml * docs/reference/gegl/tmpl/gegl-over.sgml * docs/reference/gegl/tmpl/gegl-pipe.sgml * docs/reference/gegl/tmpl/gegl-pixel-data.sgml * docs/reference/gegl/tmpl/gegl-point-op.sgml * docs/reference/gegl/tmpl/gegl-premult.sgml * docs/reference/gegl/tmpl/gegl-print.sgml * docs/reference/gegl/tmpl/gegl-scalar-data.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml * docs/reference/gegl/tmpl/gegl-screen.sgml * docs/reference/gegl/tmpl/gegl-storage.sgml * docs/reference/gegl/tmpl/gegl-subtract.sgml * docs/reference/gegl/tmpl/gegl-tile.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-unpremult.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml * docs/reference/gegl/tmpl/gegl-xor.sgml 2003-03-11 Sven Neumann * autogen.sh * gegl/Makefile.am * gil/gil/Makefile.am * gil/tests/Makefile.am * tests/Makefile.am * tools/testsuite/Makefile.am: a couple of Makefile changes that make the gegl build work with automake-1.7. It should still work with automake-1.4 (and probably other versions). 2003-02-24 Calvin Williamson Patch from Daniel Rogers (daniel@phasevelocity.org) for Copy op. Modified these: * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/gegl.types * gegl/Makefile.am * gegl/gegl.h * tests/Makefile.am * tests/testgegl.c Added these: * docs/reference/gegl/tmpl/gegl-copy.sgml * gegl/gegl-copy.c * gegl/gegl-copy.h * tests/copytest-rgb-float.c * tests/copytest-rgb-uint8.c 2003-02-11 Calvin Williamson Renamed some classes: data-space -> channel-space data-buffer -> buffer image -> image-op image-buffer -> image image-buffer-data -> image-data image-buffer-iterator -> image-iterator Fixed circular header problems for lots of header files, and wrote a lot of gtk-doc documentation. Added these: * docs/dia/collectinputs.dia * docs/dia/graph.dia * docs/reference/gegl/compiling.sgml * docs/reference/gegl/configuring.sgml * docs/reference/gegl/cvs.sgml * docs/reference/gegl/debugging.sgml * docs/reference/gegl/images/collectinputs.png * docs/reference/gegl/images/graph.png * docs/reference/gegl/images/graphsource.png * docs/reference/gegl/mailinglists.sgml * docs/reference/gegl/prerequisites.sgml * docs/reference/gegl/tmpl/gegl-buffer.sgml * docs/reference/gegl/tmpl/gegl-channel-space-float.sgml * docs/reference/gegl/tmpl/gegl-channel-space.sgml * docs/reference/gegl/tmpl/gegl-channel-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-color-data.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * docs/reference/gegl/tmpl/gegl-image-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-op.sgml * docs/reference/gegl/tmpl/gegl-image-param-specs.sgml * docs/reference/gegl/unittests.sgml * docs/reference/gegl/version.xml.in * gegl/gegl-buffer.c * gegl/gegl-buffer.h * gegl/gegl-channel-space.c * gegl/gegl-channel-space-float.c * gegl/gegl-channel-space-float.h * gegl/gegl-channel-space.h * gegl/gegl-channel-space-uint8.c * gegl/gegl-channel-space-uint8.h * gegl/gegl-color-data.c * gegl/gegl-color-data.h * gegl/gegl-image-data.c * gegl/gegl-image-data.h * gegl/gegl-image-iterator.c * gegl/gegl-image-iterator.h * gegl/gegl-image-op.c * gegl/gegl-image-op.h * gegl/gegl-image-param-specs.c * gegl/gegl-image-param-specs.h * tests/buffertest.c * tests/channelspacetest.c * tests/gegl-mock-image-op.c * tests/gegl-mock-image-op.h * tests/imageiteratortest.c * tests/imageoptest.c Removed these: * docs/reference/gegl/tmpl/gegl-attributes.sgml * docs/reference/gegl/tmpl/gegl-data-buffer.sgml * docs/reference/gegl/tmpl/gegl-data-space-float.sgml * docs/reference/gegl/tmpl/gegl-data-space.sgml * docs/reference/gegl/tmpl/gegl-data-space-u8.sgml * docs/reference/gegl/tmpl/gegl-data-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-image-buffer-data.sgml * docs/reference/gegl/tmpl/gegl-image-buffer-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-buffer-param-specs.sgml * docs/reference/gegl/tmpl/gegl-image-buffer.sgml * gegl/gegl-data-buffer.c * gegl/gegl-data-buffer.h * gegl/gegl-data-space.c * gegl/gegl-data-space-float.c * gegl/gegl-data-space-float.h * gegl/gegl-data-space.h * gegl/gegl-data-space-uint8.c * gegl/gegl-data-space-uint8.h * gegl/gegl-image-buffer.c * gegl/gegl-image-buffer-data.c * gegl/gegl-image-buffer-data.h * gegl/gegl-image-buffer.h * gegl/gegl-image-buffer-iterator.c * gegl/gegl-image-buffer-iterator.h * gegl/gegl-image-buffer-param-specs.c * gegl/gegl-image-buffer-param-specs.h * tests/databuffertest.c * tests/dataspacetest.c * tests/gegl-mock-image.c * tests/gegl-mock-image.h * tests/imagebufferiteratortest.c * tests/imagebuffertest.c Changed these: * autogen.sh * configure.in * docs/dia/composite.dia * docs/gegl.html * docs/Makefile.am * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/images/composite.png * docs/reference/gegl/Makefile.am * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-atop.sgml * docs/reference/gegl/tmpl/gegl-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-binary.sgml * docs/reference/gegl/tmpl/gegl-blend.sgml * docs/reference/gegl/tmpl/gegl-channel-data.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-color.sgml * docs/reference/gegl/tmpl/gegl-color-space-gray.sgml * docs/reference/gegl/tmpl/gegl-color-space-rgb.sgml * docs/reference/gegl/tmpl/gegl-color-space.sgml * docs/reference/gegl/tmpl/gegl-component-color-model.sgml * docs/reference/gegl/tmpl/gegl-component-storage.sgml * docs/reference/gegl/tmpl/gegl-comp.sgml * docs/reference/gegl/tmpl/gegl-darken.sgml * docs/reference/gegl/tmpl/gegl-data.sgml * docs/reference/gegl/tmpl/gegl-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-difference.sgml * docs/reference/gegl/tmpl/gegl-dump-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-bfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-dfs-visitor.sgml * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-eval-visitor.sgml * docs/reference/gegl/tmpl/gegl-fade.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph-setup-visitor.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-i-add.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-i-mult.sgml * docs/reference/gegl/tmpl/gegl-input-value-types.sgml * docs/reference/gegl/tmpl/gegl-inside.sgml * docs/reference/gegl/tmpl/gegl-lighten.sgml * docs/reference/gegl/tmpl/gegl-max.sgml * docs/reference/gegl/tmpl/gegl-min.sgml * docs/reference/gegl/tmpl/gegl-multiply.sgml * docs/reference/gegl/tmpl/gegl-mult.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-no-input.sgml * docs/reference/gegl/tmpl/gegl-object.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-outside.sgml * docs/reference/gegl/tmpl/gegl-over.sgml * docs/reference/gegl/tmpl/gegl-pipe.sgml * docs/reference/gegl/tmpl/gegl-pixel-data.sgml * docs/reference/gegl/tmpl/gegl-pixel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-pixel-value-types.sgml * docs/reference/gegl/tmpl/gegl-point-op.sgml * docs/reference/gegl/tmpl/gegl-premult.sgml * docs/reference/gegl/tmpl/gegl-print.sgml * docs/reference/gegl/tmpl/gegl-scalar-data.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml * docs/reference/gegl/tmpl/gegl-screen.sgml * docs/reference/gegl/tmpl/gegl-storage.sgml * docs/reference/gegl/tmpl/gegl-subtract.sgml * docs/reference/gegl/tmpl/gegl-tile.sgml * docs/reference/gegl/tmpl/gegl-types.sgml * docs/reference/gegl/tmpl/gegl-unary.sgml * docs/reference/gegl/tmpl/gegl-unpremult.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml * docs/reference/gegl/tmpl/gegl-xor.sgml * docs/TODO.xml * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-atop.c * gegl/gegl-atop.h * gegl/gegl-bfs-visitor.c * gegl/gegl-bfs-visitor.h * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-blend.c * gegl/gegl-blend.h * gegl/gegl-channel-data.c * gegl/gegl-channel-data.h * gegl/gegl-channel-param-specs.c * gegl/gegl-channel-value-types.c * gegl/gegl-color.c * gegl/gegl-color.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-color-space.h * gegl/gegl-color-space-rgb.h * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-component-color-model.c * gegl/gegl-component-color-model.h * gegl/gegl-component-storage.c * gegl/gegl-component-storage.h * gegl/gegl-darken.c * gegl/gegl-darken.h * gegl/gegl-data.h * gegl/gegl-dfs-visitor.c * gegl/gegl-dfs-visitor.h * gegl/gegl-difference.c * gegl/gegl-difference.h * gegl/gegl-dump-visitor.c * gegl/gegl-dump-visitor.h * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-bfs-visitor.h * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-dfs-visitor.h * gegl/gegl-eval-mgr.c * gegl/gegl-eval-mgr.h * gegl/gegl-eval-visitor.c * gegl/gegl-eval-visitor.h * gegl/gegl-fade.c * gegl/gegl-fade.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph.c * gegl/gegl-graph.h * gegl/gegl-graph-setup-visitor.h * gegl/gegl.h * gegl/gegl-i-add.c * gegl/gegl-i-add.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-i-mult.c * gegl/gegl-i-mult.h * gegl/gegl-init.c * gegl/gegl-input-value-types.h * gegl/gegl-inside.c * gegl/gegl-inside.h * gegl/gegl-lighten.c * gegl/gegl-lighten.h * gegl/gegl-max.c * gegl/gegl-max.h * gegl/gegl-min.c * gegl/gegl-min.h * gegl/gegl-mult.c * gegl/gegl-mult.h * gegl/gegl-multiply.c * gegl/gegl-multiply.h * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-no-input.c * gegl/gegl-no-input.h * gegl/gegl-object.c * gegl/gegl-object.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-outside.c * gegl/gegl-outside.h * gegl/gegl-over.c * gegl/gegl-over.h * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-pixel-data.c * gegl/gegl-pixel-data.h * gegl/gegl-pixel-param-specs.c * gegl/gegl-pixel-param-specs.h * gegl/gegl-pixel-value-types.c * gegl/gegl-pixel-value-types.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-premult.c * gegl/gegl-premult.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-scalar-data.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-screen.h * gegl/gegl-storage.c * gegl/gegl-storage.h * gegl/gegl-subtract.c * gegl/gegl-subtract.h * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-unary.c * gegl/gegl-unary.h * gegl/gegl-unpremult.c * gegl/gegl-unpremult.h * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl-xor.c * gegl/gegl-xor.h * gegl/Makefile.am * gegl.pc.in * gil/gil/Makefile.am * gil/tests/Makefile.am * HACKING * Makefile.am * README * tests/addtest-rgb-float.c * tests/addtest-rgb-uint8.c * tests/checktest.c * tests/colormodeltest.c * tests/colortest-rgb-float.c * tests/colortest-rgb-uint8.c * tests/fadetest-rgb-float.c * tests/fadetest-rgb-uint8.c * tests/gegl-check.c * tests/gegl-check.h * tests/gegl-mock-bfs-visitor.h * tests/gegl-mock-dfs-visitor.h * tests/gegl-mock-filter.c * tests/gegl-mock-filter.h * tests/gegl-mock-node.h * tests/gegl-mock-object.h * tests/gegl-mock-op.h * tests/gegl-mock-param-filter.h * tests/gegl-mock-point-op.c * tests/gegl-mock-point-op.h * tests/gegl-mock-visitor.h * tests/graphapplytest-rgb-float.c * tests/haverecttest.c * tests/iaddtest-rgb-float.c * tests/iaddtest-rgb-uint8.c * tests/imagetest.c * tests/imulttest-rgb-float.c * tests/imulttest-rgb-uint8.c * tests/Makefile.am * tests/multiplytest-rgb-float.c * tests/multtest-rgb-float.c * tests/multtest-rgb-uint8.c * tests/needrecttest.c * tests/objecttest.c * tests/paramtest.c * tests/pipetest.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest-rgb-float.c * tests/storagetest.c * tests/testgegl.c * tests/testgeglfile.c * tests/testutils.c * tests/testutils.h * tests/tiletest.c * tests/valueimagedatatest.c 2002-12-20 Calvin Williamson Renamed GeglAttribute to GeglData and expanded these to have subclasses for PixelData, ChannelData, ImageData, and ScalarData. Now there are nodes and ops, with the data classes representing the data that is passed through the graph during evaluation. Also added op properties to represent the various generic input and output data for each of the ops. Regular gobject data specific properties will map to some generic data property. The data properties are held in the op class. Renamed previous ImageData to ImageBuffer. Added these: * docs/reference/gegl/images/node_2inputs_1output.png * docs/reference/gegl/tmpl/gegl-image-buffer-param-specs.sgml * docs/reference/gegl/tmpl/gegl-input-param-specs.sgml * docs/reference/gegl/tmpl/gegl-input-value-types.sgml * docs/reference/gegl/tmpl/gegl-image-buffer-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-buffer-data.sgml * docs/reference/gegl/tmpl/gegl-data-space-uint8.sgml * docs/reference/gegl/tmpl/gegl-image-buffer.sgml * docs/reference/gegl/tmpl/gegl-data.sgml * docs/reference/gegl/tmpl/gegl-pixel-data.sgml * docs/reference/gegl/tmpl/gegl-channel-data.sgml * docs/reference/gegl/tmpl/gegl-scalar-data.sgml * gegl/gegl-image-buffer-iterator.c * gegl/gegl-image-buffer-iterator.h * gegl/gegl-image-buffer-data.h * gegl/gegl-image-buffer-param-specs.h * gegl/gegl-image-buffer.c * gegl/gegl-image-buffer.h * gegl/gegl-data.c * gegl/gegl-data.h * gegl/gegl-scalar-data.c * gegl/gegl-pixel-data.c * gegl/gegl-pixel-data.h * gegl/gegl-channel-data.c * gegl/gegl-channel-data.h * gegl/gegl-image-buffer-data.c * gegl/gegl-scalar-data.h * gegl/gegl-image-buffer-param-specs.c * gegl/gegl-input-param-specs.c * gegl/gegl-input-param-specs.h * gegl/gegl-input-value-types.h * gegl/gegl-input-value-types.c * gegl/gegl-data-space-uint8.c * gegl/gegl-data-space-uint8.h * tests/imagebuffertest.c * tests/gegl-mock-param-filter.c * tests/gegl-mock-param-filter.h * tests/imagebufferiteratortest.c * tests/channelvaluetest.c Removed these: * docs/reference/gegl/tmpl/gegl-image-data-iterator.sgml * docs/reference/gegl/tmpl/gegl-image-data-param-specs.sgml * docs/reference/gegl/tmpl/gegl-image-data.sgml * gegl/gegl-attributes.c * gegl/gegl-attributes.h * gegl/gegl-data-space-u8.c * gegl/gegl-data-space-u8.h * gegl/gegl-image-data-iterator.c * gegl/gegl-image-data-iterator.h * gegl/gegl-image-data-param-specs.c * gegl/gegl-image-data-param-specs.h * gegl/gegl-image-data.c * gegl/gegl-image-data.h * tests/imagedataiteratortest.c * tests/imagedatatest.c Modified these as described above: * gegl/Makefile.am * gegl/gegl-add.c * gegl/gegl-atop.c * gegl/gegl-binary.c * gegl/gegl-blend.c * gegl/gegl-channel-param-specs.c * gegl/gegl-channel-param-specs.h * gegl/gegl-channel-value-types.c * gegl/gegl-color.c * gegl/gegl-comp.c * gegl/gegl-darken.c * gegl/gegl-dfs-visitor.c * gegl/gegl-difference.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-fade.c * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph.c * gegl/gegl-i-add.c * gegl/gegl-i-mult.c * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-init.c * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-multiply.c * gegl/gegl-no-input.c * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-pixel-param-specs.c * gegl/gegl-pixel-param-specs.h * gegl/gegl-pixel-value-types.c * gegl/gegl-point-op.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-types.h * gegl/gegl-unary.c * gegl/gegl-unpremult.c * gegl/gegl-utils.c * gegl/gegl-value-types.h * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl-xor.c * gegl/gegl.h Updated tests: * tests/Makefile.am * tests/addtest-rgb-float.c * tests/addtest-rgb-uint8.c * tests/bfsvisitormultouttest.c * tests/bfsvisitortest.c * tests/checktest.c * tests/colormodeltest.c * tests/colortest-rgb-float.c * tests/dataspacetest.c * tests/dfsvisitormultouttest.c * tests/dfsvisitortest.c * tests/fadetest-rgb-float.c * tests/fadetest-rgb-uint8.c * tests/gegl-check.c * tests/gegl-check.h * tests/gegl-mock-filter.c * tests/gegl-mock-image.c * tests/gegl-mock-node.c * tests/gegl-mock-op.c * tests/gegl-mock-point-op.c * tests/graphapplytest-rgb-float.c * tests/graphnodetest.c * tests/haverecttest.c * tests/iaddtest-rgb-float.c * tests/iaddtest-rgb-uint8.c * tests/imulttest-rgb-float.c * tests/imulttest-rgb-uint8.c * tests/multiplytest-rgb-float.c * tests/multtest-rgb-float.c * tests/multtest-rgb-uint8.c * tests/needrecttest.c * tests/nodetest.c * tests/optest.c * tests/paramtest.c * tests/pipetest.c * tests/pixelrgbuint8valuetest.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest-rgb-float.c * tests/testgegl.c * tests/testgeglfile.c * tests/testutils.c * tests/valueimagedatatest.c Updated docs: * docs/dia/simplegraph.dia * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/gegl.types * docs/reference/gegl/images/simplegraph.png * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-attributes.sgml * docs/reference/gegl/tmpl/gegl-channel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-color-model.sgml * docs/reference/gegl/tmpl/gegl-component-color-model.sgml * docs/reference/gegl/tmpl/gegl-eval-mgr.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph-setup-visitor.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-pixel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-pixel-value-types.sgml * docs/reference/gegl/tmpl/gegl-point-op.sgml * docs/reference/gegl/tmpl/gegl-scanline-processor.sgml * docs/reference/gegl/tmpl/gegl-storage.sgml * docs/reference/gegl/tmpl/gegl-tile.sgml * docs/reference/gegl/tmpl/gegl-types.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * docs/reference/gegl/tmpl/gegl-visitor.sgml 2002-11-13 Calvin Williamson Created gegl-init.c and moved all init code out of gegl-utils. Then split the value types and the param specs into separate channel and pixel value types. See the corresponding unit tests for examples. Also temporarily removed multiple outputs from the nodes classes till work is complete on setting up the list of attributes/paramspecs to pass to each op. Too confusing to do it with multiple outputs for now. Added more rgba value types and param specs. Removed gegl_op_apply_image for time being as well, not sure it makes sense in the current scheme. * gegl/Makefile.am * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-bfs-visitor.c * gegl/gegl-binary.c * gegl/gegl-color.c * gegl/gegl-comp.c * gegl/gegl-data-space-float.c * gegl/gegl-data-space-u8.c * gegl/gegl-dfs-visitor.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-eval-visitor.c * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph-setup-visitor.c * gegl/gegl-graph.c * gegl/gegl-graph.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-no-input.c * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-point-op.c * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-types.h * gegl/gegl-unary.c * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-value-types.h * gegl/gegl-visitor.c * gegl/gegl.h * docs/reference/gegl/Makefile.am * docs/reference/gegl/gegl-docs.sgml * docs/reference/gegl/gegl-sections.txt * docs/reference/gegl/gegl-undocumented.txt * docs/reference/gegl/tmpl/gegl-add.sgml * docs/reference/gegl/tmpl/gegl-attributes.sgml * docs/reference/gegl/tmpl/gegl-filter.sgml * docs/reference/gegl/tmpl/gegl-graph.sgml * docs/reference/gegl/tmpl/gegl-image.sgml * docs/reference/gegl/tmpl/gegl-node.sgml * docs/reference/gegl/tmpl/gegl-op.sgml * docs/reference/gegl/tmpl/gegl-param-specs.sgml * docs/reference/gegl/tmpl/gegl-types.sgml * docs/reference/gegl/tmpl/gegl-unused.sgml * docs/reference/gegl/tmpl/gegl-utils.sgml * docs/reference/gegl/tmpl/gegl-value-types.sgml * tests/Makefile.am * tests/addtest-rgb-float.c * tests/addtest-rgb-uint8.c * tests/bfsvisitortest.c * tests/checktest.c * tests/colormodeltest.c * tests/colorspacetest.c * tests/colortest-rgb-float.c * tests/databuffertest.c * tests/dataspacetest.c * tests/dfsvisitortest.c * tests/dumpvisitortest.c * tests/fadetest-rgb-float.c * tests/fadetest-rgb-uint8.c * tests/gegl-check.c * tests/gegl-mock-filter.c * tests/gegl-mock-filter.h * tests/gegl-mock-point-op.c * tests/graphapplytest-rgb-float.c * tests/graphnodetest.c * tests/iaddtest-rgb-float.c * tests/iaddtest-rgb-uint8.c * tests/imagedatatest.c * tests/imulttest-rgb-float.c * tests/imulttest-rgb-uint8.c * tests/multiplytest-rgb-float.c * tests/multtest-rgb-float.c * tests/multtest-rgb-uint8.c * tests/nodemultouttest.c * tests/nodetest.c * tests/objecttest.c * tests/optest.c * tests/paramtest.c * tests/simpletreetest-rgb-float.c * tests/storagetest.c * tests/testgegl.c * tests/testgeglfile.c * tests/testutils.c * tests/testutils.h * tests/tiletest.c * tests/valueimagedatatest.c * tests/valuetest.c Modified these as described above. * docs/reference/gegl/tmpl/gegl-init.sgml * docs/reference/gegl/tmpl/gegl-channel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-pixel-param-specs.sgml * docs/reference/gegl/tmpl/gegl-image-data-param-specs.sgml * docs/reference/gegl/tmpl/gegl-channel-value-types.sgml * docs/reference/gegl/tmpl/gegl-pixel-value-types.sgml * gegl/gegl-channel-value-types.c * gegl/gegl-channel-value-types.h * gegl/gegl-pixel-value-types.c * gegl/gegl-pixel-value-types.h * gegl/gegl-channel-param-specs.c * gegl/gegl-channel-param-specs.h * gegl/gegl-pixel-param-specs.h * gegl/gegl-pixel-param-specs.c * gegl/gegl-image-data-param-specs.c * gegl/gegl-image-data-param-specs.h * gegl/gegl-init.c * gegl/gegl-init.h * tests/pixelrgbfloatvaluetest.c * tests/pixelrgbafloatvaluetest.c * tests/channelfloatvaluetest.c * tests/pixelrgbuint8valuetest.c * tests/channeluint8valuetest.c Added these to split up value types into channel and pixel value types. Fixed the tests to reflect this as well. Also split the pixel and channel and image data param specs. * gegl/gegl-param-specs.c * gegl/gegl-value-types.c * tests/nodemultouttest.c * tests/floatvaluetest.c * tests/rgbfloatvaluetest.c * tests/rgbuint8valuetest.c * tests/uint8valuetest.c Removed these since split channel and pixel value types. 2002-11-11 Sven Neumann * docs/Makefile.am: fixed rule for TODO.html * tests/Makefile.am: use the automake TESTS target to build testgegl. Use 'make check' to run the tests. 2002-10-15 Calvin Williamson The ColorModel classes now have a ColorSpace (RGB, GRAY, etc) and a DataSpace (8bit, 16bit, float). DataSpaces describe channel data or indexed data. Introduced ImageData objects to describe image output from Filters. Each ImageData has an area, a ColorModel and a Tile (eventually Tile system or manager). Each Tile in turn has a DataBuffer and Storage object. The DataBuffer has pointers to banks of data and the Storage object has info that describes the samples in each bank. The ComponentColorModel and ComponentStorage subclasses of ColorModel and Storage describe the regular separated channels component color models (R,G,B stored in separate banks in the DataBuffer) ImageDataIterator allows getting pixels for an area of ImageData object. Also began introducing some gegl value types for CHANNEL, PIXEL, FLOAT, UINT8, etc. These will let us use GValue techniques for passing all inputs to ops, and describing/validating them with param specs. (see gegl-value-types.c, gegl-param-specs.c) For tests for these see valuetest.c floatvaluetest.c,etc in the unit tests. * gegl/gegl-color-space.c * gegl/gegl-color-space-gray.c * gegl/gegl-color-space-gray.h * gegl/gegl-color-space.h * gegl/gegl-color-space-rgb.c * gegl/gegl-color-space-rgb.h * gegl/gegl-component-color-model.c * gegl/gegl-component-color-model.h * gegl/gegl-component-storage.c * gegl/gegl-component-storage.h * gegl/gegl-data-buffer.c * gegl/gegl-data-buffer.h * gegl/gegl-data-space.c * gegl/gegl-data-space-float.c * gegl/gegl-data-space-float.h * gegl/gegl-data-space.h * gegl/gegl-data-space-u8.c * gegl/gegl-data-space-u8.h * gegl/gegl-i-add.c * gegl/gegl-i-add.h * gegl/gegl-image-data.c * gegl/gegl-image-data.h * gegl/gegl-image-data-iterator.c * gegl/gegl-image-data-iterator.h * gegl/gegl-i-mult.c * gegl/gegl-i-mult.h * gegl/gegl-mult.c * gegl/gegl-mult.h * gegl/gegl-storage.c * gegl/gegl-storage.h * tests/addtest-rgb-float.c * tests/addtest-rgb-uint8.c * tests/checktest.c * tests/colorspacetest.c * tests/colortest-rgb-float.c * tests/colortest-rgb-uint8.c * tests/databuffertest.c * tests/dataspacetest.c * tests/fadetest-rgb-float.c * tests/fadetest-rgb-uint8.c * tests/floatvaluetest.c * tests/gegl-check.c * tests/gegl-check.h * tests/graphapplytest-rgb-float.c * tests/iaddtest-rgb-float.c * tests/iaddtest-rgb-uint8.c * tests/imagedataiteratortest.c * tests/imagedatatest.c * tests/imulttest-rgb-float.c * tests/imulttest-rgb-uint8.c * tests/multiplytest-rgb-float.c * tests/multtest-rgb-float.c * tests/multtest-rgb-uint8.c * tests/paramtest.c * tests/rgbfloatvaluetest.c * tests/rgbuint8valuetest.c * tests/simpletreetest-rgb-float.c * tests/storagetest.c * tests/uint8valuetest.c * tests/valueimagedatatest.c * tests/valuetest.c Added these. * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-atop.c * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-blend.c * gegl/gegl-color.c * gegl/gegl-color.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-darken.c * gegl/gegl-difference.c * gegl/gegl-dump-visitor.c * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-mgr.c * gegl/gegl-eval-mgr.h * gegl/gegl-eval-visitor.c * gegl/gegl-fade.c * gegl/gegl-fade.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph.c * gegl/gegl.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-inside.c * gegl/gegl-lighten.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-multiply.c * gegl/gegl-no-input.c * gegl/gegl-no-input.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-outside.c * gegl/gegl-over.c * gegl/gegl-param-specs.c * gegl/gegl-param-specs.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-point-op.c * gegl/gegl-premult.c * gegl/gegl-print.c * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-unary.c * gegl/gegl-unary.h * gegl/gegl-unpremult.c * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-value-types.c * gegl/gegl-value-types.h * gegl/gegl-xor.c * gegl/Makefile.am * tests/colormodeltest.c * tests/gegl-mock-filter.c * tests/gegl-mock-filter.h * tests/gegl-mock-point-op.c * tests/haverecttest.c * tests/imagetest.c * tests/Makefile.am * tests/needrecttest.c * tests/pointoptest.c * tests/printtest.c * tests/testgegl.c * tests/testutils.c * tests/testutils.h * tests/tiletest.c Modified. * gegl/gegl-buffer.c * gegl/gegl-buffer.h * gegl/gegl-color-model-gray.c * gegl/gegl-color-model-gray-float.c * gegl/gegl-color-model-gray-float.h * gegl/gegl-color-model-gray.h * gegl/gegl-color-model-gray-u16.c * gegl/gegl-color-model-gray-u16.h * gegl/gegl-color-model-gray-u8.c * gegl/gegl-color-model-gray-u8.h * gegl/gegl-color-model-rgb.c * gegl/gegl-color-model-rgb-float.c * gegl/gegl-color-model-rgb-float.h * gegl/gegl-color-model-rgb.h * gegl/gegl-color-model-rgb-u16.c * gegl/gegl-color-model-rgb-u16.h * gegl/gegl-color-model-rgb-u8.c * gegl/gegl-color-model-rgb-u8.h * gegl/gegl-const-mult.c * gegl/gegl-const-mult.h * gegl/gegl-copy.c * gegl/gegl-copy.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-mem-buffer.c * gegl/gegl-mem-buffer.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-tiled-image.c * gegl/gegl-tiled-image.h * gegl/gegl-tile-iterator.c * gegl/gegl-tile-iterator.h * gegl/gegl-tile-mgr.c * gegl/gegl-tile-mgr.h * gegl/gegl-value-transform.c * tests/addtest.c * tests/buffertest.c * tests/colormodelrgbfloattest.c * tests/colormodelrgbtest.c * tests/colortest.c * tests/constmulttest.c * tests/copytest.c * tests/fadetest.c * tests/filltest.c * tests/graphapplytest.c * tests/membuffertest.c * tests/multiplytest.c * tests/sampledimagetest.c * tests/simpletreetest.c * tests/statoptest.c * tests/tiledimagetest.c * tests/tileiteratortest.c * tests/tilemgrtest.c * tests/valuetiletest.c Removed these. 2002-09-13 Calvin Williamson Removed the composite nodes and broke these into Over, Atop, Inside, Outside and Xor. These all inherit from the Comp class. You can pass a boolean to these to say whether the fg should be premultiplied before the operation. Next started to move some of the blend modes into separate classes. Normal, Darken, Lighten, Multiply, Screen, Difference are examples of these. They all use (1-aB)*F + (1-aF)*B + aB * aF * f(F/aF, B/aB) where f(x,y) describes the blending mode, and Foreground = (F, aF) Background = (B, aB) are premultiplied. These all extend Blend, so that you can pass an opacity on the Foreground for each of these. These ops are the standard layer modes in gimp. Will add soft light, hard light, exclusion, overlay, etc. to these. Finally left the other binary ops under Binary. These are Max, Min, Add, Subtract, etc. These are just straight f(x,y) expressions. You can place a multiplier (fade) on the second input to these to control the percent of the second input to use. * gegl/Makefile.am * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-attributes.c * gegl/gegl-buffer.c * gegl/gegl-buffer.h * gegl/gegl-color-model.c * gegl/gegl-color.c * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-const-mult.c * gegl/gegl-const-mult.h * gegl/gegl-dump-visitor.c * gegl/gegl-eval-visitor.c * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-max.c * gegl/gegl-max.h * gegl/gegl-min.c * gegl/gegl-min.h * gegl/gegl-param-specs.c * gegl/gegl-param-specs.h * gegl/gegl-premult.c * gegl/gegl-premult.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-screen.c * gegl/gegl-screen.h * gegl/gegl-subtract.c * gegl/gegl-subtract.h * gegl/gegl-tile-iterator.c * gegl/gegl-tile-iterator.h * gegl/gegl-tile-mgr.c * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-unpremult.c * gegl/gegl-unpremult.h * gegl/gegl-utils.c * gegl/gegl.h Modified these. * gegl/gegl-atop.c * gegl/gegl-atop.h * gegl/gegl-binary.c * gegl/gegl-binary.h * gegl/gegl-blend.c * gegl/gegl-blend.h * gegl/gegl-darken.c * gegl/gegl-darken.h * gegl/gegl-difference.c * gegl/gegl-difference.h * gegl/gegl-fade.c * gegl/gegl-fade.h * gegl/gegl-inside.c * gegl/gegl-inside.h * gegl/gegl-lighten.c * gegl/gegl-lighten.h * gegl/gegl-multiply.c * gegl/gegl-multiply.h * gegl/gegl-no-input.c * gegl/gegl-no-input.h * gegl/gegl-outside.c * gegl/gegl-outside.h * gegl/gegl-over.c * gegl/gegl-over.h * gegl/gegl-pipe.c * gegl/gegl-pipe.h * gegl/gegl-tiled-image.c * gegl/gegl-tiled-image.h * gegl/gegl-unary.c * gegl/gegl-unary.h * gegl/gegl-xor.c * gegl/gegl-xor.h Added. * gegl/gegl-comp-premult.c * gegl/gegl-comp-premult.h * gegl/gegl-dark.c * gegl/gegl-dark.h * gegl/gegl-diff.c * gegl/gegl-diff.h * gegl/gegl-light.c * gegl/gegl-light.h * gegl/gegl-mult.c * gegl/gegl-mult.h * gegl/gegl-stat-op.c * gegl/gegl-stat-op.h * tests/Makefile.am * tests/addtest.c * tests/colormodeltest.c * tests/colortest.c * tests/constmulttest.c * tests/copytest.c * tests/dfsvisitortest.c * tests/filltest.c * tests/graphapplytest.c * tests/haverecttest.c * tests/imagetest.c * tests/needrecttest.c * tests/pointoptest.c * tests/printtest.c * tests/sampledimagetest.c * tests/simpletreetest.c * tests/statoptest.c * tests/testgegl.c * tests/testutils.c * tests/testutils.h * tests/tileiteratortest.c * tests/tiletest.c Updated the tests to match changes above. testutils was changed to handle more colormodels. * tests/valuetest.c Removed. * tests/fadetest.c * tests/multiplytest.c * tests/pipetest.c * tests/tiledimagetest.c * tests/valuetiletest.c New tests. 2002-08-26 Calvin Williamson Updated Node class to incorporate multi-output nodes. Now nodes have a (usually) fixed number of outputs and inputs for their lifetime. Changed the terminology to use sinks for nodes attached to outputs, and sources for nodes attached to inputs. Also made changes to properties and moved all of the "num_inputs", "num_outputs", "source0", "source1", etc properties to the Node class. * gegl/gegl-add.c * gegl/gegl-comp-premult.c * gegl/gegl-comp.c * gegl/gegl-const-mult.c * gegl/gegl-dark.c * gegl/gegl-diff.c * gegl/gegl-eval-bfs-visitor.c * gegl/gegl-eval-bfs-visitor.h * gegl/gegl-eval-dfs-visitor.c * gegl/gegl-eval-dfs-visitor.h * gegl/gegl-eval-mgr.c * gegl/gegl-eval-mgr.h * gegl/gegl-eval-visitor.c * gegl/gegl-eval-visitor.h * gegl/gegl-light.c * gegl/gegl-max.c * gegl/gegl-min.c * gegl/gegl-mult.c * gegl/gegl-premult.c * gegl/gegl-screen.c * gegl/gegl-subtract.c * gegl/gegl-unpremult.c Added these to replace the removed .gil versions of these. Only add, const-mult, mult, comp, comp-premult have more than just the float case right now. The rest just have float data types. * codegen/test_files/gegl-add.gil * codegen/test_files/gegl-comp-premult.gil * codegen/test_files/gegl-comp.gil * codegen/test_files/gegl-const-mult.gil * codegen/test_files/gegl-dark.gil * codegen/test_files/gegl-diff.gil * codegen/test_files/gegl-light.gil * codegen/test_files/gegl-max.gil * codegen/test_files/gegl-min.gil * codegen/test_files/gegl-mult.gil * codegen/test_files/gegl-premult.gil * codegen/test_files/gegl-screen.gil * codegen/test_files/gegl-subtract.gil * codegen/test_files/gegl-unpremult.gil Moved the .gil files to codegen test directory for now. * gil/gil/Makefile.am * gil/gil/gil-bfs-visitor.c * gil/gil/gil-bfs-visitor.h * gil/gil/gil-binary-op.c * gil/gil/gil-binary-op.h * gil/gil/gil-block.c * gil/gil/gil-block.h * gil/gil/gil-constant.c * gil/gil/gil-constant.h * gil/gil/gil-dfs-visitor.c * gil/gil/gil-dfs-visitor.h * gil/gil/gil-expr-statement.c * gil/gil/gil-expr-statement.h * gil/gil/gil-expression.c * gil/gil/gil-expression.h * gil/gil/gil-node.c * gil/gil/gil-node.h * gil/gil/gil-statement.c * gil/gil/gil-statement.h * gil/gil/gil-types.h * gil/gil/gil-unary-op.c * gil/gil/gil-unary-op.h * gil/gil/gil-variable.c * gil/gil/gil-variable.h * gil/gil/gil-visitor.c * gil/gil/gil-visitor.h * gil/gil/gil.h * gil/gil/gilast.c * gil/gil/gilast.h * gil/gil/gilinterpret.c * gil/gil/gilinterpret.h * gil/gil/gilstatement.c * gil/gil/gilstatement.h * gil/gil/gilsymbol.c * gil/gil/gilsymbol.h * gil/gil/gilsymboltable.c * gil/gil/gilsymboltable.h * gil/gil/giltype.c * gil/gil/giltype.h * gil/gil/lexer.l * gil/gil/parse.y * gil/gil/parse.y.declonly * gil/gil/parse.y.noactions * gil/gil/parse.y.withdecl * gil/gil/parse.y.withdeclsnoactions * gil/gil/test-declarations.gil * gil/gil/test-expressions.gil Adding new gil code, uses GObjects and constructs parse trees so far. See the unit tests added below for details (in gil/tests dir) * gil/tests/Makefile.am * gil/tests/bfsvisitortest.c * gil/tests/binaryoptest.c * gil/tests/blocktest.c * gil/tests/constanttest.c * gil/tests/dfsvisitortest.c * gil/tests/exprstatementtest.c * gil/tests/gil-mock-bfs-visitor.c * gil/tests/gil-mock-bfs-visitor.h * gil/tests/gil-mock-dfs-visitor.c * gil/tests/gil-mock-dfs-visitor.h * gil/tests/gil-mock-node.c * gil/tests/gil-mock-node.h * gil/tests/gil-mock-visitor.c * gil/tests/gil-mock-visitor.h * gil/tests/nodetest.c * gil/tests/testgil.c * gil/tests/unaryoptest.c * gil/tests/variabletest.c Adding new unit tests for gil code * tests/bfsvisitormultouttest.c * tests/dfsvisitormultouttest.c * tests/nodemultouttest.c Added these gegl unit tests, mostly for multi-output nodes. * gegl/gegl-add.gil * gegl/gegl-comp-premult.gil * gegl/gegl-comp.gil * gegl/gegl-const-mult.gil * gegl/gegl-dark.gil * gegl/gegl-diff.gil * gegl/gegl-light.gil * gegl/gegl-max.gil * gegl/gegl-min.gil * gegl/gegl-mult.gil * gegl/gegl-premult.gil * gegl/gegl-screen.gil * gegl/gegl-subtract.gil * gegl/gegl-unpremult.gil * gegl/gegl-graph-bfs-visitor.c * gegl/gegl-graph-bfs-visitor.h * gegl/gegl-graph-dfs-visitor.c * gegl/gegl-graph-dfs-visitor.h * gegl/gegl-graph-evaluate-visitor.c * gegl/gegl-graph-evaluate-visitor.h * gegl/gegl-graph-init-visitor.c * gegl/gegl-graph-init-visitor.h The .gils got retired to codegen directory, and graph stuff got re-written and moved in the Eval classes (EvalMgr, EvalDfsVisitor, etc) * gil/gilast.c * gil/gilast.h * gil/gilinterpret.c * gil/gilinterpret.h * gil/gilsymbol.c * gil/gilsymbol.h * gil/gilsymboltable.c * gil/gilsymboltable.h * gil/giltype.c * gil/giltype.h * gil/lexer.l * gil/parse.y * gil/test.gil This got moved to gil/gil directory. Eventually will be replaced completely with new gil gobject code. * gegl/Makefile.am * gegl/gegl-bfs-visitor.c * gegl/gegl-bfs-visitor.h * gegl/gegl-buffer.h * gegl/gegl-color-model.h * gegl/gegl-color.h * gegl/gegl-comp-premult.h * gegl/gegl-comp.h * gegl/gegl-copy.c * gegl/gegl-dfs-visitor.c * gegl/gegl-dfs-visitor.h * gegl/gegl-dump-visitor.c * gegl/gegl-dump-visitor.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-graph-setup-visitor.c * gegl/gegl-graph-setup-visitor.h * gegl/gegl-graph.c * gegl/gegl-graph.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-mem-buffer.h * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-param-specs.c * gegl/gegl-param-specs.h * gegl/gegl-point-op.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-stat-op.h * gegl/gegl-tile-iterator.c * gegl/gegl-tile-iterator.h * gegl/gegl-tile-mgr.h * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-value-types.c * gegl/gegl-value-types.h * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl.h Most changes in Node, introducing Eval classes. Took out gil stuff from Makefile.am * ChangeLog * HACKING * Makefile.am * README * configure.in * gil/Makefile.am * gil/README Miscellaneous changes. * tests/Makefile.am * tests/addtest.c * tests/bfsvisitortest.c * tests/constmulttest.c * tests/copytest.c * tests/dfsvisitortest.c * tests/dumpvisitortest.c * tests/gegl-mock-filter.c * tests/gegl-mock-image.c * tests/gegl-mock-node.c * tests/gegl-mock-op.c * tests/gegl-mock-point-op.c * tests/graphapplytest.c * tests/graphnodetest.c * tests/imagetest.c * tests/needrecttest.c * tests/nodetest.c * tests/optest.c * tests/pointoptest.c * tests/printtest.c * tests/sampledimagetest.c * tests/simpletreetest.c * tests/testgegl.c * tests/testgeglfile.c * tests/valuetest.c Updated lots of tests, mostly moving Properties around, updating for multi-output nodes. 2002-08-11 Calvin Williamson Re-arranged the basic composite pattern again. Now we have Graphs as the composite or container class, Filter is the leaf or non-container class and Op as the common superclass. Op is a thing which produces outputs from inputs. So Graphs now contain Filters and other Graphs. Also added Attributes structures, the Op class has an array of these. These hold the values of outputs, param specs that describe the outputs, and have rects, need rects, colormodels and any other attributes that are passed up and down the tree. Added a bunch of visitors to do the Graph traversals. * gegl/gegl-graph-bfs-visitor.h * gegl/gegl-graph-dfs-visitor.c * gegl/gegl-graph-dfs-visitor.h * gegl/gegl-graph-evaluate-visitor.c * gegl/gegl-graph-bfs-visitor.c * gegl/gegl-graph-evaluate-visitor.h * gegl/gegl-graph.h * gegl/gegl-graph.c * gegl/gegl-dump-visitor.c * gegl/gegl-dump-visitor.h * gegl/gegl-dfs-visitor.h * gegl/gegl-dfs-visitor.c * gegl/gegl-graph-init-visitor.c * gegl/gegl-graph-init-visitor.h * gegl/gegl-graph-setup-visitor.c * gegl/gegl-graph-setup-visitor.h * gegl/gegl-bfs-visitor.h * gegl/gegl-bfs-visitor.c * gegl/gegl-attributes.h * gegl/gegl-attributes.c Added files. * tests/dumpvisitortest.c * tests/dfsvisitortest.c * tests/bfsvisitortest.c * tests/gegl-mock-dfs-visitor.c * tests/gegl-mock-dfs-visitor.h * tests/gegl-mock-bfs-visitor.c * tests/gegl-mock-bfs-visitor.h * tests/haverecttest.c * tests/needrecttest.c * tests/gegl-mock-filter.c * tests/gegl-mock-filter.h * tests/graphapplytest.c * tests/graphnodetest.c New tests. * Makefile.am * README * autogen.sh * configure.in Updated these to work with latest autotools. * HACKING Added this. * gegl/Makefile.am * gegl/gegl-add.gil * gegl/gegl-add.h * gegl/gegl-buffer.h * gegl/gegl-color-model-gray-float.c * gegl/gegl-color-model-gray-float.h * gegl/gegl-color-model-gray-u16.c * gegl/gegl-color-model-gray-u16.h * gegl/gegl-color-model-gray-u8.c * gegl/gegl-color-model-gray-u8.h * gegl/gegl-color-model-gray.h * gegl/gegl-color-model-rgb-float.h * gegl/gegl-color-model-rgb-u16.h * gegl/gegl-color-model-rgb-u8.h * gegl/gegl-color-model-rgb.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-color.h * gegl/gegl-comp-premult.gil * gegl/gegl-comp-premult.h * gegl/gegl-comp.gil * gegl/gegl-comp.h * gegl/gegl-const-mult.gil * gegl/gegl-const-mult.h * gegl/gegl-copy.c * gegl/gegl-copy.h * gegl/gegl-dark.gil * gegl/gegl-dark.h * gegl/gegl-diff.gil * gegl/gegl-diff.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-light.gil * gegl/gegl-light.h * gegl/gegl-max.gil * gegl/gegl-max.h * gegl/gegl-mem-buffer.h * gegl/gegl-min.gil * gegl/gegl-min.h * gegl/gegl-mult.gil * gegl/gegl-mult.h * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.c * gegl/gegl-object.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-premult.gil * gegl/gegl-premult.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.gil * gegl/gegl-screen.h * gegl/gegl-stat-op.c * gegl/gegl-stat-op.h * gegl/gegl-subtract.gil * gegl/gegl-subtract.h * gegl/gegl-tile-iterator.h * gegl/gegl-tile-mgr.c * gegl/gegl-tile-mgr.h * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-unpremult.gil * gegl/gegl-unpremult.h * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl-value-types.c * gegl/gegl-visitor.c * gegl/gegl-visitor.h * gegl/gegl.h Changes to lots of things to re-arrange Filters and Graphs. * gil/Makefile.am * codegen/Makefile.am * codegen/parser.y * tests/Makefile.am * tests/addtest.c * tests/buffertest.c * tests/colormodelrgbfloattest.c * tests/colormodelrgbtest.c * tests/colormodeltest.c * tests/colortest.c * tests/constmulttest.c * tests/copytest.c * tests/filltest.c * tests/gegl-mock-image.h * tests/gegl-mock-node.h * tests/gegl-mock-object.h * tests/gegl-mock-op.c * tests/gegl-mock-op.h * tests/gegl-mock-point-op.c * tests/gegl-mock-point-op.h * tests/gegl-mock-visitor.c * tests/gegl-mock-visitor.h * tests/imagetest.c * tests/membuffertest.c * tests/nodetest.c * tests/objecttest.c * tests/optest.c * tests/pointoptest.c * tests/printtest.c * tests/sampledimagetest.c * tests/simpletreetest.c * tests/statoptest.c * tests/testgegl.c * tests/testgeglfile.c * tests/testutils.c * tests/testutils.h * tests/tileiteratortest.c * tests/tilemgrtest.c * tests/tiletest.c Filled out the tests for the new Graph classes. * gegl/gegl-filter-bfs-visitor.c * gegl/gegl-filter-bfs-visitor.h * gegl/gegl-filter-dfs-visitor.c * gegl/gegl-filter-dfs-visitor.h * gegl/gegl-filter-inputs-visitor.c * gegl/gegl-filter-inputs-visitor.h * tests/filtertest.c Removed these. 2002-04-02 Calvin Williamson * gegl/Makefile.am * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-print.c * gegl/gegl-visitor.c * gegl/gegl.h Changed Op's apply so that it isnt overridden by subclasses, rather it sets up a Filter with that op as the root and calls traverse which only Filter classes implement. * gegl/gegl-filter-bfs-visitor.c * gegl/gegl-filter-bfs-visitor.h * gegl/gegl-filter-dfs-visitor.c * gegl/gegl-filter-dfs-visitor.h * gegl/gegl-filter-inputs-visitor.c * gegl/gegl-filter-inputs-visitor.h Added an inputs visitor for Filter to match interior nodes that dont have inputs to inputs to the Filter. Renamed the Dfs and Bfs visitors. * gegl/gegl-bfs-visitor.c * gegl/gegl-bfs-visitor.h * gegl/gegl-dfs-visitor.c * gegl/gegl-dfs-visitor.h Removed these. * tests/Makefile.am * tests/addtest.c * tests/constmulttest.c * tests/copytest.c * tests/filltest.c * tests/imagetest.c * tests/optest.c * tests/pointoptest.c * tests/printtest.c * tests/simpletreetest.c * tests/testgegl.c * tests/testutils.c * tests/testutils.h * tests/valuetest.c Changed the teardown and setup routine names for these. Changed the name of functions in testutils. * tests/filtertest.c Added filter tests. 2002-03-27 Calvin Williamson * gegl/gegl-bfs-visitor.c * gegl/gegl-bfs-visitor.h * gegl/gegl-dfs-visitor.c * gegl/gegl-dfs-visitor.h * gegl/gegl-visitor.c * gegl/gegl-visitor.h Made visitors for the traversal work done during evaluation of a graph. These are regular GoF visitor patterns where the element classes are Node, Op, and Filter. The visitor classes are Visitor(abstract), BfsVisitor, DfsVisitor, and have visit_node, visit_op, visit_filter methods that specify the operations done on the nodes during traversal. A graph is evaluated by traversing first breadth first to compute need rects and pass down inherited attributes. This is followed by a depth first pass to compute have rects, result rects, color models and to do the evaluation of the node. * gegl/Makefile.am * gegl/gegl-comp-premult.gil * gegl/gegl-comp.gil * gegl/gegl-const-mult.gil * gegl/gegl-copy.c * gegl/gegl-dark.gil * gegl/gegl-diff.gil * gegl/gegl-fill.c * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-light.gil * gegl/gegl-max.gil * gegl/gegl-min.gil * gegl/gegl-mult.gil * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.c * gegl/gegl-object.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-premult.gil * gegl/gegl-print.c * gegl/gegl-sampled-image.c * gegl/gegl-screen.gil * gegl/gegl-subtract.gil * gegl/gegl-types.h * gegl/gegl-unpremult.gil * gegl/gegl.h Updated these to use visitors above. Moved most of the traversal code out of Filter and into the visitor classes. * tests/gegl-mock-visitor.c * tests/gegl-mock-visitor.h Test classes for visitor. * tests/Makefile.am * tests/filltest.c * tests/gegl-mock-op.c * tests/nodetest.c * tests/objecttest.c * tests/optest.c * tests/sampledimagetest.c * tests/testgegl.c Update tests for visitor changes. 2002-03-16 Calvin Williamson * gegl/Makefile.am * gegl/gegl-add.gil * gegl/gegl-comp-premult.gil * gegl/gegl-comp.gil * gegl/gegl-const-mult.gil * gegl/gegl-copy.c * gegl/gegl-dark.gil * gegl/gegl-diff.gil * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-light.gil * gegl/gegl-max.gil * gegl/gegl-min.gil * gegl/gegl-mult.gil * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.c * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-premult.gil * gegl/gegl-print.c * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen.gil * gegl/gegl-stat-op.c * gegl/gegl-subtract.gil * gegl/gegl-tile-mgr.c * gegl/gegl-tile-mgr.h * gegl/gegl-tile.c * gegl/gegl-types.h * gegl/gegl-unpremult.gil * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl.h Updated these. Changed GeglNode to support multiple outputs. This means that every op specifies a num_inputs and a num_outputs when created. (in instance init mostly). Then there can be a list of output nodes attached to each output. (So Node's outputs field is a list of lists). With this the inputs for each node now give their corresponding output index. Also changed the Op so that outputs and inputs of ops correspond to GValues, so that the basic evaluate routine in Op now takes a list of output values and input values to process. Got rid of OpRequests. * gegl/gegl-filter.c * gegl/gegl-filter.h * gegl/gegl-param-specs.c * gegl/gegl-param-specs.h * gegl/gegl-value-transform.c * gegl/gegl-value-types.c * gegl/gegl-value-types.h Added these. Added GValues for passing output and input data. Introduced a GeglImageData (see value-types.h) which replaces the old GeglOpRequests. There is a new "container" op type, which is called Filter. This is the composite piece of the pattern and replaces the ImageMgr (now gone), handling graph traversal of the op children that it contains. * gegl/gegl-image-mgr.c * gegl/gegl-image-mgr.h * gegl/gegl-simple-image-mgr.c * gegl/gegl-simple-image-mgr.h Removed. Moved the code in these to Filter now. Filter talks directly to the TileMgr instead. * tests/Makefile.am * tests/addtest.c * tests/constmulttest.c * tests/copytest.c * tests/filltest.c * tests/imagetest.c * tests/nodetest.c * tests/objecttest.c * tests/optest.c * tests/pointoptest.c * tests/printtest.c * tests/sampledimagetest.c * tests/simpletreetest.c * tests/statoptest.c * tests/testgegl.c * tests/testutils.c * tests/testutils.h * tests/tiletest.c Updated these to reflect changes above. * tests/gegl-mock-image.c * tests/gegl-mock-image.h * tests/gegl-mock-node.c * tests/gegl-mock-node.h * tests/gegl-mock-object.c * tests/gegl-mock-object.h * tests/gegl-mock-op.c * tests/gegl-mock-op.h * tests/gegl-mock-point-op.c * tests/gegl-mock-point-op.h * tests/valuetest.c Added some mock objects to test things in abstract classes (Node, Op, etc). * tests/imagemgrtest.c * tests/simpleimagemgrtest.c Removed the old ImageMgr tests. 2001-12-22 Calvin Williamson * gegl/gegl-add-impl.gil * gegl/gegl-add-impl.h * gegl/gegl-add.c * gegl/gegl-comp-impl.gil * gegl/gegl-comp-impl.h * gegl/gegl-comp-premult-impl.gil * gegl/gegl-comp-premult-impl.h * gegl/gegl-comp-premult.c * gegl/gegl-comp.c * gegl/gegl-const-mult-impl.gil * gegl/gegl-const-mult-impl.h * gegl/gegl-const-mult.c * gegl/gegl-copy-impl.c * gegl/gegl-copy-impl.h * gegl/gegl-dark-impl.gil * gegl/gegl-dark-impl.h * gegl/gegl-dark.c * gegl/gegl-diff-impl.gil * gegl/gegl-diff-impl.h * gegl/gegl-diff.c * gegl/gegl-fill-impl.c * gegl/gegl-fill-impl.h * gegl/gegl-image-impl.c * gegl/gegl-image-impl.h * gegl/gegl-light-impl.gil * gegl/gegl-light-impl.h * gegl/gegl-light.c * gegl/gegl-max-impl.gil * gegl/gegl-max-impl.h * gegl/gegl-max.c * gegl/gegl-min-impl.gil * gegl/gegl-min-impl.h * gegl/gegl-min.c * gegl/gegl-mult-impl.gil * gegl/gegl-mult-impl.h * gegl/gegl-mult.c * gegl/gegl-op-impl.c * gegl/gegl-op-impl.h * gegl/gegl-point-op-impl.c * gegl/gegl-point-op-impl.h * gegl/gegl-premult-impl.gil * gegl/gegl-premult-impl.h * gegl/gegl-premult.c * gegl/gegl-print-impl.c * gegl/gegl-print-impl.h * gegl/gegl-sampled-image-impl.c * gegl/gegl-sampled-image-impl.h * gegl/gegl-screen-impl.gil * gegl/gegl-screen-impl.h * gegl/gegl-screen.c * gegl/gegl-stat-op-impl.c * gegl/gegl-stat-op-impl.h * gegl/gegl-subtract-impl.gil * gegl/gegl-subtract-impl.h * gegl/gegl-subtract.c * gegl/gegl-unpremult-impl.gil * gegl/gegl-unpremult-impl.h * gegl/gegl-unpremult.c * tests/addimpltest.c * tests/constmultimpltest.c * tests/fillimpltest.c * tests/opimpltest.c * tests/pointopimpltest.c * tests/printimpltest.c * tests/sampledimageimpltest.c * tests/statopimpltest.c Removed these. * gegl/gegl-add.gil * gegl/gegl-comp-premult.gil * gegl/gegl-comp.gil * gegl/gegl-const-mult.gil * gegl/gegl-dark.gil * gegl/gegl-diff.gil * gegl/gegl-light.gil * gegl/gegl-max.gil * gegl/gegl-min.gil * gegl/gegl-mult.gil * gegl/gegl-premult.gil * gegl/gegl-screen.gil * gegl/gegl-subtract.gil * gegl/gegl-unpremult.gil Added these. * gegl/Makefile.am * gegl/gegl-buffer.h * gegl/gegl-comp-premult.h * gegl/gegl-comp.h * gegl/gegl-const-mult.h * gegl/gegl-copy.c * gegl/gegl-copy.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-image-mgr.c * gegl/gegl-image-mgr.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-simple-image-mgr.c * gegl/gegl-simple-image-mgr.h * gegl/gegl-stat-op.c * gegl/gegl-stat-op.h * gegl/gegl-tile-mgr.c * gegl/gegl-tile-mgr.h * gegl/gegl-tile.h * gegl/gegl.h * tests/Makefile.am * tests/constmulttest.c * tests/testgegl.c * tests/testutils.c Updated these. Took out the impl classes for now. I think we should wait on these till later. For the time being it should be easier to work without them. 2001-12-09 Calvin Williamson * gegl/gegl-add-impl.gil * gegl/gegl-add-impl.h * gegl/gegl-add.c * gegl/gegl-add.h * gegl/gegl-buffer.c * gegl/gegl-buffer.h * gegl/gegl-color-model-gray-float.c * gegl/gegl-color-model-gray-float.h * gegl/gegl-color-model-gray-u16.c * gegl/gegl-color-model-gray-u16.h * gegl/gegl-color-model-gray-u8.c * gegl/gegl-color-model-gray-u8.h * gegl/gegl-color-model-gray.c * gegl/gegl-color-model-gray.h * gegl/gegl-color-model-rgb-float.c * gegl/gegl-color-model-rgb-float.h * gegl/gegl-color-model-rgb-u16.c * gegl/gegl-color-model-rgb-u16.h * gegl/gegl-color-model-rgb-u8.c * gegl/gegl-color-model-rgb-u8.h * gegl/gegl-color-model-rgb.c * gegl/gegl-color-model-rgb.h * gegl/gegl-color-model.c * gegl/gegl-color-model.h * gegl/gegl-color.c * gegl/gegl-color.h * gegl/gegl-comp-impl.gil * gegl/gegl-comp-impl.h * gegl/gegl-comp-premult-impl.gil * gegl/gegl-comp-premult-impl.h * gegl/gegl-comp-premult.c * gegl/gegl-comp-premult.h * gegl/gegl-comp.c * gegl/gegl-comp.h * gegl/gegl-const-mult-impl.gil * gegl/gegl-const-mult-impl.h * gegl/gegl-const-mult.c * gegl/gegl-const-mult.h * gegl/gegl-copy-impl.c * gegl/gegl-copy-impl.h * gegl/gegl-copy.c * gegl/gegl-copy.h * gegl/gegl-dark-impl.gil * gegl/gegl-dark-impl.h * gegl/gegl-dark.c * gegl/gegl-dark.h * gegl/gegl-diff-impl.gil * gegl/gegl-diff-impl.h * gegl/gegl-diff.c * gegl/gegl-diff.h * gegl/gegl-fill-impl.c * gegl/gegl-fill-impl.h * gegl/gegl-fill.c * gegl/gegl-fill.h * gegl/gegl-image-impl.c * gegl/gegl-image-impl.h * gegl/gegl-image-mgr.c * gegl/gegl-image-mgr.h * gegl/gegl-image.c * gegl/gegl-image.h * gegl/gegl-light-impl.gil * gegl/gegl-light-impl.h * gegl/gegl-light.c * gegl/gegl-light.h * gegl/gegl-max-impl.gil * gegl/gegl-max-impl.h * gegl/gegl-max.c * gegl/gegl-max.h * gegl/gegl-mem-buffer.c * gegl/gegl-mem-buffer.h * gegl/gegl-min-impl.gil * gegl/gegl-min-impl.h * gegl/gegl-min.c * gegl/gegl-min.h * gegl/gegl-mult-impl.gil * gegl/gegl-mult-impl.h * gegl/gegl-mult.c * gegl/gegl-mult.h * gegl/gegl-node.c * gegl/gegl-node.h * gegl/gegl-object.c * gegl/gegl-object.h * gegl/gegl-op-impl.c * gegl/gegl-op-impl.h * gegl/gegl-op.c * gegl/gegl-op.h * gegl/gegl-point-op-impl.c * gegl/gegl-point-op-impl.h * gegl/gegl-point-op.c * gegl/gegl-point-op.h * gegl/gegl-premult-impl.gil * gegl/gegl-premult-impl.h * gegl/gegl-premult.c * gegl/gegl-premult.h * gegl/gegl-print-impl.c * gegl/gegl-print-impl.h * gegl/gegl-print.c * gegl/gegl-print.h * gegl/gegl-sampled-image-impl.c * gegl/gegl-sampled-image-impl.h * gegl/gegl-sampled-image.c * gegl/gegl-sampled-image.h * gegl/gegl-scanline-processor.c * gegl/gegl-scanline-processor.h * gegl/gegl-screen-impl.gil * gegl/gegl-screen-impl.h * gegl/gegl-screen.c * gegl/gegl-screen.h * gegl/gegl-simple-image-mgr.c * gegl/gegl-simple-image-mgr.h * gegl/gegl-stat-op-impl.c * gegl/gegl-stat-op-impl.h * gegl/gegl-stat-op.c * gegl/gegl-stat-op.h * gegl/gegl-subtract-impl.gil * gegl/gegl-subtract-impl.h * gegl/gegl-subtract.c * gegl/gegl-subtract.h * gegl/gegl-tile-iterator.c * gegl/gegl-tile-iterator.h * gegl/gegl-tile-mgr.c * gegl/gegl-tile-mgr.h * gegl/gegl-tile.c * gegl/gegl-tile.h * gegl/gegl-types.h * gegl/gegl-unpremult-impl.gil * gegl/gegl-unpremult-impl.h * gegl/gegl-unpremult.c * gegl/gegl-unpremult.h * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/gegl.h Removed gob from the project, and ported to glib2.0. All classes now are GObjects, and are constructed with g_object_new. Gtk is no longer required. Split the op classes into a graph related (extrinsic) part, and an image processing (intrinsic) part. Added glib properties for some classes. Lots of other changes, Ill update the docs/geglClasses.html to reflect changes. * tools/testsuite/Makefile.am * tools/testsuite/csuite.c * tools/testsuite/csuite.h * tools/testsuite/ctest.c * tools/testsuite/ctest.h * tools/testsuite/testcomplex.c A xUnit testing setup. This is used for unit tests below in the tests dir. testcomplex.c is an example of using the framework. * tests/Makefile.am * tests/addimpltest.c * tests/addtest.c * tests/buffertest.c * tests/colormodelrgbfloattest.c * tests/colormodelrgbtest.c * tests/colormodeltest.c * tests/colortest.c * tests/constmultimpltest.c * tests/constmulttest.c * tests/copytest.c * tests/fillimpltest.c * tests/filltest.c * tests/imagemgrtest.c * tests/imagetest.c * tests/membuffertest.c * tests/nodetest.c * tests/objecttest.c * tests/opimpltest.c * tests/optest.c * tests/pointopimpltest.c * tests/pointoptest.c * tests/printimpltest.c * tests/printtest.c * tests/sampledimageimpltest.c * tests/sampledimagetest.c * tests/simpleimagemgrtest.c * tests/simpletreetest.c * tests/statopimpltest.c * tests/statoptest.c * tests/testgegl.c * tests/testgeglfile.c * tests/testutils.c * tests/testutils.h * tests/tileiteratortest.c * tests/tilemgrtest.c * tests/tiletest.c A set of unit tests for gegl development. testgegl.c sets up the tests. 2001-06-07 Calvin Williamson * docs/geglClasses.html * docs/images/image_request.png * docs/images/image_to_image_manager_bridge.png Updating the geglClasses.html doc to match the last checkin. 2001-06-06 Calvin Williamson * gegl/gegl-statistics-op.gob * gegl/gegl.h Added these. * configure.in * docs/TODO.xml * autogen.sh * configure.in * docs/TODO.xml * gegl/Makefile.am * gegl/gegl-add-op.gil * gegl/gegl-cache.gob * gegl/gegl-color-convert-op.gob * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u16.gob * gegl/gegl-color-model-gray-u16_4.gob * gegl/gegl-color-model-gray-u8.gob * gegl/gegl-color-model-gray.gob * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u16.gob * gegl/gegl-color-model-rgb-u16_4.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color-model-rgb.gob * gegl/gegl-color-model.gob * gegl/gegl-color.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-copy-op.gob * gegl/gegl-dark-op.gil * gegl/gegl-data-buffer.gob * gegl/gegl-diff-op.gil * gegl/gegl-dual-src-op.gob * gegl/gegl-fill-op.gob * gegl/gegl-image-buffer.gob * gegl/gegl-image-manager.gob * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-n-src-op.gob * gegl/gegl-node.gob * gegl/gegl-object.gob * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-premult-op.gil * gegl/gegl-print-op.gob * gegl/gegl-screen-op.gil * gegl/gegl-single-src-op.gob * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil * gegl/gegl-tile-image-manager.gob * gegl/gegl-tile-iterator.gob * gegl/gegl-tile.gob * gegl/gegl-unpremult-op.gil * gegl/gegl-utils.c * gegl/gegl-utils.h * tests/testgegl.c Moved the class structure around a bit. Op class inherits from Node now. Image, StatisticsOp (and possibly others) inherit from this. PointOp, ImageBuffer still inherit from Image. The basic idea is that Image and its subclasses are operations that produce a destination image during operation. Anything else should subclass Op, which has the notion for some kind of operation with a prepare,process, and finish stage. But an Op does not need to write an output image. It may have inputs and be included in image graphs like Image operations. Whenever a node needs an Image input for operation, it follows the graph down through any non-Image ops until it finds an Image op to use as input. Generally Image inputs pass through non-Image ops without being altered. Also renamed the main "get_pixels" routine to "apply" so that the main processing routine is now called gegl_op_apply (See GeglOp and tests/testgegl.c for examples. I'll try to update docs/geglClasses.html shortly with all this. 2001-03-06 Calvin Williamson Added: * gegl/gegl-cache.gob * gegl/gegl-data-buffer.gob * gegl/gegl-image-manager.gob * gegl/gegl-tile.gob * gegl/gegl-tile-image-manager.gob * gegl/gegl-tile-iterator.gob These are new classes: GeglImageManager (and GeglTileImageManager)-these deal with setting up ops, and fetching tiles from the cache to pass to the ops. GeglCache-stores tiles and passes them to GeglTileImageManager GeglDataBuffer-banks of data. GeglTiles have these. GeglTile-image data chunks. Can be any size, have a colormodel, and are the things that get passed back to ops prepare,apply,finish routines. GeglTiles have pointers to data buffers that hold the actual data. GeglTileIterator- a scanline iterator over a portion of a GeglTile More docs on all these upcoming shortly. Updated: * gegl/Makefile.am * gegl/gegl-add-op.gil * gegl/gegl-color-convert-op.gob * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u16.gob * gegl/gegl-color-model-gray-u16_4.gob * gegl/gegl-color-model-gray-u8.gob * gegl/gegl-color-model-gray.gob * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u16.gob * gegl/gegl-color-model-rgb-u16_4.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color-model-rgb.gob * gegl/gegl-color-model.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-copy-op.gob * gegl/gegl-dark-op.gil * gegl/gegl-diff-op.gil * gegl/gegl-fill-op.gob * gegl/gegl-image-buffer.gob * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-n-src-op.gob * gegl/gegl-object.gob * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-premult-op.gil * gegl/gegl-print-op.gob * gegl/gegl-screen-op.gil * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil * gegl/gegl-types.h * gegl/gegl-unpremult-op.gil * gegl/gegl-utils.c * gegl/gegl-utils.h * tests/Makefile.am * tests/testgegl.c -made all these work with the new ImageManager, Tiles, etc. Removed: * gegl/gegl-image-iterator.h -this is replaced by the tile iterators. 2001-02-19 Jay Cox * opgen/test-op.xml: new test operator * opgen/blend.xml * opgen/geglgen.pl * opgen/Gegl/Config.pm * opgen/Gegl/Op.pm * opgen/Gegl/PointOp.pm * opgen/Gegl/PointProcessor.pm * opgen/Gegl/XML.pm * opgen/Gegl/XML/PointProcessor.pm: Updates to make the output compile. * opgen/README * docs/TODO.xml: update current status. 2001-02-12 Calvin Williamson * docs/geglClasses.html * gegl/gegl-add-op.gil * gegl/gegl-dark-op.gil * gegl/gegl-diff-op.gil * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-screen-op.gil * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil moved the have_rect, need_rect, result_rect all to GeglImage. * tests/testgegl.c * tests/testgeglfile.c updated these to work the GEGL_ prefixes 2001-02-10 Jay Cox * codegen/test_files/gegl-print-op.gil * gegl/gegl-color-*.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-fill-op.gil * gegl/gegl-n-src-op.gil * gegl/gegl-print-op.gil * gegl/gegl-utils.c * gegl/gegl-types.h Add a GEGL_ prefix to the enums defined in gegl-types.h * opgen/Gegl/Config.pm * opgen/Gegl/Op.pm * opgen/Gegl/PointOp.pm * opgen/Gegl/PointProcessor.pm Fix some bugs in the output. 2001-02-09 Jay Cox * opgen/Gegl/PointProcessor.pm Replace the alpha component of pixels with MAX_CHANNEL for buffers that don't have an alpha channel. * opgen/blend.xml: A new test operator. * opgen/README * docs/TODO.xml Update accordingly 2001-02-05 Jay Cox * opgen/Gegl/Op.pm Fix capitalization. * gegl/gegl-n-src-op.gob * opgen/Gegl/PointOp.pm minor fixes * opgen/Gegl/PointProcessor.pm Only generate the _has_alpha variables if we are going to use them. * docs/TODO.xml update opgen status 2001-02-04 Calvin Williamson * Makefile.am * configure.in * gegl/Makefile.am * gegl/gegl-add-op.gil * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-image-buffer.gob * gegl/gegl-image.gob * gegl/gegl-n-src-op.gob * gegl/gegl-node.gob * gegl/gegl-op.gob * gegl/gegl-point-op.gob Changed these so the "name" of the op is just taken from the class name instead of passing a name up to constructor chain. Removed testgegl,testgeglfile from gegl/Makefile.am. Added tests and docs dir to Makefile.am and configure.in. * gegl/testgegl.c * gegl/testgeglfile.c Moved these to a separate tests dir. * tests/Makefile.am * tests/testgegl.c * tests/testgeglfile.c * docs/Makefile.am * docs/TODO.xml * docs/make-todo Added these so that our TODO lists work like gtk, gimp, etc. * docs/codegen.html * docs/gegl.html * docs/geglClasses.html Updated these, fixed links.. * docs/geglTasks.html Removed this, since we can just use TODO.xml instead. 2001-02-04 Jay Cox * opgen/README updated TODO section. * opgen/geglopgen.dtd added prepare element. * opgen/Gegl/Config.pm Changed enum names. * opgen/Gegl/XML/PointOp.pm * opgen/Gegl/PointOp.pm made the prepare function customizable * opgen/Gegl/PointProcessor.pm removed the mask_mask calculation. fixed some bugs. * gegl/Makefile.am * gegl/gegl-n-src-op.gob New file that operators created with opgen use as a base class. 2001-02-04 Jay Cox * opgen/README * opgen/geglopgen.dtd * opgen/geglgen.pl * opgen/subtract.xml * opgen/Gegl/Config.pm * opgen/Gegl/Op.pm * opgen/Gegl/PointOp.pm * opgen/Gegl/PointProcessor.pm * opgen/Gegl/XML.pm * opgen/Gegl/XML/PointOp.pm * opgen/Gegl/XML/PointProcessor.pm Initial Checkin for opgen. Opgen generates gegl-operators from XML files. The code it generates isn't good enough to compile, but it is pretty close. 2001-02-04 Calvin Williamson * Makefile.am * configure.in * gegl/Makefile.am Checks for gob 1.0.5 and gtk/glib 1.2.8 now. * gil/Makefile.am * gil/README * gil/TODO * gil/gilast.c * gil/gilast.h * gil/gilinterpret.c * gil/gilinterpret.h * gil/gilsymbol.c * gil/gilsymbol.h * gil/gilsymboltable.c * gil/gilsymboltable.h * gil/giltype.c * gil/giltype.h * gil/lexer.l * gil/parse.y * gil/test.gil Added this directory for gil. This is a new abstract syntax tree version of the the code-generator. It builds asts for simple expressions (not proper gil syntax yet). It will generate code during tree traversal. Right now it just prints out the ast. See gil/README and gil/test.gil. Needs symbol table work, and the real gil syntax to be useful. 2001-01-04 Calvin Williamson * README * gegl/Makefile.am * gegl/gegl-add-op.gil * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u16.gob * gegl/gegl-color-model-gray-u16_4.gob * gegl/gegl-color-model-gray-u8.gob * gegl/gegl-color-model-gray.gob * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u16.gob * gegl/gegl-color-model-rgb-u16_4.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color-model-rgb.gob * gegl/gegl-color-model.gob * gegl/gegl-color.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-copy-op.gob * gegl/gegl-copychan-op.gob * gegl/gegl-dark-op.gil * gegl/gegl-diff-op.gil * gegl/gegl-fill-op.gob * gegl/gegl-image-buffer.gob * gegl/gegl-image-iterator.gob * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-node.gob * gegl/gegl-object.gob * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-premult-op.gil * gegl/gegl-print-op.gob * gegl/gegl-screen-op.gil * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil * gegl/gegl-unpremult-op.gil * gegl/testgegl.c * gegl/testgeglfile.c Changed to use protected and private data and methods more like in C++. See README in top directory for an update on how things work now. Also fixed some ref counting bugs and introduced some ref counting debugging in gegl-object. Updated some names, to do be more consistent. Now we use this naming scheme: self always refers to the current class. self_bleah means "self cast to superclass bleah". eg in PointOp class, self would refer to "this" (ie a PointOp), and self_op = GEGL_OP(self) would refer to "self as superclass op". * gegl/gegl-print-op.gil * gegl/gegl-fill-op.gil Removed these for now, till autogeneration works for multiple data types at once. gob version has all data types in it for now. 2001-01-19 Calvin Williamson * gegl/gegl-node.gob - added node class. This is for management of image graphs (dags). * gegl/Makefile.am * gegl/gegl-add-op.gil * gegl/gegl-color-convert-op.gob * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u16.gob * gegl/gegl-color-model-gray-u16_4.gob * gegl/gegl-color-model-gray-u8.gob * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u16.gob * gegl/gegl-color-model-rgb-u16_4.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-copy-op.gob * gegl/gegl-copychan-op.gob * gegl/gegl-dark-op.gil * gegl/gegl-diff-op.gil * gegl/gegl-dual-src-op.gob * gegl/gegl-fill-op.gob * gegl/gegl-image-buffer.gob * gegl/gegl-image-iterator.gob * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-object.gob * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-premult-op.gil * gegl/gegl-print-op.gob * gegl/gegl-screen-op.gil * gegl/gegl-single-src-op.gob * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil * gegl/gegl-unpremult-op.gil * gegl/testgegl.c * docs/gegl.html * docs/geglTasks.html Updated all of these to work with the Node class. Since this introduced ref counting on the graphs, there are some ref bugs in testgegl.c now, Ill track these down soon. Run with GTK_DEBUG=objects on for debugging. 2000-11-18 Garry R. Osgood * gegl/docs/pr_docs/introduction.tex * gegl/docs/pr_docs/gimp.tex Reread Cavin's email of 11:24 am and decided that the tail of the introduction had to address the "expectations" problem head on. I think it does now. 2000-11-17 Garry R. Osgood * gegl/docs/pr_docs/introduction.tex * gegl/docs/pr_docs/gimp.tex Aligned doc structure and intro content overview with Calvin's 09-17-2000 e-mail 2000-11-17 Garry R. Osgood * gegl/docs/pr_docs/introduction.tex * gegl/docs/pr_docs/gimp.tex Changes to introduction, and document ordering, per Sept 16 2000 email to Caro, Calvin, Yosh. 2000-11-16 Garry R. Osgood * gegl/docs/pr_docs/schedule.tex Minor typos. Tabulated hours. Memory management issues cribbed from Shantzis 1994 compositing paper, a turf very similar to GEGL. 2000-11-02 Calvin Williamson * gegl/Makefile.am Removed some duplicate lines in Makefile.am for gegl-fill-op.h gegl-print-op.h gegl-fill-op-private.h gegl-print-op-private.h gegl-fill-op.c gegl-print-op.c 2000-08-29 Calvin Williamson * gegl/gegl-add-op.gil * gegl/gegl-color-convert-op.gob * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-composite-op.gil * gegl/gegl-composite-premult-op.gil * gegl/gegl-copy-op.gob * gegl/gegl-copychan-op.gob * gegl/gegl-dark-op.gil * gegl/gegl-diff-op.gil * gegl/gegl-image-buffer.gob * gegl/gegl-image-iterator.gob * gegl/gegl-image.gob * gegl/gegl-light-op.gil * gegl/gegl-max-op.gil * gegl/gegl-min-op.gil * gegl/gegl-mult-op.gil * gegl/gegl-op.gob * gegl/gegl-point-op.gob * gegl/gegl-premult-op.gil * gegl/gegl-screen-op.gil * gegl/gegl-subtract-op.gil * gegl/gegl-test-op.gil * gegl/gegl-unpremult-op.gil * gegl/gegl-utils.c * gegl/gegl-utils.h * gegl/testgegl.c I changed the ImageBuffer class and moved the data for it to the Image class. This allowed the Op class to be done without using the extra ImageBuffers. Now the memory for Ops calculations is allocated and stored in data field of the Image class only if it needs it during get_pixels. This makes more sense and simplifies the Op class. Ops can only have memory allocated during get_pixels. ImageBuffers are allocated when created though. Also introduced haveRects (domain of definitions), needRects (roi) and resultRects fields and methods for Op, Images.(see Shantzis Siggraph94 for these terms) 2000-08-21 Calvin Williamson * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color-model-rgb-u16-.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u8.gob: * gegl/gegl-color-model-gray-u16.gob Updated each of these to implement converters for CopyOp to call. * gegl/Makefile.am: * gegl/gegl-copy-op.gob: * gegl/gegl-copy-op.gil: Removed copy-op.gil, added copy-op.gob since this is done by calling converters now. * gegl/gegl-op.gob: * gegl/gegl-image-buffer.gob: * gegl/gegl-image.gob: Took out copy_pixels from Image, and Op and moved to ImageBuffer Put in some offsets for the sources relative to Op. * gegl/testgegl.c: Put in tests for CopyOp. 2000-08-07 Calvin Williamson * gegl/gegl-color-convert-op.gob * gegl/gegl-color-convert-to-rgb-op.gob * gegl/gegl-color-convert-to-gray-op.gob * gegl/gegl-color-model.gob * gegl/gegl-color-model-rgb-float.gob * gegl/gegl-color-model-rgb-u8.gob * gegl/gegl-color-model-rgb-u16-.gob * gegl/gegl-color-model-gray-float.gob * gegl/gegl-color-model-gray-u8.gob: * gegl/gegl-color-model-gray-u16.gob * gegl/Makefile.am: Finished the ColorConvertOps. ColorConvertOp now looks for a converter to use to convert from a passed source color model. If it cant find a converter then it uses a conversion through XYZ space. See ColorConvertOp and ColorModel for details. The color models implement their converters as "interfaces" (see gegl_object_add_interface) Also see the constructor of any of the specific ColorModel classes for details. * gegl/gegl-color-convert-to-rgb-float-op.gob * gegl/gegl-color-convert-to-gray-float-op.gob * gegl/gegl-color-convert-to-rgb-u8-op.gob * gegl/gegl-color-convert-to-gray-u8-op.gob * gegl/gegl-color-convert-to-rgb-u16-op.gob * gegl/gegl-color-convert-to-gray-u16-op.gob * gegl/gegl-color-convert-to-rgb-u16_4-op.gob * gegl/gegl-color-convert-to-gray-u16_4-op.gob: Removed these. Only need ColorConvertToRgbOp, ColorConvertToGrayOp for these. It converts to whatever data type the dest has. * gegl/testgegl.c: Cleaned up testgegl to reflect the above changes. * gegl/gegl-image-iterator.gob: fixed bug where num_channels was calculated wrong. 2000-07-03 Calvin Williamson * Redid ColorConvertOp to use the new Image, Op,ImageBuffer class structures. * Added ColorConvertOpToRgb, ColorConvertOpToGray. * ColorConvertOp does the XYZ conversion if a direct converter routine cant be found for the conversion. * Changed testgegl to have tests for these conversion routines. 2000-07-01 Caroline Dahloff * updated www.gegl.org * changed gegl-copy-op, gegl-image-buffer, testgeglfile copy-op is now a single-op and image-buffer copy pixels uses copy-op. i added test code for copy-op in testgelfile 2000-07-01 Caroline Dahloff * added gegl/gegl-copy-op.gil * added gegl/gegl-copy-op.gil to Makefile.am * updated docs/gegl.html and docs/geglTasks.html 2000-06-28 Caroline Dahloff * updated docs/geglTasks.html * added diff-op to gegl/Makefile.am * implemented copy_pixel and get_pixel for gegl/gegl-image-buffer.gob 2000-06-27 Caroline Dahloff * updated docs/gegl.html and geglTasks.html * fixed bugs in gegl/gegl-copychan-op.gob * added test code for copychan in testgeglfile.c 2000-06-26 Caroline Dahloff * changed links in docs/gegl.html and codegen.html * added copychan to gegl/Makefil.am * made gegl-copychan-op.gob compadible with the new class structure. 2000-06-23 Calvin Williamson * docs/gegl.html-added description of documents *README-brought this up to date. 2000-06-22 Calvin Williamson * docs/gegl.html-updated the description and links. 2000-06-22 Calvin Williamson * gegl/testgegl.c-removed gegl-graphics-state.h since its no longer needed. 2000-06-21 Caroline Dahloff * check in for docs * updated gegl.html and geglTask.gegl 2000-06-21 Caroline Dahloff * check in for gegl * rm gfx-state and drawable .gob 2000-06-14 Caroline Dahloff * check in for docs * checked in gegl.html and gegl.jpg 2000-06-20 Caroline Dahloff * updated docs/gegl.html to have a Getting Gegl, News, and more References sections. 2000-06-20 Caroline Dahloff * added docs/geglTasks.html * updated docs/gegl.html to have a CurrentTasks section. 2000-06-06 Caroline Dahloff * rm .ps files in docs/gimpcon2000/caro 2000-05-31 Caroline Dahloff * updated docs 2000-05-31 Caroline Dahloff * check in for docs. * I am updating all the docs for the gimpcon 2000-05-31 Jay Cox * docs/geglImageAndOp.html: Added a little to the geglIterator section. 2000-05-30 Caroline Dahloff * check int for docs * added pictures for the r-n-h slides. * check in for gegl * change the ops to that they would work with the new design. * change Makefile.am 2000-05-30 Caroline Dahloff * check in for docs * added gegl.html * updated codegen.html and the slides for the gimpcon. 2000-05-30 Caroline Dahloff * Many changes to Op, Image, ImageBuffer. Made Op and ImageBuffer inherit from common Image class, so we can do image chaining. (see doc/geglImageAndOp.html) * changes to doc/geglImageAndOp.html to describe the new classes * some classes arent rewritten yet for this new stuff. All the color convert ops, copy_chan op, and most of the remaining point ops need converting (point ops will be just like MultOp). *added a files gegl/trace.[ch] useful for debugging get_pixels routine. 2000-05-25 Caroline Dahloff * check in for docs * I added these files: - codegen.html - gegl-color-model.html - gegl-color-model.gif - gegl-color-convert-op.html - gegl-color-convert-op.gif - gimp2000/caro/slides.tex - gimp2000/caro/r-n-h.tex 2000-05-24 Caroline Dahloff * check in for codegen * fixed a bug 2000-05-22 Jay Cox * doc/geglImageAndOp.html: additions and changes. 2000-05-22 Calvin Williamson * checking in doc/geglImageAndOp.html for Jays idea to move us to a more operator chain type op tree. 2000-05-29 Caroline Dahloff * check ing for docs * i have changed the slides.tex * check in for codegen * i have changed something in parser.y and lexer.l 2000-05-15 Caroline Dahloff * check in for docs * added all the aux files for slides.tex * check in for codegen * clean up 2000-05-14 Caroline Dahloff * check in for docs * added stuff to slides.tex * check in for codegen * changed code in lexer.l, parser.y, common.h to clean up 2000-05-12 Caroline Dahloff * check in for docs * initial draft for slides.tex 2000-05-12 Caroline Dahloff * check in for codegen * changed varibles names: - GENERIC_IMAGE_BLOCK ---> GENERIC_IMAGE_CODE BLOCK has been changed to CODE. It makes more sence. - DATA_TYPE /DATATYPE ---> DT_MACROS All the varibles that are related to the channel data files have been changed. * the test files have been updated and channel files and the readme to reflex the above change. * this is a some small changes in lexer.l and parser.y in an attempt to make the code more readable. * check in for docs * updated to reflex the above changes * check in for gegl * update the .gil file to reflex the above change 2000-05-11 Caroline Dahloff * check in for docs * I updated the siggraph web page. 2000-05-05 Caroline Dahloff * check in for docs * added the html page for gimp siggraph 2000-05-05 Caroline Dahloff * check in for gegl * I have rm gegl-fill-op.gob and added the file gegl-fill-op.gil. * I have changed the Makefile.am to reflect the above changed. * check in for codegen * changed test_files/gegl-fill-op.gil 2000-05-05 Caroline Dahloff * check in for codegen * rm the pixel data dir * changed parser.y so that it do no longer expect a pixel data file * for gegl * changed Makefile.am so that it does not include the pixel data file 2000-05-05 Caroline Dahloff * check in for codegen * updated the README to reflect the new changed 2000-05-05 Calvin Williamson * updated codegen/test_files/init_test file * removed codegen/pixel_data/gegl_pixel file - this is no longer needed. 2000-05-04 Caroline Dahloff * check in for docs * changed MIN/MAX_CHANNEL to CHANNEL_MIN/MAX * check in for codegen * The varible macro is now called EXTERNAL_INIT. you define this macro in the channel_data file. * I have changed the channel_data files 2000-05-04 Caroline Dahloff * check in for codegen * fixed the gegl-fill-op.gil file * fixed the pixel data file 2000-05-04 Calvin Williamson * added codegen/test_files/init_test 2000-05-03 Caroline Dahloff * check in for codegen * fixed test_files/gegl-fill-op.gil 2000-05-03 Caroline Dahloff * check in for codegen * fixed test_files/test 2000-05-03 Caroline Dahloff * check in for codegen * i have changed it so when you do pixel = ... and pixel might has an alpha it will write out the if (has_alpha). * changed test_files/test 2000-05-03 Caroline Dahloff * check in for gegl * changed its make file to handel the new codegen * check in for codegen * changed the way VARIBLES work, they are now called PIXEDL_INIT and CHANNEL_INIT * i have added a pixel data file to assist the ove function 2000-05-03 Caroline Dahloff * check in for codegen * I have fixed PRINT, I have also change the float channel file 2000-05-03 Calvin Williamson *fixed a problem with gegl/gegl-print-op.gil. Made it inherit from gegl-single-src-op.gob. We need a statistics op, which would be dest -less. histogram ops, and similar ops will inherit from this. *updated the PRINT macros in codegen/channel_data/float, u8, u16, u16_4k files. 2000-04-19 Calvin Williamson * remove gegl-fill-op.gil till that is working better. * update the Makefile.am for the above. 2000-04-19 Caroline Dahloff * check in for codegen * i have changed parser.y so that now it handels print_line better. for the has_alpha case with vectors. 2000-04-19 Caroline Dahloff * check in for gegl * I have changed the Makefile.am, I added gegl-fill-op.gil and gegl-print-op.gil * I have added the above files. 2000-04-12 Caroline Dahloff * check in for codegen * I have split Variable into two variables; Vector_Variable and Scaler_Variable. By doing this I have eliminated the first argument to the pervious Varible (Scale/Vector). Everything else works the same. * I have change a bit the internals of parser.y. Having _c, _v, _ca be special strings caused some problem so I have changed _ to $. These special string tokens are added to varibles when ther are added to a string so when I go to print the line (print_line) I know that I have to add certain sufixes to these varible depending on what line I am printing. * I have added the test_files/gegl-print-op.gil and test_files/gegl-fill-op.gil 2000-04-12 Caroline Dahloff * bug fix for my previous check in. 2000-04-12 Caroline Dahloff * check in for codegen * I have added printing option for codegen. You have to define PRINT (x) string in channel files, and you can now print color varibles. * I have added the notion of intorducing a varible into the G_I_BLOCK without having to define it in the G_I_DECL block. The syntax is VARIBLE(Scaler/Vector name of varible name of type). The varible needs to be define as a Scaler or a Vector. If it is defined as a vector then [num] will be added to the varible. The number will depend on the varibles that the varible is associated with. For example, if it is set equal to a Pixel with 3 channels, then for the first channel it would be [0], second channel it would be [1] and for the third channel it would be [3]. The name of the varible can be anything. With this there will be a file associated right now it is called file. In file the user can define any sufixes that he or she wants the varible to have. The syntax of this is type_name { datatype sufix ... } When the lexer finds a type name (it is optional, you do not have to add a type name), it will look in the file file for the type name and find the sufix depending on the datatyupe. * I have updated the channel files with the PRINT string * I have changed test_files_test to test the two new features * I have added the file file 2000-04-10 Calvin Williamson * changed these files in gegl dir: gegl/gegl-add-op.gil gegl/gegl-color-convert-to-gray-float-op.gob gegl/gegl-color-convert-to-gray-u16-op.gob gegl/gegl-color-convert-to-gray-u16_4-op.gob gegl/gegl-color-convert-to-gray-u8-op.gob gegl/gegl-color-convert-to-rgb-float-op.gob gegl/gegl-color-convert-to-rgb-u16-op.gob gegl/gegl-color-convert-to-rgb-u16_4-op.gob gegl/gegl-color-convert-to-rgb-u8-op.gob gegl/gegl-color-model-gray-float.gob gegl/gegl-color-model-gray-u16.gob gegl/gegl-color-model-gray-u16_4.gob gegl/gegl-color-model-gray-u8.gob gegl/gegl-color-model-gray.gob gegl/gegl-color-model-rgb-float.gob gegl/gegl-color-model-rgb-u16.gob gegl/gegl-color-model-rgb-u16_4.gob gegl/gegl-color-model-rgb-u8.gob gegl/gegl-color-model-rgb.gob gegl/gegl-color-model.gob gegl/gegl-composite-op.gil gegl/gegl-composite-premult-op.gil gegl/gegl-screen-op.gil gegl/gegl-subtract-op.gil gegl/gegl-unpremult-op.gil gegl/gegl-utils.c gegl/gegl-utils.h gegl/testgegl.c gegl/testgeglfile.c * updated the testgeglfile to create correct colormodels and image buffers automatically. * fixed GeglCompositeOp to take the composite alpha into account * removed the is_premultiplied flag from all the color_model_new constructors. * Added Promote, and SignedPromote casts to some other point ops. * changed these files in codegen dir: codegen/test_files/gegl-add-op.gil codegen/test_files/gegl-composite-op.gil codegen/test_files/gegl-composite-premult-op.gil codegen/test_files/gegl-mult-op.gil codegen/test_files/gegl-premult-op.gil codegen/test_files/gegl-screen-op.gil codegen/test_files/gegl-subtract-op.gil codegen/test_files/gegl-unpremult-op.gil 2000-04-08 Caroline Dahloff * check in for codegen * Added SignedPromote token I changed parser.y, lexer.l and data_types.h and the channel files * I also changed PROMOTE to PROMOTE_TYPE 2000-04-07 Caroline Dahloff * check in for codegen * I have added Promote to all the gil files in test_file 2000-04-06 Caroline Dahloff * check in for gegl * Corrected the Makefile.am to be float. 2000-04-06 Caroline Dahloff * checked in for codegen * updated the channel data files 2000-04-06 Caroline Dahloff * check in for codegen * added the promote to lexer.l data_type.h, and parser.y. * changed the channel data files so they have a PROMOTE field now 2000-04-04 Caroline Dahloff * check in for codegen * I changed the varible VectorCHan to Pixel and Chan to Channel * I changed the channel data files so that they dont use the MULT macro * check in for gegl * I added the following files - gegl-color-convert-to-gray-u16-op.gob - gegl-color-convert-to-gray-u16_4-op.gob - gegl-color-convert-to-rgb-u16-op.gob - gegl-color-convert-to-rgb-u16_4-op.gob - gegl-color-model-gray-u16.gob - gegl-color-model-gray-u16_4.gob * I fixed some display bugs in testgeglfile.c 2000-04-04 Caroline Dahloff * check in for gegl * gegl-types.h added varible to the enum and union to handle all the data types u8, u16, u16_4, float * changed testgeglfile to handle the new data types * created a color model for u16 and u16_4 - gegl-color-model-rgb-u16_4.gob - gegl-color-model-rgb-u16.gob 2000-04-04 Calvin Williamson * Added the first set of .gil files(.gil files generate .gob files) gegl/gegl-add-op.gil gegl/gegl-composite-op.gil gegl/gegl-composite-premult-op.gil gegl/gegl-dark-op.gil gegl/gegl-diff-op.gil gegl/gegl-light-op.gil gegl/gegl-max-op.gil gegl/gegl-min-op.gil gegl/gegl-mult-op.gil gegl/gegl-premult-op.gil gegl/gegl-screen-op.gil gegl/gegl-subtract-op.gil gegl/gegl-unpremult-op.gil * removed the .gob s for the above. These get generated by codegen. * Added info to generate .gob s from these .gils to gegl/Makefile.am * Updated gegl/testgeglfile.c to use TIFFGetR,TIFFGetB,etc. * In codegen/parser.y turned off debug flag * Updated the .gil test files in codegen/test_files. (We can remove these soon.) 2000-04-03 Caroline Dahloff * check in for codegen * lexer.l made sure that all the stated that read the channel files rm all extra tokens that they dont use for its grammar. 2000-04-03 Caroline Dahloff * check in for codegen * I have updated the channel data files. 2000-04-03 Caroline Dahloff * check in for codegen * fixed a bug in parser.y in the function print line. The problem was that it did not do the right think with scaler lines that had alpha varibles in them. 2000-03-29 Caroline Dahloff * check in for codegen * parser.y I turned off the debug print out for the lexer and the parser. This flag is in the main of parser.y. I left a comment about it there. * lexer.l I changed it so that when I read the string GENERIC_IMAGE_DECL_BEGIN I eat up all the new lines before it. Then I print all out except for one. It will leave one new line if GENERIC_IMAGE_DECL_BEGIN is on the first line. * check in for gegl * gegl-premult-op.gob for the ==0 case we for got to increment the src. Fixd that. 2000-03-29 Calvin Williamson * check in for codegen * removed some extra test files in codegen/test_files. * cleaned up codegen/channel_data files u8,u16,float,u16_4k * updated the html docs/genericImageLanguage.html, genericChannelData.html. * removed a .pregob file from gegl directory. Will use .gil files for this. 2000-03-29 Caroline Dahloff * check in for codegen * fixed extra line problems * i have create two new states for the lexer.l form data_type state on can either go directly to arguments or definition depending on what token one has just read. * updated codegen/README 2000-03-28 Caroline Dahloff * check in for codegen * this is a check in to transport data from work to home. There migh be bugs in code but it should compile and hopefully work. 2000-03-28 Caroline Dahloff * check in for codegen * I changed ROUND_CHANNEL to CHANNEL_ROUND in the following files: - parser.y - lexer.l - data_types.h - channel_data/* * I also made both END tokes for the lexer.l eat up all \n. It as giving me some extra new lines otherwise. 2000-03-28 Caroline Dahloff * check in for codegen * lexer.l I have changed it so that the lexer will look for the token Channnel instead of Chan and Pixel instead of VectorChan 2000-03-28 Caroline Dahloff * check in for codegen * I have made the following change to parser.y, lexer.l,common.h data_file.h, and the the files in channel_data CHAN_MULT to be CHANNEL_MULT MIN_CHAN to be MIN_CHANNEL MAX_CHAN to be MAX_CHANNEL CHAN_CLAMP to be CHANNEL_CLAMP ROUND to be CHANNEL_ROUND in other words i have changed CHAN to CHANNEL 2000-03-28 Calvin Williamson * check in for codegen * Updated all the .gil files in gegl/codegen/test_files: gegl-add-op.gil gegl-composite-op.gil gegl-composite-premult-op.gil gegl-dark-op.gil gegl-diff-op.gil gegl-light-op.gil gegl-max-op.gil gegl-min-op.gil gegl-mult-op.gil gegl-premult-op.gil gegl-screen-op.gil gegl-subtract-op.gil gegl-unpremult-op.gil * Changed VectorChan to Pixel, Chan to Channel in gegl/docs/genericImageLanguage.html gegl/docs/genericChannelData.html * updated all the test files gegl/codegen/test_files to use the new terms. * updated gegl/codegen/README a little. 2000-03-27 Caroline Dahloff * check in for codegen * print_info is added to lexer.l. This function will write out debug info in the code that is generated if DEBUG flag is set. This flag is defined in common.h * I added some ' ' to the data_files * I re-indented some of the test_files/gegl* 2000-03-27 Calvin Williamson * check in for codegen * updated these files: codegen/test_files/gegl-screen-op.gil codegen/test_files/gegl-dark-op.gil codegen/test_files/gegl-light-op.gil codegen/test_files/gegl-composite-premult-op.gil Put in the wrapper part of for the generic image language programs GENERIC_IMAGE_PROGRAM GENERIC_IMAGE_CODEGEN_BEGIN GENERIC_IMAGE_CODEGEN_END * added docs directory and these html docs: docs/geglClasses.html docs/genericChannelData.html docs/genericImageLanguage.html 2000-03-26 Caroline Dahloff * check in for codegen * parser.y: Fixed the iterators, I was printing out $4.string for the variable name but that string had been changed. 2000-03-26 Caroline Dahloff * check in for codegen * parser.y: Fixed the the function read_channel_names. It has an off by one error. Changed when I put new lines. I know only put new lines after each VectorCHan in iterator and init_image_data * Updated README 2000-03-25 Calvin Williamson * check in for codegen * updated these files: codegen/test_files/gegl-min-op.gil codegen/test_files/gegl-max-op.gil codegen/test_files/gegl-mult-op.gil codegen/test_files/gegl-subtract-op.gil codegen/test_files/gegl-diff-op.gil Put in the wrapper part of for the generic image language programs GENERIC_IMAGE_PROGRAM GENERIC_IMAGE_CODEGEN_BEGIN GENERIC_IMAGE_CODEGEN_END * removed extra spaces from channel_data files: u8,u16,u16_4k,float. 2000-03-25 Caroline Dahloff * check in for codegen * changed parser.y so that it does now not take the alpha name at the comand line. it is generated automaticly. 2000-03-25 Calvin Williamson * check in for codegen * created directory channel_data which has the channel data files u8, u16, float, u16_4k (renamed from FLOAT, UINT8, UINT16) * removed FLOAT, UINT8, UINT16 from main codegen directory 2000-03-25 Caroline Dahloff * check in for codegen * added the follwing test file gegl-add-op.gil gegl-mult-op.gil gegl-subtract-op.gil 2000-03-25 Caroline Dahloff * check in for codegen * tested and fixed all the new .gil test file * fixed spacing for parser.y and lexer.l 2000-03-24 Caroline Dahloff * check in for codegen * added a lot of .gil test files: gegl-composite-op.gil gegl-composite-premult-op.gil gegl-dark-op.gil gegl-diff-op.gil gegl-light-op.gil gegl-max-op.gil gegl-min-op.gil gegl-premult-op.gil gegl-screen-op.gil gegl-unpremult-op.gil * codegen/parser.y fixed the problem of adding * for the dX functions. * codegen/parser.y added a new line after each vectorchan in image data init * added a new line after each expantion of a vectorchan 2000-03-24 Calvin Williamson * codegen/test_files Updated most of the test_files test,test2-8. 2000-03-23 Caroline Dahloff * codegen/lexer.l I made sure that the extra \n, \t, '', thta can be left over from a state token was removed. 2000-03-23 Caroline Dahloff * codegen/parser.y in function get_sym. I fixed the crashing problem it had. I was using %d instead of %s when I created a new string. 2000-03-23 Caroline Dahloff * codegen/parser.y. I have changed it so that %s_has_%s has now become its own varible, unlike before when it lived of the color chan that it was associated with it. 2000-03-23 Caroline Dahloff * codegen?parser.y. I have rm the varibles Pointer and PointerVecChan. It is now not possible to have any pointers in codegen. 2000-03-23 Caroline Dahloff * codegen/parser.y I have made all PointerVecChab into Pointers in all the grammer except for on the declatation grammar. This solves the problem of * not showing up for varible that are not color varible. 2000-03-23 Caroline Dahloff * codegen/parser.y changed the print_name function so that it sets the num varible to one. 2000-03-23 Caroline Dahloff * codegen/lexer.l. Made sure that the lexer ate up all the useless spaces that were left from reading the key words. 2000-03-22 Caroline Dahloff * codegen. I have changed parer.y and lexer.l so that the data file can have any numbers of tabs before the actual string. 2000-03-22 Caroline Dahloff * codegen I have rm the necessity of haveing "" around the strings in the data files. I have changed both lexer.l and parser.y to complish this. 2000-03-22 Caroline Dahloff * codegen/parser.y: I have fixed the problem with do_op_three. The problem was the doing operations on different varibles with different number of elements. 2000-03-22 Caroline Dahloff * codegen/parser.y: I have fixed the problem with do_op_three. The problem was the doing operations on different varibles with different number of elements. 2000-03-22 Caroline Dahloff * codegen/parser.y I have changed it so that you can only preform operations if the .num varible is the same or that one of the variables is either a ZERO or a WP. The .num varible value for ZERO and WP is 0. 2000-03-22 Caroline Dahloff * fixed the problem of the varible has_alpha not showing up in the decleration * changed how datatype read the string in parser.y 2000-03-21 Caroline Dahloff * fixed the rpoblem with has_alpha. In the get_sym function it would not recornise a has_alpha varible. 2000-03-21 Caroline Dahloff * fixed the indent problem with the GENERIC_IMAGE_IMAGE_DATA_INIT * fixed the problem of reading just one char for data files * rm the extra lines generatyed at the top of the files 2000-03-21 Caroline Dahloff * Fixed the problem of always genercating _ha_alpha * Inited the value .inited * Fixed test file test2, test5 2000-03-21 Caroline Dahloff * I have added VectorCHan (color,alpha,has_alpha). This means that I have added the varible, and changed the init_data_image. 2000-03-21 Caroline Dahloff * CHanged the arguments so that the last arg can be the input file. If this last arg is not present, the lexer will use stdin * rm print outs that was generated when reading the data file. 2000-03-21 Caroline Dahloff * in do_op_three for the case of OP_EQUAL, it was using the CHAN_MULT_STR instead of ROUND_STR 2000-03-20 Caroline Dahloff * changed the lexer and the parser so that it will handle vectorchan that maybe has alpha. * i have updated the way codegen handles its data file so that it will read the file correctly * all the global char * varibles have now _STR at their end * the lexer has now a special state to read data files. the data file is processed by the lexer and parser. 2000-03-18 Calvin Williamson * testgeglfile.c - more improvements. Added back the tests for the composite ops and the other point ops. 2000-03-18 Calvin Williamson * testgeglfile.c - some fixes and simplificatons. It was reading r,g,b,a in the wrong order, so it displays correctly now. * testgeglfile.c - command line args are just two equal size RGBA source tiffs now: >testgeglfile src1.tiff src2.tiff * testgeglfile.c - removed extraneous iterator code, and so dont really need get_current_rect in gegl-image-iterator constructor. (However, the iterator class will need more design work for sure.) 2000-03-16 Jay Cox * gegl/gegl-image-iterator.gob: call get_current_rect in the constructor so that the scanline_data is initialized properly. * gegl/testgeglfile.c: Optomized and fixed a bug in display_image. 2000-03-16 Caroline Dahloff * added error messages. 2000-03-16 Caroline Dahloff * This is for codegen * I updated the README * Made the token indent in lexer.l take \t 2000-03-16 Caroline Dahloff * This check in is for codegen * I have created a new structre called token_t and some new tokens (COMPARE, MIN_MAX, ADD_SUB). These to new additions have allowed me to remove all the specific tokens for ==,!=,<,>,<=,>=,&,&&,|,||,MIN,MAX,++,--. The grammer look for the new tokens which is assoicated with the new struct so the grammar knows what to print. * Fixed how parser.y reads the data file. 2000-03-15 Caroline Dahloff * fixed bugs 2000-03-15 Caroline Dahloff * fixed bugs 2000-03-15 Caroline Dahloff * I have added the data files UINT8 and UINT16 * I have changed the names of the GLOBAL varibles. 2000-03-15 Caroline Dahloff * to run codegen type > codegen --channel-data-file CHANNEL_FILE_NAME --channel-names name,name,name For channel names it assumes that the last name is the alpha. If there is only one name it assumes that this one is alpha. 2000-03-14 Caroline Dahloff * codegen now takes a file, I have added an example file called FLOAT 2000-03-14 Caroline Dahloff * fixed problem * to run codegen now type codegen datatype(FLOAT, UINT8, UINT16) nameofcolorchannels(red green blue alpha) 2000-03-14 Caroline Dahloff * fixed stuff 2000-03-14 Caroline Dahloff * More changes, rm-ed the ability of adding {} cuz it did not work quite right. At this point it is necessary to have {} * CODEGEN has now become GENERIC_IMAGE 2000-03-13 Caroline Dahloff * This version will add {} when ever it is necessary. 2000-03-13 Caroline Dahloff * rm-ed codegen ability to deal with gint, gchar ... * fixed a _alpha problem. 2000-03-08 Caroline Dahloff * final check in for the day. fixed bugs. 2000-03-08 Caroline Dahloff * fixed bugs, what a day. 2000-03-08 Caroline Dahloff * added test_files for codegen and fixed and improved codegen. ` 2000-03-08 Caroline Dahloff * fixed bugs in codegen 2000-03-08 Caroline Dahloff * updated README for codegen and fixed a bug. 2000-03-08 Caroline Dahloff * CHange the way it handled chan, floatchan, int, and float. Hopefully it should work much better now. 2000-03-07 Caroline Dahloff * This version will now parse files that have the syntaxed described on Calvin's webpages. * I have introduced the varible ZERO 2000-03-06 Caroline Dahloff * started to add the INIT_PIXEL_DATA * extra varibles are added 2000-03-03 Caroline Dahloff * made more changes to codegen, there are now states in the lexer. 2000-03-02 Caroline Dahloff * fixed codegen, I am checking in before a big change 2000-03-01 Caroline Dahloff * Added a tools dir that currently contain a program that takes an input files and substitute all the tabs with 8 spaces. * Passes all the .gob files through the program I mention above. This will hopefully rm the weired format that one sees on the gnome site. * Made some more changes to codegen, look in the README for more specific information 2000-02-29 Caroline Dahloff * Made more modifications to codegen, I am not able to parse .gob files. Look at test_files/test5 * Look in README for more updates * Added test_files/test5 2000-02-28 Caroline Dahloff * A lot of modifications and new stuff. * I have added VectorChan * Changed the indent * added descriptions in the readme * changed test files 2000-02-23 Caroline Dahloff * Cleaned up codegen code * started to implement different kinds of Channels 2000-02-23 Caroline Dahloff * Rm-ed compile errors * Added more parse functionality * included a dir with test files 2000-02-23 Calvin Williamson * Cleaned up the initial codegen import. 2000-02-22 Caroline Dahloff * Initial check in of codegen dir * This hopefully will become a parser that will create data type specific code from generic code. 2000-02-18 Calvin Williamson * Added CompositePremultOp ,SingleSrcOp class * Updated the algorithms in CompositeOp ,CompositePremultOp PremultOp, UnpremultOp. * Made all the appropriate Ops subclasses of SingleSrcOp or DualSrcOp 2000-02-11 Calvin Williamson * removed the Iterator type routines from ImageBuffer. * updated testgeglfile to use these new routines. 2000-02-11 Calvin Williamson * rm gegl-chancopy-op.gob (renamed it) * added these files: gegl-copy-chan-op.gob gegl-dual-src-op.gob gegl-image-iterator.gob * updated all the ops to use the ImageIterator class * updated README to say use gob-0.92.3 * updated the generic algorithms for: gegl-add-op.gob gegl-dark-op.gob gegl-diff-op.gob gegl-light-op.gob gegl-max-op.gob gegl-min-op.gob gegl-mult-op.gob gegl-screen-op.gob gegl-subtract-op.gob * lots of little cleanups in most op classes 2000-02-08 Caroline Dahloff * added gegl-chancopy-op.gegl and gegl-add-op.gegl * fixed warnings * added gegl-chancopy-op.gegl and gegl-add-op.gegl * fixed warnings 2000-02-01 Caroline Dahloff * added these files gegl-mult-op.gob gegl-min-op.gob gegl-max-op.gob gegl-subtract-op.gob gegl-diff-op.gob gegl-dark-op-.gob gegl-light-op.gob gegl-sceen-op.gob * rm CLAMP in gegl-type.h * Clamped the values i rounded * Changed testgeglfile.c so that it tests the new functions 2000-01-31 Caroline Dahloff * fixed bugs in gegl-composite-op. It should work now. * tested the torgb, togray, tou8, tofloat function in gegl-color-model. They seem to work fine. 2000-01-31 Calvin Williamson *fixed bugs in destroy methods of all convert-ops: gegl-color-convert-to-rgb-float-op.gob gegl-color-convert-to-rgb-u8-op.gob gegl-color-convert-to-gray-float-op.gob gegl-color-convert-to-gray-u8-op.gob gegl-color-convert-connection-op.gob *updated the PrintOp and FillOp to handle u8 and gray cases. *updated testgegl to test the color conversion routines. 2000-01-30 Calvin Williamson *added ColorConvertConnectionOp class which handles conversion through an xyz float space *updated all the convert ops to call to_float, to_u8, to_gray, to_rgb routines of the appropriate color model classes. *cleaned up some in the ColorModel classes. *added a color model maker routine to gegl-utils.c (need a factory thing). 2000-01-29 Caroline Dahloff * added to_float, to_u8, to_gray, to_rgb to color_model classes. * changed to_xyz, from_xyz in color_model so that it takes now a float** arg instead of a float* Fri Jan 28 16:37:57 PST 2000 Manish Singh * configure.in: autodetect gob and error out if not there * Makefile.am: revamp the build process to automatically care for gob stuff * reformatted the ChangeLog to be consistent with other projects 2000-01-28 Calvin Williamson * Added the gegl-color-convert-op.gob * Added the gegl-color-convert-to-rgb-float-op.gob * Added the gegl-color-convert-to-rgb-u8-op.gob * Added the gegl-color-convert-to-gray-float-op.gob * Added the gegl-color-convert-to-gray-u8-op.gob * removed gegl-convert-rgb-op.gob * removed gegl-convert-gray-op.gob 2000-01-28 Caroline Dahloff * Simplified the gegl-composite-op.pregob 2000-01-27 Caroline Dahloff * Changed varible names in gegl-composite-op * Created a gegl-composite-op.pregob 2000-01-26 Caroline Dahloff * Fixed some bugs in gegl-color_model-gray and gegl-convert-rgb/gray-op 2000-01-26 Caroline Dahloff * Forgot to add gegl-convert-gray.gob 2000-01-26 Caroline Dahloff * Fixed some bugs in gegl-composite-op.gob * Added gegl-color-model-gray, gegl-color-model-gray-float gegl-color-model-gray-u8 * Added some function to take care of most of the cases in gegl-composite-op.gobi for unpremult and premult with or without alpha * Added suport for the color_models to convert from and to XYZ space. 2000-01-25 Calvin Williamson * More details for GeglDrawable class. * Fixed a bunch of gegl_destroys to be correct. * Straightened out some of the forward header problems by updating to gob-0.92.2. No gob patch is necessary now. 2000-01-24 Calvin Williamson * Fixed the GOB_PUBLIC_HEADER in Makefile.am for gegl-composite-op.h gegl-premult-op.h gegl-unpremult-op.h * Fixed some of set_color for GeglColorModelRgbU8. channels[i].u8 is how to get 8bit version of a GeglColor. * Use guint8 not guchar for 8bit data type code. * Added more to GeglDrawable class. 2000-01-23 Calvin Williamson * added caros testgeglfile --which opens 2 tiffs to test the composite ops. * made a bunch of code more readable. 2000-01-21 Caroline Dahloff * added some U8 support * implemented part of convert, composite ops 2000-01-20 Calvin Williamson * initial import * The following classes have initial versions: GeglObject -- base class for gegl classes GeglOp -- class for operators GeglPointOp -- operators that only need (x,y) to compute pixel (x,y) GeglFillOp -- fills images with a color GeglPrintOp -- prints out the pixel values of an image (floats only now) GeglImageBuffers -- buffers for image data and pointers to data GeglColorModel -- ColorSpace, color channels, alpha info, data type GeglColorModelRgb -- subclass of RGB color models GeglColorModelRgbFloat -- floating pt channels RGB color model GeglColor -- stores channels for a single color * There is a small test program -- testgegl