Changeset 681 for libcaca/trunk/src


Ignore:
Timestamp:
Mar 23, 2006, 7:36:59 PM (15 years ago)
Author:
Sam Hocevar
Message:
  • Massive rework of the event handling code, as per the TODO list.
Location:
libcaca/trunk/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/src/aafire.c

    r677 r681  
    262262    {
    263263#ifdef LIBCACA
    264       switch (caca_get_event(kk, CACA_EVENT_KEY_PRESS))
     264      struct caca_event ev;
     265      if(caca_get_event(kk, CACA_EVENT_KEY_PRESS, &ev))
    265266        {
    266           case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: return;
    267           case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
     267          switch(ev.data.key.c)
     268            {
     269                case CACA_KEY_ESCAPE: return;
     270                case ' ': pause = !pause;
     271            }
    268272        }
    269 
    270273#endif
    271274      drawfire ();
  • libcaca/trunk/src/cacaball.c

    r677 r681  
    9393    for(;;)
    9494    {
    95         switch(caca_get_event(kk, CACA_EVENT_KEY_PRESS))
    96         {
    97             case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: goto end;
    98             case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
     95        struct caca_event ev;
     96        if(caca_get_event(kk, CACA_EVENT_KEY_PRESS, &ev))
     97        {
     98            switch(ev.data.key.c)
     99            {
     100                case CACA_KEY_ESCAPE: goto end;
     101                case ' ': pause = !pause;
     102            }
    99103        }
    100104
  • libcaca/trunk/src/cacamoir.c

    r677 r681  
    6969    for(;;)
    7070    {
    71         switch(caca_get_event(kk, CACA_EVENT_KEY_PRESS))
     71        struct caca_event ev;
     72        if(caca_get_event(kk, CACA_EVENT_KEY_PRESS, &ev))
    7273        {
    73             case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: goto end;
    74             case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
     74            switch(ev.data.key.c)
     75            {
     76                case CACA_KEY_ESCAPE: goto end;
     77                case ' ': pause = !pause;
     78            }
    7579        }
    7680
  • libcaca/trunk/src/cacaplas.c

    r677 r681  
    8181    for(;;)
    8282    {
    83         switch(caca_get_event(kk, CACA_EVENT_KEY_PRESS))
     83        struct caca_event ev;
     84        if(caca_get_event(kk, CACA_EVENT_KEY_PRESS, &ev))
    8485        {
    85             case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: goto end;
    86             case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
     86            switch(ev.data.key.c)
     87            {
     88                case CACA_KEY_ESCAPE: goto end;
     89                case ' ': pause = !pause;
     90            }
    8791        }
    8892
  • libcaca/trunk/src/cacaview.c

    r678 r681  
    144144    while(!quit)
    145145    {
     146        struct caca_event ev;
    146147        unsigned int const event_mask = CACA_EVENT_KEY_PRESS
    147148                                      | CACA_EVENT_RESIZE
    148149                                      | CACA_EVENT_MOUSE_PRESS;
    149         unsigned int event, new_status = 0, new_help = 0;
     150        unsigned int new_status = 0, new_help = 0;
     151        int event;
    150152
    151153        if(update)
    152             event = caca_get_event(kk, event_mask);
     154            event = caca_get_event(kk, event_mask, &ev);
    153155        else
    154             event = caca_wait_event(kk, event_mask);
     156            event = caca_wait_event(kk, event_mask, &ev);
    155157
    156158        while(event)
    157159        {
    158             if(event & CACA_EVENT_MOUSE_PRESS)
     160            if(ev.type & CACA_EVENT_MOUSE_PRESS)
    159161            {
    160                 if((event & 0x00ffffff) == 1)
     162                if(ev.data.mouse.button == 1)
    161163                {
    162164                    if(items) current = (current + 1) % items;
    163165                    reload = 1;
    164166                }
    165                 else if((event & 0x00ffffff) == 2)
     167                else if(ev.data.mouse.button == 2)
    166168                {
    167169                    if(items) current = (items + current - 1) % items;
     
    169171                }
    170172            }
    171             else if(event & CACA_EVENT_KEY_PRESS) switch(event & 0x00ffffff)
     173            else if(ev.type & CACA_EVENT_KEY_PRESS) switch(ev.data.key.c)
    172174            {
    173175            case 'n':
     
    288290                break;
    289291            }
    290             else if(event == CACA_EVENT_RESIZE)
     292            else if(ev.type == CACA_EVENT_RESIZE)
    291293            {
    292294                caca_display(kk);
    293                 ww = cucul_get_width(qq);
    294                 wh = cucul_get_height(qq);
     295                ww = ev.data.resize.w;
     296                wh = ev.data.resize.h;
    295297                update = 1;
    296298                set_zoom(zoom);
     
    303305                help = new_help;
    304306
    305             event = caca_get_event(kk, CACA_EVENT_KEY_PRESS);
     307            event = caca_get_event(kk, CACA_EVENT_KEY_PRESS, &ev);
    306308        }
    307309
Note: See TracChangeset for help on using the changeset viewer.