Commit Graph

26 Commits

Author SHA1 Message Date
Michael Natterer 626da25cf9 app: add accessors for the built-in FG->BG, FG->transparent etc. gradients 2014-04-30 09:15:42 +02:00
Michael Natterer 2ed1c59687 app: the FG/BG hardedge gradient didn't have a unique identifier 2014-04-30 02:02:24 +02:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
  finally acknowledging the fact that app/ depends on gdk-pixbuf almost
  globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
2013-10-15 01:58:39 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer 649bd8f678 Bug 619131 - Attempting to flip FG/BG hard-edge gradient locks up GIMP
Don't have the "prev" pointer of the right gradient segment point to
itself, causing an infinite loop when iterating the gradient reversed.
2010-05-20 10:11:18 +02:00
Michael Natterer 4fcf34699f app: flip context and name parameters in GimpDataNewFunc 2010-04-10 19:55:42 +02:00
Michael Natterer 430b0e5517 app: add a GimpContext parameter to all functions which create GimpData
and pass a context whereever needed. Fix up gimp_tool_preset_new()
to actually make a copy of the context's active tool's options.
2010-04-05 13:26:31 +02:00
Martin Nordholts 966b81992b app: Add "FG to BG (Hardedge)" gradient
Add internal gradient "FG to BG (Hardedge)" based on gradient by
Saul Goode. See bug #589371.
2009-08-15 11:58:08 +02:00
Martin Nordholts 98aaae7cac app: Clean up internal gradient construction
Move code that is not shared between all gradients out of
gimp_gradients_add_gradient() and group the code with comments.
2009-08-15 11:48:36 +02:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Martin Nordholts 4981816c0b Make instance members private and add getters for required members.
* app/core/gimpdatafactory.[ch]: Make instance members private and
add getters for required members.

(gimp_data_factory_get_container)
(gimp_data_factory_get_gimp)
(gimp_data_factory_has_data_new_func): The new getters.

* app/actions/context-commands.c
* app/actions/data-commands.c
* app/core/gimp-gradients.c
* app/core/gimp.c
* app/core/gimpcontext.c
* app/core/gimpdatafactory.c
* app/core/gimpdatafactory.h
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/pdb/gimppdb-utils.c
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpselectiondata.c
* app/widgets/gimpviewablebox.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: Use the getters.


* app/pdb/brush-select-cmds.c
* app/pdb/brushes-cmds.c
* app/pdb/gradient-select-cmds.c
* app/pdb/gradients-cmds.c
* app/pdb/palette-select-cmds.c
* app/pdb/palettes-cmds.c
* app/pdb/pattern-select-cmds.c
* app/pdb/patterns-cmds.c: Regenerated.

svn path=/trunk/; revision=27812
2008-12-19 21:58:17 +00:00
Martin Nordholts 70ed5218d6 Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
Partial merge of code from Aurimas Juška.

* app/core/gimpdata.[ch] (gimp_data_make_internal): Add an
'identifier' parameter/instance struct member that can be used to
identify the internal GimpData object across sessions. It is the
internal-object counterpart to a file path.

* app/core/gimp.c
* app/core/gimpcurve.c
* app/core/gimpbrush.c
* app/core/gimppattern.c
* app/core/gimppalette.c
* app/core/gimpgradient.c
* app/core/gimp-gradients.c: Assign an identifier to the the
internal GimpData objects.

svn path=/trunk/; revision=27781
2008-12-12 07:03:42 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Michael Natterer c18faa20fe app/actions/brush-editor-actions.c app/base/tile-manager-crop.c
2006-10-30  Michael Natterer  <mitch@gimp.org>

	* app/actions/brush-editor-actions.c
	* app/base/tile-manager-crop.c
	* app/config/gimpconfig-file.c
	* app/core/gimp-gradients.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpimage-colorhash.c
	* app/core/gimpimage-undo-push.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/gui-vtable.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintcore-undo.c
	* app/plug-in/plug-in-enums.h
	* app/vectors/gimpstroke-new.c
	* app/vectors/gimpvectors-warp.c
	* app/widgets/gimpviewablebox.c
	* app/widgets/gimpviewrenderer-frame.c
	* app/widgets/gimpviewrenderer-utils.c
	* app/xcf/xcf-save.c
	* libgimpwidgets/gimpcontroller.c: all .c files should include
	their headers and all private functions should be static.
	(-Wmissing-declarations -Wmissing-prototypes rocks!)
2006-10-30 10:13:06 +00:00
Hans Breuer ad6829dde0 include "gimpcontext.h" for gimp_context_set_gradient()
2006-09-03  Hans Breuer  <hans@breuer.org>

	* app/core/gimp-gradients.c : include "gimpcontext.h" for
	gimp_context_set_gradient()

	* **/makefile.msc app/gimpcore.def : updated
2006-09-03 12:39:24 +00:00
Michael Natterer 663b44c988 new funtion which returns TRUE if any of the gradient's segments refer to
2006-08-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient.[ch] (gimp_gradient_has_fg_bg_segments):
	new funtion which returns TRUE if any of the gradient's segments
	refer to FG of BG.

	(gimp_gradient_segment_get_left_color_type)
	(gimp_gradient_segment_set_left_color_type)
	(gimp_gradient_segment_get_right_color_type)
	(gimp_gradient_segment_set_right_color_type): new accessors for
	the new GimpGradientColor stuff.

	(gimp_gradient_segment_split_midpoint)
	(gimp_gradient_segment_range_flip)
	(gimp_gradient_segment_range_replicate): split, flip and replicate
	the segments' color_types too.

	* app/widgets/gimpviewrenderer.[ch]: added virtual functions
	::set_context() and ::invalidate() and call them.

	* app/widgets/gimpviewrenderergradient.[ch]: implement the virtual
	functions. Connect to the context's "foreground-changed" and
	"background-changed" signals if the gradient contains FG or BG
	colors and invalidate the renderer whenever they change.

	* app/core/gimp-gradients.c: removed signal connections which
	invalidated the gradients on FG/BG changes of the user context.
2006-08-31 18:47:13 +00:00
Michael Natterer b53aa45a76 Changed GimpViewable preview rendering to have a context to get
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.
2006-08-29 21:44:51 +00:00
Sven Neumann 511b54785e renamed internal keys.
2005-06-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-gradients.c: renamed internal keys.
2005-06-14 20:40:05 +00:00
Sven Neumann c1363db8c0 Removed "stingy-memory-use" all over the place. This feature was really
2005-06-08  Sven Neumann  <sven@gimp.org>

	Removed "stingy-memory-use" all over the place. This feature was
	really not that useful anymore. The GUI for the preference option
	was already removed for GIMP 2.2.  Fixes bug #306617.

	* app/config/gimpbaseconfig.[ch]: set IGNORE flag on
	"stingy-memory-use".

	* app/config/gimpcoreconfig.h: added a comment that the
	font_path_writable variable is unused.

	* app/base/temp-buf.[ch]: removed code that used to deal with
	swapping temp-bufs to disk.

	* app/base/base.c: made base_config a static variable.

	* app/core/gimpdata.[ch]
	* app/core/gimpdatafactory.[ch]: removed stingy_memory_use
	parameter from data construction methods.

	* app/core/gimp-gradients.c
	* app/core/gimpbrush-load.[ch]
	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpcontext.c
	* app/core/gimpgradient-load.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette-import.c
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: changed accordingly.
2005-06-08 11:27:31 +00:00
Sven Neumann 93eab43eef Use the canonical form for signal names.
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names.
2005-05-27 16:51:39 +00:00
Michael Natterer c399ae1fe9 renamed the values of the GimpGradientSegment* enums from GIMP_GRAD_* to
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: renamed the values of the
	GimpGradientSegment* enums from GIMP_GRAD_* to
	GIMP_GRADIENT_SEGMENT_* because they are exported now.

	* app/core/gimp-gradients.c
	* app/core/gimpgradient.c
	* app/actions/gradient-editor-actions.c: changed accordingly.

	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-06-01 18:49:50 +00:00
Michael Natterer d991e64b38 Fixed GimpData's default "writable" and "deletable" behaviour:
2004-02-13  Michael Natterer  <mitch@gimp.org>

	Fixed GimpData's default "writable" and "deletable" behaviour:

	* app/core/gimpdata.c (gimp_data_init): default to writable and
	deletable == TRUE (something that has no filename was never loaded
	from disk and can't be undeletable or read-only).
	Fixes bug #134274.

	* app/core/gimpdata.[ch]: added new function
	gimp_data_make_internal() which frees the filename and sets the
	data's flags accordingly.

	* app/core/gimp-gradients.c (gimp_gradients_add_gradient)
	* app/core/gimpbrush.c (gimp_brush_get_standard)
	* app/core/gimpgradient.c (gimp_gradient_get_standard)
	* app/core/gimppalette.c (gimp_palette_get_standard)
	* app/core/gimppattern.c (gimp_pattern_get_standard): use the
	new function for internal data objects.

	* app/core/gimpdata.c (gimp_data_save, gimp_data_delete_from_disk)
	* app/core/gimpdatafactory.c (gimp_data_factory_save_single):
	bail out with g_return_if_fail() is the data is not writable
	or deletable.

	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.
2004-02-13 11:53:22 +00:00
Sven Neumann 28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
Michael Natterer 5c86e63983 removed the global "base_config" variable.
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: removed the global "base_config" variable.

	* app/base/base.[ch]: added "gboolean use_mmx" to base_init().
	Don't #include "appenv.h". Pass around more parameters to reduce
	the usage of the global "paint_options" pointer.

	* app/app_procs.c: pass "use_mmx" to base_init().

	* app/base/temp-buf.c: pass "temp_path" around internally. Declare
	"base_config" extern and added a #warning.

	* app/core/gimpdata.[ch]
	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: added "gboolean stingy_memory_use"
	parameters to all _new(), _load() and _duplicate() functions.

	* app/core/gimpmarshal.list: GimpData::duplicate needs an
	OBJECT__BOOLEAN marshaller now.

	* app/core/gimpdatafactory.[ch]: added a "Gimp" pointer so the
	factory can find the config. Pass base_config->stingy_memory_use
	to the GimpData functions changed above.

	* app/core/gimp-gradients.c
	* app/core/gimp.c
	* app/core/gimppalette-import.c
	* app/gui/palettes-commands.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.

	* app/core/gimpcontext.c: get "stingy_memory_use" from
	context->gimp->config.
2002-11-30 16:31:39 +00:00
Michael Natterer 91cfa78384 added a boolean "internal" which indicates that the data object is an
2002-06-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: added a boolean "internal" which
	indicates that the data object is an automatically created
	internal object. Changed the code to refuse saving to deleting
	internal objects.

	* app/core/Makefile.am
	* app/core/gimp-gradients.[ch]: new files implementing internal
	gradients (FG -> BG in RGB and HSV and FG -> transparent).

	* app/core/gimp.c: call gimp_gradients_init().

	* app/core/gimpdatafactory.c (gimp_data_factory_data_free): don't
	free internal objects so they stay there on "Refresh".

	* app/core/gimpdatalist.c: sort internal objects to the beginning
	of the list.

	* app/widgets/gimpdataeditor.c: refuse to change the name of
	internal objects.

	* app/widgets/gimpdatafactoryview.c: set the "Delete" button
	insensitive for internal objects.

	* app/widgets/gimpgradienteditor.c: refuse to edit internal
	gradients, just display them so color picking works.

	* app/gui/brushes-commands.c
	* app/gui/gradients-commands.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c: set the "Delete" menu item
	insensitive for internal objects.

	* app/gui/gui.c: need to call render_setup() earlier because of
	you-dont-want-to-know-why. Will change it back once the previews
	have their own render buffers.

	* app/tools/gimpblendtool.c: Replaced the "Type" menu by a preview
	showing the active gradient. Clicking the preview pops up the
	gradient selection. Renamed the "Gradient" menu to "Shape". Removed
	"blend_mode" from the BlendOptions struct because we always use
	"custom" mode now.
2002-06-12 13:48:47 +00:00