- 23 Jun, 2013 1 commit
-
-
Michael Natterer authored
- Add new enum GimpComponentType which contains u8, u16, u32 etc. - Change GimpPrecision to be u8-linear, u8-gamma, u16-linear etc. - Add all the needed formats to gimp-babl.c - Bump the XCF version to 5 and make sure version 4 with the old GimpPrecision enum values is loaded correctly This change blows up the precision enums in "New Image" and Image->Precision so we can test all this stuff. It is undecided what format will be user-visible options in 2.10.
-
- 24 Aug, 2012 1 commit
-
-
Michael Natterer authored
Honor the passed copy_pixels boolean again. This was disabled during GEGL porting and forgotten.
-
- 07 May, 2012 1 commit
-
-
Michael Natterer authored
and use it instead of gimp_babl_format() in some places where indexed formats can occur. Also fix some places using gimp_babl_format() to special case indexed formats correctly.
-
- 03 May, 2012 1 commit
-
-
Michael Natterer authored
and update tons of includes in libgimp and app.
-
- 02 May, 2012 14 commits
-
-
Michael Natterer authored
-
Michael Natterer authored
and forget about include policy in base/, it's scheduled for removal anyway.
-
Michael Natterer authored
-
Michael Natterer authored
-
Michael Natterer authored
-
Michael Natterer authored
Fix the places that passed the color by either temp_buf_data_clear() or memset(), and assign x and y manually, they are going to vanish completely soon.
-
Michael Natterer authored
-
Michael Natterer authored
and change all users accordingly.
-
Øyvind "pippin" Kolås authored
GIMP was doing evil hacks lying to GEGL about it's pixels being in a linear color space when they are not. This causes incorrect rendering, makes gaussian blur misbehave etc. The legacy projection modes should be implemented using the same 2.2 gamma formats that are correct to specify for sRGB data. (for proper color management in higher bitdepths; icc backend babl formats should be used.) For the old image modes correct babl formats are: R'G'B'A u8 - 8 bit RGB with 2.2 gamma (sRGB) with linear alpha component R'G'B' u8 - 8 bit RGB with 2.2 gamma (sRGB) Y'A u8 - 8 bit Grayscale with 2.2 gamma with linear alpha component Y' u8 - 8 bit Grayscale with 2.2 gamma Y u8 - 8 bit linear data, used for masks/channels A u8 - 8 bit linear alpha ----------------------------------------------- RGBA float - 32bit floating point linear light RGB RaGaBaA float - 32bit floating point linear light RGB, premultiplied alpha to be used for processing that needs to scale by the alpha, (blurs, resampling etc) R'G'B'A float - 32bit floating point sRGB with gamma, to be used where the result depends on being closer to perceptual when processing, can be used a cheaper alternative to CIE Lab based modes. ----------------------------------------------- The legacy layer modes should use the formats with gamma 2.2 only for loading and rendering legacy XCF files correctly, in the brave new world compositing should most likely be done in linear light with "RGBA float" and even better "RaGaBaA float" like GEGL does for porter duff and other compositing modes. The ability to chose the legacy layer modes should probably be hidden from the user unless an old .xcf has been opened.
-
Øyvind "pippin" Kolås authored
-
Øyvind "pippin" Kolås authored
-
Michael Natterer authored
and ust it in some get_memsize() functions instead of having a FIXME. So many files changed because they need to inlcude <gegl.h> now.
-
Michael Natterer authored
-
Michael Natterer authored
-
- 01 May, 2011 1 commit
-
-
Michael Natterer authored
-
- 26 Mar, 2011 1 commit
-
-
Michael Natterer authored
It made the transform code hard to read and never belonged into the tile manager anyway. It's a simple pixel buffer that should not know about any position in an image. Instead, pass around the offsets of tile managers explicitly, so everything is less obscure for the price of having more parameters. This will also help replacing TileManagers with GeglBuffers.
-
- 19 Mar, 2010 2 commits
-
-
Michael Natterer authored
and use it instead of duplicating the same code twice less efficiently.
-
Michael Natterer authored
and clean up gimp-edit.c a bit as a result.
-
- 29 Aug, 2009 1 commit
-
-
Martin Nordholts authored
Begin to consider GimpObject::name as private and always use gimp_object_get_name(). Change gimp_object_get_name() to take an untyped pointer so we don't have to do so awfully many casts. There is a runtime check for the type inside the function anyway.
-
- 17 Jan, 2009 1 commit
-
-
Michael Natterer authored
2009-01-17 Michael Natterer <mitch@gimp.org> * all files with a GPL header and all COPYING files: Change licence to GPLv3 (and to LGPLv3 for libgimp). Cleaned up some copyright headers and regenerated the parsers in the ImageMap plugin. svn path=/trunk/; revision=27913
-
- 07 Aug, 2008 1 commit
-
-
Sven Neumann authored
2008-08-07 Sven Neumann <sven@gimp.org> * app/core/gimpbuffer.[ch]: added gimp_buffer_get_tiles(). * app/actions/edit-commands.c * app/core/gimpbrushclipboard.c * app/core/gimppatternclipboard.c: use the new accessor function. svn path=/trunk/; revision=26426
-
- 16 Nov, 2007 1 commit
-
-
Michael Natterer authored
2007-11-16 Michael Natterer <mitch@gimp.org> * app/base/temp-buf.c * app/base/tile-manager.c * app/core/gimpobject.c: accept NULL in all get_memsize() functions. * app/core/gimp-utils.[ch]: ditto. Added gimp_string_get_memsize(). * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpcontainer.c * app/core/gimpcontext.c * app/core/gimpdata.c * app/core/gimpdrawable.c * app/core/gimpdrawablemodundo.c * app/core/gimpdrawableundo.c * app/core/gimpimage.c * app/core/gimpitempropundo.c * app/core/gimplayer.c * app/core/gimpmaskundo.c * app/core/gimppalette.c * app/core/gimpparasitelist.c * app/core/gimppattern.c * app/core/gimppreviewcache.c * app/core/gimpundo.c * app/core/gimpundostack.c * app/core/gimpviewable.c * app/pdb/gimpprocedure.c * app/plug-in/gimpplugindef.c * app/plug-in/gimppluginmanager.c * app/plug-in/gimppluginprocedure.c * app/text/gimptext.c * app/text/gimptextlayer.c * app/text/gimptextundo.c * app/vectors/gimpvectorsmodundo.c: simplify GimpObject::get_memsize() implementations accordingly. * app/core/gimpimageundo.c: ditto. Always keep around colormaps in chunks of GIMP_IMAGE_COLORMAP_SIZE to be coonsistent with the other colormap handling code. svn path=/trunk/; revision=24174
-
- 17 Jul, 2007 1 commit
-
-
Sven Neumann authored
2007-07-17 Sven Neumann <sven@gimp.org> * app/base/Makefile.am * app/base/tile-manager-preview.[ch]: added new file that holds code to create a preview from a tile manager. * app/core/gimpbuffer.c * app/core/gimpimage-preview.c: use the new function instead of duplicating this code. svn path=/trunk/; revision=22948
-
- 09 Dec, 2006 1 commit
-
-
Sven Neumann authored
2006-12-09 Sven Neumann <sven@gimp.org> * In all files, changed the standard copyright notice to say "GIMP - The GNU Image Manipulation Program".
-
- 24 Nov, 2006 1 commit
-
-
Simon Budig authored
2006-11-23 Simon Budig <simon@gimp.org> Fixing include/declaration issues in the application: * app/composite/gimp-composite-sse2.c: disable unused debugging code * app/paint-funcs/paint-funcs.[ch] * app/paint-funcs/scale-funcs.[ch]: fix include files, add some prototypes, make some other functions static. * app/core/gimpbuffer.c * app/core/gimpdrawable-preview.c: changed accordingly. * app/tools/gimpeditselectiontool.[ch]: untangle .c and .h file. * app/widgets/gimpfiledialog.c: add missing #include.
-
- 29 Aug, 2006 1 commit
-
-
Michael Natterer authored
2006-08-29 Michael Natterer <mitch@gimp.org> Changed GimpViewable preview rendering to have a context to get FG/BG/whatever from. Use the context to enable dynamic FG/BG colors in gradients. Fixes bug #127676 and bug #352214. Addresses bug #128367 (doesn't fix it because there's no loading/saving and no GUI yet). * app/core/core-enums.[ch]: added enum GimpGradientColor to enable specifying gradient colors in terms of foreground and background. * app/core/gimpgradient.[ch]: added color_type members to the GimpGradientSegment struct and honor them in gimp_gradient_get_color_at(). Added GimpContext parameters to all functions which finally call get_color_at(). * app/core/gimp-gradients.c: use the new method to implement the builtin gradients. * app/core/gimpviewable.[ch]: added GimpContext parameters to all get_preview() and get_pixbuf() functions. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpdrawable-preview.[ch] * app/core/gimpgradient.c * app/core/gimpimage-preview.[ch] * app/core/gimpimagefile.c * app/core/gimppalette.c * app/core/gimppattern.c * app/core/gimpundo.[ch] * app/text/gimpfont.c * app/vectors/gimpvectors-preview.[ch]: changed ::get_preview() and ::get_pixbuf() implementations accordingly. * app/core/gimpdrawable-blend.c * app/core/gimppalette-import.[ch] * app/dialogs/dialogs-constructors.c * app/dialogs/palette-import-dialog.c * app/dialogs/resize-dialog.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell.c * app/display/gimpnavigationeditor.c * app/paint/gimppaintoptions.c * app/tools/gimpeditselectiontool.c * app/tools/gimptexttool.c * app/actions/gradient-editor-commands.c * app/widgets/gimpaction.c * app/widgets/gimpbrusheditor.[ch] * app/widgets/gimpbufferview.c * app/widgets/gimpcellrendererviewable.c * app/widgets/gimpchanneltreeview.c * app/widgets/gimpclipboard.c * app/widgets/gimpcoloreditor.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainerbox.c * app/widgets/gimpcontainercombobox.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainerentry.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainertreeview.[ch] * app/widgets/gimpdataeditor.[ch] * app/widgets/gimpdevicestatus.c * app/widgets/gimpdnd.[ch] * app/widgets/gimpdrawabletreeview.c * app/widgets/gimpfiledialog.c * app/widgets/gimpgradienteditor.[ch] * app/widgets/gimpgradientselect.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimppaletteeditor.[ch] * app/widgets/gimppropwidgets.[ch] * app/widgets/gimpselectioneditor.c * app/widgets/gimpthumbbox.[ch] * app/widgets/gimptoolbox-image-area.c * app/widgets/gimptoolbox-indicator-area.c * app/widgets/gimptooloptionseditor.c * app/widgets/gimpundoeditor.c * app/widgets/gimpvectorstreeview.c * app/widgets/gimpview-popup.[ch] * app/widgets/gimpview.[ch] * app/widgets/gimpviewablebutton.c * app/widgets/gimpviewabledialog.c * app/widgets/gimpviewrenderer.[ch] * app/widgets/gimpviewrenderer-frame.c * app/widgets/gimpviewrendererbrush.c * app/widgets/gimpviewrendererbuffer.c * app/widgets/gimpviewrendererdrawable.c * app/widgets/gimpviewrenderergradient.c * app/widgets/gimpviewrendererimage.c * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/gradient.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/image.pdb: added tons of GimpContext members and parameters, implement GimpDocked::set_context() in many widgets. Pass these locally remembered contexts to GimpViewable functions. Did some minor cleanups on the way. There are still some minor FIXMEs around where the code uses a NULL context (which is allowed by the APIs) * app/pdb/drawable_cmds.c * app/pdb/gradient_cmds.c * app/pdb/gradients_cmds.c * app/pdb/image_cmds.c: regenerated.
-
- 15 May, 2006 1 commit
-
-
Sven Neumann authored
2006-05-15 Sven Neumann <sven@gimp.org> * app/*/*.c: * lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
-
- 07 Apr, 2006 1 commit
-
-
Sven Neumann authored
2006-04-07 Sven Neumann <sven@gimp.org> * app/actions/tool-options-commands.c * app/core/gimp.c * app/core/gimpbrushpipe.c * app/core/gimpbuffer.c * app/core/gimpcontext.c * app/core/gimpdatafactory.c * app/core/gimpgradient-load.c * app/core/gimpimage-merge.c * app/core/gimpimage-undo-push.c * app/core/gimpitem.c * app/core/gimplayer.c * app/core/gimplayermask.c * app/core/gimplist.c * app/core/gimppalette.c * app/dialogs/template-options-dialog.c * app/display/gimpdisplayshell-dnd.c * app/file/file-open.c * app/paint/gimp-paint.c * app/widgets/gimpdataeditor.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimplayertreeview.c * app/widgets/gimptemplateview.c * app/widgets/gimptoolbox-dnd.c: use gimp_object_set_static_name() and gimp_object_take_name() where appropriate.
-
- 28 Feb, 2006 1 commit
-
-
Sven Neumann authored
2006-02-28 Sven Neumann <sven@gimp.org> * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpimagefile.c * app/core/gimppattern.c * app/dialogs/preferences-dialog.c * app/tools/gimpmeasuretool.c * app/tools/gimprectangletool.c * app/tools/gimprectselecttool.c * app/widgets/gimpimagepropview.c * app/widgets/gimpsizebox.c * app/widgets/gimptemplateeditor.c * plug-ins/imagemap/imap_statusbar.c: use U+00D7 MULTIPLICATION SIGN instead of x when displaying sizes.
-
- 10 Dec, 2005 1 commit
-
-
Michael Natterer authored
2005-12-10 Michael Natterer <mitch@gimp.org> * app/config/*.c * app/core/*.c * app/display/*.c * app/text/*.c * app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related core reordering and cleanup.
-
- 09 Oct, 2005 1 commit
-
-
Michael Natterer authored
2005-10-10 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.c (gimp_viewable_get_description): set the "tooltip" return value to NULL before calling the virtual function. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpchannel.c * app/core/gimplayer.c * app/core/gimppaintinfo.c * app/core/gimppalette.c * app/core/gimppattern.c * app/core/gimptoolinfo.c (get_description): don't do it here. * app/core/gimpbuffer.c * app/core/gimppaintinfo.c: untabbify, cleanup. * app/core/gimpobject.c: emit "notify::name" whenerver the name changes, clenup.
-
- 27 Sep, 2005 1 commit
-
-
Michael Natterer authored
2005-09-27 Michael Natterer <mitch@gimp.org> * app/core/gimpbuffer.[ch]: added gimp_buffer_get_bytes() and gimp_buffer_get_image_type(). * tools/pdbgen/pdb/edit.pdb: removed edit_named_rename() and edit_named_delete(). * tools/pdbgen/Makefile.am * tools/pdbgen/groups.pl * tools/pdbgen/pdb/buffer.pdb: new PDB group featuring buffer_rename(), delete(), get_width(), get_height(), get_bytes(), get_image_type(). * app/pdb/Makefile.am * libgimp/Makefile.am * libgimp/gimp.def: changed accordingly. * app/pdb/buffer_cmds.c * app/pdb/edit_cmds.c * app/pdb/internal_procs.c * libgimp/gimp_pdb.h * libgimp/gimpbuffer_pdb.[ch] * libgimp/gimpedit_pdb.[ch]: (re)generated.
-
- 03 Sep, 2005 1 commit
-
-
Michael Natterer authored
2005-09-03 Michael Natterer <mitch@gimp.org> * app/base/pixel-region.[ch]: some general cleanup. (pixel_region_init_temp_buf) (pixel_region_init_data): new functions which initialize pixel regions on TempBufs and on raw contiguous arrays of pixel data. (pixel_region_configure): fixed a bug that has probably been there forever: when processing contiguous (non-tiled) data, interpret the original x and y coordinates of the region as offsets into the data. Before this fix, the initial x and y were simply ignored (by using them in a broken way), thus always forcing the upper left corner of the region being the beginning of the passed data. Lots of code was working around this problem by setting the pixel_region's data pointer to the proper starting pixel of the region in the middle the buffer. * libgimp/gimppixelrgn.c: some general cleanup. (gimp_pixel_rgn_configure): same fix as above. Fortunately, nobody seems to know that libgimp pixel regions can be used on arrays of data, just as core ones. Only two plug-ins were using this feature, and they are antique and written by spencer and federico, respectively. They both don't use offsets into the buffers and are not affected by this change. It's highly unlikely that anybody out there knows/uses this feature, so it can IMHO be safely changed. * app/base/temp-buf.c * app/core/gimpbuffer.c * app/core/gimpdrawable-combine.c * app/core/gimpdrawable-preview.c * app/core/gimpimage-preview.c * app/core/gimplayer.c * app/paint/gimpbrushcore.c * app/paint/gimpclone.c * app/paint/gimpconvolve.c * app/paint/gimpdodgeburn.c * app/paint/gimppaintcore.c * app/paint/gimpsmudge.c * app/tools/gimpiscissorstool.c * app/tools/gimppainttool.c: use the pixel_region_init_foo() functions instead of initializing regions of TempBufs and raw data manually. Removed lots of workarounds for the broken offset handling. The changed places of code are much more readable now.
-
- 25 May, 2005 1 commit
-
-
Michael Natterer authored
2005-05-25 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added virtual function GimpViewable::get_size() and public API gimp_viewable_get_size() which return width and height and a boolean indicating if the viewable has a size at all. Added default implementation of GimpViewable::get_popup_size() using the new get_size() API. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpdrawable.c * app/core/gimpimage.c * app/core/gimppattern.c: implement GimpViewable::get_size(). * app/core/gimpbrush.c * app/core/gimppattern.c: removed GimpViewable::get_popup_size() implementations, the default one is good enough. * app/core/gimpbrushpipe.c (gimp_brush_pipe_get_popup_size): redirect to gimp_viewable_get_size() instead of duplicating its return values. * app/widgets/gimpcontainertreeview.c * app/widgets/gimpview.c: allow pixbuf dragging out of any viewable that has a size. * app/widgets/gimpdrawabletreeview.c: removed pixbuf dragging code here. * app/widgets/gimpdnd.c: set gimp busy around encoding/decoding pixbufs into/from GtkSelectionData, because it can be a time consuming operation.
-
- 09 Apr, 2005 1 commit
-
-
Michael Natterer authored
2005-04-09 Michael Natterer <mitch@gimp.org> * app/core/gimpbuffer.[ch]: added gimp_buffer_new_from_pixbuf(). * app/widgets/gimpclipboard.c: removed tile_manager_new_from_pixbuf() and base/ dependency.
-
- 19 Sep, 2004 1 commit
-
-
Sven Neumann authored
2004-09-19 Sven Neumann <sven@gimp.org> Improved undo memory calculation for paint operations (bug #153035): * app/base/tile-manager.[ch] (tile_manager_get_memsize): added a "gboolean sparse" parameter to get more accurate results for sparse tile-managers. * app/core/gimpbuffer.c * app/core/gimpdrawable.c * app/core/gimpimage-undo-push.c * app/core/gimpimage.c * app/core/gimplayer.c * app/core/gimpprojection.c: changed accordingly.
-