]> git.sur5r.net Git - glabels/blob - src/view-barcode.c
Add shadow property to image objects.
[glabels] / src / view-barcode.c
1 /*
2  *  view-barcode.c
3  *  Copyright (C) 2001-2009  Jim Evins <evins@snaught.com>.
4  *
5  *  This file is part of gLabels.
6  *
7  *  gLabels is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation, either version 3 of the License, or
10  *  (at your option) any later version.
11  *
12  *  gLabels is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with gLabels.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include <config.h>
22
23 #include "view-barcode.h"
24
25 #include "label-barcode.h"
26
27 #include "pixmaps/cursor_barcode.xbm"
28 #include "pixmaps/cursor_barcode_mask.xbm"
29
30 #include "debug.h"
31
32
33 /*========================================================*/
34 /* Private macros and constants.                          */
35 /*========================================================*/
36
37
38 /*========================================================*/
39 /* Private types.                                         */
40 /*========================================================*/
41
42
43 /*========================================================*/
44 /* Private globals.                                       */
45 /*========================================================*/
46
47
48 /*========================================================*/
49 /* Private function prototypes.                           */
50 /*========================================================*/
51
52
53 /*****************************************************************************/
54 /* Return apropos cursor for create object mode.                             */
55 /*****************************************************************************/
56 GdkCursor *
57 gl_view_barcode_get_create_cursor (void)
58 {
59         GdkCursor       *cursor = NULL;
60         GdkPixmap       *pixmap_data, *pixmap_mask;
61         GdkColor         fg = { 0, 0, 0, 0 };
62         GdkColor         bg = { 0, 65535, 65535, 65535 };
63
64         gl_debug (DEBUG_VIEW, "START");
65
66         pixmap_data = gdk_bitmap_create_from_data (NULL,
67                                                    (gchar *)cursor_barcode_bits,
68                                                    cursor_barcode_width,
69                                                    cursor_barcode_height);
70         pixmap_mask = gdk_bitmap_create_from_data (NULL,
71                                                    (gchar *)cursor_barcode_mask_bits,
72                                                    cursor_barcode_mask_width,
73                                                    cursor_barcode_mask_height);
74         cursor = gdk_cursor_new_from_pixmap (pixmap_data, pixmap_mask, &fg,
75                                              &bg, cursor_barcode_x_hot,
76                                              cursor_barcode_y_hot);
77
78         gl_debug (DEBUG_VIEW, "END");
79
80         return cursor;
81 }
82
83
84 /*****************************************************************************/
85 /* Object creation handler: button press event.                              */
86 /*****************************************************************************/
87 void
88 gl_view_barcode_create_button_press_event   (glView *view,
89                                              gdouble x,
90                                              gdouble y)
91 {
92         GObject             *object;
93         glTextNode          *text_node;
94
95         gl_label_unselect_all (view->label);
96
97         object = gl_label_barcode_new (view->label, TRUE);
98
99         gl_label_object_set_position (GL_LABEL_OBJECT(object), x, y, FALSE);
100         text_node = gl_text_node_new_from_text ("123456789");
101         gl_label_barcode_set_data (GL_LABEL_BARCODE(object), text_node, FALSE);
102
103         view->create_object = GL_LABEL_OBJECT (object);
104         view->create_x0 = x;
105         view->create_y0 = y;
106 }
107
108
109 /*****************************************************************************/
110 /* Object creation handler: motion event.                                    */
111 /*****************************************************************************/
112 void
113 gl_view_barcode_create_motion_event         (glView *view,
114                                              gdouble x,
115                                              gdouble y)
116 {
117         gl_label_object_set_position (GL_LABEL_OBJECT(view->create_object), x, y, FALSE);
118 }
119
120
121 /*****************************************************************************/
122 /* Object creation handler: button relesase event.                           */
123 /*****************************************************************************/
124 void
125 gl_view_barcode_create_button_release_event (glView *view,
126                                              gdouble x,
127                                              gdouble y)
128 {
129         gl_label_object_set_position (GL_LABEL_OBJECT(view->create_object), x, y, FALSE);
130 }
131
132
133
134 /*
135  * Local Variables:       -- emacs
136  * mode: C                -- emacs
137  * c-basic-offset: 8      -- emacs
138  * tab-width: 8           -- emacs
139  * indent-tabs-mode: nil  -- emacs
140  * End:                   -- emacs
141  */