Changeset 2019 for libcaca/trunk/ruby/caca-display.c
- Timestamp:
- Nov 18, 2007, 10:13:33 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/ruby/caca-display.c
r2017 r2019 124 124 { 125 125 caca_event_t ev; 126 VALUE e; 127 126 128 if(caca_get_event(_SELF, NUM2UINT(event_mask), &ev, NUM2INT(timeout)) == 0) 127 129 { 128 130 return Qnil; 129 131 } 130 //FIXME 131 return Qnil; 132 133 switch(ev.type) 134 { 135 case CACA_EVENT_KEY_PRESS: 136 e = rb_funcall(cEventKeyPress, rb_intern("new"), 3, 137 UINT2NUM(ev.data.key.ch), 138 ULONG2NUM(ev.data.key.utf32), 139 rb_str_new(ev.data.key.utf8, 8)); 140 break; 141 case CACA_EVENT_KEY_RELEASE: 142 e = rb_funcall(cEventKeyRelease, rb_intern("new"), 3, 143 UINT2NUM(ev.data.key.ch), 144 ULONG2NUM(ev.data.key.utf32), 145 rb_str_new(ev.data.key.utf8, 8)); 146 break; 147 case CACA_EVENT_MOUSE_PRESS: 148 e = rb_funcall(cEventMousePress, rb_intern("new"), 3, 149 UINT2NUM(ev.data.mouse.x), 150 UINT2NUM(ev.data.mouse.y), 151 UINT2NUM(ev.data.mouse.button)); 152 break; 153 case CACA_EVENT_MOUSE_RELEASE: 154 e = rb_funcall(cEventMouseRelease, rb_intern("new"), 3, 155 UINT2NUM(ev.data.mouse.x), 156 UINT2NUM(ev.data.mouse.y), 157 UINT2NUM(ev.data.mouse.button)); 158 break; 159 case CACA_EVENT_MOUSE_MOTION: 160 e = rb_funcall(cEventMouseMotion, rb_intern("new"), 3, 161 UINT2NUM(ev.data.mouse.x), 162 UINT2NUM(ev.data.mouse.y), 163 Qnil); 164 break; 165 case CACA_EVENT_RESIZE: 166 e = rb_funcall(cEventResize, rb_intern("new"), 2, 167 UINT2NUM(ev.data.resize.w), 168 UINT2NUM(ev.data.resize.h)); 169 break; 170 case CACA_EVENT_QUIT: 171 e = rb_funcall(cEventQuit, rb_intern("new"), 0); 172 break; 173 default: 174 rb_raise(rb_eRuntimeError, "Invalid event received !"); 175 } 176 177 return e; 132 178 } 133 179 … … 150 196 rb_define_method(cDisplay, "mouse=", set_mouse, 1); 151 197 rb_define_method(cDisplay, "set_mouse", set_mouse2, 1); 152 rb_define_method(cDisplay, "get_event", get_event, 3);198 rb_define_method(cDisplay, "get_event", get_event, 2); 153 199 }
Note: See TracChangeset
for help on using the changeset viewer.