Class: XlibObj::Extension

Inherits:
Object
  • Object
show all
Defined in:
lib/extension.rb

Direct Known Subclasses

Core, XI, XRR

Defined Under Namespace

Classes: Core, XI, XRR

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(display, name) ⇒ Extension

Returns a new instance of Extension.



20
21
22
23
24
25
# File 'lib/extension.rb', line 20

def initialize(display, name)
  @display = display
  @name = name
  @event_masks = Hash.new{ |hash, key| hash[key] = Event::Mask.new }
  @attributes = Xlib::X.query_extension(@display, @name) || {}
end

Instance Attribute Details

#displayObject (readonly)

Returns the value of attribute display.



27
28
29
# File 'lib/extension.rb', line 27

def display
  @display
end

#nameObject (readonly)

Returns the value of attribute name.



27
28
29
# File 'lib/extension.rb', line 27

def name
  @name
end

Class Method Details

.for(display, name) ⇒ Object



4
5
6
# File 'lib/extension.rb', line 4

def for(display, name)
  class_for(name).new(display, name)
end

Instance Method Details

#deselect_mask(window, mask) ⇒ Object



69
70
71
# File 'lib/extension.rb', line 69

def deselect_mask(window, mask)
  modify_mask(window, :subtract, mask)
end

#error_rangeObject



57
58
59
# File 'lib/extension.rb', line 57

def error_range
  first_error..last_error
end

#event(xevent) ⇒ Object



61
62
63
# File 'lib/extension.rb', line 61

def event(xevent)
  self.class::Event.new(self, xevent) if self.class.const_defined? :Event
end

#event_rangeObject



45
46
47
# File 'lib/extension.rb', line 45

def event_range
  first_event..last_event
end

#exists?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/extension.rb', line 29

def exists?
  not opcode.nil?
end

#first_errorObject



49
50
51
# File 'lib/extension.rb', line 49

def first_error
  @attributes[:first_error]
end

#first_eventObject



37
38
39
# File 'lib/extension.rb', line 37

def first_event
  @attributes[:first_event]
end

#handles_event_mask?(mask) ⇒ Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/extension.rb', line 73

def handles_event_mask?(mask)
  !!(self.class::Event::MASKS[mask] if self.class.const_defined?(:Event))
end

#last_errorObject



53
54
55
# File 'lib/extension.rb', line 53

def last_error
  first_error
end

#last_eventObject



41
42
43
# File 'lib/extension.rb', line 41

def last_event
  first_event
end

#opcodeObject



33
34
35
# File 'lib/extension.rb', line 33

def opcode
  @attributes[:opcode]
end

#select_mask(window, mask) ⇒ Object



65
66
67
# File 'lib/extension.rb', line 65

def select_mask(window, mask)
  modify_mask(window, :add, mask)
end