2 * $Id: rb_cursor.c 109 2004-09-01 20:33:15Z 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 "../ecore/rb_ecore.h"
28 #include "rb_ecore_x.h"
29 #include "rb_cursor.h"
33 static void c_free (RbCursor *c)
35 if (c->real && c->need_free)
36 ecore_x_cursor_free (c->real);
41 static VALUE c_new_from_shape (VALUE klass, VALUE shape)
44 RbCursor *cursor = NULL;
46 self = Data_Make_Struct (klass, RbCursor, NULL, c_free, cursor);
48 cursor->real = ecore_x_cursor_shape_get (FIX2INT (shape));
49 cursor->need_free = false;
51 rb_obj_call_init (self, 0, NULL);
56 void Init_Cursor (void)
58 cCursor = rb_define_class_under (mX, "Cursor", rb_cObject);
60 rb_define_singleton_method (cCursor, "new_from_shape",
64 DEF_CONST (cCursor, ECORE_X_CURSOR_, X);
65 DEF_CONST (cCursor, ECORE_X_CURSOR_, ARROW);
66 DEF_CONST (cCursor, ECORE_X_CURSOR_, BASED_ARROW_DOWN);
67 DEF_CONST (cCursor, ECORE_X_CURSOR_, UP);
68 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOAT);
69 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_LEFT_CORNER);
70 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_RIGHT_CORNER);
71 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_SIDE);
72 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_TEE);
73 DEF_CONST (cCursor, ECORE_X_CURSOR_, BOX_SPIRAL);
74 DEF_CONST (cCursor, ECORE_X_CURSOR_, CENTER_PTR);
75 DEF_CONST (cCursor, ECORE_X_CURSOR_, CIRCLE);
76 DEF_CONST (cCursor, ECORE_X_CURSOR_, CLOCK);
77 DEF_CONST (cCursor, ECORE_X_CURSOR_, COFFEE_MUG);
78 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS);
79 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS_REVERSE);
80 DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSSHAIR);
81 DEF_CONST (cCursor, ECORE_X_CURSOR_, DIAMOND_CROSS);
82 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT);
83 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT_BOX_MASK);
84 DEF_CONST (cCursor, ECORE_X_CURSOR_, DOUBLE_ARROW);
85 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_LARGE);
86 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_SMALL);
87 DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAPED_BOX);
88 DEF_CONST (cCursor, ECORE_X_CURSOR_, EXCHANGE);
89 DEF_CONST (cCursor, ECORE_X_CURSOR_, FLEUR);
90 DEF_CONST (cCursor, ECORE_X_CURSOR_, GOBBLER);
91 DEF_CONST (cCursor, ECORE_X_CURSOR_, GUMBY);
92 DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND1);
93 DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND2);
94 DEF_CONST (cCursor, ECORE_X_CURSOR_, HEART);
95 DEF_CONST (cCursor, ECORE_X_CURSOR_, ICON);
96 DEF_CONST (cCursor, ECORE_X_CURSOR_, IRON_CROSS);
97 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_PTR);
98 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_SIDE);
99 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_TEE);
100 DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFTBUTTON);
101 DEF_CONST (cCursor, ECORE_X_CURSOR_, LL_ANGLE);
102 DEF_CONST (cCursor, ECORE_X_CURSOR_, LR_ANGLE);
103 DEF_CONST (cCursor, ECORE_X_CURSOR_, MAN);
104 DEF_CONST (cCursor, ECORE_X_CURSOR_, MIDDLEBUTTON);
105 DEF_CONST (cCursor, ECORE_X_CURSOR_, MOUSE);
106 DEF_CONST (cCursor, ECORE_X_CURSOR_, PENCIL);
107 DEF_CONST (cCursor, ECORE_X_CURSOR_, PIRATE);
108 DEF_CONST (cCursor, ECORE_X_CURSOR_, PLUS);
109 DEF_CONST (cCursor, ECORE_X_CURSOR_, QUESTION_ARROW);
110 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_PTR);
111 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_SIDE);
112 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_TEE);
113 DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHTBUTTON);
114 DEF_CONST (cCursor, ECORE_X_CURSOR_, RTL_LOGO);
115 DEF_CONST (cCursor, ECORE_X_CURSOR_, SAILBOAT);
116 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_DOWN_ARROW);
117 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_H_DOUBLE_ARROW);
118 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_LEFT_ARROW);
119 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_RIGHT_ARROW);
120 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_UP_ARROW);
121 DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_V_DOUBLE_ARROW);
122 DEF_CONST (cCursor, ECORE_X_CURSOR_, SHUTTLE);
123 DEF_CONST (cCursor, ECORE_X_CURSOR_, SIZING);
124 DEF_CONST (cCursor, ECORE_X_CURSOR_, SPIDER);
125 DEF_CONST (cCursor, ECORE_X_CURSOR_, SPRAYCAN);
126 DEF_CONST (cCursor, ECORE_X_CURSOR_, STAR);
127 DEF_CONST (cCursor, ECORE_X_CURSOR_, TARGET);
128 DEF_CONST (cCursor, ECORE_X_CURSOR_, TCROSS);
129 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_ARROW);
130 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_CORNER);
131 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_RIGHT_CORNER);
132 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_SIDE);
133 DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_TEE);
134 DEF_CONST (cCursor, ECORE_X_CURSOR_, TREK);
135 DEF_CONST (cCursor, ECORE_X_CURSOR_, UL_ANGLE);
136 DEF_CONST (cCursor, ECORE_X_CURSOR_, UMBRELLA);
137 DEF_CONST (cCursor, ECORE_X_CURSOR_, UR_ANGLE);
138 DEF_CONST (cCursor, ECORE_X_CURSOR_, WATCH);
139 DEF_CONST (cCursor, ECORE_X_CURSOR_, XTERM);