Commit Graph

32068 Commits

Author SHA1 Message Date
Mikael Magnusson c37619ade7 transformtool: Pick move operation anywhere inside polygon 2012-08-20 15:46:47 +02:00
Mikael Magnusson a0d79634ed transformtool: Add one more rotation handle, in case the point you want to pivot around is close to the first one 2012-08-20 15:46:47 +02:00
Mikael Magnusson 62525e090b transformtool: use GimpFrame + GtkBox to group the options instead of just putting GtkLabel between them 2012-08-20 15:46:46 +02:00
Mikael Magnusson f84987de73 transformtool: Add the bunch of 8 separate options for 3 things 2012-08-20 15:46:46 +02:00
Mikael Magnusson 03117bdf40 transformtool: Update modifier keys for options, solves problem with perspective frompivot + constrain 2012-08-20 15:46:46 +02:00
Mikael Magnusson f2099fbb28 transformtool: Check if new transform is convex and don't involve the pivot if it isn't 2012-08-20 15:46:46 +02:00
Mikael Magnusson 501c15f910 transformtool: Add a pick_function method to the TransformTool class and remove some more hack duplication 2012-08-20 15:46:46 +02:00
Mikael Magnusson 293600c579 transformtool: Add a draw_gui method to the TransformTool class and remove some hack duplication 2012-08-20 15:46:46 +02:00
Mikael Magnusson 01142f248d transformtool: some more cleanup + comments 2012-08-20 15:46:45 +02:00
Mikael Magnusson 03d9a75c30 transformtool: Rename p to d because p is a weird name for a delta/diff 2012-08-20 15:46:45 +02:00
Mikael Magnusson eb65b09ebd transformtool: move assignment of coords to after the logic code, this somehow fixes frompivot perspective 2012-08-20 15:46:45 +02:00
Mikael Magnusson ed29503f28 transformtool: Deduplicate code, use more vector representations, fix style and warnings 2012-08-20 15:46:45 +02:00
Mikael Magnusson 70671f2967 transformtool: Factor out getpivotdelta() function 2012-08-20 15:46:45 +02:00
Mikael Magnusson bad3c0d86c transformtool: Add frompivot for perspective handles too 2012-08-20 15:46:45 +02:00
Mikael Magnusson 9be0d2b029 transformtool: Add option for locking pivot to canvas, add code to transform the pivot along with all transformations 2012-08-20 15:46:24 +02:00
Mikael Magnusson 52dd46f9d3 transformtool: Copy the corner scale non-aspect frompivot code to side scale 2012-08-20 15:41:55 +02:00
Mikael Magnusson 76f23aa8a0 transformtool: Use better method for keepaspect side scaling 2012-08-20 15:41:55 +02:00
Mikael Magnusson 051775eb0d transformtool: Fix frompivot for cornerscale, only problem is the handle doesn't end up at mouse cursor 2012-08-20 15:41:55 +02:00
Mikael Magnusson 615b5fabfd transformtool: Add the five options instead of just two 2012-08-20 15:41:55 +02:00
Mikael Magnusson 6dac9e84f9 transformtool: Show an incredibly helpful message in the statusbar when a handle is hovered over 2012-08-20 15:41:55 +02:00
Mikael Magnusson 5cfa57ae87 transformtool: how to draw in screen coords 2012-08-20 15:41:54 +02:00
Mikael Magnusson b0dbaaae54 transformtool: Add todo about pivot point
Move pivot with frame, needs to do so for all operations
2012-08-20 15:41:54 +02:00
Mikael Magnusson be3f42c401 transformtool: implement aspect constraint for scaling via side handle 2012-08-20 15:41:54 +02:00
Mikael Magnusson e762764a1d transformtool: Make basic scale op via side handle behave as spec, no constrain or frompivot 2012-08-20 15:41:54 +02:00
Mikael Magnusson 3367a415c4 transformtool: corner scale: use full transform machinery to keep pivot constant position, missing some offset maybe 2012-08-20 15:41:54 +02:00
Mikael Magnusson d5220e7d42 transformtool: nonworking naive frompivot for corner scale
This just scales the distance to the pivot from the handle in x and y
separately, which turns out to only work sometimes.
2012-08-20 15:41:54 +02:00
Mikael Magnusson c5b4beff65 transformtool: Make corner scale op behave as spec, no frompivot 2012-08-20 15:41:53 +02:00
Mikael Magnusson 948cf1801c transformtool: implement fromcenter constraint for shearing (old spec)
This doesn't keep the pivot in place, it merely moves the opposite edge
by the same amount (but in the opposite direction).
2012-08-20 15:41:53 +02:00
Mikael Magnusson 9a58e878be transformtool: Make shear op behave as spec, no frompivot 2012-08-20 15:41:53 +02:00
Mikael Magnusson 5ed30efc49 transformtool: remove unneeded old stuff, cleanup 2012-08-20 15:41:53 +02:00
Mikael Magnusson ce2c959408 transformtool: Make perspective op behave as spec 2012-08-20 15:41:53 +02:00
Mikael Magnusson a532c77bca transformtool: Make rotation axis behave as spec 2012-08-20 15:41:33 +02:00
Mikael Magnusson 81cb334d94 transformtool: Make rotate op behave as spec 2012-08-20 15:22:22 +02:00
Mikael Magnusson dd470c9259 transformtool: Make move op behave as spec 2012-08-20 15:22:22 +02:00
Mikael Magnusson 003ccf2aec transformtool: Enable hit detection for new handles 2012-08-20 15:22:22 +02:00
Mikael Magnusson a8a8450b6e transformtool: Add temporary new handles
put perspective handles on the outside instead (if you invert the frame,
they'll switch place with the scale handles, oh well)
2012-08-20 15:22:22 +02:00
Mikael Magnusson 9e330e432b transformtool: temp hack to fiddle with drawing interface 2012-08-20 15:22:22 +02:00
Mikael Magnusson c4143ff209 transformtool: Remove shift-clicking to accept transform since shift is used as a modifier 2012-08-20 15:22:22 +02:00
Mikael Magnusson 362afb122a transformtool: Try to straighten out modifiers 2012-08-20 15:22:21 +02:00
Mikael Magnusson 2967e4fbfd transformtool: remove unused function shearvector() 2012-08-20 15:22:21 +02:00
Mikael Magnusson 99f9d4d219 transformtool: add old "new" unified transformation tool
This is the proof of concept code I wrote before gsoc, with very naive
behaviour and simple interface.
2012-08-20 15:22:21 +02:00
Mikael Magnusson f5b08f33aa transformtool: Infinite undo
add undo and redo buttons, can undo all interactions. The reset button
is equivalent to undoing all operations and lets you press redo to get
back to before you reset. Doing something after undo will of course
clear all redo events.
2012-08-20 15:22:21 +02:00
Mikael Magnusson c883c761df transformtool: calculate center handle position correctly, add pivot handle
and use pivot handle in rotatetool so it works as before.
2012-08-20 15:22:21 +02:00
Mikael Magnusson e324913284 app: fix drawing of the GIMP_HANDLE_CROSS canvas item 2012-08-20 15:22:20 +02:00
Mikael Magnusson 7baaaa4867 app: remove useless function call in gimp_tool_motion 2012-08-20 15:22:20 +02:00
Mikael Magnusson f6f22ed431 Remove stray semicolons 2012-08-20 15:22:20 +02:00
Piotr Drąg 213387c190 Updated Polish translation 2012-08-20 15:02:37 +02:00
Nils Philippsen 43fc9dbd8e file-gif-load: fix type overflow (CVE-2012-3481)
Cast variables properly to avoid overflowing when computing how much
memory to allocate.
2012-08-16 12:07:40 +02:00
Jan Lieskovsky d95c2f0bcb file-gif-load: limit len and height (CVE-2012-3481)
Ensure values of len and height can't overflow g_malloc() argument type.
2012-08-16 12:06:31 +02:00
Nils Philippsen 86f4cd39bd file-cel: use g_set_error() for errors instead of g_message() 2012-08-14 12:03:59 +02:00