Class: CGRect

Inherits:
Struct show all
Defined in:
lib/accessibility/bridge/mri.rb,
lib/accessibility/bridge/mri.rb,
lib/accessibility/bridge/common.rb,
lib/accessibility/extras/common.rb

Overview

Complete definition of a rectangle in a 2D coordinate system

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(origin = CGPoint.new, size = CGSize.new) ⇒ CGRect

Returns a new instance of CGRect.

Parameters:

  • origin (CGPoint, #to_point) (defaults to: CGPoint.new)
  • size (CGSize, #to_size) (defaults to: CGSize.new)


72
73
74
# File 'lib/accessibility/bridge/mri.rb', line 72

def initialize origin = CGPoint.new, size = CGSize.new
  super(origin.to_point, size.to_size)
end

Instance Attribute Details

#originCGPoint, #to_point

The origin point

Returns:



67
68
69
# File 'lib/accessibility/bridge/mri.rb', line 67

def origin
  @origin
end

#sizeCGSize, #to_size

The size of the rectangle

Returns:



67
68
69
# File 'lib/accessibility/bridge/mri.rb', line 67

def size
  @size
end

Class Method Details

.ax_valueNumber

Returns the number that AXAPI uses in order to know how to wrap a struct.

Returns:

  • (Number)


125
# File 'lib/accessibility/bridge/macruby.rb', line 125

def ax_value; KAXValueCGRectType end

Instance Method Details

#flip!CGRect

Treats the rect as belonging to one co-ordinate system and then converts it to the other system

This is useful because accessibility API's expect to work with the flipped co-ordinate system (origin in top left), but AppKit prefers to use the cartesian co-ordinate system (origin in bottom left).

Returns:



12
13
14
15
16
17
18
# File 'lib/accessibility/extras/common.rb', line 12

def flip!
  frame         = ::NSScreen.screens.first.frame
  screen_height = frame.origin.y + frame.size.height
  self_max_y    = self.origin.y + self.size.height
  origin.y      = screen_height - self_max_y
  self
end

#inspectString

Return a nice string representation of the rectangle

Overrides Object#inspect to more closely mimic MacRuby Boxed#inspect.

Returns:



90
91
92
# File 'lib/accessibility/bridge/mri.rb', line 90

def inspect
  "#<CGRect origin=#{self.origin.inspect} size=#{self.size.inspect}>"
end

#to_rectCGRect

Returns the receiver, since the receiver is already a CGRect

Returns:



26
27
28
# File 'lib/accessibility/bridge/common.rb', line 26

def to_rect
  self
end