Commit Graph

2129 Commits

Author SHA1 Message Date
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