Implemented a keyword mechanism for theme selection.
[kaya.git] / lib / themes / shogi / shogi.rb
blob2592b1948bd00dabdc0917b61f5ef9bd962f8330
1 require 'qtutils'
2 require 'themes/theme'
4 class ShogiTheme
5   include Theme
6   BASE_DIR = File.dirname(__FILE__)
7   TYPES = { :knight => 'n' }
8   NUDE_TILE = File.join(BASE_DIR, 'nude_tile.svg')
10   theme :name => 'Shogi',
11         :keywords => %w(shogi pieces)
13   def initialize(opts)
14   end
16   def pixmap(piece, size)
17     tile = Qt::SvgRenderer.new(NUDE_TILE)
18     kanji = Qt::SvgRenderer.new(filename(piece))
19     img = Qt::Image.painted(size) do |p|
20       if piece.color == :white
21         p.translate(size)
22         p.rotate(180)
23       end
24       kanji.render(p)
25       tile.render(p)
26     end
27     img.to_pix
28   end
29   
30   def filename(piece)
31     color = piece.color.to_s[0, 1]
32 #     type = TYPES[piece.type] || piece.type.to_s[0, 1]
33     name = piece.type.to_s + ".svg"
34     File.join(BASE_DIR, name)
35   end
36 end