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/cucul-dither.c

    r2008 r2009  
    1515#include "common.h"
    1616
    17 VALUE cFont;
     17VALUE cDither;
    1818
    1919void dither_free(void *dither)
     
    140140
    141141#define set_float(x)                                    \
    142 static VALUE set_##x (VALUE self, VALUE x)              \
     142static VALUE set_##x(VALUE self, VALUE x)              \
    143143{                                                       \
    144144    if(cucul_set_dither_##x(_SELF, (float)NUM2DBL(x))<0)\
     
    148148}                                                       \
    149149                                                        \
    150 static VALUE set_##x##2 (VALUE self, VALUE x)           \
     150static VALUE set_##x##2(VALUE self, VALUE x)           \
    151151{                                                       \
    152152    set_##x(self, x);                                   \
     
    158158set_float(contrast)
    159159
    160 /*
    161        int cucul_set_dither_invert (cucul_dither_t *, int)
    162            Invert colors of dither.
    163 */
     160#define get_set_str_from_list(x)                         \
     161get_double_list(dither_##x)                              \
     162static VALUE set_dither_##x(VALUE self, VALUE x)         \
     163{                                                        \
     164    if(cucul_set_dither_##x(_SELF, StringValuePtr(x))<0) \
     165    {                                                    \
     166        rb_raise(rb_eRuntimeError, strerror(errno));     \
     167    }                                                    \
     168    return x;                                            \
     169}                                                        \
     170                                                         \
     171static VALUE set_dither_##x##2(VALUE self, VALUE x)      \
     172{                                                        \
     173     set_dither_##x(self, x);                            \
     174     return self;                                        \
     175}
     176
     177get_set_str_from_list(antialias)
     178get_set_str_from_list(color)
     179get_set_str_from_list(charset)
     180get_set_str_from_list(algorithm)
    164181
    165182void Init_cucul_dither(VALUE mCucul)
    166183{
    167     cFont = rb_define_class_under(mCucul, "Dither", rb_cObject);
    168     rb_define_alloc_func(cFont, dither_alloc);
    169 
    170     rb_define_method(cFont, "initialize", dither_initialize, 8);
    171     rb_define_method(cFont, "palette=", set_dither_palette, 1);
    172     rb_define_method(cFont, "set_palette", set_dither_palette2, 1);
    173     rb_define_method(cFont, "brightness=", set_brightness, 1);
    174     rb_define_method(cFont, "set_brightness", set_brightness2, 1);
    175     rb_define_method(cFont, "gamma=", set_gamma, 1);
    176     rb_define_method(cFont, "set_gamma", set_gamma2, 1);
    177     rb_define_method(cFont, "contrast=", set_contrast, 1);
    178     rb_define_method(cFont, "set_contrast", set_contrast2, 1);
    179 }
    180 
     184    cDither = rb_define_class_under(mCucul, "Dither", rb_cObject);
     185    rb_define_alloc_func(cDither, dither_alloc);
     186
     187    rb_define_method(cDither, "initialize", dither_initialize, 8);
     188    rb_define_method(cDither, "palette=", set_dither_palette, 1);
     189    rb_define_method(cDither, "set_palette", set_dither_palette2, 1);
     190    rb_define_method(cDither, "brightness=", set_brightness, 1);
     191    rb_define_method(cDither, "set_brightness", set_brightness2, 1);
     192    rb_define_method(cDither, "gamma=", set_gamma, 1);
     193    rb_define_method(cDither, "set_gamma", set_gamma2, 1);
     194    rb_define_method(cDither, "contrast=", set_contrast, 1);
     195    rb_define_method(cDither, "set_contrast", set_contrast2, 1);
     196    rb_define_method(cDither, "antialias_list", dither_antialias_list, 0);
     197    rb_define_method(cDither, "antialias=", set_dither_antialias, 1);
     198    rb_define_method(cDither, "set_antialias", set_dither_antialias2, 1);
     199    rb_define_method(cDither, "color_list", dither_color_list, 0);
     200    rb_define_method(cDither, "color=", set_dither_color, 1);
     201    rb_define_method(cDither, "set_color", set_dither_color2, 1);
     202    rb_define_method(cDither, "charset_list", dither_charset_list, 0);
     203    rb_define_method(cDither, "charset=", set_dither_charset, 1);
     204    rb_define_method(cDither, "set_charset", set_dither_charset2, 1);
     205    rb_define_method(cDither, "algorithm_list", dither_algorithm_list, 0);
     206    rb_define_method(cDither, "algorithm=", set_dither_algorithm, 1);
     207    rb_define_method(cDither, "set_algorithm", set_dither_algorithm2, 1);
     208}
     209
Note: See TracChangeset for help on using the changeset viewer.