Commit Graph

23 Commits

Author SHA1 Message Date
Sven Neumann 911893e0f9 brought the array used for optimization back in sync with the
2001-01-24  Sven Neumann  <sven@gimp.org>

	* app/paint_funcs.c: brought the array used for optimization back in
	sync with the LayerModeEffects enum. This was causing really strange
	rendering errors. Started to clean up the file up and removed the
	unused layer_mode names.

	* app/tile.[ch]
	* plug-ins/common/colortoalpha.c: small cleanups

	* po/POTFILES.in: removed app/paint_funcs.c
2001-01-24 15:36:55 +00:00
Sven Neumann 6c3ef74547 app/paint_funcs.c app/pixel_processor.c app/tile.c app/tile_cache.c
2001-01-23  Sven Neumann  <sven@gimp.org>

	* app/paint_funcs.c
	* app/pixel_processor.c
	* app/tile.c
	* app/tile_cache.c
	* app/tile_manager.c
	* app/tile_pvt.h
	* app/tile_swap.[ch]: cleanups, indentation
2001-01-23 14:21:37 +00:00
Michael Natterer afebbc2f86 app/Makefile.am new files containing most of the code from
2001-01-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/toolbox.[ch]: new files containing most of the code
	from app/interface.[ch]

	* app/interface.[ch]: only contains create_display_shell() now.
	Needs to be somehow merged with other arbitrarily named display
	files around.

	* app/app_procs.c
	* app/menus.c
	* po/POTFILES.in: changed accordingly.

	* app/asupsample.c
	* app/gradient.c
	* app/tile.c: cleanup.
2001-01-22 03:30:42 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Sven Neumann c9482821ab mostly header cleanup and i18n
--Sven
2000-01-31 23:59:05 +00:00
Adam D. Moss 22b8c94feb Mon Dec 13 19:25:39 GMT 1999 Adam D. Moss <adam@gimp.org
* app/tile.c
	* app/tile.h
	* app/tile_manager.c
	* app/tile_swap.c:

	Allocate Tile's array of TileRowHints dynamically.  Make type
	of TileRowHint explicit since it's fairly space-critical.
	Can save several hundred K of memory with this and struct
	changes.

	Added warnings for old basically-untested-or-insane
	paths through the tile referencing code.

	* app/tile_pvt.h: Shrink down and rearrange fields of Tile
	struct to save some space with gcc's padding for most people.

	* app/paint_funcs.c: Use tile_sanitize_rowhints() to ensure
          that rowhints have been allocated before use.

	* app/channel_ops.c
	* app/gdisplay.c
	* app/pixel_region.c: Cosmetic, sanity or unfinished debug
          changes (the latter commented out) for fun and reference.
1999-12-13 19:48:24 +00:00
Garry R. Osgood 843f496ddb Inaugural checkin: Tile accounting app/tile_cache.c app/tile.c
1999-12-05 Garry R. Osgood <gosgood@idt.net>
	Inaugural checkin: Tile accounting
	* app/tile_cache.c
	* app/tile.c

	cur_cache_dirty in tile_cache.c was not being fully updated. Fewer
	dirty bytes were being added to this global than what were being
	placed on the dirty tile queue. Deductions, however, were correct
	sometimes causing cur_cache_dirty to wrap around zero and become
	large positive. This skewed the number of tiles to be swapped to disk,
	usually downward, but sometimes dramatically upward.
        active_tile_count, (tile.c) currently a diagnostic counter, was
	not being decremented.

	Full patch documentation at
	http://idt.net/~gosgood/gimp-patch/patch01.html#991205-0
1999-12-05 20:31:50 +00:00
Manish Singh dfd9d1cc70 i18n patch from gimp-monniaux-050699-1
-Yosh
1999-06-05 23:41:45 +00:00
BST 1999 Adam D. Moss 928dd48af7 app/tile.c app/tile.h app/tile_manager.c app/tile_pvt.h
Sun May  9 16:23:47 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/tile.c
	* app/tile.h
	* app/tile_manager.c
	* app/tile_pvt.h
	* app/paint_funcs.c:

	Added Tile Row Hinting to the GIMP tile structure.  Tiles
	now have cheap per-row hints indicating whether each row is
	all-transparent, all-opaque, a mixture, or other properties.

	These hints are automatically invalidated when the tile is checked
	in as dirty, and are re-evaluated on demand.

	Currently only the layer compositing routines take advantage
	of these hints, though there is opportunity to use them to
	advantage in numerous other places.

	The whole layer compositing process is typically 2x-4x faster
	now, especially on subsequent renders of data which has already
	had its hints calculated.

	See tile.h for the explicit TileRowHint query/set interface.
	The procedure to re-evaluate tile hints currently resides in
	paint_funcs.c but may be exposed to other parts of the core
	if necessary.

	This is experimental.  Please report mis-rendering problems.
1999-05-09 15:45:37 +00:00
GMT 1999 Adam D. Moss 4afd1e88a9 Fixed the tile-corruption bug which has been around since early GIMP-1.1.
Sun Jan 31 19:42:26 GMT 1999 Adam D. Moss <adam@gimp.org>

	* app/tile.c app/tile_manager.c:

	Fixed the tile-corruption bug which has been around
	since early GIMP-1.1.  When dirtying a copy-on-write
	tile, a pointer to nonsense data was being returned
	when the c-o-w'd tile source was swapped out to disk.
	Now the c-o-w'ing routine ensures that the tile data
	is correctly locked into memory before duplicating it
	for dirtying.
1999-01-31 20:52:15 +00:00
EDT 1998 Adrian Likins 25721826d0 Lots of ii8n stuff here and some additions to the de.po. Applied
Wed Oct 14 17:46:15 EDT 1998 Adrian Likins <adrian@gimp.org>

        * app/*, po/de.po, de/POTFILES.in, libgimp/gimpintl.h:
        Lots of ii8n stuff here and some additions to the de.po.
        Applied gimp-egger-981005-1 ,gimp-egger-981006-1,
        gimp-egger-981007-1, gimp-egger-981008-1,
        gimp-egger-981009-1.patch, gimp-egger-981010-1.patch

        * plug-in/guillotine/guillotine.c: added the coordinates
        of the split images from the original image to the title.
        ie foo.jpg (0,0) for the image in the topleft.

        * plug-in/script-fu/scripts/neon-logo.scm,
        perspective-shadow.scm, predator.scm,rendermap.scm,
        ripply-anim.scm, select_to_image.scm,swirltile.scm,
        xach-effect.scm: updated scripts to use new script-fu stuff

wooo boy! a big un!

	in testing this, it looks like some of the po files are busted.
but the code stuff seems okay.

-adrian
1998-10-14 23:23:52 +00:00
scott 0ffabfe95b Bunch of tile-related stuff. 1998-08-11 17:35:34 +00:00
scott 1e9108c41d Squashed a deadlock. I hope. --sg 1998-07-21 23:34:28 +00:00
scott 7ee6ae529c Reduced the aggressiveness of the tile preswapper. 1998-07-12 00:59:37 +00:00
scott 32058a457f More tile-related stuff.
--sg
1998-07-11 17:23:03 +00:00
scott 83963c3697 A few tile tweaks (stuff I messed up on the frist commit) --sg 1998-07-10 04:33:21 +00:00
scott 9ccef4a648 Tile overhaul. Mostly minor changes, except for tile*.*, which are
barely recognizable.
1998-07-10 02:43:12 +00:00
scott 217b494f52 Makefile.am blend.c boundary.c by_color_select.c channel.c color_picker.c
* Makefile.am blend.c boundary.c by_color_select.c channel.c
* color_picker.c drawable_cmds.c fuzzy_select.c gimpimage.c
* image_render.c ink.c layer.c main.c paint_core.c paint_funcs.c
* pixel_region.c plug_in.c tile.c tile.h tile_cache.c tile_manager.c
* tile_swap.c transform_core.c undo.c xcf.c: split off tile_pvt.h
from tile.h so changes in the tile implementation don't force a
complete recompile.
--sg
1998-07-08 06:41:58 +00:00
scott 3423aeff07 splits pixmaps up into two headers fixed a doublelock deadlock --sg
* pixmaps.h pixmaps2.h tools.c: splits pixmaps up into two headers
* tile.c: fixed a doublelock deadlock
--sg
1998-07-06 18:20:28 +00:00
scott 27e90260db Incorporated Adam's copy-on-write patches. Seems to not break anything,
Incorporated Adam's copy-on-write patches.  Seems to not break
anything, but I'm sure they do somewhere. --sg
1998-07-02 23:29:44 +00:00
EDT 1998 Adrian Likins 14560bb94c fix from Scott Goehring for a thread deadlock
Sun Jun 28 00:23:52 EDT 1998 Adrian Likins <adrian@gimp.org>

        * app/tile.c : fix from Scott Goehring for a thread deadlock

-adrian
1998-06-28 05:34:46 +00:00
scott 33f5dcc92d Modified tile swapping to preswap dirty tiles, using a thread if threads
Modified tile swapping to preswap dirty tiles, using a thread if
threads are enabled in configure or a gtk_timeout if they're not.  The
code appears stable but could use improvement.  Be careful when
working in here; there are four sets of semaphores and getting the
locking wrong will cause deadlocks or tile corruption.  I'll try to
write up a document describing what's going on in here sometime soon.
--sg
1998-06-20 17:09:32 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00