2 * $Id: rb_cursor.c 98 2004-08-26 13:12:55Z tilman $
4 * Copyright (C) 2004 ruby-ecore team (see AUTHORS)
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #include <Ecore_X_Cursor.h>
27 #include "rb_ecore_x.h"
28 #include "rb_cursor.h"
32 static void c_free (RbCursor *c)
34 if (c->real && c->need_free)
35 ecore_x_cursor_free (c->real);
40 static VALUE c_new_from_shape (VALUE klass, VALUE shape)
43 RbCursor *cursor = NULL;
45 self = Data_Make_Struct (klass, RbCursor, NULL, c_free, cursor);
47 cursor->real = ecore_x_cursor_shape_get (FIX2INT (shape));
48 cursor->need_free = false;
50 rb_obj_call_init (self, 0, NULL);
55 void Init_Cursor (void)
57 cCursor = rb_define_class_under (mX, "Cursor", rb_cObject);
59 rb_define_singleton_method (cCursor, "new_from_shape",
63 DEF_CONST (cCursor, ECORE_X_CURSOR_, X);
64 DEF_CONST (cCursor, ECORE_X_CURSOR_, ARROW);
65 DEF_CONST (cCursor, ECORE_X_CURSOR_, BASED_ARROW_DOWN);
66 DEF_CONST (cCursor, ECORE_X_CURSOR_, UP);
67 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOAT);
68 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_LEFT_CORNER);
69 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_RIGHT_CORNER);
70 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_SIDE);
71 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_TEE);
72 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOX_SPIRAL);
73 DEF_CONST (cCursor, ECORE_X_CURSOR_, CENTER_PTR);
74 DEF_CONST (cCursor, ECORE_X_CURSOR_, CIRCLE);
75 DEF_CONST (cCursor, ECORE_X_CURSOR_, CLOCK);
76 DEF_CONST (cCursor, ECORE_X_CURSOR_, COFFEE_MUG);
77 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS);
78 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS_REVERSE);
79 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSSHAIR);
80 DEF_CONST (cCursor, ECORE_X_CURSOR_, DIAMOND_CROSS);
81 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT);
82 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT_BOX_MASK);
83 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOUBLE_ARROW);
84 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_LARGE);
85 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_SMALL);
86 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAPED_BOX);
87 DEF_CONST (cCursor, ECORE_X_CURSOR_, EXCHANGE);
88 DEF_CONST (cCursor, ECORE_X_CURSOR_, FLEUR);
89 DEF_CONST (cCursor, ECORE_X_CURSOR_, GOBBLER);
90 DEF_CONST (cCursor, ECORE_X_CURSOR_, GUMBY);
91 DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND1);
92 DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND2);
93 DEF_CONST (cCursor, ECORE_X_CURSOR_, HEART);
94 DEF_CONST (cCursor, ECORE_X_CURSOR_, ICON);
95 DEF_CONST (cCursor, ECORE_X_CURSOR_, IRON_CROSS);
96 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_PTR);
97 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_SIDE);
98 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_TEE);
99 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFTBUTTON);
100 DEF_CONST (cCursor, ECORE_X_CURSOR_, LL_ANGLE);
101 DEF_CONST (cCursor, ECORE_X_CURSOR_, LR_ANGLE);
102 DEF_CONST (cCursor, ECORE_X_CURSOR_, MAN);
103 DEF_CONST (cCursor, ECORE_X_CURSOR_, MIDDLEBUTTON);
104 DEF_CONST (cCursor, ECORE_X_CURSOR_, MOUSE);
105 DEF_CONST (cCursor, ECORE_X_CURSOR_, PENCIL);
106 DEF_CONST (cCursor, ECORE_X_CURSOR_, PIRATE);
107 DEF_CONST (cCursor, ECORE_X_CURSOR_, PLUS);
108 DEF_CONST (cCursor, ECORE_X_CURSOR_, QUESTION_ARROW);
109 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_PTR);
110 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_SIDE);
111 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_TEE);
112 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHTBUTTON);
113 DEF_CONST (cCursor, ECORE_X_CURSOR_, RTL_LOGO);
114 DEF_CONST (cCursor, ECORE_X_CURSOR_, SAILBOAT);
115 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_DOWN_ARROW);
116 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_H_DOUBLE_ARROW);
117 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_LEFT_ARROW);
118 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_RIGHT_ARROW);
119 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_UP_ARROW);
120 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_V_DOUBLE_ARROW);
121 DEF_CONST (cCursor, ECORE_X_CURSOR_, SHUTTLE);
122 DEF_CONST (cCursor, ECORE_X_CURSOR_, SIZING);
123 DEF_CONST (cCursor, ECORE_X_CURSOR_, SPIDER);
124 DEF_CONST (cCursor, ECORE_X_CURSOR_, SPRAYCAN);
125 DEF_CONST (cCursor, ECORE_X_CURSOR_, STAR);
126 DEF_CONST (cCursor, ECORE_X_CURSOR_, TARGET);
127 DEF_CONST (cCursor, ECORE_X_CURSOR_, TCROSS);
128 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_ARROW);
129 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_CORNER);
130 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_RIGHT_CORNER);
131 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_SIDE);
132 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_TEE);
133 DEF_CONST (cCursor, ECORE_X_CURSOR_, TREK);
134 DEF_CONST (cCursor, ECORE_X_CURSOR_, UL_ANGLE);
135 DEF_CONST (cCursor, ECORE_X_CURSOR_, UMBRELLA);
136 DEF_CONST (cCursor, ECORE_X_CURSOR_, UR_ANGLE);
137 DEF_CONST (cCursor, ECORE_X_CURSOR_, WATCH);
138 DEF_CONST (cCursor, ECORE_X_CURSOR_, XTERM);