lib/fusuma/plugin/buffers/gesture_buffer.rb in fusuma-3.0.0 vs lib/fusuma/plugin/buffers/gesture_buffer.rb in fusuma-3.1.0
- old
+ new
@@ -9,11 +9,10 @@
class GestureBuffer < Buffer
CacheEntry = Struct.new(:checked, :value)
DEFAULT_SOURCE = "libinput_gesture_parser"
DEFAULT_SECONDS_TO_KEEP = 100
-
def initialize(*args)
super(*args)
@cache = {}
@cache_select_by = {}
@cache_sum10 = {}
@@ -82,28 +81,28 @@
end
# @param attr [Symbol]
# @return [Float]
def sum_last10_attrs(attr) # sums last 10 values of attr (or all if length < 10)
- cache_entry = ( @cache_sum10[attr] ||= CacheEntry.new(0, 0) )
+ cache_entry = (@cache_sum10[attr] ||= CacheEntry.new(0, 0))
upd_ev = updating_events
- if upd_ev.length > cache_entry.checked + 1 then
+ if upd_ev.length > cache_entry.checked + 1
cache_entry.value = upd_ev.last(10).map do |gesture_event|
gesture_event.record.delta[attr].to_f
end.reduce(:+)
elsif upd_ev.length > cache_entry.checked
cache_entry.value = cache_entry.value + upd_ev[-1].record.delta[attr].to_f - \
- (upd_ev.length > 10 ? upd_ev[-11].record.delta[attr].to_f : 0)
+ ((upd_ev.length > 10) ? upd_ev[-11].record.delta[attr].to_f : 0)
else
return cache_entry.value
end
cache_entry.checked = upd_ev.length
cache_entry.value
end
def updating_events
- cache_entry = ( @cache[:updating_events] ||= CacheEntry.new(0, []) )
+ cache_entry = (@cache[:updating_events] ||= CacheEntry.new(0, []))
cache_entry.checked.upto(@events.length - 1).each do |i|
(cache_entry.value << @events[i]) if @events[i].record.status == "update"
end
cache_entry.checked = @events.length
cache_entry.value
@@ -138,20 +137,20 @@
events = @events.select(&block)
self.class.new events
end
def select_by_type(type)
- cache_entry = ( @cache_select_by[type] ||= CacheEntry.new(0, self.class.new([])) )
+ cache_entry = (@cache_select_by[type] ||= CacheEntry.new(0, self.class.new([])))
cache_entry.checked.upto(@events.length - 1).each do |i|
(cache_entry.value.events << @events[i]) if @events[i].record.gesture == type
end
cache_entry.checked = @events.length
cache_entry.value
end
def select_from_last_begin
return self if empty?
- cache_entry = ( @cache[:last_begin] ||= CacheEntry.new(0, nil) )
+ cache_entry = (@cache[:last_begin] ||= CacheEntry.new(0, nil))
cache_entry.value = (@events.length - 1).downto(cache_entry.checked).find do |i|
@events[i].record.status == "begin"
end || cache_entry.value
cache_entry.checked = @events.length