Ignore:
Timestamp:
Nov 17, 2007, 2:36:15 PM (12 years ago)
Author:
Pascal Terjan
Message:
  • Finish Cucul::Dither
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/ruby/common.h

    r1995 r2009  
    44#define _SELF  (DATA_PTR(self))
    55
     6#define get_singleton_double_list(x)                      \
     7static VALUE x##_list(void)                     \
     8{                                               \
     9    VALUE ary, ary2;                            \
     10    char const* const* list;                    \
     11                                                \
     12    list = cucul_get_##x##_list();              \
     13    ary = rb_ary_new();                         \
     14    while (*list != NULL)                       \
     15    {                                           \
     16        ary2 = rb_ary_new();                    \
     17        rb_ary_push(ary2, rb_str_new2(*list));  \
     18        list++;                                 \
     19        rb_ary_push(ary2, rb_str_new2(*list));  \
     20        list++;                                 \
     21        rb_ary_push(ary, ary2);                 \
     22    }                                           \
     23                                                \
     24    return ary;                                 \
     25}
     26
     27#define get_double_list(x)                      \
     28static VALUE x##_list(VALUE self)               \
     29{                                               \
     30    VALUE ary, ary2;                            \
     31    char const* const* list;                    \
     32                                                \
     33    list = cucul_get_##x##_list(_SELF);         \
     34    ary = rb_ary_new();                         \
     35    while (*list != NULL)                       \
     36    {                                           \
     37        ary2 = rb_ary_new();                    \
     38        rb_ary_push(ary2, rb_str_new2(*list));  \
     39        list++;                                 \
     40        rb_ary_push(ary2, rb_str_new2(*list));  \
     41        list++;                                 \
     42        rb_ary_push(ary, ary2);                 \
     43    }                                           \
     44                                                \
     45    return ary;                                 \
     46}
     47
    648#endif
Note: See TracChangeset for help on using the changeset viewer.