class Prawn::Table::Cell::AsciiDoc
Attributes
align[RW]
valign[RW]
Public Class Methods
new(pdf, opts = {})
click to toggle source
Calls superclass method
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 6 def initialize pdf, opts = {} @font_options = {} super pdf, [], opts end
Public Instance Methods
draw_content()
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 55 def draw_content pdf = @pdf # NOTE draw_bounded_content adds FPTolerance to width and height, which causes content to overflow pdf.bounds.instance_variable_set :@width, spanned_content_width pdf.bounds.instance_variable_set :@height, spanned_content_height if @valign != :top && (excess_y = spanned_content_height - natural_content_height) > 0 pdf.move_down(@valign == :center ? (excess_y.fdiv 2) : excess_y) end # TODO apply horizontal alignment (right now must use alignment on content block) # QUESTION inherit table cell font properties? pdf.convert_content_for_block content nil end
dry_run()
click to toggle source
NOTE automatic image sizing only works if cell has fixed width
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 28 def dry_run cell = self max_height = nil height, _, _ = @pdf.dry_run do max_height = bounds.height # NOTE we should be able to use cell.max_width, but returns 0 in some conditions (like when colspan > 1) indent cell.padding_left, bounds.width - cell.width + cell.padding_right do # HACK force margin_top to be applied move_down 0.0001 # TODO truncate margin bottom of last block convert_content_for_block cell.content end end # FIXME prawn-table doesn't support cell taller than a single page [max_height, height].min end
font=(val)
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 23 def font= val @font_options[:family] = val end
font_style=(val)
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 11 def font_style= val @font_options[:style] = val end
natural_content_height()
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 50 def natural_content_height # NOTE when natural_content_height is called, we already know max width @natural_height ||= dry_run end
natural_content_width()
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 45 def natural_content_width # QUESTION can we get a better estimate of the natural width? @natural_width ||= (@pdf.bounds.width - padding_left - padding_right) end
size=(val)
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 19 def size= val @font_options[:size] = val end
text_color=(val)
click to toggle source
# File lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb, line 15 def text_color= val @font_options[:color] = val end