Michael Natterer
b3a9a6a3e3
Bug 55367 - Rotated view of the canvas (view is rotated, not image contents)
...
First version of display rotation, inspired by gimp-painter.
The rotation always happens around the image's center.
The only "UI" for rotating is currently shift+middle-drag and
shift+space-drag. Control constrains the angle to 15 degrees
and is currently the only way to go back to "no rotation".
2013-04-20 15:11:01 +02:00
Michael Natterer
97af52c465
Bug 686544 - Opening new image window doesn't restore docks
...
Call gimp_dialog_factory_show_with_display() in gimp_display_new(), we
otherwise do this only when the ICONIFIED state of an image window
changes.
2013-02-27 23:26:49 +01:00
Ville Skyttä
6b0d1038cc
Bug 692641 - Various spelling fixes
2013-01-27 18:59:02 +01:00
Michael Natterer
a9353cd3a2
app: use g_get_monotonic_time() also for limiting display flushing
2012-10-06 18:01:41 +02:00
Michael Natterer
f70bc837fa
app: remove gimpdisplay-utils.[ch], move its only function to gimpdisplay.[ch]
2012-02-11 17:57:27 +01:00
Michael Natterer
f4af9b549e
Globally switch to saying "window_id" instead of just "window"
...
when dealing with native window handles. Also get rid of using
GdkNativeWindow and simply consistently use guint32 all over the
place. This is more obvious and consistent and keeps the diff to the
gtk3-port branch smaller.
2011-02-06 12:07:55 +01:00
Michael Natterer
c79deb40dd
app: don't use a timeout for delaying display flushing
...
because it might never be called. Instead, check the time since
the last flush_now and make sure they are at least 20 ms apart.
2010-10-11 23:33:33 +02:00
Michael Natterer
be2037ce03
app: limit realtime image updates to about 50 fps
...
which increases responsiveness while painting quite a bit.
2010-10-11 22:49:10 +02:00
Michael Natterer
ddc63de6d6
app: remove "gboolean use_offsets" from gimpdisplayshell-transform.[ch]
2010-09-23 19:24:04 +02:00
Michael Natterer
8671860945
app: move "image" member of GimpDisplay to the private struct
2010-02-28 16:15:59 +01:00
Martin Nordholts
bf830398a5
app: Cleanup GimpImageWindow and dependencies, only one dialog factory
...
Cleanup GimpImageWindow and dependencies like GimpDisplay, there is
only one dialog factory now.
2010-02-20 11:09:51 +01:00
Michael Natterer
c9b9b8e18e
Increating and decreasing the display count were swapped
2010-02-03 22:59:50 +01:00
Michael Natterer
0b2c804e9d
Move "disp_count" and "instance_count" to GimpImagePrivate
...
and add the neccessary API to access and modify them.
2010-02-03 21:22:00 +01:00
Martin Nordholts
f3235e6f45
app: Add "dock-factory" property to GimpImageWindow
...
With the introduction of a single-window mode, not only dock windows
needs to be able to create docks, the image window also needs to. So
give it a "dock-factory" property.
2009-12-08 19:49:13 +01:00
Martin Nordholts
fdf2454666
app: Add gimp_image_window_new/destroy()
...
Add gimp_image_window_new/destroy() so we have a central place where
the Gimp::image_windows list is managed.
2009-10-25 22:02:38 +01:00
Martin Nordholts
b9214fd3cf
app: Add "gimp" property to GimpImageWindow
2009-10-25 21:44:23 +01:00
Michael Natterer
dd0575edb4
Move refing/unrefing the image to gimp_display_set_image()
...
and don't do it in gimp_display_connect()/disconnect() because
set_image() is the natural place to do it.
2009-10-07 21:13:39 +02:00
Michael Natterer
067cfe9ff0
Move a call to gimp_display_shell_connect() around
...
from gimp_display_shell_reconnect() to gimp_display_set_image()
because it makes unsetting and setting an image in
gimp_display_set_image() more symmetric.
2009-10-07 20:11:48 +02:00
Michael Natterer
1ae5d6ad8d
Use the local shell variable and don't call get_shell() again
2009-10-07 19:59:54 +02:00
Michael Natterer
6ad76d226e
Use gimp_display_set_image() in gimp_display_new()
...
instead of manually calling gimp_display_connect(). Make
gimp_display_set_image() handle displays in construction
(which don't have a shell yet).
2009-10-07 19:42:08 +02:00
Michael Natterer
23cd244c65
Make display->instance private, add an accessor and use it everywhere
2009-10-06 09:16:46 +02:00
Michael Natterer
5d70d60927
Move the display ID to the private struct
2009-10-05 20:10:00 +02:00
Michael Natterer
c339125d7d
Add private struct and move "shell" and "update_areas" there
2009-10-05 20:06:13 +02:00
Michael Natterer
297d205269
Use gimp_display_get_shell() also in gimpdisplay.c
2009-10-05 19:27:04 +02:00
Michael Natterer
161f1346db
Create the new display ID in set_property() not in gimp_display_new()
...
Make the ID a read-only property and set it when the "gimp"
construct-only property gets set. Removes code from gimp_display_new()
where it doesn't belong.
2009-10-04 22:00:04 +02:00
Michael Natterer
18cbe3422e
Add getters for "gimp", "image" and "shell"
2009-10-04 19:39:22 +02:00
Michael Natterer
4a0b826493
(gimp_display_new): add a local "shell" variable for more readable code
2009-10-04 19:30:32 +02:00
Michael Natterer
31a41c2b3d
Use gimp_display_shell_present() instead of gtk_window_present()
2009-10-04 19:27:58 +02:00
Michael Natterer
dee0afed79
Move the statusbar back to GimpDisplayShell
...
Keeping it in GimpImageWindow was a bad idea because
- it wasted space
- it produced evil code because
- it conceptually didn't belong there
2009-10-04 15:33:03 +02:00
Martin Nordholts
301e5c2c34
app: Maintain a list of GimpImageWindow:s on an app instance level
2009-10-04 02:10:11 +02:00
Michael Natterer
f6fd3aed51
Move GimpDisplayShell's expose functions to separate files
2009-10-02 23:55:26 +02:00
Michael Natterer
3d13f8d4d5
Tweak display finding logic of previous commit a bit
...
(gimp_display_new): add the new shell to the active display's image
window, not the first display's.
2009-10-02 21:50:02 +02:00
Michael Natterer
3106b66186
Finally enable multiple images in one window
...
(gimp_display_new): if single-window-mode is active, put the new shell
into the first display's image window.
2009-10-02 21:15:07 +02:00
Michael Natterer
625885eb9d
Make sure the shell is really destroyed when removing it from the window
...
Explicitely call gtk_widget_destroy() to break whatever reference
cycles so the shell really goes away.
2009-10-01 19:44:13 +02:00
Michael Natterer
ee2fdbcf8f
Enable some #if 0'ed code and use the just added API
...
gimp_display_delete(): remove shells from image windows with more than
one shell instead of destroying the window.
2009-09-29 23:01:33 +02:00
Michael Natterer
1c430a2b19
Move all GimpImageWindow members to a private struct
...
Add accessor functions for publically available members and visibility
functions for menubar and statusbar.
2009-09-29 21:44:43 +02:00
Michael Natterer
59274856ad
Derive GimpDisplayShell from GtkVBox instead of GimpImageWindow
...
...and pack the widget into a separately created GimpImageWindow.
2009-09-29 20:56:14 +02:00
Michael Natterer
253b8e2cbe
Use gimp_display_shell_get_window() instead of gtk_widget_get_toplevel()
...
The new function does the right thing, unlike get_toplevel() which
returns the shell itself if it is not in a window. Check the return
value of get_window() for being non-NULL.
2009-09-29 20:32:26 +02:00
Michael Natterer
35739c743c
Change GimpImageWindow API to speak in shells, not displays
...
A widget container should keep around child widgets, not whatever
objects that just have widgets.
2009-09-28 22:55:55 +02:00
Michael Natterer
375a25dd24
Destroy the toplevel, not the shell in gimp_display_delete()
...
Also add disabled code that removes the display from an image window
that has more then one display.
2009-09-28 22:55:53 +02:00
Michael Natterer
5b5e4e039a
Add gimp_image_window_add_display() and use it
...
This API is most likely not final, but enables adding the vbox of
shell widgets to the image window's vbox *after* the shell constructor
returns. Seems to work nicely :-)
2009-09-28 22:55:51 +02:00
Michael Natterer
2762100885
Show the shell after it has been associated with its image window, not before
...
...so the image window's session management has a chance to set
the window's size.
2009-09-28 22:55:46 +02:00
Michael Natterer
c7fdac4894
gimp_display_set_image(): emit notify::image only if the image changed
2009-09-28 22:55:44 +02:00
Michael Natterer
3547a25390
Add a GimpDisplayShell::scaled() handler to GimpImageWindow
...
...which is connected to the window's active display. Remove updating
the window's menubar_manager from GimpDisplayShell's scaled()
impl. Had to hack around a bit with the new API to set the window's
active display because they are still the same widget.
2009-09-28 22:55:39 +02:00
Michael Natterer
10b98034d4
Move the statusbar to GimpImageWindow
...
As with the menubar, port some code properly, and add some
horrible /* FIXME image window */ hacks to make it work.
2009-09-28 22:55:38 +02:00
Michael Natterer
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
Martin Nordholts
5aeb568650
s/gimp_container_children_type/gimp_container_get_children_type/
...
s/gimp_container_policy/gimp_container_get_policy/
s/gimp_container_num_children/gimp_container_get_n_children/
* app/actions/actions.c
* app/actions/file-actions.c
* app/actions/file-commands.c
* app/actions/tool-options-actions.c
* app/actions/tools-actions.c
* app/actions/tools-commands.c
* app/actions/vectors-actions.c
* app/core/gimpcontainer-filter.c
* app/core/gimpcontainer.c
* app/core/gimpcontainer.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-undo.c
* app/core/gimpimage.c
* app/core/gimpimagefile.c
* app/core/gimplist.c
* app/core/gimpundostack.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-title.c
* app/gui/gui-vtable.c
* app/menus/tool-options-menu.c
* app/tools/gimp-tools.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpimagepropview.c
* app/widgets/gimpsettingsbox.c
* app/widgets/gimpviewablebutton.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
svn path=/trunk/; revision=27692
2008-11-20 22:45:19 +00:00
Michael Natterer
a748e3f58e
add new functions gimp_get_image_iter(), display_iter() and
...
2008-11-02 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: add new functions gimp_get_image_iter(),
display_iter() and tool_info_iter().
* app/tools/gimp-tools.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/dialogs/quit-dialog.c
* app/gui/gui.c
* app/menus/windows-menu.c
* app/actions/images-commands.c
* app/actions/tools-actions.c
* app/actions/windows-actions.c
* app/actions/tool-options-commands.c
* app/display/gimpdisplay.c
* app/display/gimpdisplay-foreach.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/image.pdb: use them here.
* app/pdb/image-cmds.c: regenerated.
svn path=/trunk/; revision=27526
2008-11-02 21:34:14 +00:00
Michael Natterer
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
Michael Natterer
dc62afec23
emit notify::image.
...
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.c (gimp_display_set_image): emit
notify::image.
svn path=/trunk/; revision=25622
2008-05-10 15:22:17 +00:00