Commit Graph

17 Commits

Author SHA1 Message Date
d89f04d500 app/display/gimpcanvas.c (gimp_canvas_set_custom_gc) do not drop the
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_set_custom_gc) do not
	drop the reference if the same custom GC is being set again.

	* app/display/gimpdisplayshell-draw.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]: added GC and methods to draw
	on the canvas with a solid pen.

	* app/tools/gimpforegroundselectoptions.[ch]
	* app/tools/gimpforegroundselecttool.c: draw using the new pen
	functions. Scale the stroke width with the display scale.
2005-08-06 11:18:26 +00:00
de642dd10f Add new GimpCanvasStyle value, GIMP_CANVAS_STYLE_XOR_DOTTED.
2005-06-24  Tor Lillqvist  <tml@novell.com>

	* app/display/gimpcanvas.h: Add new GimpCanvasStyle value,
	GIMP_CANVAS_STYLE_XOR_DOTTED.

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): Implement it like
	GIMP_CANVAS_STYLE_XOR_DASHED, except that we set the dash pattern
	to a single-pixel on-off one.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary): Sort
	the boundary so that we can draw each connected group of segments
	using gimp_canvas_draw_lines(). (Even if we would still use
	gimp_canvas_draw_segments(), the boundary would have to be sorted
	so that the XOR drawing and GDK_CAP_NOT_LAST cooperate properly.)

	Use GIMP_CANVAS_STYLE_XOR_DOTTED so the outline doesn't look too
	heavy.

	Remove the dubious code snippet that offset some segments by one
	pixel. It didn't do what the comment claimed, and why one would
	need to do what the comment said, or what it actually did, is
	unclear.

	Now brush outlines shouldn't have gaps any longer. (#308710)
2005-06-24 23:28:38 +00:00
f579c11f3b fixed gtk-doc comments; added G_GNUC_PRINTF attribute.
2005-03-23  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch] (gimp_canvas_draw_text): fixed
	gtk-doc comments; added G_GNUC_PRINTF attribute.
2005-03-23 13:53:31 +00:00
f41e059067 More sample point stuff. Addresses bug #137776.
2005-03-09  Michael Natterer  <mitch@gimp.org>

	More sample point stuff. Addresses bug #137776.

	* app/core/gimpimage-sample-points.c
	* app/core/gimpimage-undo-push.c: append, not prepend the sample
	paints to the image's list because their index matters. Update
	sample points when their index changes.

	* app/display/gimpcanvas.[ch]: added own sytles for the sample
	points.  Added gimp_canvas_draw_text() which uses a PangoLayout
	which is cached in the canvas.

	* app/display/gimpdisplayshell-draw.c
	(gimp_display_shell_draw_sample_point): draw the sample points
	more distinct from guides using the new canvas APIs above.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_[hv]ruler_button_press): factored out all
	code to

	(gimp_display_shell_ruler_burron_press): which takes a boolean
	"horizontal" variable and allows to add sample points with
	<control>+drag.

	* app/tools/gimpcolortool.[ch]: implement adding, moving and
	removing of sample points in the same way as the move tool moves
	guides.

	* app/tools/gimpcolorpickertool.c
	(gimp_color_picker_tool_oper_update): chain up.
2005-03-09 00:23:19 +00:00
8c4b7b5aba app/display/gimpdisplayshell.c corrected API documentation, removed
2004-07-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdata.c:
	* app/display/gimpcanvas.c:
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-transform.c: corrected API
	documentation, removed trailing whitespace.

	Please do always build the documentation if you add or change any
	gtk-doc comments.
2004-07-16 10:07:30 +00:00
0787e0304f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpcanvas.c:
	* app/display/gimpdisplayshell-transform.c: added gtk-doc
	comments for all public functions that lack them.

	* app/display/gimpdisplayshell.c: added a couple of
	gtk-doc comments.
2004-07-15 23:02:52 +00:00
1c8b260864 fixed my last change here; of course only the guide GCs need a stipple
2004-02-16  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): fixed my last
	change here; of course only the guide GCs need a stipple pattern.
2004-02-16 12:03:52 +00:00
5f91135389 use GDK_CAP_NOT_LAST as the cap_style for all canvas drawing.
2004-02-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): use
	GDK_CAP_NOT_LAST as the cap_style for all canvas drawing.
2004-02-12 16:01:18 +00:00
99f0b5a4d4 gimp_canvas_draw_segments(): Do not call gdk_draw_segments() with more
* app/display/gimpcanvas.c: gimp_canvas_draw_segments():
	  Do not call gdk_draw_segments() with more than 32000 segments at a
	  time, because XDrawSegments should never be called with more
	  segments than that. This should really be fixed at the gdk level,
	  though.

	This fixes bug #122026.
2004-02-02 18:38:24 +00:00
37a9a0838d restore the cap_style and join_style properties for the XOR GdkGC to the
2003-12-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): restore the
	cap_style and join_style properties for the XOR GdkGC to the
	values GimpDrawTool's GC used to have. Fixes the result of
	gdk_draw_segments().

	* app/tools/gimpfuzzyselecttool.c (gimp_fuzzy_select_tool_motion):
	CLAMP the threshold to its possible values when setting it in the
	selection options.

	(gimp_fuzzy_select_tool_button_release): restore the original
	threshold after selecting.
2003-12-17 12:59:06 +00:00
db4ec04144 no need to set colors on the GCs that use GDK_INVERT.
2003-11-15  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): no need to set
	colors on the GCs that use GDK_INVERT.

	* app/display/gimpdisplayshell-render.c (gimp_display_shell_render):
	micro cleanup.
2003-11-15 14:30:26 +00:00
b219ccb394 added API docs for the less obvious functions. Gracefully handle attempts
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c: added API docs for the less obvious
	functions. Gracefully handle attempts to draw on the unrealized
	widget.

	* app/display/gimpdisplayshell-selection.c (selection_draw):
	removed the redundant check for a realized canvas widget.

Also updated API docs.
2003-11-11 21:35:50 +00:00
d456168ad9 added gimp_canvas_set_clip_region().
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]: added gimp_canvas_set_clip_region().

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): if gimp_display_shell_pause()
	would cause a redraw, make sure that no XOR drawing happens on
	areas that have already been cleared by the windowing system.
	Fixes bug #115712.
2003-11-11 17:07:41 +00:00
4b165b472c app/display/Makefile.am removed this file.
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-marching-ants.h: removed this file.

	* app/display/gimpcanvas.[ch]: generalized creation of GCs. Added
	styles for drawing the selection and layer boundaries. Also added
	support for changing stipple masks as was used by an older
	implementation of the marching ants (see below).

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: don't create the Selection when
	the canvas is realized but only once when it is created.

	* app/display/gimpdisplayshell-selection.[ch]: removed all GC code
	and draw by means of GimpCanvas. Also resurrected a different
	implementation of the marching ants that was lost since 1.2
	(#undef USE_DRAWPOINTS).
2003-11-11 14:50:07 +00:00
058764f4ba app/display/gimpcanvas.[ch] moved GC from the the draw tool to GimpCanvas.
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]
	* app/tools/gimpdrawtool.[ch]: moved GC from the the draw tool to
	GimpCanvas. Added wrappers around GDK drawing functions and do all
	canvas drawing by means of these new functions.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpfuzzyselecttool.c: draw using the new GimpCanvas
	functions.
2003-11-10 19:35:56 +00:00
cf842d8761 app/display/gimpcanvas.[ch] moved GdkGCs to GimpCanvas; still work in
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.[ch]
	* app/display/gimpdisplayshell.c: moved GdkGCs to GimpCanvas;
	still work in progress...
2003-11-10 01:10:46 +00:00
621c5832db app/display/Makefile.am app/display/display-types.h added GimpCanvas,
2003-11-10  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpcanvas.[ch]: added GimpCanvas, derived from
	GtkDrawingArea.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]
2003-11-09 23:24:40 +00:00