Class: PdfStyle

Inherits:
Object
  • Object
show all
Defined in:
lib/majorsilence_pdf/pdf_native.rb

Overview

A text style handle. Defaults: Helvetica 12 pt black left-aligned. Call close when done.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fns) ⇒ PdfStyle

Returns a new instance of PdfStyle.



323
324
325
326
327
328
329
# File 'lib/majorsilence_pdf/pdf_native.rb', line 323

def initialize(fns)
  @fns = fns
  h = fns[:pdf_style_create].call
  raise "pdf_style_create failed: #{PdfLibrary.last_error_str(fns)}" if h.nil? || h.zero?

  @handle = h
end

Instance Attribute Details

#handleObject (readonly)

Returns the value of attribute handle.



321
322
323
# File 'lib/majorsilence_pdf/pdf_native.rb', line 321

def handle
  @handle
end

Instance Method Details

#closeObject



344
345
346
347
348
349
# File 'lib/majorsilence_pdf/pdf_native.rb', line 344

def close
  return unless @handle

  @fns[:pdf_style_close].call(@handle)
  @handle = nil
end

#set_alignment(alignment) ⇒ Object

alignment: 0 = left, 1 = center, 2 = right. Use ALIGN_* constants.



339
# File 'lib/majorsilence_pdf/pdf_native.rb', line 339

def set_alignment(alignment) = tap { @fns[:pdf_style_set_alignment].call(@handle, alignment) }

#set_bold(bold = true) ⇒ Object



335
# File 'lib/majorsilence_pdf/pdf_native.rb', line 335

def set_bold(bold = true)   = tap { @fns[:pdf_style_set_bold].call(@handle, bold ? 1 : 0) }

#set_color(r, g, b) ⇒ Object



334
# File 'lib/majorsilence_pdf/pdf_native.rb', line 334

def set_color(r, g, b)      = tap { @fns[:pdf_style_set_color].call(@handle, r, g, b) }

#set_decoration(decoration) ⇒ Object

decoration: 0 = none, 1 = underline, 2 = strikethrough, 3 = overline. Use DECOR_* constants.



342
# File 'lib/majorsilence_pdf/pdf_native.rb', line 342

def set_decoration(decoration) = tap { @fns[:pdf_style_set_decoration].call(@handle, decoration) }

#set_font_family(family) ⇒ Object



331
# File 'lib/majorsilence_pdf/pdf_native.rb', line 331

def set_font_family(family) = tap { @fns[:pdf_style_set_font_family].call(@handle, c_str(family)) }

#set_font_file(path) ⇒ Object



332
# File 'lib/majorsilence_pdf/pdf_native.rb', line 332

def set_font_file(path)     = tap { @fns[:pdf_style_set_font_file].call(@handle, c_str(path)) }

#set_italic(ital = true) ⇒ Object



336
# File 'lib/majorsilence_pdf/pdf_native.rb', line 336

def set_italic(ital = true) = tap { @fns[:pdf_style_set_italic].call(@handle, ital ? 1 : 0) }

#set_size(points) ⇒ Object



333
# File 'lib/majorsilence_pdf/pdf_native.rb', line 333

def set_size(points)        = tap { @fns[:pdf_style_set_size].call(@handle, points.to_f) }