flurin-buttonize 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/buttonize.gemspec +2 -2
- data/examples/buttons.rb +4 -2
- data/examples/default/styles.rb +8 -1
- data/lib/buttonize/button.rb +9 -1
- metadata +2 -2
data/buttonize.gemspec
CHANGED
data/examples/buttons.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require File.dirname(__FILE__) + "/../lib/buttonize"
|
2
|
+
require 'pathname'
|
3
|
+
base = Pathname.new(File.dirname(__FILE__))
|
2
4
|
|
3
|
-
buttons = Buttonize::ButtonSet.define(:style_set => :default) do |set|
|
5
|
+
buttons = Buttonize::ButtonSet.define(:style_file => base + "default/styles.rb", :style_set => :default) do |set|
|
4
6
|
|
5
7
|
set.button "Test", :style => :small_green
|
6
8
|
|
@@ -20,4 +22,4 @@ buttons = Buttonize::ButtonSet.define(:style_set => :default) do |set|
|
|
20
22
|
end
|
21
23
|
|
22
24
|
# This will not be ran if you use the buttonize commandline script
|
23
|
-
buttons.generate(:target_path => "~/temp/button_out")
|
25
|
+
buttons.generate(:target_path => File.expand_path("~/temp/button_out"))
|
data/examples/default/styles.rb
CHANGED
@@ -30,6 +30,13 @@ Buttonize::StyleSet.define(:template_path => File.dirname(__FILE__)) do |set|
|
|
30
30
|
s.text_offset = {:x => 0, :y => 0}
|
31
31
|
|
32
32
|
|
33
|
+
# Simple text shadow.
|
34
|
+
s.text_shadow = true
|
35
|
+
# Placement of the shadow relative to the original text.
|
36
|
+
s.text_shadow_offset = {:x => 1, :y => 1}
|
37
|
+
# Color of the shadow.
|
38
|
+
s.text_shadow_color = "#000"
|
39
|
+
|
33
40
|
# If width is set (not nil) Buttonize will try to create a button of
|
34
41
|
# the specified width, if the text will however not fit (including paddings)
|
35
42
|
# Buttonize falls back on rendering the text with the specified paddings (see below)
|
@@ -48,7 +55,7 @@ Buttonize::StyleSet.define(:template_path => File.dirname(__FILE__)) do |set|
|
|
48
55
|
set.style(:big_green, :based_on => :big_blue, :template_base => "big_green")
|
49
56
|
|
50
57
|
# Inline style definition with a Hash
|
51
|
-
set.style(:small_blue, :font => File.join(File.dirname(__FILE__),"fonts","Vera.ttf"), :font_size => 9, :template_base => "small_blue", :width => 65)
|
58
|
+
set.style(:small_blue, :font => File.join(File.dirname(__FILE__),"fonts","Vera-Bold.ttf"), :font_size => 9, :template_base => "small_blue", :width => 65)
|
52
59
|
set.style(:small_orange, :based_on => :small_blue, :template_base => "small_orange")
|
53
60
|
set.style(:small_red, :based_on => :small_blue, :template_base => "small_red")
|
54
61
|
set.style(:small_green, :based_on => :small_blue, :template_base => "small_green")
|
data/lib/buttonize/button.rb
CHANGED
@@ -13,6 +13,9 @@ class Buttonize::Button
|
|
13
13
|
:text_color => "#fff",
|
14
14
|
:text_offset => {:x => 0, :y => 0},
|
15
15
|
:text_align => :center,
|
16
|
+
:text_shadow => false,
|
17
|
+
:text_shadow_offset => {:x => 1, :y => 1},
|
18
|
+
:text_shadow_color => "#000",
|
16
19
|
:padding => {:left => 10, :right => 10},
|
17
20
|
:target_path => Dir.pwd
|
18
21
|
}.update(options)
|
@@ -36,7 +39,6 @@ class Buttonize::Button
|
|
36
39
|
|
37
40
|
draw = Draw.new
|
38
41
|
draw.pointsize = options[:font_size]
|
39
|
-
draw.fill = options[:text_color]
|
40
42
|
draw.gravity = self.gravity_from_alignment(options[:text_align])
|
41
43
|
draw.font = options[:font]
|
42
44
|
draw.font_weight = Magick::AnyWeight
|
@@ -74,6 +76,12 @@ class Buttonize::Button
|
|
74
76
|
# Draw text
|
75
77
|
left = options[:text_offset][:x] || 0
|
76
78
|
left += padding[:left] unless options[:text_align] == :center
|
79
|
+
|
80
|
+
if options[:text_shadow]
|
81
|
+
draw.fill = options[:text_shadow_color]
|
82
|
+
draw.annotate(dst,0,0,left+options[:text_shadow_offset][:x],options[:text_offset][:y]++options[:text_shadow_offset][:y],text)
|
83
|
+
end
|
84
|
+
draw.fill = options[:text_color]
|
77
85
|
draw.annotate(dst,0,0,left,options[:text_offset][:y],text)
|
78
86
|
|
79
87
|
# Write file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flurin-buttonize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Flurin Egger
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-05-22 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|