* 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)
* configure.in: fixed variable clobber for thread & MP options
* app/Makefile.am: added new GIMP_MP_{LIBS,FLAGS} to compile &
link flags
The old configure would set the thread libs and then immediately
clobber them unless you enabled MP support. This meant threads
but no MP would mean a no-compile if your pthread support is in a
separate library (not in libc).
-sg
1999-05-09 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/text_tool.c: made the font selection dialog static again, so
the selected font is remembered across text tool invocations.
1999-05-09 Michael Natterer <mitschel@cs.tu-berlin.de>
* libgimp/Makefile.am
* libgimp/gimplimits.h: new file. Currently contains constants for
image size and resolution.
* app/file_new_dialog.c
* app/resize.c: use the new constants.
* app/layers_dialog.c: use a sizeentry in the "New Layer" query
box. Folded the "Layer Fill Type" callbacks into one function.
* app/text_tool.c
* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: did the calculations for
resolutions < 1.0 right this time.
* app/gimage_cmds.c
* tool/pdbgen/pdb/gimage.pdb: fixed a typo.
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-07 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/app_procs.c
* app/docindex.[ch]: fill the "last opened" list with
the first last_opened_size elements of the docindex.
* app/preferences_dialog.c: fixed the tile_cache_size and
last_opened_size bugs. Now we can change these values again.
1999-05-07 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/channel.[ch]
* app/commands.c
* app/gimage_mask.[ch]
* app/gimage_mask_cmds.c
* tools/pdbgen/pdb/gimage_mask.pdb
* app/interface.c: propagated the indepentent x/y values for
shrink/grow/border to the interface but not yet to the PDB.
* app/*_select.c
* app/paint_funcs.[ch]: implemented indep. x/y feather. It seems
that cut-and-paste was sufficient, but I didn't really understand
the code. Jay, could you have a look at this please?
If the feather/shrink/... amount is specified in pixels,
everything behaves like before.
I'm not sure how the built-in feather option of the selection
tools should behave, so it still defaults to 'pixel' mode.
Moved the static feather/shrink/... values from gimage_mask.c to
commands.c because they belong to the interface.
* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: prepared for resolution
support, but didn't enable it yet.
* app/unit_cmds.c
* tool/pdbgen/pdb/unit.pdb: fixed a help text.
* tools/pdbgen/pdb/gradient_select.pdb: Fix nasty bug, inner block
variable "values" shadowed outer one, the inner one was assigned
to, the outer one returned.
* app/gradient_select_cmds.c
(gradients_get_gradient_data_invoker): Autogenned from above.
* pixmaps/mouse1*: new bitmap files containing the new mouse cursors.
* app/parasitelist.c: use g_str_equal instead of parasite_compare_func.
* app/paint_core.c: interpret perfectmouse right way round.
* app/rect_select{P,}.[ch]: set custom cursors when the operation type
changes. Centralize the calculation of op based on the modifier
keys being held.
* app/fuzzy_select.c, app/free_select.c: allow the rect_select
functions calculate the operation type.
* app/ellipse_select.c: use the SelectionOps typedefs.
* app/edit_selection.c: convert MaskToLayerTranslate into
FloatingSelTranslate if there is already a floating selection in
init_edit_selection.
* app/disp_callbacks.c: fixed the calculation of state.
* app/gdisplay.[ch], app/cursorutil.[ch]: new functions to allow
the loading of customized cursors.
* app/paint_funcs.[ch], app/channel.c: border_region now accepts
seperate xradius and yradius arguments.
* configure.in: use the sinclude bit again, since it works in
automake 1.4. Generate the Makefile in the embed dir too
* app/gimp.sym: new file, list the symbols we want export to
modules here
* app/Makefile.am: add -export-symbols to LDFLAGS
* plug-ins/Makefile.am: use make variable expansion instead of
direct substitution for optional plug-in dirs. E.g., now one can
do "make GIMP_PERL=" to skip the perl plug-in dir during build
without rerunning configure
* plug-ins/rcm/Makefile.am: add header files to SOURCES
-Yosh
* config.h.win32, README.win32: Small changes.
* tools/pdbgen/pdb/*.pdb: Include <string.h>.
* app/*_cmds.c: Autogenerated files reflect above changes.
* libgimp/makefile.msc app/makefile.msc: Various updates,
including new object files. Gtk+ directory now should be called
gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
now should be called just glib.
* libgimp/gimp.def: Updates.
* libgimp/gimpfeatures.h.win32: Made current with
gimpfeatures.h.in.
* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
necessary.
* tools/pdbgen/pdb/fileops.pdb: Must have a
statement (even an empty one) after a label.
* app/fileops_cmds.c: Autogenerated file reflects above changes.
* app/crop.c: Include <string.h>.
* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
runtime, even if we might be compiling with gcc.)
* app/fileops.c: Don't include <process.h> here.
* app/fileops.h: Do include <process.h> here.
* app/gimpparasite.c: Include config.h, guard inclusion of
<unistd.h>. (Is the inclusion of unistd.h in source files all over
the place really necessary?)
* app/ink.c: MSC doesn't handle conversion from unsigned __int64
to double, so cast to signed.
* app/lut_funcs.c: Include config.h, and define rint() if necessary.
* app/pixel_processor.c: Include config.h without "..", like in
all the other places. Include <string.h>
* app/text_tool.c: Guard the "POINTS" identifier that clashes with
<windows.h>, sigh.
1999-05-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c: call gdisplays_resize_cursor_label(gimage)
after changing the image's unit.
* app/gdisplay.c: update the cursor label after resizing it's
frame, so the old (wrong) value gets overwritten.
* app/resize.c: it makes more sense to take the image's unit from
the "print size" frame rather than from "pixel dimensions".
Set reasonable boundaries to avoid over/underflows with crazy
resolutions. Code and gui cleanup.
The constants for min/max image size/resolution should probably go
to a central place.
* app/text_tool.c: set the resolution in the X font spec only if
the size is specified in points (reported by Austin).
* libgimp/gimpsizeentry.c: fixed a bad bug in the boundary and
resolution setting code (was not noticable before the new
resize/scale ui).
* plug-ins/gdyntext/*: version 1.4.3
* plug-ins/png/png.c: gcc suggested parentheses.
Mon May 3 21:44:27 BST 1999 Austin Donnelly <austin@gimp.org>
* app/palette.c: put up messages telling user about corrupted
palette files as we load them. In particular, try and catch
MSDOS format files such as those distributed from Visibone's
website.
* app/gimpimage.h: guide types used to start at 1, so make them
start at 1
* tools/pdbgen/enums.pl
* app/guides_cmds.c: autogenned files reflect above change
-Yosh
1999-05-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/layers_dialog.c
* app/resize.[ch]: new scale/resize ui:
Use size entries instead of text entries, chainbuttons instead of
check buttons. Put the stuff into frames. Added labels for the
original width and height.
It's possible to change resolution/unit now, please test if it
does the right thing.
* libgimp/gimpsizeentry.c: allow lower == upper when checking
boundaries.
Sat May 1 22:18:55 BST 1999 Austin Donnelly <austin@gimp.org>
* app/brush_select.c
* app/brush_select.h
* app/pattern_select.c
* app/pattern_select.h: delay the popup of pattern and brush
preview window by 150 millisecs. Allows flicker-free
selection of brushes/patterns, and still have fast pattern
preview like we used to. Ideally, should really factor out
the common code in these two files into one generic picker
widget.
* app/free_select.c: cosmetic whitespace change.
* app/draw_core.c: use GDK_CAP_NOT_LAST, not GDK_CAP_BUTT,
otherwise sequential line segments in XOR mode have
single-pixel gaps between them. Worse, if the segments are
only one pixel long, you don't get _any_ lines. XFree86 seems
to ignore GDK_CAP_BUTT, which is why this bug hasn't been seen
before. NCD X servers comply with the spec a little more
pedantically, so need GDK_CAP_NOT_LAST. OS/2 and Win32 people
should check that (eg) the lasso tool still provides proper
visual feedback.
* Makefile.am: listed tools first in SUBDIRS, so xgettext can grab
the autogenned files
* acconfig.h: removed unused HAVE_XSHM_H
* tools/pdbgen/app.pl: added proc invoke method, nicer header
formatting
* tools/pdbgen/pdb/layer.pdb: use layer_mask type for return value
for layer_create_mask
* tools/pdbgen/pdb/misc.pdb: added quit proc
* tools/pdbgen/pdb/tools.pdb: added ink proc, but not added to @procs
since it's incomplete
* tools/pdbgen/pdb/fileops.pdb: new file
* app/Makefile.am: added fileops_cmds.c
* app/app_procs.c
* app/fileops.c
* app/ink.c: removed PDB procs (the one in ink.c was incomplete)
* app/fileops.h: exported load_procs, save_procs, and file_proc_find()
* app/plug_in.h: exported enum, #include <sys/types.h>
* app/brushes_cmds.c
* app/fileops_cmds.c
* app/layer_cmds.c
* app/misc_cmds.c
* app/parasite_cmds.c
* app/patterns_cmds.c
* app/procedural_db_cmds.c
* app/text_tool_cmds.c
* app/internal_procs.c: pdbgen updates
* app/paint_funcs.c: the glibc 2.1 docs say using SVID threadsafe
random functions are preferable to rand_r, so use them instead of
a mutex
-Yosh
1999-04-29 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.[ch]
* app/pattern_select.[ch]: disabled setting the size of the
brushes dialog again because it still caused SIGFPE's in some rare
cases. I'm trying to fix that.
*Minimal* ui spacing changes. Some changes to make the code look
more similar (I'm a make-them-look-the-same fanatic ;)
* configure.in
* tools/Makefile.am
* tools/pdbgen/Makefile.am: integrated pdbgen into the build system
* libgimp/gimp.h
* libgimp/gimpimage.c: renamed gimp_image_findnext_guide to
gimp_image_find_next_guide, so change pdb wrapper
* plug-ins/guillotine/guillotine.c: reflect api change
-Yosh
1999-04-25 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/text_tool.c: added resolution support if the tool is used
from the interface. Can't do this for the PDB because the text has
to be rendered in the size "text_get_extents" (which currently has
no access to resolution information) returns.
Sat Apr 24 21:50:58 BST 1999 Adam D. Moss <adam@gimp.org>
* app/edit_selection.c: Finished the opaque-move stuff...
hopefully. Float and selection-mask movement behaviour
repaired, etc.
1999-04-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/bucket_fill.c: added a "BG Color Fill" radio button.
Toggling FG/BG with <shift> works in both color fill modes now.
* app/brush_select.c: session management sets the size of the
dialog again (depending on the current paint options mode because
bad things happen if the brush preview's size is reduced beyond
it's minimum).
1999-04-23 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.[ch]
* app/pattern_select.[ch]: made the previews change their size in
sync with resizing the dialog. The previews auto-resize with their
parent frame now. Connect to the preview's "size_allocate" signal,
not to the frame's, don't "signal_connect_after". Get the size of
the preview from it's allocation and not from it's requisition.
There's no need to remember width, height and the frame in the
structures anymore, so I kicked them out. Tweaked the code to look
more similar.