Commit Graph

28 Commits

Author SHA1 Message Date
Michael Natterer 72369061b6 Oops, sorry... 2003-08-25 10:45:16 +00:00
Sven Neumann 5988e8967e app/text/Makefile.am new files that hold yet unused GimpItem transform
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-08-15 19:45:41 +00:00
Michael Natterer 873fe2934e removed trailing whitespace. (gimp_text_layer_render): fixed warning by
2003-08-14  Michael Natterer  <mitch@gimp.org>

	* app/text/gimptextlayer.c: removed trailing whitespace.
	(gimp_text_layer_render): fixed warning by adding a cast.
2003-08-14 15:39:30 +00:00
Michael Natterer 7a9e1ceb33 app/core/gimpimage-undo-push.c (gimp_image_remove_layer)
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-25 16:12:35 +00:00
Sven Neumann ce54744b8a Generalized text rendering and added a framework for creating GimpVectors
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-20 21:23:01 +00:00
Sven Neumann 2783068087 replace the layer in the global item hash table, fixes bug #116936.
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-08 11:44:12 +00:00
Sven Neumann 7cf24c4f86 app/text/Makefile.am app/text/gimptextlayout-private.h new files that
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-07-06 18:43:58 +00:00
Sven Neumann 6b5e42def3 Added persistent storage of text layers in XCF files. We use a parasite in
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-24 13:58:34 +00:00
Michael Natterer 707e597665 added "gint ref_count" to the TileManager struct.
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-26 17:02:06 +00:00
Michael Natterer 54878b79ce removed gimp_drawable_width,height().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed gimp_drawable_width,height().

	* app/core/gimpitem.[ch]: added gimp_item_width,height().

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpscanconvert.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/text/gimptextlayer.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/drawable_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-05-08 13:12:46 +00:00
Michael Natterer 4136e61ddc More transform virtualization preparation:
2003-05-08  Michael Natterer  <mitch@gimp.org>

	More transform virtualization preparation:

	* app/core/gimpdrawable.[ch]: removed "width", "height", "offset_x"
	and "offset_y"...

	* app/core/gimpitem.[ch]: ...and added them here.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/text/gimptext-compat.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimppreviewrendererdrawable.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 11:52:31 +00:00
Sven Neumann 6b581cc500 app/text/text-enums.[ch] app/text/gimptext.[ch] added some more text
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-09 21:19:12 +00:00
Sven Neumann a8f83bc078 when the user has changed the layer name from the layers dialog, don't
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 17:47:00 +00:00
Michael Natterer e2bdd74617 More great icons from Jimmac:
2003-03-27  Michael Natterer  <mitch@gimp.org>

	More great icons from Jimmac:

	* themes/Default/images/stock-channel-16.png
	* themes/Default/images/stock-channel-24.png
	* themes/Default/images/stock-channel-blue-16.png
	* themes/Default/images/stock-channel-blue-24.png
	* themes/Default/images/stock-channel-gray-16.png
	* themes/Default/images/stock-channel-gray-24.png
	* themes/Default/images/stock-channel-green-16.png
	* themes/Default/images/stock-channel-green-24.png
	* themes/Default/images/stock-channel-red-16.png
	* themes/Default/images/stock-channel-red-24.png: updated.

	* themes/Default/images/stock-channel-32.png
	* themes/Default/images/stock-channel-48.png
	* themes/Default/images/stock-channel-blue-32.png
	* themes/Default/images/stock-channel-blue-48.png
	* themes/Default/images/stock-channel-gray-32.png
	* themes/Default/images/stock-channel-gray-48.png
	* themes/Default/images/stock-channel-green-32.png
	* themes/Default/images/stock-channel-green-48.png
	* themes/Default/images/stock-channel-red-32.png
	* themes/Default/images/stock-channel-red-48.png
	* themes/Default/images/stock-grid-16.png
	* themes/Default/images/stock-image-32.png
	* themes/Default/images/stock-image-48.png
	* themes/Default/images/stock-layer-32.png
	* themes/Default/images/stock-layer-48.png
	* themes/Default/images/stock-list-16.png
	* themes/Default/images/stock-text-layer-16.png
	* themes/Default/images/stock-text-layer-24.png
	* themes/Default/images/stock-text-layer-32.png
	* themes/Default/images/stock-text-layer-48.png: new ones.

	* themes/Default/images/Makefile.am
	* libgimpwidgets/gimpstock.[ch]: added them to the stock system.

	* app/text/gimptextlayer.c: use GIMP_STOCK_TEXT_LAYER.
2003-03-27 12:29:54 +00:00
Sven Neumann 0ceeeb0254 added a writeable field to GimpData and set it from
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-26 18:08:26 +00:00
Michael Natterer 436ed648e8 added new virtual function duplicate() as replacement for all
2003-02-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added new virtual function duplicate()
	as replacement for all gimp_*_copy() functions.

	* app/core/gimpchannel.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimplayermask.[ch]
	* app/vectors/gimpvectors.[ch]: replaced public copy() functions
	by duplicate() implementations.

	* app/text/gimptextlayer.c: added a duplicate() implementation.

	* app/widgets/gimpitemlistview.[ch]: removed the "copy_item_func"
	and simply call gimp_item_duplicate().

	* app/undo.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-qmask.c
	* app/gui/channels-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/layers-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/channel_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-02-11 13:52:47 +00:00
Sven Neumann faf90e22fd app/text/gimptextlayer.c render an empty layer for an empty text layout.
2003-02-07  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c
	* app/text/gimptextlayout.[ch]: render an empty layer for an empty
	text layout.
2003-02-07 17:01:38 +00:00
Sven Neumann 01cd65071c replaced with an UTF-8 safe rewrite.
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 18:23:58 +00:00
Sven Neumann 366beeb282 app/core/gimpobject.[ch] improved the code that trims the text before
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 14:49:48 +00:00
Sven Neumann 70c3ea651b app/text/gimptextlayer.c fixed includes.
2003-02-05  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c: fixed includes.
2003-02-05 08:45:26 +00:00
Sven Neumann 4f22db2174 fixed rules for generated sources.
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-05 08:29:12 +00:00
Sven Neumann 47f2a7f8d9 app/config/gimpconfig.[ch] added a reset method to GimpConfigInterface.
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-02-01 21:50:21 +00:00
Sven Neumann 31a2c4db66 handle GIMP_GRAVITY_NONE.
2003-02-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_position_layout):
	handle GIMP_GRAVITY_NONE.
2003-02-01 10:50:10 +00:00
Manish Singh 3c965748ac #include <string.h>
2003-01-31  Manish Singh  <yosh@gimp.org>

        * app/text/gimptextlayer.c: #include <string.h>
2003-02-01 01:44:35 +00:00
Sven Neumann 5e2c14ba8c don't use gimp_drawable_configure() to resize the text layer, it should
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 18:57:10 +00:00
Sven Neumann 291eb383c7 added offset_x and offset_y to gimp_drawable_configure().
2003-01-31  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.[ch]: added offset_x and offset_y to
	gimp_drawable_configure().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c: changed accordingly.

	* app/text/gimptextlayer.[ch]: update the layer when the associated
	GimpText object changes.
2003-01-31 16:37:03 +00:00
Sven Neumann 8ed5a7207c added new enum GimpGravityType.
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 13:36:27 +00:00
Sven Neumann 27698a2b3f app/config/gimpconfig-params.h
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.
2003-01-31 09:22:42 +00:00