Sha256: b9e05d7a43d5391d9fda5126dd37cb13004ea9f72d9ee449b482597da7195add
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
#!/usr/bin/env ruby # -*- mode: ruby; coding: utf-8 -*- # # Sean O'Halpin, 2009-02-15 # require 'ffi-ncurses' require 'ffi-ncurses/widechars' def centre(text) col = (COLS() - WideChars.display_width(text.strip))/2 y, x = getyx(stdscr) mvaddstr y, col, text end if RUBY_VERSION >= '1.9.0' def fullwidth(txt) txt.encode("UTF-32BE").codepoints.map{ |x| case x when 0x30..0x7F x + 0xFEE0 else x end }.pack("U*") end else def fullwidth(txt) txt.unpack("U*").map { |x| case x when 0x30..0x7F x + 0xFEE0 else x end }.pack("U*") end end include FFI::NCurses begin greeting = ARGV.shift || "World" stdscr = initscr raw keypad stdscr, true noecho curs_set 0 clear move (LINES() - 3)/3, 0 centre "Hello " + greeting + "\n" centre "你好\n" centre "HELLO WORLD\n" centre fullwidth("[Testing 1234]\n\n") centre "Press any key to continue" refresh ch = getch ensure flushinp endwin end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ffi-ncurses-0.4.0 | examples/hellowide.rb |