Improved shogi theme. Add shadows.
[kaya.git] / lib / themes / svg_theme.rb
blob874ca51ffb379c11fcd4863ea81fc73f4736cdc0
1 require 'qtutils'
2 require 'themes/theme'
4 class SvgTheme
5   include Shadower
7   def initialize(opts = {})
8     @loader = lambda do |piece, size|
9       Qt::Image.from_renderer(size, renderer, piece_id(piece))
10     end
11     if opts.has_key?(:shadow)
12       @loader = with_shadow(@loader)
13     end
14   end
16   def pixmap(piece, size)
17     @loader[piece, size].to_pix
18   end
19   
20   def renderer
21     @renderer ||= create_renderer
22   end
23   
24   def create_renderer
25     Qt::SvgRenderer.new(filename)
26   end
27   
28   def piece_id(piece)
29     piece.color.to_s.capitalize + piece.type.to_s.capitalize
30   end
31 end