Commit Graph

39 Commits

Author SHA1 Message Date
afb8d07fcf Use PANGO_WRAP_WORD_CHAR so we don't cut off words which are wider than the layer 2009-06-27 21:10:34 +02:00
2a88723a40 Bug 573256 - Text tool appearance doesn't account for DPI
* app/text/gimptextlayout-render.c: remove private function which
creates the transform matrix.

* app/text/gimptextlayout.[ch]: add it here as public API. Also add
function which transform and untransform PangoRectangles, points and
distances using the transform matrix.

* app/tools/gimptexttool.c: convert coordinates using above new
transform functions when drawing selection and cursor, and when
processing mouse events.
2009-06-19 17:08:34 +02:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
2409d06ddb app/text/Makefile.am removed this header file.
2008-11-04  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptext-private.h: removed this header file.

	* app/text/gimptextlayout.[ch]: added getters to access the
	resolution, text and PangoLayout.

	* app/text/gimptextlayout-render.c
	* app/tools/gimptexttool.c: use the new getters instead of 
poking
	into the GimpTextLayout struct.


svn path=/trunk/; revision=27543
2008-11-03 23:44:19 +00:00
7dc80b79be app/text/Makefile.am removed.
2008-11-04  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptext-bitmap.[ch]: removed.

	* app/text/gimptext-private.h
	* app/text/gimptext-vectors.c
	* app/text/gimptextlayer.c
	* app/text/gimptextlayout-render.[ch]
	* app/text/gimptextlayout.c: removed text render abstraction as
	this is now sufficiently provided by PangoCairo.


svn path=/trunk/; revision=27542
2008-11-03 23:25:05 +00:00
c214f41285 fixed order of includes.
2008-10-30  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c: fixed order of includes.

	* app/text/gimptext-compat.c: ported to PangoCairo like the rest
	of the text rendering code.


svn path=/trunk/; revision=27481
2008-10-30 22:17:52 +00:00
63f6dcb111 use the Y resolution when creating the fontmap.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c (gimp_text_get_pango_context): use 
the
	Y resolution when creating the fontmap.


svn path=/trunk/; revision=27436
2008-10-27 08:20:02 +00:00
ee414d9e6f Merge on-canvas GSoC project:
2008-10-26  Michael Natterer  <mitch@gimp.org>

	Merge on-canvas GSoC project:

	* configure.in: check for pangocairo.

	* app/Makefile.am
	* app/text/Makefile.am: add its CFLAGS and LIBS.

	* app/text/gimptext-bitmap.[ch]
	* app/text/gimptext-private.h
	* app/text/gimptext-vectors.[ch]
	* app/text/gimptextlayer.c
	* app/text/gimptextlayout-render.c
	* app/text/gimptextlayout.c: port to pangocairo.

	* menus/Makefile.am
	* menus/text-tool-menu.xml
	* app/menus/menus.c
	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/text-tool-actions.[ch]
	* app/actions/text-tool-commands.[ch]: add a context menu for the
	text tool similar to GtkEntry's context menu.

	* app/tools/gimprectangletool.[ch]: add "narrow-mode" property.

	* app/tools/gimptextoptions.[ch]
	* app/widgets/gimptexteditor.[ch]: take a text buffer for the
	standalone text editor window instead of creating one internally.

	* app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
	text editing logic. Wheee!


svn path=/trunk/; revision=27419
2008-10-26 17:39:55 +00:00
5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
98e0671a85 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/text/gimptextlayout.c
	* app/tools/gimptexttool.[ch]
	* app/tools/gimprectangletool.[ch]
	* app/tools/gimptextoptions.c: allow resizing of text
	box.  This is work in progress, and needs some tweaks
	and fixes.  See bug #122707.

svn path=/trunk/; revision=25344
2008-04-02 21:32:32 +00:00
340cd2f8e6 app/text/gimptext-private.h app/text/gimptextlayout.c Fix text rendering
2007-07-17  Simon Budig  <simon@gimp.org>

	* app/text/gimptext-private.h
	* app/text/gimptextlayout.c
	* app/text/gimptextlayout-render.c: Fix text rendering for xres != yres.


svn path=/trunk/; revision=22943
2007-07-17 11:00:56 +00:00
83d3a750d4 include "libgimpmath/gimpmathtypes.h" instead of "libgimpmath/gimpmath.h".
2007-03-09  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
	instead of "libgimpmath/gimpmath.h".

	* app/core/gimpbrush.h
	* app/paint/gimppaintcore.h
	* app/paint/gimpperspectiveclone.h
	* app/text/gimptext.h
	* app/tools/gimptransformtool.h: include gimpvector.h and
	gimpmatrix.h explicitely where they are needed in public structs.

	* app/*/*.c
	* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
	where needed.

	* app/pdb/paths_cmds.c: regenerated.


svn path=/trunk/; revision=22084
2007-03-09 13:00:01 +00:00
41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
0d4a10fee4 app/config/*.c app/core/*.c app/display/*.c app/text/*.c port to
2005-12-10  Michael Natterer  <mitch@gimp.org>

	* app/config/*.c
	* app/core/*.c
	* app/display/*.c
	* app/text/*.c
	* app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related
	core reordering and cleanup.
2005-12-10 19:24:36 +00:00
c3754839d4 app/text/gimptextlayout.[ch] allow to adjust letter-spacing.
2005-03-02  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.[ch]
	* app/tools/gimptextoptions.h: allow to adjust letter-spacing.
2005-03-02 12:54:54 +00:00
4bfb3e26a5 new function to workaround pango bug #166540, by tacking on a ',' to font
2005-02-09  Manish Singh  <yosh@gimp.org>

        * app/text/gimpfont-utils.[ch]: new function to workaround pango
        bug #166540, by tacking on a ',' to font names that end in numbers,
        so pango_font_description_from_string doesn't interpret it as a size.

        * app/text/Makefile.am: add above files.

        * app/text/gimpfontlist.c
        * app/text/gimptext-compat.c: use new function.

        * app/text/gimptext-xlfd.c: also make sure font names pulled out
        from XLFD don't end in numbers.

        * app/text/gimpfont.c
        * app/text/gimptextlayout.c: remove some redundant checks.
2005-02-10 05:33:01 +00:00
6d73b20387 workaround Pango bug #143542 (PangoFT2Fontmap leak, see also bug #148997).
2004-09-22  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c (gimp_text_get_pango_context):
	workaround Pango bug #143542 (PangoFT2Fontmap leak, see also bug
	#148997). Based on a patch by Robert gren.
2004-09-21 22:39:07 +00:00
e9bc82c676 fixed text positioning for fonts where glyphs extend the logical rectangle
2004-01-25  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c (gimp_text_layout_position): fixed
	text positioning for fonts where glyphs extend the logical
	rectangle (bug #132495).
2004-01-25 21:06:01 +00:00
4800d849ef app/text/gimptextlayout-render.c (gimp_text_layout_render) handle the case
2003-11-08  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout-render.c (gimp_text_layout_render)
	* app/text/gimptextlayout.c (gimp_text_layout_position): handle
	the case where the ink rectangle exceeds the logical rectangle.
	Fixes bug #126480.
2003-11-08 18:36:49 +00:00
c0ebe2a8a3 app/text/Makefile.am new files that load and save text layers to/from XCF.
2003-10-27  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptextlayer-xcf.[ch]: new files that load and save
	text layers to/from XCF.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/text/gimptextlayer.c: removed that code here and use the new
	functions instead.

	* app/text/gimptext-parasite.[ch] (gimp_text_from_parasite): added
	a GError parameter.

	* app/text/gimptextlayer.[ch]: store the name of the parasite that
	the text layer was created from (if read from XCF). Remove the
	parasite when the text layer is edited. If a text layer wasn't
	touched, the original parasite is written back to the XCF file.

	* app/text/gimptextlayout.c (gimp_text_layout_new): handle a NULL
	text string.

	* app/tools/gimptextoptions.c: implement GimpToolOptions::reset
	and save the text across a reset.
2003-10-27 21:50:41 +00:00
142d0725ce app/text/gimptext.[ch] added back "box-unit" property; it makes sense to
2003-10-26  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext.[ch]
	* app/text/gimptextlayout.c: added back "box-unit" property; it
	makes sense to have an extra unit for it.
2003-10-26 12:07:05 +00:00
d533104de7 handle negative float and double values similar to how this is done for
2003-10-26  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_fundamental): handle negative float and
	double values similar to how this is done for integers and the
	like.

	* app/config/gimpconfig-params.h: added two new param flags and
	documented all flags in the header file (for now).

	* app/config/gimpconfig-serialize.h: handle the new param flags
	GIMP_PARAM_DEFAULTS and GIMP_PARAM_IGNORE.

	* app/text/text-enums.[ch]
	* app/text/gimptext.[ch]: added some properties that we will need
	sooner or later. Mark the new properties and a lot of the existing
	ones as GIMP_PARAM_DEFAULTS so that their values are not
	serialized unless changed from the default value.

	* app/text/gimptextlayout.c
	* app/tools/gimptextoptions.c: made all length properties in
	GimpText depend on a single unit.
2003-10-26 00:03:16 +00:00
74187d7d65 pango_font_description_set_size() takes points not pixels as the old code
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c: pango_font_description_set_size()
	takes points not pixels as the old code assumed.

	* app/text/gimptext.c
	* app/text/gimptextlayout-render.c: fixed includes.
2003-10-01 11:52:52 +00:00
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
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
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
a93e91f38e themes/Default/images/Makefile.am
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-31 15:10:15 +00:00
48b5986740 app/text/gimptext.[ch] added a "base-direction" property to GimpText and
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 16:15:07 +00:00
4e3b31e989 respect the antialias parameter.
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-28 01:35:01 +00:00
10faf8d577 added hinting and antialias properties.
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 17:24:53 +00:00
fab72973a2 require gtk+ >= 2.2.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* gimpui-1.3.pc.in: require gtk+ >= 2.2.

	* app/text/gimpfont.[ch]: implemented basic preview functionality.

	* app/text/gimptextlayout.c: changed a comment.
2003-03-25 22:13:10 +00:00
aff8306309 app/text/gimptext.[ch] added a language property to GimpText which
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-24 18:54:24 +00:00
9c957fa1d5 added new function gimp_displays_invalidate() which queues a redraw on all
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-21 21:39:42 +00:00
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
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
87b133f813 added some blurbs that will show up as tooltips in the text tool options.
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 13:03:44 +00:00
aa48e6165e app/text/text-enums.[ch] replaced GimpTextAlignment with
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 09:51:26 +00:00
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