---
name: "libcucul-ruby-api"
section: "3caca"
platform: "linux"
package: "libcucul-dev"
version: "0.99.beta14-1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/libcucul-ruby-api"
---

# libcucul-ruby-api(3caca)

Libcucul Ruby API The classes available for libcucul are : The character set conversion functions are not available yet in the binding.

## 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']
```
