Commit graph

19 commits

Author SHA1 Message Date
Tor Lillqvist 868bdfff44 Overhaul of pixmap brushes and pipes: No separate pixmap pipe
brush tool any longer. The paintbrush, airbrush and pencil
tools, which already knew how to handle the single-pixmap
brushes now also handle the pipes as well.

* app/pixmapbrush.{h,c}
* app/gimpbrushpixmap.{h,c}: Removed these files.

* app/Makefile.am
* app/makefile.{cygwin,msc}: Remove from here, too.

* app/gimpbrushpipe.{h,c}: Total overhaul.

* app/paint_core.h
* app/apptypes.h: Some more types moved to apptypes.h

* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: Remove PIXMAPBRUSH tool.

* app/gimpbrush.h: New method: select_brush. Used to change the
brush in paint_core, for pipe brushes.

* app/gimpbrush.c: Add gimp_brush_select_brush, which is dummy for
the normal brushes (returns the same brush).

* app/paint_core.c: Call the brush's select_brush method to get a
potential new brush before calling the paint_func.

* app/gimpbrushlist.c: Various changes related to the pixmap and
pipe overhaul.

* app/airbrush.c
* app/pencil.c: Reorder code a bit in the tool motion function to
avoid executing unnecessary code in the case of a pixmap brush.

Other changes in the same commit:

* app/install.c: Make quote_spaces extern.

* app/appenv.h: Declare it.

* libgimp/gimpui.def: Add missing entry points.

* libgimp/makefile.{cygwin,msc}: Add missing objects to gimpui.
1999-08-26 00:54:30 +00:00
Adrian Likins 311953b12c add GradientPaintMode enum move above enum use above enum
Wed Aug 18 22:49:31 1999 Adrian Likins <alikins@redhat.com>

        * app/apptypes.h: add GradientPaintMode enum
        * app/paint_core.h: move above enum
        * app/paintbrush.c: use above enum

        * app/drawable_cmds.c: include "layers.h" so it
        will link again
1999-08-19 03:51:33 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
Michael Natterer a60b2c2f02 the Tool structure is now allocated by a common constructor which sets
1999-07-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tools]: the Tool structure is now allocated by a common
	constructor which sets default values and provides default tool
	action functions. To get rid of much code duplication there should
	be a object hierarchy of tools.

	* app/context_manager.c
	* app/tools.[ch]: create and destroy private contexts for the
	paint tools on startup and exit. They are not used yet.

	* app/interface.c
	* app/menus.c
	* app/tools.h: num_tools is now exported in tools.h

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-07-02 17:40:10 +00:00
Michael Natterer f1b5e1ae47 namespace cleanups.
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: namespace cleanups.

	* app/commands.[ch]
	* app/menus.c: moved the "Toggle Selection" menu entry to "View",
	sprinkled some separators and made the layers/channels/paths popup
	menus consistent with Tigert's last ops buttons change.

	* app/fileops.c
	* app/plug_in.c: check for gdisplay_active() returning NULL in
	some more places.

	* app/[all tool related files]:

	- Turned the ToolAction and ToolState #define's into typedef'ed
	  enums, so the compiler can do some more sanity checking.
	- Removed one more unused global variable "active_tool_layer".
	- Removed some #include's from tools.c.
	- Standardized the individual tools' structure names.
	- Moved showing/hiding the tool options to separate functions.
	- Stuff...

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/tools.c: fixed the segfaults which happened when the image
	of one of the tools which have dialogs (levels/posterize/...) was
	deleted. My approach was to do stricter sanity checking and to set
	some gdisplay pointers correctly where appropriate, so I can't
	tell exactly where the bug was.
	The curves tool now(??) updates on every _second_ display change
	only, which is really obscure.
	Finding/changing the display to operate on should definitely be
	done by connecting to the user context's "display_changed"
	signal.

	* app/gimpset.c: emit the "remove" signal _after_ removing the
	pointer from the set. If this was not a bug but a feature, please
	let me know, we'll need two signals then.
1999-06-21 22:12:07 +00:00
jaycox 628e07eb47 set the fg or bg color if ctrl or alt is held. use the new dropper cursor.
* app/paint_core.[ch]: set the fg or bg color if ctrl or alt is
 	held.  use the new dropper cursor.

	* app/cursorutil.[ch], app/gdisplay.[ch], app/rect_select.c: Use
 	GimpCursorType enum values > GDK_CURSOR_LAST instead of seperate
 	functions to choose between cursor types.

	* app/color_picker.c: use the new dropper cursor.

	* app/paintbrush.c, app/airbrush.c, app/paintbrush.c: use the new
 	color picking feature of paint_core.

	* cursors/dropper, cursors/droppermsk: new cursor for the color
 	picker tool. (this cursor is REALLY ugly, someone should fix it)
1999-05-13 11:12:32 +00:00
Manish Singh ccac10a4b0 new file, containes the PDB stuff for most of the tools
* app/tools_cmds.c: new file, containes the PDB stuff for most
of the tools

* app/gimprc_cmds.c: new file, PDB interface stuff for gimprc
access

* app/Makefile.am: added tools_cmds.c and gimprc_cmds.c

* app/airbrush.[ch]
* app/blend.[ch]
* app/bucket_fill.[ch]
* app/by_color_select.[ch]
* app/clone.[ch]
* app/color_picker.[ch]
* app/convolve.[ch]
* app/crop.[ch]
* app/ellipse_select.[ch]
* app/eraser.[ch]
* app/flip_tool.[ch]
* app/free_select.[ch]
* app/fuzzy_select.[ch]
* app/gimprc.[ch]
* app/paintbrush.[ch]
* app/pencil.[ch]
* app/perspective_tool.[ch]
* app/rect_select.c app/rect_select.h
* app/rotate_tool.[ch]
* app/scale_tool.[ch]
* app/shear_tool.[ch]: bye bye PDB stuff (exported necessary enums
functions, vars, etc.)

* app/internal_procs.c: use register_foo functions

* app/blend.[ch]: GradientType enum case changed

* app/bucket_fill.[ch]: s/FillMode/BucketFillMode/, made the enum
more consistent

* app/clone.[ch]: capitalized the CloneType enum

* app/color_picker.[ch]: changed get_color to pick_color so we don't
conflict with colormaps.c get_color

* app/convolve.[ch]: capitalized the ConvolveType enum

* app/paint_core.h: made a GradientPaintMode enum

* app/transform_core.h: BoundingBox enum

* app/scale_tool.c: use the generic bounding box enum for X1, Y1, etc.

* app/shear_tool.[ch]: turned HORZ and VERT into a ShearType enum

-Yosh
1999-04-18 21:22:41 +00:00
Manish Singh d6116b8d2c new file (from pdbgen)
* text_tool_cmds.c: new file (from pdbgen)

* Makefile.am: add new file, use AM_CPPFLAGS instead of CPPFLAGS

* internal_procs.c: register pdbgened text_tool procs

* text_tool.c: remove PDB stuff, export text_render and
text_get_extents and SizeType and SUPERSAMPLE symbols

* text_tool.c: remove PDB stuff

* blend.[ch]
* bucket_fill.[ch]
* clone.[ch]
* convolve.[ch]: export some enums

* channel.h
* paint_core.h: #define->enum

* channel.c
* gimpparasite.c
* parasitelist.c
* pixel_processor.c: warning cleanup

* convert_cmds.c
* paths_cmds.c: slight pdbgen changes

-Yosh
1999-04-10 04:54:34 +00:00
Adrian Likins a129fc0d20 ooops, forgot to commit this. Just changed the order of some enums in
ooops, forgot to commit this. Just changed the order of some enums
in paint_core.c

-adrian
1999-03-28 08:34:47 +00:00
EST 1999 Adrian Likins 7e28ed4ce3 app/paintbrush.c app/paint_core.c moved all the code for figuring out the
Thu Mar 18 19:35:48 EST 1999  Adrian Likins <adrian@gimp.org>

        * app/paintbrush.c
        * app/paint_core.c
        * app/paint_core.h: moved all the code for figuring out the
        paint_core->distance to color stuff to paint_core.[ch]. Updated
        paintbrush.c to use the new function. Also now can either loop
        thorugh the gradient (sawtooth, start->end, start->end or
        triangle start->end,end->start). Also mode for going
        thought the gradient once, forwards or backwards. None of these
        options are available from the gui or the PDB yet though.

-adrian
1999-03-19 00:42:27 +00:00
scott fe6720432b Header file tweaks. Now changing tile.h doesn't force about_dialog to
recompile! :)
1998-08-16 00:34:20 +00:00
jaycox 69d922412a ----------------------------------------------------------------------
----------------------------------------------------------------------
 Modified Files:
 	ChangeLog app/Makefile.am app/brush_select.c app/gimpbrush.c
 	app/gimpbrush.h app/gimpbrushgenerated.c app/gimpbrushlist.c
 	app/gimplist.c app/paint_core.c app/paint_core.h
    added axis to brushes.  paint_core now references a brush instead
    of a mask.  cleaned up some [brush]list removal stuff.


 Added Files:
 	app/vector2d.c app/vector2d.h
    very basic vector math struct/functions.
----------------------------------------------------------------------
1998-07-24 08:56:18 +00:00
jaycox 8fca3091fe Modified Files: ChangeLog app/brush_select.c app/brush_select.h
Modified Files:
 	ChangeLog app/brush_select.c app/brush_select.h
 	app/gimpbrushgenerated.c app/gimpbrushlist.c
 	app/gimpbrushlist.h app/paint_core.c app/paint_core.h
       Signalified the brushes and cleaned up a few things.

 	app/paint_funcs.c: Minor speed tweak
 ----------------------------------------------------------------------
1998-07-10 08:59:55 +00:00
jaycox b7d8e6ea91 Modified Files: ChangeLog app/Makefile.am app/airbrush.c app/app_procs.c
Modified Files:
 	ChangeLog app/Makefile.am app/airbrush.c app/app_procs.c
 	app/brush_select.c app/brush_select.h app/clone.c
 	app/colormaps.c app/commands.c app/convolve.c app/devices.c
 	app/eraser.c app/gimage_mask.c app/gimpobject.h app/ink.c
 	app/internal_procs.c app/paint_core.c app/paint_core.h
 	app/paintbrush.c app/pencil.c app/preferences_dialog.c
      Minor modifications to support new brush functionality

 Added Files:
 	app/brush_edit.c app/brush_edit.h app/gimpbrush.c
 	app/gimpbrush.h app/gimpbrushgenerated.c
 	app/gimpbrushgenerated.h app/gimpbrushlist.c
 	app/gimpbrushlist.h
      new files to support vector generated brushes and
      reorganization/objectification of the brush class

 Removed Files:
 	app/brushes.c app/brushes.h
    Obsoleted by gimpbrush.? and gimpbrushlist.?

 ----------------------------------------------------------------------
1998-07-09 05:31:06 +00:00
Owen Taylor f6a5a9383c app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
Fri Jun  5 22:37:40 1998  Owen Taylor  <otaylor@gtk.org>

	* app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
	  app/disp_callbacks.c app/gdisplay.[ch] app/gimprc.c
	  app/interface.[ch] app/menus.c app/paint_core.[ch]
	  app/paintbrush.c app/palette.c app/scroll.c
	  app/tools.[ch] app/undo.c

	- Added two new dialogs - input devices; (GtkInputDialog)
	  and DeviceStatus - which shows the tool/color for
	  each device.

	- Added device_status_update() call that gets called
	  whenever the tool/color etc. are changed.

	- Added ~/.gimp/devicerc file to store settings

	- Code to draw cursor on canvas for non XFree86 XInput
	  where device can't control cursor and extended input
	  device simultaneously.

	- Changed input handling so that we always use the pointer
	  position from the device, not from gdk_input_window_get_cursor,
	  so that motion and cursor position sync.

	- Various changes so things work with non-integer coordinates

	- Pay attention to pressure and tilt in basic tool support.

        - New paint mode PRESSURE that changes the brush based on
	  the brush pressure

	- Left in a few XInput hacks that should be removed, but I no longer
	  remember what they are.
1998-06-06 03:49:01 +00:00
Manish Singh 84abd5d700 Have fun recompiling gimp everyone. It's the great FSF address change!
-Yosh
1998-04-13 05:44:11 +00:00
scott c267c55bbe Rewrite to make drawables (layers, channels, layer masks) into GtkObjects.
--sg
1998-01-22 07:02:57 +00:00
Manish Singh 7d148f0288 Added Sven's patch for the scale and resize dialogs
Added Raph's patch for the transperancy blur problem
1997-12-08 01:13:10 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00