Improved shogi theme. Add shadows.
[kaya.git] / lib / themes / theme.rb
blobfadf3fc9749f4cb77cf43e43c25d61739d5c0d4e
1 module Theme
2   module ModuleMethods
3     def included(base)
4       if base.class == Module
5         base.extend ModuleMethods
6       else
7         base.extend ClassMethods
8       end
9     end
10   end
11   
12   module ClassMethods
13     def theme(args)
14       @theme_data = args
15     end
16     
17     def theme_name
18       @theme_data[:name] if @theme_data
19     end
20     
21     def matches?(keywords)
22       keywords.all? do |k|
23         @theme_data[:keywords].include? k
24       end
25     end
26     
27     def score(keywords)
28       (@theme_data[:keywords] & keywords).size
29     end
30   end
31   
32   extend ModuleMethods
33   
34   def item(scene, *args)
35     pixmap(*args).to_item(scene)
36   end
37 end