2003-09-11 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am: removed PANGO_DISABLE_DEPRECATED again since
we have to use Pango API that is deprecated in the HEAD branch.
2003-09-06 Michael Natterer <mitch@gimp.org>
To optimize duplicate and/or wrong image updates away, introduced
new policy that a child object must never explicitly update or
invalidate its parent object (just like the GUI is not updated
explicitly by the core):
* app/core/gimpdrawable.[ch]: added new signal
GimpDrawable::update(). Never update or invalidate the image when
the drawable is updated or invalidated.
(gimp_drawable_set_visible): don't gimp_drawable_update() the
drawable since its pixels have not changed.
* app/core/gimpimage.[ch]: connect to the "add" and "remove"
signals of the layers and channels containers. Also connect to the
"update" and "visibility_changed" signals of all drawables in
these containers (optimizes away updates issued by drawables which
are not yet added to the image and updates of the selection
mask). Also, don't propagate updates to the image if the emitting
drawable is invisible (optimizes away updates issued by invisible
drawables).
(gimp_image_add_layer,channel)
(gimp_image_remove_layer,channel): don't update the image since
that's done by our "add" and "remove" handlers now.
(gimp_image_position_layer,channel): update just the image, not
the drawable since its pixels have not changed.
(gimp_image_real_colormap_changed)
(gimp_image_set_component_visible): always call
gimp_image_update() *and* gimp_viewable_invalidate_preview() to
get everything updated, since update and invalidate of images are
not connected.
* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): don't
update the drawable since (a) its pixels don't change and (b) the
image updates itself upon adding/removing now.
(undo_pop_layer_mod): replaced gimp_image_update() by
gimp_drawable_update() (just for consistency with other similar
functions).
* app/core/gimplayer.c: connect to "update" of the layer mask and
issue updates on the layer if the mask update has any effect on
the projection.
(gimp_layer_create_mask): don't set the mask's offsets here since
they may be different when we later add the mask to the layer.
* app/core/gimplayermask.c (gimp_layer_mask_set_layer): set the
mask offsets here instead.
* app/core/gimpchannel.c (gimp_channel_translate): update the
channel even if push_undo == FALSE.
* app/paint/gimppaintcore.c (gimp_paint_core_finish)
* app/tools/gimpinktool.c (ink_finish): invalidate both the
drawable and the image preview since invalidating the drawable
doesn't invalidate the image any more.
* app/text/gimptextlayer.c (gimp_text_layer_render_now): also
update the new extents of the text layer, not only the old one.
(gimp_text_layer_render_layout): don't update the drawable since
gimp_drawable_fill() already updated it.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new pure virtual function
GimpDrawable::invalidate_boundary().
* app/core/gimplayer.[ch]: implement it and removed public
function gimp_layer_invalidate_boundary().
* app/core/gimpchannel.[ch]: implement it.
* app/core/gimpselection.[ch]: implement it and removed public
function gimp_selection_invalidate().
* app/core/gimpimage-mask.c (gimp_image_mask_invalidate)
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c
* app/text/gimptextlayer.c: changed accordingly.
* app/core/gimpchannel.[ch]: made gimp_channel_push_undo() a
public function and made it call
gimp_drawable_invalidate_boundary(). Added undo_desc strings for
all undo pushing functions to GimpChannelClass.
* app/core/gimpselection.[ch]: removed gimp_selection_push_undo()
since after the change above it was identical to
gimp_channel_push_undo(). Don't push any undo here since
upchaining does the right thing now. Override GimpChannelClass'
undo_desc strings to say "Selection".
* app/core/gimpimage-mask.c (gimp_image_mask_push_undo): changed
accordingly.
2003-09-01 Manish Singh <yosh@gimp.org>
Font configuration stuff: You can rescan for fonts on the fly now.
A couple caveats: the text tool font dialog doesn't get updated, but
that's supposed to be going away. The new font dock doesn't resort
on update, but mitch is supposed to fix that. :)
Some nice stuff for advanced font users: GIMP local font directories,
and an optional site and user fonts.conf.
I thought about supporting the auto-resan feature in fontconfig,
but it might take too much time to do a scan so I haven't implemented
it. Another thing I want to do is create fontconfig caches in the
local dirs.
* text/gimpfonts.[ch]: gimp_fonts_init/load/reset implementation.
* text/Makefile.am: added gimpfonts.[ch]
* app/core/gimp.c: use gimp_fonts_init/reset.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added font-path config setting.
* app/gui/preferences-dialog.c: Add a Font Folders section for the
above. Also added a Rescan Font List button, which goes in the
Environment section. Not sure if this is the right place...
it also looks kinda ugly all by its lonesome.
* app/gui/user-install-dialog.c: mention the fonts directory.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/folders-fonts.png: dummy icon for
font folders pref, probably a folder with a little "T" in the corner
would be good.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c: removed excessive path debugging output.
* app/text/gimptext-vectors.c: always close strokes created from
text outlines.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/text/gimptext-vectors.c: use the new bezier stroke API.
* app/vectors/gimpbezierstroke.c (gimp_bezier_stroke_new_moveto):
pass a NULL anchor to the first call of gimp_bezier_stroke_extend().
2003-08-31 Sven Neumann <sven@gimp.org>
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c: added "Merge Visible Layers..." and
"Flatten Image" menu entries as suggested in bug #120959.
* app/text/gimptext-vectors.c: fixed function declaration; we are
passing a PangoGlyph here, not a (PangoGlyph*).
2003-08-28 Larry Ewing <lewing@ximian.com>
* app/text/gimptext-vectors.c (conicto): interpolate the position
of the cubic control points correctly and set the previous control
point.
(cubicto): set the previous control point to the new value then
add remaining points.
2003-08-20 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c
* app/text/gimptextlayer-transform.c
* app/widgets/gimpitemfactory.c: some changes for legacy compilers
based on a patch from Avi Bercovich (bug #120251).
2003-08-17 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.[ch]: Virtualized
gimp_bezier_stroke_extend, added gimp_stroke_is_extendable.
* app/text/gimptext-vectors.c: changed accordingly.
* app/vectors/gimpvectors.[ch]: added gimp_vectors_anchor_select.
* app/tools/gimpvectoroptions.[ch]: dummy switch for future
extensions
* app/tools/gimpvectortool.[ch]: Major overhaul. Made use of
gimp_vector_tool_oper_update, cleaned up
gimp_vector_tool_button_press a lot and finally have a
working cursor_update. Still buggy, but I wanted to have it
in CVS.
2003-08-15 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/text/gimptextlayer-transform.[ch]: new files that hold yet
unused GimpItem transform methods.
* app/text/gimptextlayer.[ch]: export gimp_text_layer_render().
* app/text/gimptext-bitmap.[ch]
* app/text/gimptext-private.h
* app/text/gimptext-vectors.c
* app/text/gimptextlayout-render.c: use the transformation matrix.
This doesn't change anything since it's still always the identity
matrix.
2003-07-28 Michael Natterer <mitch@gimp.org>
* app/text/gimptext-vectors.c: define FT_GLYPH_FORMAT_OUTLINE as
ft_glyph_format_outline if it doesn't exist so it compiles with
older freetype versions.
2003-07-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.c (gimp_image_remove_layer)
* app/core/gimpimage.c (undo_pop_layer)
* app/text/gimptextlayer.c (gimp_text_layer_render):
gimp_layer_invalidate_boundary() must be called whenever a layer
gets translated, resized or removed. Fixes stale layer outlines in
the canvas padding area.
2003-07-24 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_create_vectors): set
the vectors offset from the text layer's offset.
* app/text/gimptext-vectors.c: removed debugging output.
2003-07-24 Sven Neumann <sven@gimp.org>
* app/text/gimptext-vectors.c: more work on glyph decomposition.
* app/tools/gimptextoptions.c
* app/tools/gimptexttool.c: added button to create a path from text.
2003-07-22 Sven Neumann <sven@gimp.org>
* app/text/gimptext-bitmap.c
* app/text/gimptextlayout-render.c: define FT_LOAD_TARGET_MONO to
FT_LOAD_MONOCHROME if it is undefined. This avoids a dependency on
recent versions of Freetype (bug #118066).
2003-07-20 Sven Neumann <sven@gimp.org>
Generalized text rendering and added a framework for creating
GimpVectors objects with text outlines.
* app/text/Makefile.am
* app/text/gimptext-bitmap.[ch]: new files with bitmap render
function.
* app/text/gimptext-vectors.[ch]: new files for rendering to
vectors.
* app/text/gimptextlayout-private.h: removed ...
* app/text/gimptext-private.h: ... and readded with this name.
* app/text/gimptextlayout-render.[ch]: reduced to the generic parts
of text rendering.
* app/text/gimptextlayer.c
* app/text/gimptextlayout.c: changed accordingly.
2003-07-17 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-params.[ch]: added "gboolean allow_percent"
to gimp_param_spec_unit() and to the GIMP_CONFIG_INSTALL_PROP_UNIT()
macro. Changed value validation accordingly.
* app/config/gimpconfig-types.c (string_to_unit): parse "percent"
correctly.
* app/widgets/gimppropwidgets.c (gimp_prop_unit_menu_new): show
the "Percent" menu entry if the param_spec allows percent.
* app/config/gimpcoreconfig.c
* app/core/gimpgrid.c
* app/core/gimptemplate.c
* app/text/gimptext.c: pass FALSE to disallow percent.
* app/paint/gimppaintoptions.c
* app/tools/gimpselectionoptions.c: pass TRUE. Brings back the
percent feature for fade_length, gradient_length and fixed_size
rect/ellipse select.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: don't call the the reset()
functions from the GUI constructors (and reset the options just
deserialized from disk). Instead, added set_defaults() functions
which do everything the old reset() functions did (except
upchaining) and call set_defaults() from reset() and from the GUI
constructors.
2003-07-08 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_from_layer): replace
the layer in the global item hash table, fixes bug #116936.
* libgimp/gimpexport.c (gimp_export_image): added a warning that
would have helped to resolve above bug.
2003-07-07 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpbasetypes.h: include <libgimpmath/gimpmathtypes.h>.
* libgimpmath/gimpmathtypes.h
* libgimpmath/gimpmatrix.[ch]: added GimpMatrix2 struct definition
and new function gimp_matrix2_identity().
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-params.[ch]
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.[ch]
* app/config/gimpconfig.c
* app/config/gimpscanner.[ch]: added a boxed type around GimpMatrix2.
* app/text/gimptext.[ch]: added new property "transformation".
2003-07-06 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/text/gimptextlayout-private.h
* app/text/gimptextlayout-render.[ch]: new files that implement
text rendering. Right now it's basically code copied from PangoFT2
but having it here will allow me to implement text transformations.
* app/text/gimptextlayout.[ch]
* app/text/gimptextlayer.c: changed accordingly.
2003-06-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext-parasite.c (gimp_text_from_gdyntext_parasite):
attempt to convert text from locale encoding.
* app/vectors/gimpvectors-compat.c (gimp_vectors_compat_new):
allow paths with zero points (bug # 115955).
* plug-ins/script-fu/script-fu-server.c: if a connection to a
client is lost, invalidate file descriptors in the command queue.
Plugged a couple of memleaks.
2003-06-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext-xlfd.[ch]: added convenience function
gimp_text_set_font_from_xlfd(). Improved and documented XLFD parsing.
* app/text/gimptext-parasite.c: use the new function.
2003-06-24 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]: added new function
gimp_config_serialize_to_fd() for the sake of completeness and
since it's a nice way to generate debugging output.
* app/text/Makefile.am
* app/text/gimptext-xlfd.[ch]: new files with routines to handle X
Logical Font Descriptions in an attempt to improve backwards
compatibility.
* app/text/gimptext-parasite.[ch]
* app/xcf/xcf-load.c: promote layers with GDynText parasite to
GimpTextLayer. Work in progress, we need to improve font matching.
2003-06-24 Sven Neumann <sven@gimp.org>
Added persistent storage of text layers in XCF files. We use a
parasite in order to keep the file format backwards compatible.
Fixes bug #111781.
* app/text/Makefile.am
* app/text/gimptext-parasite.[ch]: new files that hold functions
to convert a GimpText object to a GimpParasite and back.
* app/text/gimptextlayer.[ch]: added an ugly hack that allows to
convert a normal layer to a text layer.
* app/xcf/xcf-save.c: when saving a text layer, store an extra
parasite that holds all information about the text.
* app/xcf/xcf-load.c: if a "gimp-text-layer" parasite is found and
it can be successfully deserialized to a GimpText object, convert
the layer to a text layer and remove the parasite.
* app/Makefile.am: had to change linkage order.
* devel-docs/parasites.txt: documented the new "gimp-text-layer"
parasite.
* app/text/gimptext-parasite.[ch]
* app/gui/session.c (session_save): plugged minor memory leaks.
2003-06-19 Hans Breuer <hans@breuer.org>
* makefile.msc : replace the win9x specific cd ....
with the portable cd ..\..\..
* **/makefile.msc : updated
* plug-ins/xjt/xjt.c plug-ins/common/psd_save.c :
there is still no unistd.h with msvc build
2003-06-03 Sven Neumann <sven@gimp.org>
* app/text/gimptext-compat.c (text_get_extents): need to get
ascent and descent from a PangoLayoutLine. Report negative descent
so the function behaves like it used to in 1.2.
2003-05-26 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager-private.h: added "gint ref_count" to the
TileManager struct.
* app/base/tile-manager.[ch]: replaced tile_manager_destroy()
by tile_manager_ref() and tile_manager_unref().
* app/core/gimpimage-undo-push.c: ref the tile managers stored in
the undo system and DON'T destroy them if no undo could be pushed.
Should fix the remaining crashes with undo disabled like in
bug #9350.
(!!!) Note that the tiles passed to gimp_image_undo_push_image()
and gimp_drawable_push_undo() as well as the tile managers of
drawables passed to gimp_image_undo_push_[layer|channel]_mod()
must be unref'ed by the caller now.
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
don't take ownership of the passed tiles but ref them if needed.
(!!!) Callers must unref the passed tiles themselves now.
* app/core/gimpbuffer.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-offset.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-projection.c
* app/core/gimpimage.c
* app/core/gimpimagemap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/paint/gimppaintcore.c
* app/text/gimptextlayer.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimptransformtool-undo.c
* app/tools/gimptransformtool.c: changed accordingly.
2003-05-01 Manish Singh <yosh@gimp.org>
* app/text/gimpfontlist.c: Query fontconfig directly for the font
list, avoiding scanning the internal fontconfig list over and over
again. There are differences in the font list that the old and new
code produce however. The new code will generate descriptions for
more fonts, and some of the styles will be different. Also, pango
font description strings aren't specific enough for all cases, so
a font name may appear more than once in the list. I'm not sure
how to solve this best, but this code is Good Enough (TM) for now.
2003-04-09 Sven Neumann <sven@gimp.org>
* app/text/text-enums.[ch]
* app/text/gimptext.[ch]
* app/text/gimptextlayout.c: added some more text properties that
can't be accessed from the GUI yet.
2003-04-01 Sven Neumann <sven@gimp.org>
* app/text/gimpfont.c: use a fixed size for the popup and clamp to
a maximum size (should actually use GIMP_PREVIEW_MAX_SIZE here).
* app/text/gimptext.c
* app/tools/gimptextoptions.c: minor string changes.
2003-03-31 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.[ch]: when the user has changed the layer
name from the layers dialog, don't change it with the text any longer.
* app/tools/gimpmovetool.c: removed redundant include.
* app/widgets/gimpcontainerpopup.c
* app/widgets/widgets-enums.[ch]: fixed spelling.
2003-03-31 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-text-dir-ltr-24.png
* themes/Default/images/stock-text-dir-rtl-24.png: placeholders
for new icons.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* themes/Default/gtkrc: tweak GtkDialog in "gimp-default-style".
* app/text/text-enums.[ch]
* app/text/gimptext.[ch]
* app/text/gimptextlayout.c: added new enum GimpTextDirection and
use it instead of PangoDirection.
* app/widgets/widgets-types.h
* app/widgets/gimptexteditor.[ch]: made GimpTextEditor a real widget
and added buttons to switch the text direction.
* app/tools/gimptextoptions.[ch]
* app/tools/gimptexttool.c: moved creation of the text editor to the
text tool options, take care of GimpText::base-direction here.
2003-03-28 Sven Neumann <sven@gimp.org>
* app/text/gimptext.[ch]
* app/text/gimptextlayout.c: added a "base-direction" property to
GimpText and set it on the PangoContext when rendering the text.
2003-03-28 Sven Neumann <sven@gimp.org>
* app/text/gimptext-compat.c: respect the antialias parameter.
* app/text/gimptext.[ch]
* app/text/gimptextlayout.c: added autohint property that allows
to force the use of the Freetype auto-hinter.
* app/tools/gimptextoptions.c: added check buttons for autohint
and antialias. You need to patch PangoFT2 if you want to the
antialias setting to have any effect (see #109370).
2003-03-27 Sven Neumann <sven@gimp.org>
* app/text/gimptext.[ch]: added hinting and antialias properties.
* app/text/gimptextlayout.c: rewrote some parts using the
PangoFontMap API. Respect hinting and antialias properties.
(PangoFT2 does not allow to switch antialias off, so that has no
effect yet.)
* app/tools/gimptextoptions.c: added a check button that controls
hinting.
2003-03-27 Sven Neumann <sven@gimp.org>
* configure.in: require PangoFT2 >= 1.2.0.
* app/text/gimpfontlist.c: use the PangoFontMap API to list
available fonts.
2003-03-27 Sven Neumann <sven@gimp.org>
* app/core/gimplist.[ch]: added new function gimp_list_sort().
* app/text/gimpfontlist.c (gimp_font_list_restore): sort the list
after all fonts have been added instead of keeping the list in
order while inserting
2003-03-26 Sven Neumann <sven@gimp.org>
* app/text/gimpfont.c (gimp_font_get_popup_size): added an upper
limit for the popup size to avoid a crash when GIMP_PREVIEW_MAX_SIZE
is exceeded.
2003-03-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: include locale.h for setlocale().
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am: changed rules that generate enums code
to include gimp-intl.h instead of libgimp-intl.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/*.pdb: include gimp-intl.h.
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-03 Hans Breuer <hans@breuer.org>
* app/text/makefile.msc (new file)
*/makefile.msc */*/makefile.msc : updated
* app/core/gimpdata.c : define access() constants
for G_OS_WIN32 case
* app/text/gimptext.c : <stdlib.h> for getenv()
* libgimp/gimp.def libgimp/gimpui.def : updated externals
* libgimpwidgets/libgimp-glue.c : make dynamic_resolve
actually work again for 'my' DLL naming convention
* plug-ins/gap/gap_pdb_calls.c : reflect renaming
of GIMP_VERTICAL to GIMP_ORIENTATION_VERTICAL
2003-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.[ch]: added a writeable field to GimpData and
set it from gimp_data_set_filename().
* app/gui/brushes-menu.c
* app/gui/gradients-menu.c
* app/gui/palettes-menu.c
* app/gui/patterns-menu.c
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpgradienteditor.c: look at data->writeable when
setting widgets sensitivity.
* app/gui/user-install-dialog.c (user_install_dialog_create): reduce
some of the dialog clutter by not showing the directories created for
plug-ins.
* app/core/gimpviewable.[ch]: added a default_stock_id to
GimpViewableClass so we don't need to hold a copy in each instance.
Added accessor functions to set and get the stock_id.
* app/core/gimptoolinfo.c
* app/gui/dialogs-constructors.c
* app/gui/image-menu.c
* app/tools/gimpcroptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimppreview.c
* app/widgets/gimptoolbox.c: use gimp_viewable_get_stock_id().
* app/text/gimptextlayer.c: set a text icon as default stock_id.
2003-02-24 Sven Neumann <sven@gimp.org>
* app/text/gimptext.[ch]
* app/text/gimptextlayout.c: added a language property to GimpText
which defaults to the language derived from the users locale. Set
the language on the PangoContext.
2003-02-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_invalidate() which queues a redraw on all displays
by calling gimp_display_shell_expose_full().
* app/display/gimpdisplayshell-render.c (render_setup_notify):
invalidate all displays when the transparency type or size changes.
* app/tools/gimptexttool.c (text_tool_button_press): readded some
code I accidentally removed in my last commit.
* app/text/gimptextlayout.c (gimp_text_layout_new): always set the
font size but make sure it is at least 1.
2003-02-20 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.c (gimp_utf8_strtrim): trim the string
only if necessary.
* app/text/gimptext.c: changed the default text to NULL.
* app/widgets/gimptexteditor.[ch]: replaced Cancel and OK buttons
with a single Close button and removed the callback.
* app/widgets/gimppropwidgets.c: gtk_text_buffer_set_text()
doesn't like NULL pointers, pass it an empty string instead.
* app/tools/gimptexttool.c: create a new text layer as soon as the
user starts editing.
2003-02-14 Michael Natterer <mitch@gimp.org>
Fixed most of the bugs the Script-Fu logo scripts triggered:
* app/core/gimpdrawable-bucket-fill.[ch]
(gimp_drawable_bucket_fill): added "gboolean do_seed_fill"
parameter instead of assuming TRUE.
(gimp_drawable_bucket_fill_full): moved "color" and "pattern"
parameters to the end.
* app/tools/gimpbucketfilltool.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimpdrawablelistview.c: changed accordingly.
* tools/pdbgen/pdb/misc_tools.pdb: only pass TRUE if the selection
is empty. Restores old PDB behaviour.
* app/core/gimpimage-undo.c (gimp_image_undo_group_end): return
early if gimage->undo_on is FALSE. Fixes bogus criticals.
* app/core/gimpimage.c (gimp_image_add_[layer|channel|vectors]):
clamp the passed position to sane values before calling
gimp_container_insert() (Scripts adding layers at wrong indices
are broken but should not crash the core).
* tools/pdbgen/pdb/paint_tools.pdb: need to copy the relevant
paint parameters from the current context now that the paint
options are contexts themselves.
* tools/pdbgen/pdb/palette.pdb: removed useless includes.
(Mostly) fixed text PDB functions:
* app/text/gimptext-compat.[ch] (text_render): don't set
text->font_size = -1 but get the size from the PangoFontDescrition.
(text_get_extents): return the logical_rect, not the ink_rect
because the size of the created text layer will be the logical_rect.
* tools/pdbgen/pdb/text_tool.pdb: removed text_fontname_create()
utility function and the usage of pass_through and implement all
invokers in-place, using the correct parameters.
* plug-ins/script-fu/siod-wrapper.c: fixed BG-IMAGE-FILL compat
define so we can BG fill again. Cleaned up color handling code.
* plug-ins/script-fu/scripts/coolmetal-logo.scm
* plug-ins/script-fu/scripts/glossy.scm
* plug-ins/script-fu/scripts/land.scm
* plug-ins/script-fu/scripts/lava.scm
* plug-ins/script-fu/scripts/test-sphere.scm: use new gradient names.
* app/pdb/misc_tools_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/text_tool_cmds.c: regenerated.
2003-02-08 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptextoptions.c: use N_() instead of _() with blurbs
of object properties. GimpConfig wants the untranslated string as
well.
* app/widgets/gimpenummenu.c
* app/widgets/gimppropwidgets.c: added gettext() calls.
* app/config/gimpconfig-serialize.c: document the fact that
gimp_config_serialize_comment() only handles ASCII comments.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/core/gimpobject.c (gimp_object_set_name_safe): replaced with
an UTF-8 safe rewrite.
* app/widgets/gimpwidgets-utils.c (gimp_table_attach_stock): hacked
to allow being used with non-existent stock_ids (for prototyping).
* app/widgets/gimpenummenu.c: set the radio button mode correctly.
* app/widgets/gimpfontselection.c: tweaked spacing.
* app/tools/gimptextoptions.c: added controls for justification and
indentation. Removed letter-spacing control for now.
* app/text/gimptextlayer.[ch]: rerender the text layer from a low
priority idle function.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/core/gimpobject.[ch]
* app/text/gimptextlayer.c: improved the code that trims the text
before setting it as layer name and moved it to GimpObject as
gimp_object_set_name_safe().
* app/text/gimptext.[ch]: removed fixed_height and gravity again.
* app/text/gimptextlayout.c: much simpler positioning that has the
advantage that it actually works.
* libgimpproxy/gimpobject.[ch]: this crap was regenerated.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: added some blurbs that will show up as
tooltips in the text tool options. Tweaked default values.
* app/text/gimptextlayout.c (gimp_text_layout_position): if
gravity is none (the default), position the layout according to its
justification.
* app/widgets/gimpenummenu.[ch]: added new functions that create a
hbox of radio buttons with icons from an enum type.
* app/widgets/gimppropwidgets.[ch]: added a property widget
constructors for the new enum_stock_box.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/text/text-enums.[ch]
* app/text/gimptext.[ch]: replaced GimpTextAlignment with
GimpTextJustification. Added indentation property.
* app/text/gimptextlayout.c: implemented text justification,
indentation and line spacing as far as supported by Pango.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/paint/Makefile.am: fixed rules for generated sources.
* app/text/Makefile.am
* app/text/text-enums.[ch]: added new files with text-related enums.
* app/text/gimptext.[ch]: added text alignment property.
* app/text/gimptext-render.[ch]: removed
* app/text/text-types.h
* app/text/gimptextlayout.[ch]: added new files that define
GimpTextLayout, a wrapper around PangoLayout. Moved render code to
this file.
* app/text/gimptextlayer.c: changed accordingly.
2003-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]
* app/tools/gimpblendtool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c: misc trivial changes and cleanup.
* app/widgets/gimppropwidgets.[ch]: added gimp_prop_unit_menu_new()
and removed the scale widget again.
* app/tools/gimptexttool.c: replaced the size scale entry with a
spinbutton and made the unit menu working.
* app/text/gimptext.c: increased the upper boundary for the font
size again now that we don't use a scale any longer.
2003-02-01 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]
* app/config/gimpconfig-utils.[ch]: added a reset method to
GimpConfigInterface. Added the new function gimp_config_reset()
* app/text/gimptext.c: added a GimpConfigInterface to GimpText.
* app/widgets/Makefile.am
* app/widgets/gimptexteditor.[ch]: new files that hold the simple
text editor dialog used by the text tool.
* app/widgets/gimppropwidgets.[ch]: added new widget constructor
gimp_prop_scale_entry_new().
* app/tools/gimptexttool.[ch]: replaced old-style ToolOptions with
a GimpText object. Connect text layers to the text tool by means
of their GimpText objects. Still work in progress ...
2003-01-31 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c: don't use gimp_drawable_configure() to
resize the text layer, it should only ever be called once. Take
the logical rectangle into account when calculating the layer size
and text position.
* app/tools/gimptexttool.[ch]: added basic text editing
functionality. Needs more work ...
* themes/Default/images/Makefile.am
* themes/Default/images/stock-gravity-east-24.png
* themes/Default/images/stock-gravity-north-24.png
* themes/Default/images/stock-gravity-north-east-24.png
* themes/Default/images/stock-gravity-north-west-24.png
* themes/Default/images/stock-gravity-south-24.png
* themes/Default/images/stock-gravity-south-east-24.png
* themes/Default/images/stock-gravity-south-west-24.png
* themes/Default/images/stock-gravity-west-24.png: added new icons
for yet-to-written GimpGravityChooser(?) widget. Artwork
shamelessly taken from Jimmac's XFree cursors.
* libgimpwidgets/gimpstock.[ch]: added stock items for the new icons.
2003-01-31 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpGravityType.
* app/text/gimptext.[ch]
* app/text/gimptextlayer.[ch]: added support for specifying a
fixed layer size and how to position the text inside the layer.
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c: changed accordingly.
2003-01-31 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-params.h
* app/config/gimpcoreconfig.c: added a pixels parameter to the
GIMP_CONFIG_INSTALL_PROP_UNIT() macro.
* app/core/Makefile.am
* app/core/gimpimage-text.[ch]: removed these two files.
* app/text/Makefile.am
* app/text/gimptext-compat.[ch]: new files with compatibility
routines that provide the old text API (solely for PDB calls).
* app/text/gimptext-render.[ch]: new files with text rendering
routines (not much yet).
* app/text/text-types.h
* app/text/gimptextlayer.[ch]: new object derived from GimpLayer.
* app/text/gimptext.[ch]: prepared for future improvements.
* app/pdb/text_tool_cmds.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.
2002-10-10 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-params.[ch]: optionally allow GIMP_UNIT_PIXEL
as value for GimpUnit params.
* app/core/gimpimage-text.[ch]
* app/core/gimptext.[ch]
* app/tools/gimptexttool.c: moved some code around.
2002-10-10 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimptext.[ch]: added first draft of a GimpText object.