mirror of
https://github.com/cyberarm/cyberarm_engine.git
synced 2025-12-15 20:52:35 +00:00
Improved performance a touch: fixed never clearing list of elements to recalculate unless a full gui recalcuate occurred, don't recalculate button/text if a full gui recalculate is requested, fixed typo: apend -> append
This commit is contained in:
@@ -86,9 +86,12 @@ module CyberarmEngine
|
|||||||
|
|
||||||
old_width = width
|
old_width = width
|
||||||
old_height = height
|
old_height = height
|
||||||
recalculate
|
|
||||||
|
|
||||||
root.gui_state.request_recalculate if old_width != width || old_height != height
|
if old_width != width || old_height != height
|
||||||
|
root.gui_state.request_recalculate
|
||||||
|
else
|
||||||
|
recalculate
|
||||||
|
end
|
||||||
|
|
||||||
publish(:changed, self.value)
|
publish(:changed, self.value)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ module CyberarmEngine
|
|||||||
root.gui_state.request_recalculate
|
root.gui_state.request_recalculate
|
||||||
end
|
end
|
||||||
|
|
||||||
def apend(&block)
|
def append(&block)
|
||||||
old_container = $__current_container__
|
old_container = $__current_container__
|
||||||
|
|
||||||
$__current_container__ = self
|
$__current_container__ = self
|
||||||
@@ -194,9 +194,8 @@ module CyberarmEngine
|
|||||||
if @scroll_position.y < 0
|
if @scroll_position.y < 0
|
||||||
@scroll_position.y += @scroll_speed
|
@scroll_position.y += @scroll_speed
|
||||||
@scroll_position.y = 0 if @scroll_position.y > 0
|
@scroll_position.y = 0 if @scroll_position.y > 0
|
||||||
# recalculate
|
|
||||||
root.gui_state.request_recalculate_for(self)
|
|
||||||
|
|
||||||
|
root.gui_state.request_recalculate_for(self)
|
||||||
|
|
||||||
return :handled
|
return :handled
|
||||||
end
|
end
|
||||||
@@ -210,9 +209,8 @@ module CyberarmEngine
|
|||||||
if @scroll_position.y.abs < max_scroll_height
|
if @scroll_position.y.abs < max_scroll_height
|
||||||
@scroll_position.y -= @scroll_speed
|
@scroll_position.y -= @scroll_speed
|
||||||
@scroll_position.y = -max_scroll_height if @scroll_position.y.abs > max_scroll_height
|
@scroll_position.y = -max_scroll_height if @scroll_position.y.abs > max_scroll_height
|
||||||
# recalculate
|
|
||||||
root.gui_state.request_recalculate_for(self)
|
|
||||||
|
|
||||||
|
root.gui_state.request_recalculate_for(self)
|
||||||
|
|
||||||
return :handled
|
return :handled
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -142,9 +142,12 @@ module CyberarmEngine
|
|||||||
|
|
||||||
old_width = width
|
old_width = width
|
||||||
old_height = height
|
old_height = height
|
||||||
recalculate
|
|
||||||
|
|
||||||
root.gui_state.request_recalculate if old_width != width || old_height != height
|
if old_width != width || old_height != height
|
||||||
|
root.gui_state.request_recalculate
|
||||||
|
else
|
||||||
|
recalculate
|
||||||
|
end
|
||||||
|
|
||||||
publish(:changed, self.value)
|
publish(:changed, self.value)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -75,10 +75,10 @@ module CyberarmEngine
|
|||||||
@root_container.recalculate
|
@root_container.recalculate
|
||||||
|
|
||||||
@pending_recalculate_request = false
|
@pending_recalculate_request = false
|
||||||
@pending_element_recalculate_requests.clear # GUI has already been recalculated
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@pending_element_recalculate_requests.each(&:recalculate)
|
@pending_element_recalculate_requests.each(&:recalculate)
|
||||||
|
@pending_element_recalculate_requests.clear
|
||||||
|
|
||||||
if @pending_focus_request
|
if @pending_focus_request
|
||||||
@pending_focus_request = false
|
@pending_focus_request = false
|
||||||
|
|||||||
Reference in New Issue
Block a user