Class: ATSPI::Accessible::Text::Range

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/atspi/accessible/text/range.rb

Overview

Represents a range in a ATSPI::Accessible::Text.

Direct Known Subclasses

Selection

Attributes collapse

Representations collapse

Instance Method Details

#endOffset

Returns its end offset.

Returns:

See Also:



24
25
26
# File 'lib/atspi/accessible/text/range.rb', line 24

def end
  Offset.new(@text_native, @range_native.end_offset)
end

#extents(relative_to:) ⇒ Extents

Returns its extents.

Parameters:

  • relative_to (Symbol)

    coordinate system derived from libatspi’s AtspiCoordType enum by removing the prefix ATSPI_COORD_TYPE and making it lowercase

Returns:

See Also:



40
41
42
# File 'lib/atspi/accessible/text/range.rb', line 40

def extents(relative_to:)
  Extents.new(@text_native.range_extents(start.to_i, self.end.to_i, relative_to))
end

#inspectString

Returns itself as an inspectable string.

Returns:

  • (String)

    itself as an inspectable string



58
59
60
61
62
# File 'lib/atspi/accessible/text/range.rb', line 58

def inspect
  text_s = to_s[0..20] << (length > 20 ? '' : '')
  "#<#{self.class.name}:0x#{'%x14' % __id__} @to_s=#{text_s.inspect} @length=#{length} " <<
    "@start=#{start} @end=#{self.end} @extents=#{extents(relative_to: :screen).inspect}>"
end

#lengthInteger

Returns its length.

Returns:

  • (Integer)

    its length



29
30
31
# File 'lib/atspi/accessible/text/range.rb', line 29

def length
  self.end.to_i - start.to_i
end

#startOffset

Returns its start offset.

Returns:

  • (Offset)

    its start offset

See Also:



17
18
19
# File 'lib/atspi/accessible/text/range.rb', line 17

def start
  Offset.new(@text_native, @range_native.start_offset)
end

#to_sString

Returns its string representation.

Returns:

  • (String)

    its string representation

See Also:



49
50
51
52
53
54
55
# File 'lib/atspi/accessible/text/range.rb', line 49

def to_s
  if @range_native.respond_to? :content
    @range_native.content
  else
    @text_native.text(start.to_i, self.end.to_i)
  end
end