Michael Natterer
cca8273f5e
app: fix the canvas passe partout's extents
2010-11-12 19:45:01 +01:00
Michael Natterer
6bf13efbc8
app: use gimp_widget_flush_expose() for the statusbar's progress
2010-11-10 00:16:34 +01:00
Michael Natterer
cff73863c5
app: add GimpCanvasProgress, an on-canvas progress item
2010-11-09 19:35:04 +01:00
Michael Natterer
1541d8b666
app: make the shift-coordinates-by-anchor functions public API
2010-11-09 11:27:51 +01:00
Michael Natterer
b2a2e3200e
app: derive GimpDisplayShell from GtkBox instead of GtkVBox
...
and avoid gtk_container_add() on boxes in some more plavces.
2010-10-30 15:12:20 +02:00
Michael Natterer
59a4e70b86
app: don't reserve a height for the statusbar label's icon
...
Reserve only a width. The height gets ignored by GTK+ 2.x and breaks
layout positioning in GTK+ 3.x which uses pango-cairo for all text
rendering.
2010-10-29 10:31:04 +02:00
Michael Natterer
8c65edcc55
app: make GimpScaleComboBox build with GTK+ >= 2.23.1
2010-10-26 16:40:41 +02:00
Martin Nordholts
1e747cbb19
app: Update gimp_display_shell_transform_xy_f() gtk-doc
...
gimp_display_shell_transfrom_xy() is removed.
2010-10-26 14:22:53 +02:00
Michael Natterer
60d24b4c04
app: get rid of #ifdef USE_CAIRO_REGION almost everywhere
...
get replaced by GDK region functions and use the cairo region
functions unconditionally all over the place.
2010-10-22 19:58:11 +02:00
Mukund Sivaraman
40797f1fd4
Bump down cairo version for USE_CAIRO_REGION
2010-10-22 22:45:59 +05:30
Sven Neumann
a798c9456c
app/display: add new canvas item GimpCanvasPassePartout
...
This is supposed to replace the GimpDisplayShell highlight API,
but it is not yet used.
2010-10-18 22:17:27 +02:00
Michael Natterer
8c42c38c7e
app: store the dialog's adjustments as GtkAdjustment pointers
...
instead of GtkObject ones and get rid of lots of casts.
2010-10-18 21:30:56 +02:00
Michael Natterer
0ad43df54e
app: use the cairo_region_t hack in gimp_display_shell_set_highlight()
2010-10-18 20:25:02 +02:00
Michael Natterer
22db39afd2
app: fix incomplete earlier s/GtkAnchorType/GimpHandleAnchor/ change
2010-10-18 20:13:09 +02:00
Michael Natterer
479082075b
app: use cairo_region_t for canvas items if cairo >= 1.10 is available
...
This is a gross hack that typedefs around between GdkRegion and
cairo_region_t and has some evil #ifdefs. This is going to die
immeditately once we can depend on cairo 1.10.
2010-10-18 20:01:05 +02:00
Michael Natterer
5b64b83569
app: introduce enum GimpHandleAnchor as replacement for GtkAnchorType
...
because the latter is gone in GTK+ 3.0
2010-10-18 12:50:17 +02:00
Michael Natterer
dc39857238
app: add GimpSegment as replacement for GdkSegment
2010-10-15 12:37:36 +02:00
Michael Natterer
74458f46ee
app/libgimpwidgets: move GimpUnitStore and GimpUnitComboBox to libgimpwidgets
2010-10-14 22:15:25 +02:00
Michael Natterer
f3c2a75e44
app: overwrite cursors can have negative widths in RTL text
2010-10-14 02:43:37 +02: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
3de4d7263a
app: Bug 631619 - Drawing artifacts spread by paintbrush outline on canvas
...
Add a transform matrix to GimpCanvasBoundary and get rid of the whole
BoundSeg transform code in boundary.c and gimpbrushcore.c, it was
impossible to get this right on that level. Also fix te extents of
GimpCanvasBoundary os it leaves no artifacts.
2010-10-09 22:00:19 +02:00
Michael Natterer
f8d6821790
app: get rid of selection_control() in core/ and display/
...
- replace gimp_display_shell_selection_control() by undraw() and restart()
which actually say what they are doing
- remove enum GimpSelectionControl
- replace GimpImage::selection_control() by ::selection_invalidate()
because none of the other enum values was used any longer
2010-10-09 20:28:37 +02:00
Michael Natterer
cc8c546ed0
app: turn "edit-mask" into a property of GimpCanvasLayerBoundary
2010-10-09 15:34:20 +02:00
Michael Natterer
545e65dda6
app: add gimp_display_shell_selection_pause() and _resume()
...
and use them instead of gimp_display_shell_selection_control() with
the resp. enum values. Remove the GIMP_SELECTION_PAUSE and _RESUME
enums values and thus the presence of this concept in the core.
2010-10-09 14:26:33 +02:00
Michael Natterer
71a50bc58a
app: rename selection member "hidden" to "show_selection"
...
and invert its meaning. This has confused me long enough now...
2010-10-09 12:55:11 +02:00
Michael Natterer
0cae0f2fca
app: rename selection member "visible" to "shell_visible"
2010-10-09 12:51:20 +02:00
Michael Natterer
6b8141d548
app: wrap GimpBezierDesc in a boxed type to make property handling easier
2010-10-08 18:52:28 +02:00
Michael Natterer
914ac9aa11
app: no need to cairo_save()/restore() around drawing a canvas item
2010-10-08 16:13:21 +02:00
Michael Natterer
b59196c245
app: set shell->vectors to NULL in gimp_display_shell_items_free()
2010-10-08 15:46:00 +02:00
Michael Natterer
55f01bf6f3
app: remove gimp_display_shell_draw_vectors()
...
which is the last bit of non-item drawing of stuff that is not
somehow the image itself... wheee!
This involves reverting commit
6bce0641d4
and adding back all the
vectors handlers that were in gimpdisplayshell-callbacks.c before.
Change the callbacks to manage proxy items for all the image's
vectors.
2010-10-08 01:03:56 +02:00
Michael Natterer
0b078d3dad
app: several GimpCanvasPath fixes
...
- fix get_extents()
- don't use cairo_path_destroy() for a path we allocated ourselves
- pass a const GimpBezierDesc to new()
2010-10-07 14:08:48 +02:00
Michael Natterer
149ba1ec4b
app: add a path canvas item class based on cairo_path_t (GimpBezierDesc)
...
and use it in gimp_display_shell_draw_vectors().
2010-10-06 23:02:16 +02:00
Martin Nordholts
cc7755f876
Port stuff to gimp_item_is_text_layer()
...
Port stuff to gimp_item_is_text_layer() instead of
gimp_drawable_is_text_layer(). Nevermind the previous commit, it
should never have been pushed...
2010-10-05 07:39:00 +02:00
Martin Nordholts
49a0be731e
app: s/gimp_drawable_is_text_layer/gimp_item_is_text_layer/g
2010-10-05 07:12:30 +02:00
Michael Natterer
b74811324a
app: don't use PROJ_ROUND() for pixel-adjusting canvas item drawing
...
When PROJ_ROUND()ing e.g. 3.8, it ends up at 4, then we added the 0.5
offset to draw a nice cairo line in the middle of the pixel,
effectively drawing a line that's meant to be at 3.8 at 4.5. Instead,
we now use floor(x)+0.5 now which snaps the above example to 3.5.
Also, calculate arcs like we calculate rectangles (transform the arc's
bounding box and pixel-align that, then recalculate the center), so
arcs properly align with rectangles.
2010-10-04 21:48:39 +02:00
Michael Natterer
d88a348c18
app: add public API for the "guide-style" and "sample-point-style" properties
...
of the guide and sample point canvas items. They are too obscure to
additionally hide them, and these items are used rarely enough to
justify the additional parameter to the new() functions.
2010-10-03 22:14:40 +02:00
Michael Natterer
96df3c2a08
app: formatting
2010-10-03 02:39:04 +02:00
Michael Natterer
0b4bb51750
app: need to actually set the extents of the pen, not only calculate them
2010-10-03 02:31:54 +02:00
Michael Natterer
f3450431a3
app: add a pen canvas item class and use it in the foreground select tool
...
Remove gimp_display_shell_draw_pen().
2010-10-03 02:26:40 +02:00
Michael Natterer
ba6aa8258e
app: implement the "points" property using GimpArray
...
instead of poking into private from new(). This way the item is
properly subclassable.
2010-10-03 01:43:22 +02:00
Michael Natterer
dbce9d49d9
app: fix scrolling in of dashed lines
...
Before, the pattern offset was always relative to the widget, which
completely destroyed the stipples when the got scrolled in. Now we
simply set the shell's scroll offsets as cairo translation and
everything looks perfect.
2010-10-03 00:52:46 +02:00
Michael Natterer
3e69ae0039
app: add a layer boundary canvas item class
...
and use it to draw the layer boundary. Remove a lot of stuff
that was there only to draw the boundary before:
- remvoe all layer boundary stuff from the selection code
- remove gimp_display_shell_draw_layer()
- remove enum values GIMP_SELECTION_LAYER_ON,OFF from core-enums.h
- remove all lines calling gimp_image_selection_control() with
the removed enum values
- remove gimp_layer_boundary()
2010-10-03 00:28:40 +02:00
Michael Natterer
dd4f27ed4f
app: remove gimp_display_shell_set_cursor_style()
2010-10-02 22:11:52 +02:00
Michael Natterer
7ffa463273
app: remove obsolete includes
2010-10-02 22:07:31 +02:00
Michael Natterer
1d45f6295e
app: add a software cursor canvas item
...
and use it to draw the sw cursor. Almost every aspect of the old code
was ugly and hard to read, this is so much nicer...
2010-10-02 21:56:36 +02:00
Michael Natterer
cfa17dc744
app: fix last fix for the region leak...
...
The fix was bogusly destroying a region that is still needed
for the last end_change() if the change count is > 1.
2010-10-02 21:52:42 +02:00
Michael Natterer
cad95533dd
app: queue a draw on the canvas in gimp_canvas_set_bg_color()
...
Instead of doing it in gimp_display_shell_set_padding() from where
it's called.
2010-10-02 21:13:31 +02:00
Michael Natterer
502d7c815b
app: add a canvas grid item class and use it to draw the grid
...
Remove gimp_display_shell_draw_grid().
2010-10-02 20:57:40 +02:00
Michael Natterer
2731a9c7b9
app: manage the stroking/filling state of child items correctly in all cases
...
It was correct only for the currently existing use cases.
2010-10-02 19:58:35 +02:00