aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@redhat.com>1999-11-03 05:48:52 +0800
committerArturo Espinosa <unammx@src.gnome.org>1999-11-03 05:48:52 +0800
commit510e8547bba307dc1e7dd72bd1484faa27db1a4f (patch)
tree51f24323e3c5bd756b32322bf20562bba6b036a9 /widgets/misc
parentc5e2fd8592f00928776550e078f9eeba31caa163 (diff)
downloadgsoc2013-evolution-510e8547bba307dc1e7dd72bd1484faa27db1a4f.tar.gz
gsoc2013-evolution-510e8547bba307dc1e7dd72bd1484faa27db1a4f.tar.zst
gsoc2013-evolution-510e8547bba307dc1e7dd72bd1484faa27db1a4f.zip
Renamed the move modes to MODE_MOVE and MOVE_MODE_DRAGGING.
1999-11-02 Federico Mena Quintero <federico@redhat.com> * src/print-preview.c (PreviewMode): Renamed the move modes to MODE_MOVE and MOVE_MODE_DRAGGING. (preview_canvas_button_press): Split the event handling code between several functions. Rationale: we will want drag-zoom and we need different modes for this, and the code in a single function would get unwieldy. In addition, grab the pointer and use GDK_POINTER_MOTION_HINT_MASK for better behavior. (PrintPreview): Added fields for drag anchor and drag offset. (drag_to): New function to drag/scroll. (create_preview_canvas): Connect to the different event handlers. (do_zoom): We do not need to re-render the page; just set the zoom factor. Also, use exponential zooming for better behavior. * src/cursors.h: Moved the cursor #defines to an enum. This way we can check for a max value in cursor_get(). Moved the cursor array to the .c file and made it private. * src/cursors.c (cursors_init): Added sanity check so that all cursors are defined. (cursor_get): New function to get a cursor based on its type. (cursors): Added hand cursors. * src/pixmaps/cursor_hand_{open,closed}.xpm: Added hand cursors. svn path=/trunk/; revision=1365
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/e-cursors.c47
-rw-r--r--widgets/misc/e-cursors.h47
-rw-r--r--widgets/misc/pixmaps/cursor_hand_closed.xpm38
-rw-r--r--widgets/misc/pixmaps/cursor_hand_open.xpm38
4 files changed, 120 insertions, 50 deletions
diff --git a/widgets/misc/e-cursors.c b/widgets/misc/e-cursors.c
index b94c54bc73..597c3c1787 100644
--- a/widgets/misc/e-cursors.c
+++ b/widgets/misc/e-cursors.c
@@ -1,41 +1,38 @@
#ifndef GNUMERIC_CURSORS_H
#define GNUMERIC_CURSORS_H
-typedef struct {
- GdkCursor *cursor;
- int hot_x, hot_y;
- char **xpm;
-} GnumericCursorDef;
-
-#define GNUMERIC_CURSOR_FAT_CROSS 0
-#define GNUMERIC_CURSOR_THIN_CROSS 1
-#define GNUMERIC_CURSOR_ARROW 2
-#define GNUMERIC_CURSOR_MOVE 3
-#define GNUMERIC_CURSOR_ZOOM_IN 4
-#define GNUMERIC_CURSOR_ZOOM_OUT 5
-#define GNUMERIC_CURSOR_SIZE_X 6
-#define GNUMERIC_CURSOR_SIZE_Y 7
-#define GNUMERIC_CURSOR_SIZE_TL 8
-#define GNUMERIC_CURSOR_SIZE_TR 9
-#define GNUMERIC_CURSOR_PRESS 10
-
-extern GnumericCursorDef gnumeric_cursors [];
+typedef enum {
+ GNUMERIC_CURSOR_FAT_CROSS,
+ GNUMERIC_CURSOR_THIN_CROSS,
+ GNUMERIC_CURSOR_ARROW,
+ GNUMERIC_CURSOR_MOVE,
+ GNUMERIC_CURSOR_ZOOM_IN,
+ GNUMERIC_CURSOR_ZOOM_OUT,
+ GNUMERIC_CURSOR_SIZE_X,
+ GNUMERIC_CURSOR_SIZE_Y,
+ GNUMERIC_CURSOR_SIZE_TL,
+ GNUMERIC_CURSOR_SIZE_TR,
+ GNUMERIC_CURSOR_PRESS,
+ GNUMERIC_CURSOR_HAND_OPEN,
+ GNUMERIC_CURSOR_HAND_CLOSED,
+ GNUMERIC_CURSOR_NUM_CURSORS
+} CursorType;
void cursors_init (void);
void cursors_shutdown (void);
-#define cursor_set(win,c) \
+#define cursor_set(win, c) \
G_STMT_START { \
if (win) \
- gdk_window_set_cursor (win, gnumeric_cursors [c].cursor); \
+ gdk_window_set_cursor (win, cursor_get (c)); \
} G_STMT_END
-#define cursor_set_widget(w,c) \
+#define cursor_set_widget(w, c) \
G_STMT_START { \
if (GTK_WIDGET (w)->window) \
- gdk_window_set_cursor (GTK_WIDGET (w)->window, gnumeric_cursors [c].cursor); \
+ gdk_window_set_cursor (GTK_WIDGET (w)->window, cursor_get (c)); \
} G_STMT_END
-
-#endif /* GNUMERIC_CURSORS_H */
+GdkCursor *cursor_get (CursorType type);
+#endif /* GNUMERIC_CURSORS_H */
diff --git a/widgets/misc/e-cursors.h b/widgets/misc/e-cursors.h
index b94c54bc73..597c3c1787 100644
--- a/widgets/misc/e-cursors.h
+++ b/widgets/misc/e-cursors.h
@@ -1,41 +1,38 @@
#ifndef GNUMERIC_CURSORS_H
#define GNUMERIC_CURSORS_H
-typedef struct {
- GdkCursor *cursor;
- int hot_x, hot_y;
- char **xpm;
-} GnumericCursorDef;
-
-#define GNUMERIC_CURSOR_FAT_CROSS 0
-#define GNUMERIC_CURSOR_THIN_CROSS 1
-#define GNUMERIC_CURSOR_ARROW 2
-#define GNUMERIC_CURSOR_MOVE 3
-#define GNUMERIC_CURSOR_ZOOM_IN 4
-#define GNUMERIC_CURSOR_ZOOM_OUT 5
-#define GNUMERIC_CURSOR_SIZE_X 6
-#define GNUMERIC_CURSOR_SIZE_Y 7
-#define GNUMERIC_CURSOR_SIZE_TL 8
-#define GNUMERIC_CURSOR_SIZE_TR 9
-#define GNUMERIC_CURSOR_PRESS 10
-
-extern GnumericCursorDef gnumeric_cursors [];
+typedef enum {
+ GNUMERIC_CURSOR_FAT_CROSS,
+ GNUMERIC_CURSOR_THIN_CROSS,
+ GNUMERIC_CURSOR_ARROW,
+ GNUMERIC_CURSOR_MOVE,
+ GNUMERIC_CURSOR_ZOOM_IN,
+ GNUMERIC_CURSOR_ZOOM_OUT,
+ GNUMERIC_CURSOR_SIZE_X,
+ GNUMERIC_CURSOR_SIZE_Y,
+ GNUMERIC_CURSOR_SIZE_TL,
+ GNUMERIC_CURSOR_SIZE_TR,
+ GNUMERIC_CURSOR_PRESS,
+ GNUMERIC_CURSOR_HAND_OPEN,
+ GNUMERIC_CURSOR_HAND_CLOSED,
+ GNUMERIC_CURSOR_NUM_CURSORS
+} CursorType;
void cursors_init (void);
void cursors_shutdown (void);
-#define cursor_set(win,c) \
+#define cursor_set(win, c) \
G_STMT_START { \
if (win) \
- gdk_window_set_cursor (win, gnumeric_cursors [c].cursor); \
+ gdk_window_set_cursor (win, cursor_get (c)); \
} G_STMT_END
-#define cursor_set_widget(w,c) \
+#define cursor_set_widget(w, c) \
G_STMT_START { \
if (GTK_WIDGET (w)->window) \
- gdk_window_set_cursor (GTK_WIDGET (w)->window, gnumeric_cursors [c].cursor); \
+ gdk_window_set_cursor (GTK_WIDGET (w)->window, cursor_get (c)); \
} G_STMT_END
-
-#endif /* GNUMERIC_CURSORS_H */
+GdkCursor *cursor_get (CursorType type);
+#endif /* GNUMERIC_CURSORS_H */
diff --git a/widgets/misc/pixmaps/cursor_hand_closed.xpm b/widgets/misc/pixmaps/cursor_hand_closed.xpm
new file mode 100644
index 0000000000..61a6de4b88
--- /dev/null
+++ b/widgets/misc/pixmaps/cursor_hand_closed.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+static char * cursor_hand_closed_xpm[] = {
+"32 32 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .. ",
+" ..++... ",
+" .+++++++.. ",
+" .+++++++++. ",
+" ...+++++++++. ",
+" .++.+++++++++. ",
+" .++++++++++++. ",
+" .+++++++++++. ",
+" .++++++++++. ",
+" .+++++++++. ",
+" .+++++++. ",
+" .++++++. ",
+" .++++++. ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/widgets/misc/pixmaps/cursor_hand_open.xpm b/widgets/misc/pixmaps/cursor_hand_open.xpm
new file mode 100644
index 0000000000..048acc8054
--- /dev/null
+++ b/widgets/misc/pixmaps/cursor_hand_open.xpm
@@ -0,0 +1,38 @@
+/* XPM */
+static char * cursor_hand_open_xpm[] = {
+"32 32 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ",
+" ",
+" .. ",
+" .. .++... ",
+" .++..++.++. ",
+" .++..++.++. . ",
+" .++.++.++..+. ",
+" .++.++.++.++. ",
+" .. .+++++++.++. ",
+" .++..++++++++++. ",
+" .+++.+++++++++. ",
+" .++++++++++++. ",
+" .+++++++++++. ",
+" .++++++++++. ",
+" .+++++++++. ",
+" .+++++++. ",
+" .++++++. ",
+" .++++++. ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};