Class: Magick::RVG::Utility::TextAttributes
- Inherits:
-
Object
- Object
- Magick::RVG::Utility::TextAttributes
- Defined in:
- lib/rvg/misc.rb
Constant Summary collapse
- WRITING_MODE =
%w[lr-tb lr rl-tb rl tb-rl tb]
Instance Method Summary collapse
- #affine ⇒ Object
- #baseline_shift ⇒ Object
- #baseline_shift=(value) ⇒ Object
- #glyph_orientation_horizontal ⇒ Object
- #glyph_orientation_horizontal=(angle) ⇒ Object
- #glyph_orientation_vertical ⇒ Object
- #glyph_orientation_vertical=(angle) ⇒ Object
-
#initialize ⇒ TextAttributes
constructor
A new instance of TextAttributes.
- #letter_spacing ⇒ Object
- #letter_spacing=(value) ⇒ Object
- #non_default? ⇒ Boolean
- #pop ⇒ Object
- #push ⇒ Object
- #set_affine(sx, rx, ry, sy, tx, ty) ⇒ Object
- #text_anchor ⇒ Object
- #text_anchor=(anchor) ⇒ Object
- #word_spacing ⇒ Object
- #word_spacing=(value) ⇒ Object
- #writing_mode ⇒ Object
- #writing_mode=(mode) ⇒ Object
Constructor Details
#initialize ⇒ TextAttributes
Returns a new instance of TextAttributes.
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 |
# File 'lib/rvg/misc.rb', line 320 def initialize @affine = [] @affine << Magick::AffineMatrix.new(1, 0, 0, 1, 0, 0) @baseline_shift = [] @baseline_shift << :baseline @glyph_orientation_horizontal = [] @glyph_orientation_horizontal << 0 @glyph_orientation_vertical = [] @glyph_orientation_vertical << 90 @letter_spacing = [] @letter_spacing << 0 @text_anchor = [] @text_anchor << :start @word_spacing = [] @word_spacing << 0 @writing_mode = [] @writing_mode << 'lr-tb' end |
Instance Method Details
#affine ⇒ Object
370 371 372 |
# File 'lib/rvg/misc.rb', line 370 def affine @affine[-1] end |
#baseline_shift ⇒ Object
374 375 376 |
# File 'lib/rvg/misc.rb', line 374 def baseline_shift @baseline_shift[-1] end |
#baseline_shift=(value) ⇒ Object
378 379 380 |
# File 'lib/rvg/misc.rb', line 378 def baseline_shift=(value) @baseline_shift[-1] = value end |
#glyph_orientation_horizontal ⇒ Object
398 399 400 |
# File 'lib/rvg/misc.rb', line 398 def glyph_orientation_horizontal @glyph_orientation_horizontal[-1] end |
#glyph_orientation_horizontal=(angle) ⇒ Object
402 403 404 |
# File 'lib/rvg/misc.rb', line 402 def glyph_orientation_horizontal=(angle) @glyph_orientation_horizontal[-1] = angle end |
#glyph_orientation_vertical ⇒ Object
390 391 392 |
# File 'lib/rvg/misc.rb', line 390 def glyph_orientation_vertical @glyph_orientation_vertical[-1] end |
#glyph_orientation_vertical=(angle) ⇒ Object
394 395 396 |
# File 'lib/rvg/misc.rb', line 394 def glyph_orientation_vertical=(angle) @glyph_orientation_vertical[-1] = angle end |
#letter_spacing ⇒ Object
406 407 408 |
# File 'lib/rvg/misc.rb', line 406 def letter_spacing @letter_spacing[-1] end |
#letter_spacing=(value) ⇒ Object
410 411 412 |
# File 'lib/rvg/misc.rb', line 410 def letter_spacing=(value) @letter_spacing[-1] = value end |
#non_default? ⇒ Boolean
414 415 416 417 418 |
# File 'lib/rvg/misc.rb', line 414 def non_default? @baseline_shift[-1] != :baseline || @letter_spacing[-1] != 0 || @word_spacing[-1] != 0 || @writing_mode[-1][/\Alr/].nil? || @glyph_orientation_horizontal[-1] != 0 end |
#pop ⇒ Object
350 351 352 353 354 355 356 357 358 359 |
# File 'lib/rvg/misc.rb', line 350 def pop @affine.pop @baseline_shift.pop @text_anchor.pop @writing_mode.pop @glyph_orientation_vertical.pop @glyph_orientation_horizontal.pop @letter_spacing.pop @word_spacing.pop end |
#push ⇒ Object
339 340 341 342 343 344 345 346 347 348 |
# File 'lib/rvg/misc.rb', line 339 def push @affine.push(@affine.last.dup) @baseline_shift.push(@baseline_shift.last) @text_anchor.push(@text_anchor.last) @writing_mode.push(@writing_mode.last.dup) @glyph_orientation_vertical.push(@glyph_orientation_vertical.last) @glyph_orientation_horizontal.push(@glyph_orientation_horizontal.last) @letter_spacing.push(@letter_spacing.last) @word_spacing.push(@word_spacing.last) end |
#set_affine(sx, rx, ry, sy, tx, ty) ⇒ Object
361 362 363 364 365 366 367 368 |
# File 'lib/rvg/misc.rb', line 361 def set_affine(sx, rx, ry, sy, tx, ty) @affine[-1].sx = sx @affine[-1].rx = rx @affine[-1].ry = ry @affine[-1].sy = sy @affine[-1].tx = tx @affine[-1].ty = ty end |
#text_anchor ⇒ Object
382 383 384 |
# File 'lib/rvg/misc.rb', line 382 def text_anchor @text_anchor[-1] end |
#text_anchor=(anchor) ⇒ Object
386 387 388 |
# File 'lib/rvg/misc.rb', line 386 def text_anchor=(anchor) @text_anchor[-1] = anchor end |
#word_spacing ⇒ Object
420 421 422 |
# File 'lib/rvg/misc.rb', line 420 def word_spacing @word_spacing[-1] end |
#word_spacing=(value) ⇒ Object
424 425 426 |
# File 'lib/rvg/misc.rb', line 424 def word_spacing=(value) @word_spacing[-1] = value end |
#writing_mode ⇒ Object
428 429 430 |
# File 'lib/rvg/misc.rb', line 428 def writing_mode @writing_mode[-1] end |
#writing_mode=(mode) ⇒ Object
432 433 434 |
# File 'lib/rvg/misc.rb', line 432 def writing_mode=(mode) @writing_mode[-1] = WRITING_MODE.include?(mode) ? mode : 'lr-tb' end |