summaryrefslogtreecommitdiffstats
path: root/src/ui/tool
diff options
context:
space:
mode:
authorDenis Declara <declara91@gmail.com>2012-05-05 13:32:42 +0000
committerDenis Declara <declara91@gmail.com>2012-05-05 13:32:42 +0000
commitaeb9c1bde66de096910757abb17dedb94ad74207 (patch)
treec0adf97685b0fa8af1553b14d20601f280492762 /src/ui/tool
parentFixed some math, so that the objects now line up correctly (diff)
parentAdding checks to prevent null pointer dereferences (diff)
downloadinkscape-aeb9c1bde66de096910757abb17dedb94ad74207.tar.gz
inkscape-aeb9c1bde66de096910757abb17dedb94ad74207.zip
Trunk merge
(bzr r11073.1.29)
Diffstat (limited to 'src/ui/tool')
-rw-r--r--src/ui/tool/control-point-selection.cpp101
-rw-r--r--src/ui/tool/control-point.cpp4
-rw-r--r--src/ui/tool/event-utils.cpp64
-rw-r--r--src/ui/tool/modifier-tracker.cpp64
-rw-r--r--src/ui/tool/multi-path-manipulator.cpp107
-rw-r--r--src/ui/tool/node-tool.cpp6
-rw-r--r--src/ui/tool/node.cpp21
-rw-r--r--src/ui/tool/node.h3
-rw-r--r--src/ui/tool/selector.cpp2
9 files changed, 19 insertions, 353 deletions
diff --git a/src/ui/tool/control-point-selection.cpp b/src/ui/tool/control-point-selection.cpp
index e4899691a..1c66b91b6 100644
--- a/src/ui/tool/control-point-selection.cpp
+++ b/src/ui/tool/control-point-selection.cpp
@@ -22,106 +22,7 @@
#include <gdk/gdkkeysyms.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_VoidSymbol 0xffffff
-#define GDK_KEY_Up 0xff52
-#define GDK_KEY_KP_Up 0xff97
-#define GDK_KEY_Down 0xff54
-#define GDK_KEY_KP_Down 0xff99
-#define GDK_KEY_Left 0xff51
-#define GDK_KEY_KP_Left 0xff96
-#define GDK_KEY_Right 0xff53
-#define GDK_KEY_KP_Right 0xff98
-#define GDK_KEY_Page_Up 0xff55
-#define GDK_KEY_KP_Page_Up 0xff9a
-#define GDK_KEY_Page_Down 0xff56
-#define GDK_KEY_KP_Page_Down 0xff9b
-#define GDK_KEY_Home 0xff50
-#define GDK_KEY_KP_Home 0xff95
-#define GDK_KEY_End 0xff57
-#define GDK_KEY_KP_End 0xff9c
-#define GDK_KEY_a 0x061
-#define GDK_KEY_A 0x041
-#define GDK_KEY_b 0x062
-#define GDK_KEY_B 0x042
-#define GDK_KEY_d 0x064
-#define GDK_KEY_D 0x044
-#define GDK_KEY_g 0x067
-#define GDK_KEY_G 0x047
-#define GDK_KEY_h 0x068
-#define GDK_KEY_H 0x048
-#define GDK_KEY_i 0x069
-#define GDK_KEY_I 0x049
-#define GDK_KEY_j 0x06a
-#define GDK_KEY_J 0x04a
-#define GDK_KEY_k 0x06b
-#define GDK_KEY_K 0x04b
-#define GDK_KEY_l 0x06c
-#define GDK_KEY_L 0x04c
-#define GDK_KEY_q 0x071
-#define GDK_KEY_Q 0x051
-#define GDK_KEY_r 0x072
-#define GDK_KEY_R 0x052
-#define GDK_KEY_s 0x073
-#define GDK_KEY_S 0x053
-#define GDK_KEY_u 0x075
-#define GDK_KEY_U 0x055
-#define GDK_KEY_v 0x076
-#define GDK_KEY_V 0x056
-#define GDK_KEY_w 0x077
-#define GDK_KEY_W 0x057
-#define GDK_KEY_x 0x078
-#define GDK_KEY_X 0x058
-#define GDK_KEY_z 0x07a
-#define GDK_KEY_Z 0x05a
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_Control_L 0xffe3
-#define GDK_KEY_Control_R 0xffe4
-#define GDK_KEY_Alt_L 0xffe9
-#define GDK_KEY_Alt_R 0xffea
-#define GDK_KEY_Shift_L 0xffe1
-#define GDK_KEY_Shift_R 0xffe2
-#define GDK_KEY_Meta_L 0xffe7
-#define GDK_KEY_Meta_R 0xffe8
-#define GDK_KEY_KP_0 0xffb0
-#define GDK_KEY_KP_1 0xffb1
-#define GDK_KEY_KP_2 0xffb2
-#define GDK_KEY_KP_3 0xffb3
-#define GDK_KEY_KP_4 0xffb4
-#define GDK_KEY_KP_5 0xffb5
-#define GDK_KEY_KP_6 0xffb6
-#define GDK_KEY_KP_7 0xffb7
-#define GDK_KEY_KP_8 0xffb8
-#define GDK_KEY_KP_9 0xffb9
-#define GDK_KEY_F1 0xffbe
-#define GDK_KEY_F2 0xffbf
-#define GDK_KEY_F3 0xffc0
-#define GDK_KEY_F4 0xffc1
-#define GDK_KEY_F5 0xffc2
-#define GDK_KEY_F6 0xffc3
-#define GDK_KEY_F7 0xffc4
-#define GDK_KEY_F8 0xffc5
-#define GDK_KEY_F9 0xffc6
-#define GDK_KEY_F10 0xffc7
-#define GDK_KEY_F11 0xffc8
-#define GDK_KEY_Insert 0xff63
-#define GDK_KEY_KP_Insert 0xff9e
-#define GDK_KEY_Delete 0xffff
-#define GDK_KEY_KP_Delete 0xff9f
-#define GDK_KEY_BackSpace 0xff08
-#define GDK_KEY_Return 0xff0d
-#define GDK_KEY_KP_Enter 0xff8d
-#define GDK_KEY_space 0x020
-#define GDK_KEY_KP_Space 0xff80
-#define GDK_KEY_Tab 0xff09
-#define GDK_KEY_ISO_Left_Tab 0xfe20
-#define GDK_KEY_bracketleft 0x05b
-#define GDK_KEY_bracketright 0x05d
-#define GDK_KEY_less 0x03c
-#define GDK_KEY_greater 0x03e
-#define GDK_KEY_comma 0x02c
-#define GDK_KEY_period 0x02e
-#define GDK_KEY_KP_Add 0xffab
-#define GDK_KEY_KP_Subtract 0xffad
+#include "compat-key-syms.h"
#endif
namespace Inkscape {
diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp
index 15af21777..68749cdff 100644
--- a/src/ui/tool/control-point.cpp
+++ b/src/ui/tool/control-point.cpp
@@ -28,9 +28,7 @@
#include "ui/tool/transform-handle-set.h"
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_Tab 0xff09
-#define GDK_KEY_ISO_Left_Tab 0xfe20
+#include "compat-key-syms.h"
#endif
namespace Inkscape {
diff --git a/src/ui/tool/event-utils.cpp b/src/ui/tool/event-utils.cpp
index 9d4b3e8e7..6b067a3ce 100644
--- a/src/ui/tool/event-utils.cpp
+++ b/src/ui/tool/event-utils.cpp
@@ -15,69 +15,7 @@
#include "ui/tool/event-utils.h"
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_Up 0xff52
-#define GDK_KEY_KP_Up 0xff97
-#define GDK_KEY_Down 0xff54
-#define GDK_KEY_KP_Down 0xff99
-#define GDK_KEY_Left 0xff51
-#define GDK_KEY_KP_Left 0xff96
-#define GDK_KEY_Right 0xff53
-#define GDK_KEY_KP_Right 0xff98
-#define GDK_KEY_Home 0xff50
-#define GDK_KEY_KP_Home 0xff95
-#define GDK_KEY_End 0xff57
-#define GDK_KEY_KP_End 0xff9c
-#define GDK_KEY_a 0x061
-#define GDK_KEY_A 0x041
-#define GDK_KEY_g 0x067
-#define GDK_KEY_G 0x047
-#define GDK_KEY_l 0x06c
-#define GDK_KEY_L 0x04c
-#define GDK_KEY_r 0x072
-#define GDK_KEY_R 0x052
-#define GDK_KEY_s 0x073
-#define GDK_KEY_S 0x053
-#define GDK_KEY_u 0x075
-#define GDK_KEY_U 0x055
-#define GDK_KEY_x 0x078
-#define GDK_KEY_X 0x058
-#define GDK_KEY_z 0x07a
-#define GDK_KEY_Z 0x05a
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_Control_L 0xffe3
-#define GDK_KEY_Control_R 0xffe4
-#define GDK_KEY_Alt_L 0xffe9
-#define GDK_KEY_Alt_R 0xffea
-#define GDK_KEY_Shift_L 0xffe1
-#define GDK_KEY_Shift_R 0xffe2
-#define GDK_KEY_Meta_L 0xffe7
-#define GDK_KEY_Meta_R 0xffe8
-#define GDK_KEY_KP_0 0xffb0
-#define GDK_KEY_KP_1 0xffb1
-#define GDK_KEY_KP_2 0xffb2
-#define GDK_KEY_KP_3 0xffb3
-#define GDK_KEY_KP_4 0xffb4
-#define GDK_KEY_KP_5 0xffb5
-#define GDK_KEY_KP_6 0xffb6
-#define GDK_KEY_KP_7 0xffb7
-#define GDK_KEY_KP_8 0xffb8
-#define GDK_KEY_KP_9 0xffb9
-#define GDK_KEY_Insert 0xff63
-#define GDK_KEY_KP_Insert 0xff9e
-#define GDK_KEY_Delete 0xffff
-#define GDK_KEY_KP_Delete 0xff9f
-#define GDK_KEY_BackSpace 0xff08
-#define GDK_KEY_Return 0xff0d
-#define GDK_KEY_KP_Enter 0xff8d
-#define GDK_KEY_space 0x020
-#define GDK_KEY_Tab 0xff09
-#define GDK_KEY_ISO_Left_Tab 0xfe20
-#define GDK_KEY_bracketleft 0x05b
-#define GDK_KEY_bracketright 0x05d
-#define GDK_KEY_less 0x03c
-#define GDK_KEY_greater 0x03e
-#define GDK_KEY_comma 0x02c
-#define GDK_KEY_period 0x02e
+#include "compat-key-syms.h"
#endif
namespace Inkscape {
diff --git a/src/ui/tool/modifier-tracker.cpp b/src/ui/tool/modifier-tracker.cpp
index ea247d4fb..601c8334f 100644
--- a/src/ui/tool/modifier-tracker.cpp
+++ b/src/ui/tool/modifier-tracker.cpp
@@ -15,69 +15,7 @@
#include <gtk/gtk.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_Up 0xff52
-#define GDK_KEY_KP_Up 0xff97
-#define GDK_KEY_Down 0xff54
-#define GDK_KEY_KP_Down 0xff99
-#define GDK_KEY_Left 0xff51
-#define GDK_KEY_KP_Left 0xff96
-#define GDK_KEY_Right 0xff53
-#define GDK_KEY_KP_Right 0xff98
-#define GDK_KEY_Home 0xff50
-#define GDK_KEY_KP_Home 0xff95
-#define GDK_KEY_End 0xff57
-#define GDK_KEY_KP_End 0xff9c
-#define GDK_KEY_a 0x061
-#define GDK_KEY_A 0x041
-#define GDK_KEY_g 0x067
-#define GDK_KEY_G 0x047
-#define GDK_KEY_l 0x06c
-#define GDK_KEY_L 0x04c
-#define GDK_KEY_r 0x072
-#define GDK_KEY_R 0x052
-#define GDK_KEY_s 0x073
-#define GDK_KEY_S 0x053
-#define GDK_KEY_u 0x075
-#define GDK_KEY_U 0x055
-#define GDK_KEY_x 0x078
-#define GDK_KEY_X 0x058
-#define GDK_KEY_z 0x07a
-#define GDK_KEY_Z 0x05a
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_Control_L 0xffe3
-#define GDK_KEY_Control_R 0xffe4
-#define GDK_KEY_Alt_L 0xffe9
-#define GDK_KEY_Alt_R 0xffea
-#define GDK_KEY_Shift_L 0xffe1
-#define GDK_KEY_Shift_R 0xffe2
-#define GDK_KEY_Meta_L 0xffe7
-#define GDK_KEY_Meta_R 0xffe8
-#define GDK_KEY_KP_0 0xffb0
-#define GDK_KEY_KP_1 0xffb1
-#define GDK_KEY_KP_2 0xffb2
-#define GDK_KEY_KP_3 0xffb3
-#define GDK_KEY_KP_4 0xffb4
-#define GDK_KEY_KP_5 0xffb5
-#define GDK_KEY_KP_6 0xffb6
-#define GDK_KEY_KP_7 0xffb7
-#define GDK_KEY_KP_8 0xffb8
-#define GDK_KEY_KP_9 0xffb9
-#define GDK_KEY_Insert 0xff63
-#define GDK_KEY_KP_Insert 0xff9e
-#define GDK_KEY_Delete 0xffff
-#define GDK_KEY_KP_Delete 0xff9f
-#define GDK_KEY_BackSpace 0xff08
-#define GDK_KEY_Return 0xff0d
-#define GDK_KEY_KP_Enter 0xff8d
-#define GDK_KEY_space 0x020
-#define GDK_KEY_Tab 0xff09
-#define GDK_KEY_ISO_Left_Tab 0xfe20
-#define GDK_KEY_bracketleft 0x05b
-#define GDK_KEY_bracketright 0x05d
-#define GDK_KEY_less 0x03c
-#define GDK_KEY_greater 0x03e
-#define GDK_KEY_comma 0x02c
-#define GDK_KEY_period 0x02e
+#include "compat-key-syms.h"
#endif
namespace Inkscape {
diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp
index 2be96afad..3fc202b69 100644
--- a/src/ui/tool/multi-path-manipulator.cpp
+++ b/src/ui/tool/multi-path-manipulator.cpp
@@ -32,112 +32,7 @@
#include <gdk/gdkkeysyms.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_VoidSymbol 0xffffff
-#define GDK_KEY_Up 0xff52
-#define GDK_KEY_KP_Up 0xff97
-#define GDK_KEY_Down 0xff54
-#define GDK_KEY_KP_Down 0xff99
-#define GDK_KEY_Left 0xff51
-#define GDK_KEY_KP_Left 0xff96
-#define GDK_KEY_Right 0xff53
-#define GDK_KEY_KP_Right 0xff98
-#define GDK_KEY_Page_Up 0xff55
-#define GDK_KEY_KP_Page_Up 0xff9a
-#define GDK_KEY_Page_Down 0xff56
-#define GDK_KEY_KP_Page_Down 0xff9b
-#define GDK_KEY_Home 0xff50
-#define GDK_KEY_KP_Home 0xff95
-#define GDK_KEY_End 0xff57
-#define GDK_KEY_KP_End 0xff9c
-#define GDK_KEY_a 0x061
-#define GDK_KEY_A 0x041
-#define GDK_KEY_b 0x062
-#define GDK_KEY_B 0x042
-#define GDK_KEY_c 0x063
-#define GDK_KEY_C 0x043
-#define GDK_KEY_d 0x064
-#define GDK_KEY_D 0x044
-#define GDK_KEY_g 0x067
-#define GDK_KEY_G 0x047
-#define GDK_KEY_h 0x068
-#define GDK_KEY_H 0x048
-#define GDK_KEY_i 0x069
-#define GDK_KEY_I 0x049
-#define GDK_KEY_j 0x06a
-#define GDK_KEY_J 0x04a
-#define GDK_KEY_k 0x06b
-#define GDK_KEY_K 0x04b
-#define GDK_KEY_l 0x06c
-#define GDK_KEY_L 0x04c
-#define GDK_KEY_q 0x071
-#define GDK_KEY_Q 0x051
-#define GDK_KEY_r 0x072
-#define GDK_KEY_R 0x052
-#define GDK_KEY_s 0x073
-#define GDK_KEY_S 0x053
-#define GDK_KEY_u 0x075
-#define GDK_KEY_U 0x055
-#define GDK_KEY_v 0x076
-#define GDK_KEY_V 0x056
-#define GDK_KEY_w 0x077
-#define GDK_KEY_W 0x057
-#define GDK_KEY_x 0x078
-#define GDK_KEY_X 0x058
-#define GDK_KEY_y 0x079
-#define GDK_KEY_Y 0x059
-#define GDK_KEY_z 0x07a
-#define GDK_KEY_Z 0x05a
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_Control_L 0xffe3
-#define GDK_KEY_Control_R 0xffe4
-#define GDK_KEY_Alt_L 0xffe9
-#define GDK_KEY_Alt_R 0xffea
-#define GDK_KEY_Shift_L 0xffe1
-#define GDK_KEY_Shift_R 0xffe2
-#define GDK_KEY_Meta_L 0xffe7
-#define GDK_KEY_Meta_R 0xffe8
-#define GDK_KEY_KP_0 0xffb0
-#define GDK_KEY_KP_1 0xffb1
-#define GDK_KEY_KP_2 0xffb2
-#define GDK_KEY_KP_3 0xffb3
-#define GDK_KEY_KP_4 0xffb4
-#define GDK_KEY_KP_5 0xffb5
-#define GDK_KEY_KP_6 0xffb6
-#define GDK_KEY_KP_7 0xffb7
-#define GDK_KEY_KP_8 0xffb8
-#define GDK_KEY_KP_9 0xffb9
-#define GDK_KEY_F1 0xffbe
-#define GDK_KEY_F2 0xffbf
-#define GDK_KEY_F3 0xffc0
-#define GDK_KEY_F4 0xffc1
-#define GDK_KEY_F5 0xffc2
-#define GDK_KEY_F6 0xffc3
-#define GDK_KEY_F7 0xffc4
-#define GDK_KEY_F8 0xffc5
-#define GDK_KEY_F9 0xffc6
-#define GDK_KEY_F10 0xffc7
-#define GDK_KEY_F11 0xffc8
-#define GDK_KEY_Insert 0xff63
-#define GDK_KEY_KP_Insert 0xff9e
-#define GDK_KEY_Delete 0xffff
-#define GDK_KEY_KP_Delete 0xff9f
-#define GDK_KEY_BackSpace 0xff08
-#define GDK_KEY_Return 0xff0d
-#define GDK_KEY_KP_Enter 0xff8d
-#define GDK_KEY_space 0x020
-#define GDK_KEY_KP_Space 0xff80
-#define GDK_KEY_Tab 0xff09
-#define GDK_KEY_ISO_Left_Tab 0xfe20
-#define GDK_KEY_bracketleft 0x05b
-#define GDK_KEY_bracketright 0x05d
-#define GDK_KEY_braceleft 0x07b
-#define GDK_KEY_braceright 0x07d
-#define GDK_KEY_less 0x03c
-#define GDK_KEY_greater 0x03e
-#define GDK_KEY_comma 0x02c
-#define GDK_KEY_period 0x02e
-#define GDK_KEY_KP_Add 0xffab
-#define GDK_KEY_KP_Subtract 0xffad
+#include "compat-key-syms.h"
#endif
#ifdef USE_GNU_HASHES
diff --git a/src/ui/tool/node-tool.cpp b/src/ui/tool/node-tool.cpp
index 95cf7aebb..7127ae968 100644
--- a/src/ui/tool/node-tool.cpp
+++ b/src/ui/tool/node-tool.cpp
@@ -44,11 +44,7 @@
#include <gdk/gdkkeysyms.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_Escape 0xff1b
-#define GDK_KEY_a 0x061
-#define GDK_KEY_A 0x041
-#define GDK_KEY_h 0x068
-#define GDK_KEY_H 0x048
+#include "compat-key-syms.h"
#endif
/** @struct InkNodeTool
diff --git a/src/ui/tool/node.cpp b/src/ui/tool/node.cpp
index 1d3acb4a5..ad48b523b 100644
--- a/src/ui/tool/node.cpp
+++ b/src/ui/tool/node.cpp
@@ -4,6 +4,7 @@
*/
/* Authors:
* Krzysztof KosiƄski <tweenk.pl@gmail.com>
+ * Jon A. Cruz <jon@joncruz.org>
*
* Copyright (C) 2009 Authors
* Released under GNU GPL, read the file 'COPYING' for more information
@@ -34,12 +35,7 @@
#include <gdk/gdkkeysyms.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_s 0x073
-#define GDK_KEY_S 0x053
-#define GDK_KEY_Page_Up 0xff55
-#define GDK_KEY_KP_Page_Up 0xff9a
-#define GDK_KEY_Page_Down 0xff56
-#define GDK_KEY_KP_Page_Down 0xff9b
+#include "compat-key-syms.h"
#endif
namespace Inkscape {
@@ -96,20 +92,23 @@ Handle::Handle(NodeSharedData const &data, Geom::Point const &initial_pos, Node
, _degenerate(true)
{
_cset = &handle_colors;
- _handle_line = sp_canvas_item_new(data.handle_line_group, SP_TYPE_CTRLLINE, NULL);
+ _handle_line = SP_CTRLLINE(sp_canvas_item_new(data.handle_line_group, SP_TYPE_CTRLLINE, NULL));
setVisible(false);
}
Handle::~Handle()
{
//sp_canvas_item_hide(_handle_line);
- gtk_object_destroy(GTK_OBJECT(_handle_line));
+ gtk_object_destroy(_handle_line);
}
void Handle::setVisible(bool v)
{
ControlPoint::setVisible(v);
- if (v) sp_canvas_item_show(_handle_line);
- else sp_canvas_item_hide(_handle_line);
+ if (v) {
+ sp_canvas_item_show(_handle_line);
+ } else {
+ sp_canvas_item_hide(_handle_line);
+ }
}
void Handle::move(Geom::Point const &new_pos)
@@ -186,7 +185,7 @@ void Handle::move(Geom::Point const &new_pos)
void Handle::setPosition(Geom::Point const &p)
{
ControlPoint::setPosition(p);
- sp_ctrlline_set_coords(SP_CTRLLINE(_handle_line), _parent->position(), position());
+ _handle_line->setCoords(_parent->position(), position());
// update degeneration info and visibility
if (Geom::are_near(position(), _parent->position()))
diff --git a/src/ui/tool/node.h b/src/ui/tool/node.h
index 94b67da59..f2e31e018 100644
--- a/src/ui/tool/node.h
+++ b/src/ui/tool/node.h
@@ -22,6 +22,7 @@
#include "snapped-point.h"
#include "ui/tool/node-types.h"
+struct SPCtrlLine;
namespace Inkscape {
namespace UI {
@@ -113,7 +114,7 @@ private:
inline PathManipulator &_pm();
Node *_parent; // the handle's lifetime does not extend beyond that of the parent node,
// so a naked pointer is OK and allows setting it during Node's construction
- SPCanvasItem *_handle_line;
+ SPCtrlLine *_handle_line;
bool _degenerate; // True if the handle is retracted, i.e. has zero length. This is used often internally so it makes sense to cache this
static Geom::Point _saved_other_pos;
diff --git a/src/ui/tool/selector.cpp b/src/ui/tool/selector.cpp
index 6820b7635..364776ce4 100644
--- a/src/ui/tool/selector.cpp
+++ b/src/ui/tool/selector.cpp
@@ -20,7 +20,7 @@
#include <gdk/gdkkeysyms.h>
#if !GTK_CHECK_VERSION(2,22,0)
-#define GDK_KEY_Escape 0xff1b
+#include "compat-key-syms.h"
#endif
namespace Inkscape {