Commit Graph

29 Commits

Author SHA1 Message Date
Ell
84066ca26a app: use "step" blending function in "FG to BG (Hardedge)" gradient
Use a single segment with a "step" blending function, added in the
previous commit, instead of two separate segments, for the "FG to
BG (Hardedge)" internal gradient.  This makes it simpler to change
its endpoint colors by modifying the gradient, instead of changing
the FG/BG colors.
2018-10-02 21:53:59 -04:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Ell
2ad9f40dbe app: add "custom" gradient
An internal gradient object, that will be used by the blend tool
when editing a gradient.  By default, the active gradient will not
be edited directly, but rather, upon editing, the active gradient's
contents will be copied to the custom gradient, which will then
become the active gradient and be edited.  This allows editing both
writable and nonwritable gradients without modifying them, and
without having to duplicate them.
2017-10-09 12:48:50 -04:00
626da25cf9 app: add accessors for the built-in FG->BG, FG->transparent etc. gradients 2014-04-30 09:15:42 +02:00
2ed1c59687 app: the FG/BG hardedge gradient didn't have a unique identifier 2014-04-30 02:02:24 +02:00
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
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
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
4fcf34699f app: flip context and name parameters in GimpDataNewFunc 2010-04-10 19:55:42 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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