libcaca-ruby-api - Online Linux Manual PageSection : 3caca
Updated : Tue Jan 26 2021
Source : Version 0.99.beta19
Note : libcaca

NAMElibcaca-ruby-api − Libcaca Ruby API

ClassesThe classes available for libcaca are : • Caca::Canvas : functions that have a caca_canvas_t* as first argument • Caca::Dither : functions that have a caca_dither_t* as first argument • Caca::Font : functions that have a caca_font_t* as first argument (The constructor can currently only accept the name of a builtin font) • Caca::Display • Caca::Event • Caca::Event::Key • Caca::Event::Key::Press • Caca::Event::Key::Release • Caca::Event::Mouse • Caca::Event::Mouse::Press • Caca::Event::Mouse::Release • Caca::Event::Mouse::Motion • Caca::Event::Resize • Caca::Event::Quit The character set conversion functions are not available yet in the binding​. $ irb -rcaca 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> endirb(main):009:0> Caca​.constants => ["BROWN", "BOLD", "GREEN", "LIGHTMAGENTA", "LIGHTBLUE", "BLINK", "MAGENTA", "DEFAULT", "TRANSPARENT", "BLUE", "LIGHTRED", "DARKGRAY", "UNDERLINE", "RED", "WHITE", "BLACK", "LIGHTCYAN", "LIGHTGRAY", "ITALICS", "CYAN", "YELLOW", "LIGHTGREEN", "Canvas", "Dither", "Font"]irb(main):010:0> Caca​.my_methods => ["version"]irb(main):011:0> Caca::Canvas​.my_methods => ["export_list", "import_list"]irb(main):012:0> Caca::Canvas​.my_instance_methods => ["attr=", "blit", "clear", "create_frame", "dither_bitmap", "draw_box", "draw_circle", "draw_cp437_box", "draw_ellipse", "draw_line", "draw_polyline", "draw_thin_box", "draw_thin_ellipse", "draw_thin_line", "draw_thin_polyline", "draw_thin_triangle", "draw_triangle", "export_to_memory", "fill_box", "fill_ellipse", "fill_triangle", "flip", "flop", "frame=", "frame_count", "frame_name", "frame_name=", "free_frame", "get_attr", "get_char", "gotoxy", "handle_x", "handle_y", "height", "height=", "import_file", "import_from_memory", "invert", "printf", "put_attr", "put_char", "put_str", "rotate_180", "rotate_left", "rotate_right", "set_attr", "set_boundaries", "set_color_ansi", "set_color_argb", "set_frame", "set_frame_name", "set_handle", "set_height", "set_size", "set_width", "stretch_left", "stretch_right", "wherex", "wherey", "width", "width="]irb(main):013:0> Caca::Font​.my_methods => ["list"]irb(main):014:0> Caca::Font​.my_instance_methods => ["blocks", "height", "width"]irb(main):015:0> Caca::Dither​.my_instance_methods => ["algorithm=", "algorithm_list", "antialias=", "antialias_list", "brightness=", "charset=", "charset_list", "color=", "color_list", "contrast=", "gamma=", "palette=", "set_algorithm", "set_antialias", "set_brightness", "set_charset", "set_color", "set_contrast", "set_gamma", "set_palette"]irb(main):010:0> Caca::Display​.my_instance_methods => ["canvas", "get_event", "height", "mouse=", "mouse_x", "mouse_y", "refresh", "set_mouse", "set_time", "set_title", "time", "time=", "title=", "width"]irb(main):011:0> Caca::Event​.constants => ["Key", "Quit", "TYPE", "Mouse", "Resize"]irb(main):012:0> Caca::Event​.my_instance_methods => ["quit?"]irb(main):013:0> Caca::Event::Key​.my_instance_methods => ["ch", "utf32", "utf8"]irb(main):014:0> Caca::Event::Mouse​.my_instance_methods => ["button", "x", "y"]irb(main):015:0> Caca::Event::Resize​.my_instance_methods => ["w", "h"]

Samples$ ruby -rcaca -e 'c=Caca::Canvas​.new(6, 3)​.fill_box(0,0,2,2,"#"[0]); c2=Caca::Canvas​.new(1,1)​.put_str(0,0,"x"); c​.blit(1,1,c2); puts c​.export_to_memory("irc")' ### #x# ###$ ruby -e 'puts Caca::Canvas​.new(6,3)​.draw_thin_polyline([[0,0], [0,2], [5,2],[0,0]])​.export_to_memory("irc")' -​. | `​. ----`-$ ruby -rcaca -e 'p Caca::Canvas​.export_list' [["caca", "native libcaca format"], ["ansi", "ANSI"], ["utf8", "UTF-8 withANSI escape codes"], ["utf8cr", "UTF-8 with ANSI escape codes and MS-DOS"], ["html", "HTML"], ["html3", "backwards-compatible HTML"], ["irc", "IRC with mIRC colours"], ["ps", "PostScript document"], ["svg", "SVGvector image"], ["tga", "TGA image"]]$ ruby -rcaca -e 'p Caca::Font​.list' ["Monospace9", "Monospace Bold 12"]require 'caca' c = Caca::Canvas​.new(20,10) c​.put_str(2,3, "plop!") c​.draw_thin_polyline([[0,0],[0,2], [5,2], [0,0]]) d = Caca::Display​.new(c) d​.title= "Test !" d​.refresh #Redefine Event::Key#quit? so that q, Q, and Esc become exit keys module Caca class Event::Key def quit? "qQ^["​.split('')​.member?(@ch​.chr) end end end while((e= d​.get_event(Caca::Event, -1)) && ! e​.quit?) p e d​.refresh end
0
Johanes Gumabo
Data Size   :   30,161 byte
man-libcaca-ruby-api.3cacaBuild   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 239,109
Visitor ID   :     :  
Visitor IP   :   3.138.179.120   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.