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.
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 |
# File 'lib/rvg/misc.rb', line 353 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
403 404 405 |
# File 'lib/rvg/misc.rb', line 403 def affine() @affine[-1] end |
#baseline_shift ⇒ Object
407 408 409 |
# File 'lib/rvg/misc.rb', line 407 def baseline_shift() @baseline_shift[-1] end |
#baseline_shift=(value) ⇒ Object
411 412 413 |
# File 'lib/rvg/misc.rb', line 411 def baseline_shift=(value) @baseline_shift[-1] = value end |
#glyph_orientation_horizontal ⇒ Object
431 432 433 |
# File 'lib/rvg/misc.rb', line 431 def glyph_orientation_horizontal() @glyph_orientation_horizontal[-1] end |
#glyph_orientation_horizontal=(angle) ⇒ Object
435 436 437 |
# File 'lib/rvg/misc.rb', line 435 def glyph_orientation_horizontal=(angle) @glyph_orientation_horizontal[-1] = angle end |
#glyph_orientation_vertical ⇒ Object
423 424 425 |
# File 'lib/rvg/misc.rb', line 423 def glyph_orientation_vertical() @glyph_orientation_vertical[-1] end |
#glyph_orientation_vertical=(angle) ⇒ Object
427 428 429 |
# File 'lib/rvg/misc.rb', line 427 def glyph_orientation_vertical=(angle) @glyph_orientation_vertical[-1] = angle end |
#letter_spacing ⇒ Object
439 440 441 |
# File 'lib/rvg/misc.rb', line 439 def letter_spacing() @letter_spacing[-1] end |
#letter_spacing=(value) ⇒ Object
443 444 445 |
# File 'lib/rvg/misc.rb', line 443 def letter_spacing=(value) @letter_spacing[-1] = value end |
#non_default? ⇒ Boolean
447 448 449 450 451 |
# File 'lib/rvg/misc.rb', line 447 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
383 384 385 386 387 388 389 390 391 392 |
# File 'lib/rvg/misc.rb', line 383 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
372 373 374 375 376 377 378 379 380 381 |
# File 'lib/rvg/misc.rb', line 372 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
394 395 396 397 398 399 400 401 |
# File 'lib/rvg/misc.rb', line 394 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
415 416 417 |
# File 'lib/rvg/misc.rb', line 415 def text_anchor() @text_anchor[-1] end |
#text_anchor=(anchor) ⇒ Object
419 420 421 |
# File 'lib/rvg/misc.rb', line 419 def text_anchor=(anchor) @text_anchor[-1] = anchor end |
#word_spacing ⇒ Object
453 454 455 |
# File 'lib/rvg/misc.rb', line 453 def word_spacing() @word_spacing[-1] end |
#word_spacing=(value) ⇒ Object
457 458 459 |
# File 'lib/rvg/misc.rb', line 457 def word_spacing=(value) @word_spacing[-1] = value end |
#writing_mode ⇒ Object
461 462 463 |
# File 'lib/rvg/misc.rb', line 461 def writing_mode() @writing_mode[-1] end |
#writing_mode=(mode) ⇒ Object
465 466 467 |
# File 'lib/rvg/misc.rb', line 465 def writing_mode=(mode) @writing_mode[-1] = WRITING_MODE.include?(mode) ? mode : 'lr-tb' end |