Changeset 2051


Ignore:
Timestamp:
Nov 25, 2007, 12:12:20 PM (13 years ago)
Author:
Sam Hocevar
Message:
  • Adapt the Ruby bindings to the event API change.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/ruby/caca-display.c

    r2020 r2051  
    123123static VALUE get_event(VALUE self, VALUE event_mask, VALUE timeout)
    124124{
     125    char utf8[8];
    125126    caca_event_t ev;
    126127    VALUE e;
     
    133134    }
    134135
    135     switch(ev.type)
     136    switch(caca_get_event_type(&ev))
    136137    {
    137138    case CACA_EVENT_KEY_PRESS:
     139        caca_get_event_key_utf8(&ev, utf8);
    138140        e = rb_funcall(cEventKeyPress, rb_intern("new"), 3,
    139                        UINT2NUM(ev.data.key.ch),
    140                        ULONG2NUM(ev.data.key.utf32),
    141                        rb_str_new(ev.data.key.utf8, 8));
     141                       UINT2NUM(caca_get_event_key_ch(&ev)),
     142                       ULONG2NUM(caca_get_event_key_utf32(&ev)),
     143                       rb_str_new(utf8, 8));
    142144        break;
    143145    case CACA_EVENT_KEY_RELEASE:
     146        caca_get_event_key_utf8(&ev, utf8);
    144147        e = rb_funcall(cEventKeyRelease, rb_intern("new"), 3,
    145                        UINT2NUM(ev.data.key.ch),
    146                        ULONG2NUM(ev.data.key.utf32),
    147                        rb_str_new(ev.data.key.utf8, 8));
     148                       UINT2NUM(caca_get_event_key_ch(&ev)),
     149                       ULONG2NUM(caca_get_event_key_utf32(&ev)),
     150                       rb_str_new(utf8, 8));
    148151        break;
    149152    case CACA_EVENT_MOUSE_PRESS:
    150153        e = rb_funcall(cEventMousePress, rb_intern("new"), 3,
    151                        UINT2NUM(ev.data.mouse.x),
    152                        UINT2NUM(ev.data.mouse.y),
    153                        UINT2NUM(ev.data.mouse.button));
     154                       UINT2NUM(caca_get_event_mouse_x(&ev)),
     155                       UINT2NUM(caca_get_event_mouse_y(&ev)),
     156                       UINT2NUM(caca_get_event_mouse_button(&ev)));
    154157        break;
    155158    case CACA_EVENT_MOUSE_RELEASE:
    156159        e = rb_funcall(cEventMouseRelease, rb_intern("new"), 3,
    157                        UINT2NUM(ev.data.mouse.x),
    158                        UINT2NUM(ev.data.mouse.y),
    159                        UINT2NUM(ev.data.mouse.button));
     160                       UINT2NUM(caca_get_event_mouse_x(&ev)),
     161                       UINT2NUM(caca_get_event_mouse_y(&ev)),
     162                       UINT2NUM(caca_get_event_mouse_button(&ev)));
    160163        break;
    161164    case CACA_EVENT_MOUSE_MOTION:
    162165        e = rb_funcall(cEventMouseMotion, rb_intern("new"), 3,
    163                        UINT2NUM(ev.data.mouse.x),
    164                        UINT2NUM(ev.data.mouse.y),
     166                       UINT2NUM(caca_get_event_mouse_x(&ev)),
     167                       UINT2NUM(caca_get_event_mouse_y(&ev)),
    165168                       Qnil);
    166169        break;
    167170    case CACA_EVENT_RESIZE:
    168171        e = rb_funcall(cEventResize, rb_intern("new"), 2,
    169                        UINT2NUM(ev.data.resize.w),
    170                        UINT2NUM(ev.data.resize.h));
     172                       UINT2NUM(caca_get_event_resize_width(&ev)),
     173                       UINT2NUM(caca_get_event_resize_height(&ev)));
    171174        break;
    172175    case CACA_EVENT_QUIT:
Note: See TracChangeset for help on using the changeset viewer.