Class Prawn::Format::Instructions::Text
In: lib/prawn/format/instructions/text.rb
lib/prawn/format/instructions/text.rb
Parent: Base

Methods

accumulate   accumulate   break?   break?   compatible?   compatible?   discardable?   discardable?   draw   draw   dup   dup   height   height   new   new   spaces   spaces   to_s   to_s   width   width  

Attributes

text  [R] 
text  [R] 

Public Class methods

[Source]

    # File lib/prawn/format/instructions/text.rb, line 12
12:         def initialize(state, text, options={})
13:           super(state)
14:           @text = text
15:           @break = options.key?(:break) ? options[:break] : text.index(/[-\xE2\x80\x94\s]/)
16:           @discardable = options.key?(:discardable) ? options[:discardable] : text.index(/\s/)
17:           @text = state.font.normalize_encoding(@text) if options.fetch(:normalize, true)
18:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 12
12:         def initialize(state, text, options={})
13:           super(state)
14:           @text = text
15:           @break = options.key?(:break) ? options[:break] : text.index(/[-\xE2\x80\x94\s]/)
16:           @discardable = options.key?(:discardable) ? options[:discardable] : text.index(/\s/)
17:           @text = state.font.normalize_encoding(@text) if options.fetch(:normalize, true)
18:         end

Public Instance methods

[Source]

    # File lib/prawn/format/instructions/text.rb, line 25
25:         def accumulate(list)
26:           if list.last.is_a?(Text) && list.last.state == state
27:             list.last.text << @text
28:           else
29:             list.push(dup)
30:           end
31: 
32:           return list
33:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 25
25:         def accumulate(list)
26:           if list.last.is_a?(Text) && list.last.state == state
27:             list.last.text << @text
28:           else
29:             list.push(dup)
30:           end
31: 
32:           return list
33:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 47
47:         def break?
48:           @break
49:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 47
47:         def break?
48:           @break
49:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 55
55:         def compatible?(with)
56:           with.is_a?(self.class) && with.state == state
57:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 55
55:         def compatible?(with)
56:           with.is_a?(self.class) && with.state == state
57:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 51
51:         def discardable?
52:           @discardable
53:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 51
51:         def discardable?
52:           @discardable
53:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 73
73:         def draw(document, draw_state, options={})
74:           @state.apply!(draw_state[:text], draw_state[:cookies])
75: 
76:           encoded_text = @state.font.encode_text(@text, :kerning => @state.kerning?)
77:           encoded_text.each do |subset, chunk|
78:             @state.apply_font!(draw_state[:text], draw_state[:cookies], subset)
79:             draw_state[:text].show(chunk)
80:           end
81:           draw_state[:dx] += width
82: 
83:           draw_state[:dx] += draw_state[:padding] * spaces if draw_state[:padding]
84:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 73
73:         def draw(document, draw_state, options={})
74:           @state.apply!(draw_state[:text], draw_state[:cookies])
75: 
76:           encoded_text = @state.font.encode_text(@text, :kerning => @state.kerning?)
77:           encoded_text.each do |subset, chunk|
78:             @state.apply_font!(draw_state[:text], draw_state[:cookies], subset)
79:             draw_state[:text].show(chunk)
80:           end
81:           draw_state[:dx] += width
82: 
83:           draw_state[:dx] += draw_state[:padding] * spaces if draw_state[:padding]
84:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 20
20:         def dup
21:           self.class.new(state, @text.dup, :normalize => false,
22:             :break => @break, :discardable => @discardable)
23:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 20
20:         def dup
21:           self.class.new(state, @text.dup, :normalize => false,
22:             :break => @break, :discardable => @discardable)
23:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 39
39:         def height(ignore_discardable=false)
40:           if ignore_discardable && discardable?
41:             0
42:           else
43:             @height
44:           end
45:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 39
39:         def height(ignore_discardable=false)
40:           if ignore_discardable && discardable?
41:             0
42:           else
43:             @height
44:           end
45:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 35
35:         def spaces
36:           @spaces ||= @text.scan(/ /).length
37:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 35
35:         def spaces
36:           @spaces ||= @text.scan(/ /).length
37:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 69
69:         def to_s
70:           @text
71:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 69
69:         def to_s
70:           @text
71:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 59
59:         def width(type=:all)
60:           @width ||= @state.font.compute_width_of(@text, :size => @state.font_size, :kerning => @state.kerning?)
61: 
62:           case type
63:           when :discardable then discardable? ? @width : 0
64:           when :nondiscardable then discardable? ? 0 : @width
65:           else @width
66:           end
67:         end

[Source]

    # File lib/prawn/format/instructions/text.rb, line 59
59:         def width(type=:all)
60:           @width ||= @state.font.compute_width_of(@text, :size => @state.font_size, :kerning => @state.kerning?)
61: 
62:           case type
63:           when :discardable then discardable? ? @width : 0
64:           when :nondiscardable then discardable? ? 0 : @width
65:           else @width
66:           end
67:         end

[Validate]