NAME
libcucul-ruby-api - Libcucul Ruby API The classes available for libcucul are :
- •
-
Cucul::Canvas : functions that have a cucul_canvas_t* as first argument
- •
-
Cucul::Dither : functions that have a cucul_dither_t* as first argument
- •
-
Cucul::Font : functions that have a cucul_font_t* as first argument (The constructor can currently only accept the name of a builtin font)
The character set conversion functions are not available yet in the binding.
$ irb -rcucul irb(main):001:0> class Object irb(main):002:1> def Object.my_instance_methods irb(main):003:2> instance_methods.sort - ancestors[1].instance_methods irb(main):004:2> end irb(main):005:1> def Object.my_methods irb(main):006:2> methods.sort - ancestors[1].methods irb(main):007:2> end irb(main):008:1> end
irb(main):009:0> Cucul.constants => ['BROWN', 'BOLD', 'GREEN', 'LIGHTMAGENTA', 'LIGHTBLUE', 'BLINK',
irb(main):010:0> Cucul.my_methods => ['version']
irb(main):011:0> Cucul::Canvas.my_methods => ['export_list', 'import_list']
irb(main):012:0> Cucul::Canvas.my_instance_methods => ['attr=', 'blit', 'clear', 'create_frame', 'cursor_x', 'cursor_y',
irb(main):013:0> Cucul::Font.my_methods => ['list']
irb(main):014:0> Cucul::Font.my_instance_methods => ['blocks', 'height', 'width']
irb(main):015:0> Cucul::Dither.my_instance_methods => ['algorithm=', 'algorithm_list', 'antialias=', 'antialias_list',
Samples
$ ruby -rcucul -e 'c=Cucul::Canvas.new(6, 3).fill_box(0,0,2,2,'#'[0]);
c2=Cucul::Canvas.new(1, 1).put_str(0,0,'x'); c.blit(1,1,c2); puts
c.export_memory('irc')'
###
#x#
###
$ ruby -e 'puts Cucul::Canvas.new(6,3).draw_thin_polyline([[0,0], [0,2],
[5,2],[0,0]]).export_memory('irc')'
-.
| `.
----`-
$ ruby -rcucul -e 'p Cucul::Canvas.export_list' [['caca', 'native libcaca format'], ['ansi', 'ANSI'], ['utf8', 'UTF-8 with ANSI escape codes'], ['utf8cr', 'UTF-8 with ANSI escape codes and MS-DOS \r'], ['html', 'HTML'], ['html3', 'backwards-compatible HTML'], ['irc', 'IRC with mIRC colours'], ['ps', 'PostScript document'], ['svg',
$ ruby -rcucul -e 'p Cucul::Font.list' ['Monospace 9', 'Monospace Bold 12']