3 require 'themes/shadow'
9 BASE_DIR = File.dirname(__FILE__)
10 TYPES = { :knight => 'n' }
11 NUDE_TILE = File.join(BASE_DIR, 'nude_tile.svg')
22 theme :name => 'Shogi',
23 :keywords => %w(shogi pieces)
25 def initialize(opts = {})
26 @loader = lambda do |piece, size|
27 tile = Qt::SvgRenderer.new(NUDE_TILE)
28 kanji = Qt::SvgRenderer.new(filename(piece))
29 ratio = RATIOS[piece.type] || 0.9
30 img = Qt::Image.painted(size) do |p|
32 p.translate(size * (1 - ratio) / 2)
33 if piece.color == :white
41 if opts.has_key? :shadow
42 @loader = with_shadow(@loader)
46 def pixmap(piece, size)
47 @loader[piece, size].to_pix
51 color = piece.color.to_s[0, 1]
52 # type = TYPES[piece.type] || piece.type.to_s[0, 1]
53 name = piece.type.to_s + ".svg"
54 File.join(BASE_DIR, name)