Commit Graph

29235 Commits

Author SHA1 Message Date
8a09fd1f34 app: refactor GimpCanvasTransformPreview to not know GimpTransformTool any more
Instead, add drawable, transform, x1, y1 etc. properties. This is
cleaner and has the nice side effect of not leaving artifacts, because
the changed state of the transform tool doesn't affect the extents
calculation any longer.
2011-03-27 21:19:38 +02:00
1e11a279b2 libgimpmath: add a boxed type and a GParamSpec for GimpMatrix3 2011-03-27 21:13:31 +02:00
6fe9430cab app: remove members "type" and "direction" from GimpTransformTool
and use the stuff from GimpTransformOptions directly. The copied
values were only there because of XOR drawing. Also did some more
cleanup and junk removal.
2011-03-27 17:38:49 +02:00
1d9f95ac98 app: code cleanup and streamlining in GimpCanvasTransformPreview 2011-03-27 16:54:21 +02:00
92aeeadecf app: remove unused macros from gimpdrawable-transform.c 2011-03-27 16:53:48 +02:00
f09be52c1b app: turn the transform preview into a GimpCanvasItem
And remove all the complicated handling code entirely. This makes
GimpTransformTool a lot less complex. As a nice side effect, the
preview is now always 100% in sync with the grid and handles.
2011-03-27 16:40:41 +02:00
4d9952cf54 Add extra optimization flags for super performance 2011-03-27 04:15:09 +05:30
cf28e07b64 app: move enum TransformAction from tools-enums.h to gimptransformtool.h
Moving it to tools-enums.h was a mistake, it's actually supposed to be
a private enum, accessible only by subclasses. And it's ugly.
2011-03-26 22:32:35 +01:00
f632c4a8aa app: transform the transform grid lines on the fly
which is much less code than keeping the transformed lines around.
2011-03-26 22:14:07 +01:00
74f276fe4f app: make sure GimpTransformTool draws correctly after options changes 2011-03-26 21:53:06 +01:00
deafe3d341 app: remove some entirely useless members from GimpTransformTool 2011-03-26 20:40:35 +01:00
6c524ea1db app: GimpSessionInfo: use brute force to position dialogs
Window managers are such a crap. So on top of all friendly hinting and
geometry setting, simply use gtk_window_move() whenever a session
managed GtkDialog is shown. It should be very hard to ignore that, but
of course the WM has the last word no matter how hard we try.

Note: this code should be more complex and the signal connection
should happen in GimpDialogFactory. Left it in GimpSessionInfo for now
until it got a bit of testing.
2011-03-26 19:47:44 +01:00
c629cbeb89 app: some formatting cleanup in GimpDialogFactory 2011-03-26 19:32:59 +01:00
6606d10be1 app: gimp_transform_tool_transform(): don't unref NULL orig_tiles 2011-03-26 18:57:31 +01:00
ae72971866 app: pass the orig_tiles and their offset to GimpTransformTool::transform()
instead of keeping them around as members. This is another artifact
from ancient times. Also get rid of some more legacy junk
code. Disable more code in GimpTransformToolUndo but keep it around
even though it does nothing at the moment.
2011-03-26 18:45:58 +01:00
88ee23aa29 app: move some of the new tile offset variables to local scopes 2011-03-26 18:37:34 +01:00
047d31fa68 app: gimp_drawable_transform: place new the tiles at offset_x, offset_y
and not at offset_y, offset_y (typo).
2011-03-26 16:50:38 +01:00
647f0ada2a Add support for reading 16-bit raw PPM files
This should be useful for loading the output of programs such
as dcraw.
2011-03-26 15:09:59 +05:30
bc8d5f84d6 app: remove the "offset" API from TileManager
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
41ab7d8e10 Remove broken include 2011-03-26 10:55:21 +05:30
6ec5190da2 app: remove unused files base/tile-manager-crop.[ch] 2011-03-26 00:10:19 +01:00
9424d42d36 pdb: apply recent fixes to the deprecated transform procedures
Don't transform the tiles of group layers, use the item transform API
instead. Go the same code path if there is no selection.
2011-03-25 22:35:46 +01:00
1a359a138d pdb: don't recommend deprecated replacement procedures for deprecated procedures 2011-03-25 22:03:14 +01:00
4d7dbe233d pdb: do the same optimization as in the transform tool in the commit below 2011-03-25 21:57:56 +01:00
3ed87015a6 app: if there is no selection, don't cut/transform/paste in the transform tool
instead, take the easy path that simply calls gimp_item_transform()
and does exactly the same, just less weird.
2011-03-25 21:50:58 +01:00
bef6d5716a app: use a tool progress for GimpTransformTool 2011-03-25 21:35:19 +01:00
f078a7416c app: remove some junk from GimpTransformTool
which was there for the purpose of transfomring the same buffer
multiple times (which would be nice but is broken and disabled for
ages). Also remove some junk that was there for unknown reasons, this
tool has a long history.
2011-03-25 21:32:08 +01:00
a5549ece52 app: don't pause/resume the shell (and the active tool) around expose()
This was only there to make sure XOR drawing works, and is now
complete overhead since cairo drawing is done *in* expose, and not in
some hack around it.
2011-03-25 21:28:21 +01:00
6fdcc5f465 app: add a progress indicator for cage transform
- add a double "progress" property to GimpOperationCageTransform
  and update it every 20 rows
- connect to the notify::progress in the tool and display a tool
  progress
2011-03-25 15:41:53 +01:00
41b905baa8 app: make GimpTool implement the GimpProgress interface properly
and remove the previously added quick hack. Change the cage progress
code to standard progress code, and use the tool progress also in
blend.
2011-03-25 10:55:07 +01:00
8daee72518 app: various GimpCageTool fixes
- completely halt the tool before starting it
- bail out on options changes when the tool is not active
- initialy set the mode to CAGE_CHANGE
- indentation, formatting, various small cleanups
2011-03-25 10:18:56 +01:00
e9dd30127a app: add an on-canvas progress facility to GimpTool
and use it in GimpCageTool.
2011-03-25 09:48:26 +01:00
927ce61ce1 app: use a data delete dialog in the tool options' preset delete menu 2011-03-24 21:54:40 +01:00
920d1a42e9 app: move the GimpData delete confirm dialog to its own files 2011-03-24 21:46:40 +01:00
afa8a416c9 app: don't crash if GimpBrushTool has no dynamics to paint a brush outline
Also, set the BAD cursor when there isn't both brush and dynamics
available.
2011-03-24 20:21:57 +01:00
8b87e633b3 gimp:cage-transform : iterate over y then x, to follow memory organisation 2011-03-24 19:57:47 +01:00
b6ef32f580 gimp:cage-transform : when pre-filling the buffer, do a check if the pixel is
inside of the bounding box before computing if it's inside the cage
2011-03-24 19:38:14 +01:00
635d1ba37d gimp:cage-transform : fusion of two loop that didn't need to be seperate 2011-03-24 19:13:39 +01:00
b87e5c10b3 gimp:cagetransform : move a call to babl_format_n outside of loops 2011-03-24 19:00:45 +01:00
5a5f47d903 cagetool: move malloc out of inner loop 2011-03-24 17:02:57 +01:00
b590804212 app: move GimpFilteredContainer's match logic to a utility function 2011-03-24 13:10:43 +01:00
aec66d0c26 app: make GimpTaggedContainer properly memory manage the filter list
instead of leaking it. Also make the fact that tags in the list can
validly be NULL obvious by adding utility functions
gimp_tag_or_null_ref/unref().
2011-03-24 12:28:45 +01:00
7eda388fec app: fix possible GimpTagEntry crash by keeping the query idle ID around
Remove it in gimp_tag_query_dispose().
2011-03-24 09:55:32 +01:00
ac7aab2376 app: forgot to remove member GimpTaggedContainer:src_container 2011-03-24 09:43:21 +01:00
d64eae8c4e app: use gimp_tagged_has_tag() instead of imlementing the same
and some general cleanup.
2011-03-24 09:17:44 +01:00
39d2067058 app: add gimp_tagged_has_tag(), and some cleanup in GimpTagged 2011-03-24 09:17:39 +01:00
c062432444 Fix size_t format modifier yet again
This is cause our favourite platform Windows doesn't support
the POSIX `z' modifier for size_t arguments. Yay!
2011-03-24 11:29:23 +05:30
36e03dafc1 Remove deleted file from POTFILES.in 2011-03-24 11:05:18 +05:30
d6c4d21190 Use guints for flags 2011-03-24 11:03:46 +05:30
3cd16c798d Update Finnish translation (major quick review of the roughly 50% of fuzzy translations and a few untranslated ones, leaving ca. 90 to be checked/translated). 2011-03-24 02:36:20 +02:00