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.
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 |
# File 'lib/rvg/misc.rb', line 352 def initialize() @affine = Array.new @affine << Magick::AffineMatrix.new(1, 0, 0, 1, 0, 0) @baseline_shift = Array.new @baseline_shift << :baseline @glyph_orientation_horizontal = Array.new @glyph_orientation_horizontal << 0 @glyph_orientation_vertical = Array.new @glyph_orientation_vertical << 90 @letter_spacing = Array.new @letter_spacing << 0 @text_anchor = Array.new @text_anchor << :start @word_spacing = Array.new @word_spacing << 0 @writing_mode = Array.new @writing_mode << 'lr-tb' end |
Instance Method Details
#affine ⇒ Object
402 403 404 |
# File 'lib/rvg/misc.rb', line 402 def affine() @affine[-1] end |
#baseline_shift ⇒ Object
406 407 408 |
# File 'lib/rvg/misc.rb', line 406 def baseline_shift() @baseline_shift[-1] end |
#baseline_shift=(value) ⇒ Object
410 411 412 |
# File 'lib/rvg/misc.rb', line 410 def baseline_shift=(value) @baseline_shift[-1] = value end |
#glyph_orientation_horizontal ⇒ Object
430 431 432 |
# File 'lib/rvg/misc.rb', line 430 def glyph_orientation_horizontal() @glyph_orientation_horizontal[-1] end |
#glyph_orientation_horizontal=(angle) ⇒ Object
434 435 436 |
# File 'lib/rvg/misc.rb', line 434 def glyph_orientation_horizontal=(angle) @glyph_orientation_horizontal[-1] = angle end |
#glyph_orientation_vertical ⇒ Object
422 423 424 |
# File 'lib/rvg/misc.rb', line 422 def glyph_orientation_vertical() @glyph_orientation_vertical[-1] end |
#glyph_orientation_vertical=(angle) ⇒ Object
426 427 428 |
# File 'lib/rvg/misc.rb', line 426 def glyph_orientation_vertical=(angle) @glyph_orientation_vertical[-1] = angle end |
#letter_spacing ⇒ Object
438 439 440 |
# File 'lib/rvg/misc.rb', line 438 def letter_spacing() @letter_spacing[-1] end |
#letter_spacing=(value) ⇒ Object
442 443 444 |
# File 'lib/rvg/misc.rb', line 442 def letter_spacing=(value) @letter_spacing[-1] = value end |
#non_default? ⇒ Boolean
446 447 448 449 450 |
# File 'lib/rvg/misc.rb', line 446 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
382 383 384 385 386 387 388 389 390 391 |
# File 'lib/rvg/misc.rb', line 382 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
371 372 373 374 375 376 377 378 379 380 |
# File 'lib/rvg/misc.rb', line 371 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
393 394 395 396 397 398 399 400 |
# File 'lib/rvg/misc.rb', line 393 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
414 415 416 |
# File 'lib/rvg/misc.rb', line 414 def text_anchor() @text_anchor[-1] end |
#text_anchor=(anchor) ⇒ Object
418 419 420 |
# File 'lib/rvg/misc.rb', line 418 def text_anchor=(anchor) @text_anchor[-1] = anchor end |
#word_spacing ⇒ Object
452 453 454 |
# File 'lib/rvg/misc.rb', line 452 def word_spacing() @word_spacing[-1] end |
#word_spacing=(value) ⇒ Object
456 457 458 |
# File 'lib/rvg/misc.rb', line 456 def word_spacing=(value) @word_spacing[-1] = value end |
#writing_mode ⇒ Object
460 461 462 |
# File 'lib/rvg/misc.rb', line 460 def writing_mode() @writing_mode[-1] end |
#writing_mode=(mode) ⇒ Object
464 465 466 |
# File 'lib/rvg/misc.rb', line 464 def writing_mode=(mode) @writing_mode[-1] = WRITING_MODE.include?(mode) ? mode : 'lr-tb' end |