Browse Source

Fix global hinting logic

Fixes #63
dev
Andy Meneely 11 years ago
parent
commit
035cd6259e
  1. 1
      lib/squib/constants.rb
  2. 6
      lib/squib/graphics/text.rb
  3. 4
      spec/data/samples/custom_config.rb.txt
  4. 12
      spec/data/samples/text_options.rb.txt

1
lib/squib/constants.rb

@ -88,6 +88,7 @@ module Squib
'en_dash' => "\u2013", 'en_dash' => "\u2013",
'ellipsis' => "\u2026", 'ellipsis' => "\u2026",
'smart_quotes' => true, 'smart_quotes' => true,
'text_hint' => 'off',
} }
#Translate the hints to the methods. #Translate the hints to the methods.

6
lib/squib/graphics/text.rb

@ -6,8 +6,8 @@ module Squib
# :nodoc: # :nodoc:
# @api private # @api private
def draw_text_hint(cc,x,y,layout, color,angle) def draw_text_hint(cc, x, y, layout, color)
color = @deck.text_hint if color.eql? 'off' and not @deck.text_hint.to_s.eql? 'off' color = @deck.text_hint if color.to_s.eql? 'off' and not @deck.text_hint.to_s.eql? 'off'
return if color.to_s.eql? 'off' or color.nil? return if color.to_s.eql? 'off' or color.nil?
# when w,h < 0, it was never set. extents[1] are ink extents # when w,h < 0, it was never set. extents[1] are ink extents
w = layout.width / Pango::SCALE w = layout.width / Pango::SCALE
@ -194,7 +194,7 @@ module Squib
puts "==================" puts "=================="
raise e raise e
end end
draw_text_hint(cc, x, y, layout, hint, angle) draw_text_hint(cc, x, y, layout, hint)
extents = { width: layout.extents[1].width / Pango::SCALE, extents = { width: layout.extents[1].width / Pango::SCALE,
height: layout.extents[1].height / Pango::SCALE } height: layout.extents[1].height / Pango::SCALE }
end end

4
spec/data/samples/custom_config.rb.txt

@ -20,6 +20,10 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0]) cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color(["#FF0000"])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([]) cairo: restore([])
cairo: save([]) cairo: save([])
cairo: translate([620, 75]) cairo: translate([620, 75])

12
spec/data/samples/text_options.rb.txt

@ -560,6 +560,10 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0]) cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([]) cairo: restore([])
cairo: save([]) cairo: save([])
cairo: set_source_color([:black]) cairo: set_source_color([:black])
@ -577,6 +581,10 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0]) cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([]) cairo: restore([])
cairo: save([]) cairo: save([])
cairo: set_source_color([:black]) cairo: set_source_color([:black])
@ -594,6 +602,10 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0]) cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([]) cairo: restore([])
cairo: save([]) cairo: save([])
cairo: set_source_color([:black]) cairo: set_source_color([:black])

Loading…
Cancel
Save