From 0a51e32c75ca4cad74738ce4dab88b7d6ea6ce81 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Sun, 22 Aug 2004 16:23:19 +0000 Subject: [PATCH] Added modifier enum. Fixed key event init methods. --- src/ecore_x/rb_ecore_x.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/ecore_x/rb_ecore_x.c b/src/ecore_x/rb_ecore_x.c index bbb5bbe..c30eef2 100644 --- a/src/ecore_x/rb_ecore_x.c +++ b/src/ecore_x/rb_ecore_x.c @@ -1,5 +1,5 @@ /* - * $Id: rb_ecore_x.c 89 2004-08-22 15:12:39Z tilman $ + * $Id: rb_ecore_x.c 90 2004-08-22 16:23:19Z tilman $ * * Copyright (C) 2004 ruby-ecore team (see AUTHORS) * @@ -58,9 +58,12 @@ static VALUE c_ev_key_down_init (VALUE self, VALUE event) rb_define_attr (c, "event_window", 1, 0); rb_define_attr (c, "time", 1, 0); - rb_iv_set (self, "@keyname", rb_str_new2 (e->keyname)); - rb_iv_set (self, "@keysymbol", rb_str_new2 (e->keysymbol)); - rb_iv_set (self, "@key_compose", rb_str_new2 (e->key_compose)); + rb_iv_set (self, "@keyname", + e->keyname ? rb_str_new2 (e->keyname) : Qnil); + rb_iv_set (self, "@keysymbol", + e->keysymbol ? rb_str_new2 (e->keysymbol) : Qnil); + rb_iv_set (self, "@key_compose", + e->key_compose ? rb_str_new2 (e->key_compose) : Qnil); rb_iv_set (self, "@modifiers", INT2FIX (e->modifiers)); rb_iv_set (self, "@window", TO_ECORE_X_WINDOW (Qnil, e->win)); rb_iv_set (self, "@event_window", @@ -300,7 +303,7 @@ void Init_ecore_x (void) DEF_CONST (c, ECORE_X_EVENT_MODE_, UNGRAB); /* event details */ - c = rb_define_class_under (mX, "EventDetails", rb_cObject); + c = rb_define_class_under (mX, "EventDetail", rb_cObject); rb_define_private_method (rb_singleton_class (c), "new", NULL, 0); DEF_CONST (c, ECORE_X_EVENT_DETAIL_, ANCESTOR); DEF_CONST (c, ECORE_X_EVENT_DETAIL_, VIRTUAL); @@ -311,6 +314,14 @@ void Init_ecore_x (void) DEF_CONST (c, ECORE_X_EVENT_DETAIL_, POINTER_ROOT); DEF_CONST (c, ECORE_X_EVENT_DETAIL_, DETAIL_NONE); + /* key modifiers */ + c = rb_define_class_under (mX, "Modifier", rb_cObject); + rb_define_private_method (rb_singleton_class (c), "new", NULL, 0); + DEF_CONST (c, ECORE_X_MODIFIER_, SHIFT); + DEF_CONST (c, ECORE_X_MODIFIER_, CTRL); + DEF_CONST (c, ECORE_X_MODIFIER_, ALT); + DEF_CONST (c, ECORE_X_MODIFIER_, WIN); + /* events */ ADD_EVENT (mX, ECORE_X_EVENT_, KEY_DOWN, "KeyDown", c); rb_define_private_method (c, "initialize", -- 2.30.2