diff options
author | Federico Mena Quintero <federico@redhat.com> | 1999-11-03 05:48:52 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1999-11-03 05:48:52 +0800 |
commit | 510e8547bba307dc1e7dd72bd1484faa27db1a4f (patch) | |
tree | 51f24323e3c5bd756b32322bf20562bba6b036a9 | |
parent | c5e2fd8592f00928776550e078f9eeba31caa163 (diff) | |
download | gsoc2013-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
-rw-r--r-- | widgets/misc/e-cursors.c | 47 | ||||
-rw-r--r-- | widgets/misc/e-cursors.h | 47 | ||||
-rw-r--r-- | widgets/misc/pixmaps/cursor_hand_closed.xpm | 38 | ||||
-rw-r--r-- | widgets/misc/pixmaps/cursor_hand_open.xpm | 38 |
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", +" ", +" ", +" .. ", +" .. .++... ", +" .++..++.++. ", +" .++..++.++. . ", +" .++.++.++..+. ", +" .++.++.++.++. ", +" .. .+++++++.++. ", +" .++..++++++++++. ", +" .+++.+++++++++. ", +" .++++++++++++. ", +" .+++++++++++. ", +" .++++++++++. ", +" .+++++++++. ", +" .+++++++. ", +" .++++++. ", +" .++++++. ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; |