X-Git-Url: http://git.code-monkey.de/?p=ruby-ecore.git;a=blobdiff_plain;f=src%2Fecore_x%2Frb_cursor.c;fp=src%2Fecore_x%2Frb_cursor.c;h=91091515d516fe6a0495e641d66bd89825910046;hp=0000000000000000000000000000000000000000;hb=ed7756f1892ec068be14445c39a86f14f7e76a46;hpb=ddaa53d3761be0e96352e75e2002072d92389d10 diff --git a/src/ecore_x/rb_cursor.c b/src/ecore_x/rb_cursor.c new file mode 100644 index 0000000..9109151 --- /dev/null +++ b/src/ecore_x/rb_cursor.c @@ -0,0 +1,139 @@ +/* + * $Id: rb_cursor.c 98 2004-08-26 13:12:55Z tilman $ + * + * Copyright (C) 2004 ruby-ecore team (see AUTHORS) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +#include +#include + +#define __RB_CURSOR_C +#include "rb_ecore_x.h" +#include "rb_cursor.h" + +VALUE cCursor; + +static void c_free (RbCursor *c) +{ + if (c->real && c->need_free) + ecore_x_cursor_free (c->real); + + free (c); +} + +static VALUE c_new_from_shape (VALUE klass, VALUE shape) +{ + VALUE self; + RbCursor *cursor = NULL; + + self = Data_Make_Struct (klass, RbCursor, NULL, c_free, cursor); + + cursor->real = ecore_x_cursor_shape_get (FIX2INT (shape)); + cursor->need_free = false; + + rb_obj_call_init (self, 0, NULL); + + return self; +} + +void Init_Cursor (void) +{ + cCursor = rb_define_class_under (mX, "Cursor", rb_cObject); + + rb_define_singleton_method (cCursor, "new_from_shape", + c_new_from_shape, 1); + + /* shape constants */ + DEF_CONST (cCursor, ECORE_X_CURSOR_, X); + DEF_CONST (cCursor, ECORE_X_CURSOR_, ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BASED_ARROW_DOWN); + DEF_CONST (cCursor, ECORE_X_CURSOR_, UP); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOAT); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_LEFT_CORNER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_RIGHT_CORNER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_SIDE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOTTOM_TEE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, BOX_SPIRAL); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CENTER_PTR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CIRCLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CLOCK); + DEF_CONST (cCursor, ECORE_X_CURSOR_, COFFEE_MUG); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSS_REVERSE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, CROSSHAIR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DIAMOND_CROSS); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DOT_BOX_MASK); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DOUBLE_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_LARGE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAFT_SMALL); + DEF_CONST (cCursor, ECORE_X_CURSOR_, DRAPED_BOX); + DEF_CONST (cCursor, ECORE_X_CURSOR_, EXCHANGE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, FLEUR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, GOBBLER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, GUMBY); + DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND1); + DEF_CONST (cCursor, ECORE_X_CURSOR_, HAND2); + DEF_CONST (cCursor, ECORE_X_CURSOR_, HEART); + DEF_CONST (cCursor, ECORE_X_CURSOR_, ICON); + DEF_CONST (cCursor, ECORE_X_CURSOR_, IRON_CROSS); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_PTR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_SIDE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFT_TEE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LEFTBUTTON); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LL_ANGLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, LR_ANGLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, MAN); + DEF_CONST (cCursor, ECORE_X_CURSOR_, MIDDLEBUTTON); + DEF_CONST (cCursor, ECORE_X_CURSOR_, MOUSE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, PENCIL); + DEF_CONST (cCursor, ECORE_X_CURSOR_, PIRATE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, PLUS); + DEF_CONST (cCursor, ECORE_X_CURSOR_, QUESTION_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_PTR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_SIDE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHT_TEE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, RIGHTBUTTON); + DEF_CONST (cCursor, ECORE_X_CURSOR_, RTL_LOGO); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SAILBOAT); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_DOWN_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_H_DOUBLE_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_LEFT_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_RIGHT_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_UP_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SB_V_DOUBLE_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SHUTTLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SIZING); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SPIDER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, SPRAYCAN); + DEF_CONST (cCursor, ECORE_X_CURSOR_, STAR); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TARGET); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TCROSS); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_ARROW); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_LEFT_CORNER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_RIGHT_CORNER); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_SIDE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TOP_TEE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, TREK); + DEF_CONST (cCursor, ECORE_X_CURSOR_, UL_ANGLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, UMBRELLA); + DEF_CONST (cCursor, ECORE_X_CURSOR_, UR_ANGLE); + DEF_CONST (cCursor, ECORE_X_CURSOR_, WATCH); + DEF_CONST (cCursor, ECORE_X_CURSOR_, XTERM); +}