0e17e44ba4
app: move code from GtkObject::destroy() to GObject::dispose()
2010-09-26 22:35:49 +02:00
ddc63de6d6
app: remove "gboolean use_offsets" from gimpdisplayshell-transform.[ch]
2010-09-23 19:24:04 +02:00
4c57e3f19e
app: port GimpVectors drawing to cairo
...
This is just a rough proof of concept. More changes are about
to follow.
2010-09-16 21:13:08 +02:00
f0c40d3717
app: port GimpDisplayShell image drawing to cairo
2010-08-27 23:15:25 +02:00
18d3882c5c
app: port GimpDisplayShell pen drawing to cairo
2010-08-23 21:59:27 +02:00
529ce40a5d
app: port GimpDisplayShell grid drawing to cairo
2010-08-11 13:16:55 +02:00
5df1d477b7
app: free shell->zoom_focus_pointer_queue in destroy()
2010-06-22 23:06:35 +02:00
7e3898da09
app/tests: Add keyboard zoom focus regression test
...
Add keyboard zoom focus regression test. We also need a new display
shell utility function
gimp_display_shell_push_zoom_focus_pointer_pos() for that.
2010-06-18 20:57:59 +02:00
84cf53d908
app: fix artifacts caused by delayed tool drawing
...
and as a "side effect", speed up rendering the image significantly:
- disable double buffering on the canvas widget.
- implement background clearing ourselves (needed after turning off
double buffering).
- remove any fiddling with clipping regions on the tool drawing GCs
and pull the pause/resume code out of the actual image expose
function.
- if there are overlay widgets on the canvas, implement double
buffering manually to aviod flicker, but do it in a way that keeps
pausing/resuming the active tool *outside* the double buffered
drawing.
2010-05-02 12:12:48 +02:00
84d33e4316
app: make image-coords overlay widgets work fine at any zoom factor
...
Add anchor and spacing parameters to the shell overlay API, so
overlays can be positioned on each side of a point in image space,
with configurable spacing in display space.
2010-02-28 14:48:47 +01:00
ff01c2d77e
app: add API to move an existing image-coords overlay around
2010-02-26 01:27:04 +01:00
9b75184442
app: add API to add overlays in image coordinates
...
and update their positions when the shell scrolls and zooms.
2010-02-20 15:15:53 +01:00
ed2d178da3
app: Get rid of config -> display module dependency
...
In order to make a clear separation between the core modules and the
UI modules, move the necessary enums from display-enums.h and
widgets-enums.h to config-enums.h and the files
gimpdisplayoptions.[ch] from the display to the config module. This
removes the config -> display dependency.
This change has three main benefits
* It lets us remove includes of display files from the config module
* We don't have to link gimp-console and test-config with a subset of
object files from the display module
* It is reflected in devel-docs/gimp-module-dependencies.svg that the
application is made up of core modules and UI modules and that no
core module depends on any UI module
2010-02-01 21:56:48 +01:00
8ba9700ddb
Bug 597368 - Widget spacing around canvas steals working space
...
Remove spacing between the canvas and the surrounding widgets so that
that space can be used for the actual canvas itself instead.
2010-01-30 08:59:28 +01:00
7175f3e883
Some more changes to build with GSEAL_ENABLE
...
- use more GTK+ accessors instead of struct members
- remove quite some #undef GSEAL_ENABLE from completely ported files
2010-01-15 15:35:03 +01:00
deed1636f9
Remove all code from gimp_display_shell_new()
...
Move the entire widget construction code to constructor().
2009-11-01 18:18:17 +01:00
439994d994
Clean up gimp_display_shell_init()
...
Only initialize members that don't default to zero. It was simply too
much and soon widgets will be constructed in init().
2009-11-01 14:51:08 +01:00
8780342dcb
Set a 10px border on the canvas so overlays have some spacing
2009-10-18 23:03:04 +02:00
6608d66cde
Build with GSEAL_ENABLE and #undef it where accessors are missing
2009-10-17 19:51:33 +02:00
c83788377a
app: Remove unused includes from gimpdisplayshell.c
2009-10-09 23:04:29 +02:00
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
c5b856f16f
Use gimp_display_get_image() instead of display->image
2009-10-06 19:20:44 +02:00
d0a614093e
Default to GIMP_NAME for the "title" property
2009-10-06 10:56:10 +02:00
d1ded0617f
More gimp_display_get_shell() instead of display->shell
2009-10-05 19:58:03 +02:00
94dcbe0e2e
Add new function gimp_display_shell_present()
...
Not only presents the shell's toplevel, but also makes it the active
shell in the image window.
2009-10-04 19:24:55 +02:00
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
750c11f001
Move the display render buf size #defines to gimpdisplayshell-render.h
2009-10-03 00:15:04 +02:00
f6fd3aed51
Move GimpDisplayShell's expose functions to separate files
2009-10-02 23:55:26 +02:00
6c46d1ec73
Fix some comment typos and formatting
2009-10-02 23:43:58 +02:00
35588efaa1
Remove "gimp-" prefix from the shell's "icon" and "title" properties
...
The prefix was needed because GtkWindow also has "icon" and "title"
properties.
2009-09-29 22:20:12 +02:00
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
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
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
97987aff6e
Add gimp_display_shell_get_window() which returns an image window or NULL
2009-09-28 23:53:05 +02:00
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
45f4a99339
Don't set any options in gimp_display_shell_new()
...
All options are properly set when the shell is set active in its image
window.
2009-09-28 22:55:54 +02:00
16038023a5
Remove some dead code and fix some comments
2009-09-28 22:55:53 +02:00
a8876834e8
Move the remaining menubar signal connections from the shell to the window
2009-09-28 22:55:53 +02:00
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
bcef4f275d
gimp_display_shell_fill_idle() present the toplevel not the shell
...
Not sure if this one should go to the image window...
2009-09-28 22:55:51 +02:00
32783d7228
Move shrink_wrap() from the display to the window
...
Also fix all callers. This clearly needs more cleanup.
2009-09-28 22:55:50 +02:00
abc5e270b3
Go via the toplevel to update the image window's ui manager
2009-09-28 22:55:49 +02:00
7f064f694e
Get rid of the shell's window-state-event handler
...
Move the last remaining function to the window. It doesn't actually
belong there, but it's better than the handler in the wrong place.
Added FIXME as reminder.
2009-09-28 22:55:49 +02:00
4f60240a04
Move updating the "view-fullscreen" actions to the proper place
...
Update the actions in gimp_display_shell_appearance_update() and remove
all action code from the window-state-event handlers.
2009-09-28 22:55:49 +02:00
8b5b36751d
Move updating the shell's appearance to the right window state event handler
...
The shell's handler is going to go away, so move this call to
the image window.
2009-09-28 22:55:48 +02:00
d015a704b3
Move GtkWidget::configure_event() impl from the shell to the window
...
Still has a FIXME for later, but is in the right place now.
2009-09-28 22:55:48 +02:00
c475b1b3be
Update widget packing ASCII art to not include image window widgets
2009-09-28 22:55:48 +02:00
a5945740e0
Move GtkWidget::delete_event() impl from the shell to the window
...
Still has a FIXME but is in the right place now at least
2009-09-28 22:55:47 +02:00
b11c3355cb
Implement GObject::constructor()
...
For now, simply assert that all required construct properties are set.
2009-09-28 22:55:47 +02:00
1ae5632753
Turn "popup-manager" into a construct-only property and pass it accordingly
2009-09-28 22:55:47 +02:00