Commit Graph

31 Commits

Author SHA1 Message Date
David Odin d9e414fd8d new function: gimp_scrolled_preview_set_position () to set the position of
* libgimpwidgets/gimpscrolledpreview.[ch]: new function:
  gimp_scrolled_preview_set_position () to set the position of the
  preview content wrt the drawable.  This function might be moved to a
  virtual function of GimpPreview in a near future.

* libgimp/gimpdrawablepreview.c: use this function, so a preview
  remembers its position from one invocation to the next.  This is done
  using the current executable name as a key for gimp_set/get_data () so
  each plug-in can have its preview on a different place.

  More informations could be saved this way: the update toggle, the checks, etc.

  Addresses bug #162286.

* libgimpwidgets/gimppreview.c: smallish cleanup.
2005-01-05 22:33:44 +00:00
Sven Neumann 37f179aed3 change the "update" property and notify listeners (in particular
2004-11-29  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c (gimp_preview_toggle_callback):
	change the "update" property and notify listeners (in particular
	GimpDrawablePreview) before invalidating the preview. Plug-ins
	might (needlessly) look at the property to decide whether they
	need to redraw. Fixes bug #159816.

	* plug-ins/common/unsharp.c (preview_update): no need to look at
	the value of the "Preview" toggle. GimpPreview takes care this.
2004-11-29 12:15:19 +00:00
Sven Neumann 27a39e6c63 removed trailing whitespace.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: removed trailing whitespace.

	* libgimpwidgets/gimpwidgets.def: added
	gimp_preview_set_default_cursor.
2004-10-13 19:06:40 +00:00
David Odin 3eb00e0350 added a new function to set the default cursor on preview:
* libgimpwidgets/gimppreview.[ch]: added a new function to set the
  default cursor on preview: gimp_preview_set_default_cursor().

* libgimpwidgets/gimpscrolledpreview.c: changed accordlingly.

* plug-ins/common/flarefx.c:
* plug-ins/common/nova.c: use this function.

This addresses bug #90519.
2004-10-13 18:56:28 +00:00
Sven Neumann de37bbb7f8 libgimpwidgets/gimppreview.[ch] added gimp_preview_draw_buffer().
2004-09-29  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]
	* libgimpwidgets/gimpwidgets.def: added gimp_preview_draw_buffer().

	* libgimp/gimpaspectpreview.[ch]
	* libgimp/gimpdrawablepreview.[ch]
	* libgimp/gimpui.def: removed the public draw_buffer API.
	Implement the virtual GimpPreview::draw_buffer method instead.

	* plug-ins/common/cartoon.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/dog.c
	* plug-ins/common/edge.c
	* plug-ins/common/engrave.c
	* plug-ins/common/exchange.c
	* plug-ins/common/gauss.c
	* plug-ins/common/grid.c
	* plug-ins/common/neon.c
	* plug-ins/common/noisify.c
	* plug-ins/common/oilify.c
	* plug-ins/common/photocopy.c
	* plug-ins/common/plasma.c
	* plug-ins/common/sel_gauss.c
	* plug-ins/common/sharpen.c
	* plug-ins/common/shift.c
	* plug-ins/common/snoise.c
	* plug-ins/common/sobel.c
	* plug-ins/common/spread.c
	* plug-ins/common/struc.c: changed accordingly. Don't pass the
	preview around as GimpDrawablePreview or GimpAspectPreview. It
	should whenever possible be accessed as GimpPreview.
2004-09-29 15:33:02 +00:00
Sven Neumann c4bf786cc2 libgimpwidgets/gimppreview.[ch] libgimpwidgets/gimpscrolledpreview.[ch]
2004-09-29  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]
	* libgimpwidgets/gimpscrolledpreview.[ch]
	* libgimpwidgets/gimpwidgets.def: moved the offsets and the
	draw_thumb method back to the GimpPreview class.

	* libgimp/gimpdrawablepreview.c: changed accordingly.

	* plug-ins/common/bumpmap.c
	* plug-ins/common/cartoon.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/dog.c
	* plug-ins/common/edge.c
	* plug-ins/common/engrave.c
	* plug-ins/common/exchange.c
	* plug-ins/common/gauss.c
	* plug-ins/common/grid.c
	* plug-ins/common/mblur.c
	* plug-ins/common/neon.c
	* plug-ins/common/noisify.c
	* plug-ins/common/oilify.c
	* plug-ins/common/photocopy.c
	* plug-ins/common/sel_gauss.c
	* plug-ins/common/sharpen.c
	* plug-ins/common/shift.c
	* plug-ins/common/sobel.c
	* plug-ins/common/softglow.c
	* plug-ins/common/spread.c
	* plug-ins/common/struc.c
	* plug-ins/common/unsharp.c
	* plug-ins/common/wind.c: back to using gimp_preview_get_position().

	* libgimp/gimpregioniterator.c (gimp_rgn_iterator_new): corrected
	gtk-doc comment.
2004-09-29 13:39:23 +00:00
David Odin a001920ead libgimpwidgets/gimppreview.c split this widget into itself (more abstract
* libgimpwidgets/gimppreview.c
* libgimpwidgets/gimppreview.h: split this widget into itself (more
  abstract now) and ...

* libgimpwidgets/gimpscrolledpreview.c
* libgimpwidgets/gimpscrolledpreview.h: this widget which also have
  some scrollbars and a nagivation preview.

* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.

* libgimp/gimpaspectpreview.c
* libgimp/gimpaspectpreview.h: Added this widget, derived from
  GimpPreview, which has always the same ratio has the given drawable.
  This widget has almost the same api as GimpDrawablePreview, and is
  useful for plug-ins that show the whole (scaled) drawable in their
  preview.

* libgimp/gimpdrawablepreview.c
* libgimp/gimpdrawablepreview.h: GimpDrawablePreview is now derived
  from GimpScrolledPreview.

* libgimp/Makefile.am
* libgimp/gimpui.h
* libgimp/gimpuitypes.h: changed accordingly.

* plug-ins/common/plasma.c: use a GimpAspectPreview.

* plug-ins/common/bumpmap.c
* plug-ins/common/cartoon.c
* plug-ins/common/deinterlace.c
* plug-ins/common/despeckle.c
* plug-ins/common/dog.c
* plug-ins/common/edge.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/gauss.c
* plug-ins/common/grid.c
* plug-ins/common/mblur.c
* plug-ins/common/neon.c
* plug-ins/common/noisify.c
* plug-ins/common/oilify.c
* plug-ins/common/photocopy.c
* plug-ins/common/sel_gauss.c
* plug-ins/common/sharpen.c
* plug-ins/common/shift.c
* plug-ins/common/sobel.c
* plug-ins/common/softglow.c
* plug-ins/common/spread.c
* plug-ins/common/struc.c
* plug-ins/common/unsharp.c
* plug-ins/common/wind.c: use gimp_scrolled_preview_get_position
  instead of gimp_preview_get_position.
2004-09-28 23:23:09 +00:00
Sven Neumann 6a824465f5 fixed positioning of the navigation marker and handling of motion events.
2004-09-10  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: fixed positioning of the
	navigation marker and handling of motion events.
2004-09-10 09:02:19 +00:00
Sven Neumann e9d5536720 libgimpwidgets/gimppreview.c documented new functions.
2004-09-10  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c: documented new functions.
2004-09-09 22:36:15 +00:00
Sven Neumann cf9e2368eb improved handling of motion events in navigation popup 2004-09-09 21:39:08 +00:00
Sven Neumann 025e58a12d libgimp/gimpdrawablepreview.c added a navigation popup similar to the one
2004-09-09  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablepreview.c
	* libgimpwidgets/gimppreview.[ch]: added a navigation popup
	similar to the one in the image window. Needs some more work.
2004-09-09 21:36:52 +00:00
Sven Neumann b3c30779a0 right-align the preview for RTL layouts.
2004-09-09  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]: right-align the preview for RTL
	layouts.
2004-09-09 15:27:34 +00:00
Sven Neumann a514ce7db1 allow to set a maximum size and center the preview area if its allocation
2004-09-09  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: allow to set a maximum size
	and center the preview area if its allocation extends the maximum.

	* libgimpwidgets/gimppreview.[ch]: derive from GtkVBox, moved the
	toggle button out of the table and put the table into an aspect
	frame. Added an API to set the preview boundaries. Set the maximum
	size of the GimpPreviewArea from that function.

	* libgimpwidgets/gimpwidgets.def: added new entries.

	* libgimp/gimpdrawablepreview.c: use gimp_preview_set_bounds().

	* plug-ins/common/gauss.c: pack the preview widget so that it
	resizes with the dialog.
2004-09-09 14:47:39 +00:00
Sven Neumann 6ece077f87 pass a GdkEventButton to gimp_preview_area_menu_popup().
2004-09-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: pass a GdkEventButton to
	gimp_preview_area_menu_popup().

	* libgimpwidgets/gimppreview.c: implement GtkWidget::popup_menu().
2004-09-03 23:41:39 +00:00
David Odin f7a2f14211 Changed the way we attach the preview area frame to the table so very
* libgimpwidgets/gimppreview.c: Changed the way we attach the preview
  area frame to the table so very small drawables don't cause a
  malicious bug.
2004-09-03 23:32:35 +00:00
Sven Neumann ecca201aa9 added gimp_preview_area_menu_popup(). Not completely finished yet...
2004-09-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: added
	gimp_preview_area_menu_popup(). Not completely finished yet...

	* libgimpwidgets/gimppreview.c: use the new function.
2004-09-03 19:34:59 +00:00
Sven Neumann 4c91c25337 take care of setting the colormap for indexed drawables.
2004-09-03  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_set_drawable):
	take care of setting the colormap for indexed drawables.

	* libgimpwidgets/gimppreview.c (gimp_preview_area_event): pan with
	the first mouse button only. We will need the other buttons.
2004-09-03 16:52:26 +00:00
Sven Neumann 50627802d0 made gimp_preview_draw() public, added some gtk-doc comments.
2004-09-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]: made gimp_preview_draw() public,
	added some gtk-doc comments.
	(gimp_preview_toggle_callback): immidiately invalidate the preview.

	* plug-ins/common/gauss.c (gauss): fixed (and simplified) handling
	of zero radii by using the new GimpPreview API.
2004-09-02 10:23:52 +00:00
Sven Neumann 3155d682a5 libgimp/gimpdrawablepreview.[ch] always show the "Preview" check button.
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablepreview.[ch]
	* libgimpwidgets/gimppreview.[ch]: always show the "Preview" check
	button. Simplified the preview APIs, moved the "size" style
	property to the GimpPreview class.

	* etc/gtkrc: changed the example accordingly.

	* plug-ins/common/despeckle.c
	* plug-ins/common/gauss.c
	* plug-ins/common/neon.c
	* plug-ins/common/sobel.c
	* plug-ins/common/softglow.c
	* plug-ins/common/spread.c
	* plug-ins/common/unsharp.c: follow change in GimpDrawablePreview API.
2004-09-01 14:01:10 +00:00
Sven Neumann b76075922c set a busy cursor while the preview is being recalculated.
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]: set a busy cursor while the
	preview is being recalculated.

	* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_draw_original):
	do nothing if there's no drawable.
2004-09-01 12:10:09 +00:00
Sven Neumann a7fb4a431a some minor changes, mainly cleanup.
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: some minor changes, mainly cleanup.
2004-09-01 08:18:13 +00:00
Sven Neumann 4e513adc61 increased default preview size to 150 pixels. Added a border of 10 pixels
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablepreview.c: increased default preview size to
	150 pixels. Added a border of 10 pixels around the bounding box of
	the selection.

	* libgimpwidgets/gimppreview.[ch]: only show the GDK_FLEUR cursor
	if there's something to pan. Set the correct page size on the
	scrollbar adjustments.
2004-09-01 02:10:40 +00:00
Sven Neumann 3a0e874522 added new function gimp_preview_area_set_offsets().
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: added new function
	gimp_preview_area_set_offsets().

	* libgimpwidgets/gimppreview.c: use the new function to let the
	checkerboard scroll with the preview.
2004-09-01 01:18:19 +00:00
Sven Neumann 6f7adcf985 delay the emission of the "invalidated" signal using a timeout. Removed
2004-09-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.[ch]: delay the emission of the
	"invalidated" signal using a timeout. Removed hack that used to
	invalidate the preview on button-release.

	* plug-ins/common/unsharp.c: no need to fiddle with the slider
	update policies any longer.
2004-08-31 23:37:04 +00:00
Sven Neumann 43c21e315e handle the widget size dynamically. Hide scrollbars when there's nothing
2004-08-31  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: handle the widget size dynamically.
	Hide scrollbars when there's nothing to scroll.

	* libgimp/gimpdrawablepreview.c: simplified a lot. The scrollbars
	are handled completely in the GimpPreview widget now.
2004-08-31 19:58:25 +00:00
Sven Neumann c6dd571113 removed the hardcoded preview size, removed some redundant assertions.
2004-08-31  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: removed the hardcoded preview size,
	removed some redundant assertions.
2004-08-31 18:06:36 +00:00
Michael Natterer 79da6a9779 notify the "update" property on the preview, not the toggle.
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimppreview.c (gimp_preview_toggle_callback):
	notify the "update" property on the preview, not the toggle.
2004-08-31 15:27:53 +00:00
Sven Neumann 95a29f9fdc allow to pan the preview with all mouse buttons. Set a cursor to indicate
2004-08-31  Sven Neumann  <sven@gimp.org>

	* libgimp/gimppreview.c: allow to pan the preview with all mouse
	buttons. Set a cursor to indicate that panning is possible.
2004-08-31 15:13:31 +00:00
David Odin 06c4f31bb7 libgimpwidgets/gimppreview.c renamed the "updated" signal to "invalidated"
* libgimpwidgets/gimppreview.c
* libgimpwidgets/gimppreview.h: renamed the "updated" signal to
  "invalidated" and the confusing "update" virtual function to "draw".

Renamed the property with saner names, too.

Removed _get_width and _get_height functions in favor of a _get_size on.

Added a gimp_preview_invalidate function that emit the "invalidated"
signal if needed.

* libgimp/gimpdrawablepreview.c
* libgimp/gimpdrawablepreview.h: modified accordingly and fixed the
  scrollbar range.

* plug-ins/common/despeckle.c
* plug-ins/common/gauss.c
* plug-ins/common/neon.c
* plug-ins/common/sobel.c
* plug-ins/common/softglow.c
* plug-ins/common/spread.c
* plug-ins/common/unsharp.c: modified accordingly.
2004-08-31 14:29:25 +00:00
Sven Neumann 2222be0f16 libgimp/gimpdrawablepreview.[ch] minor code cleanup, fixes to gtk-doc
2004-08-31  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablepreview.[ch]
	* libgimpwidgets/gimppreview.[ch]: minor code cleanup, fixes to
	gtk-doc comments and to the handling of object properties.
2004-08-30 22:49:06 +00:00
David Odin 18139487f9 libgimpwidgets/gimppreview.c added a GimpPreview widget, abstract base for
* libgimpwidgets/gimppreview.c
* libgimpwidgets/gimppreview.h: added a GimpPreview widget, abstract
  base for a GimpDrawablePreview.

* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h: modified accordingly.

* libgimp/gimpdrawablepreview.c
* libgimp/gimpdrawablepreview.h: added a GimpDrawablePreview widget
  to ease	the use of previews by plug-ins.

* libgimp/Makefile.am
* libgimp/gimpui.h: Changed accordingly.

* plug-ins/common/despeckle.c
* plug-ins/common/gauss.c
* plug-ins/common/neon.c
* plug-ins/common/sobel.c
* plug-ins/common/softglow.c
* plug-ins/common/spread.c
* plug-ins/common/unsharp.c: use a GimpDrawablePreview with these plug-ins.
2004-08-30 22:10:26 +00:00