From 48d2924c9bccb68ce062d0e3376b8f2872ad1456 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Thu, 24 Oct 2019 10:47:13 -0500 Subject: [PATCH] Probably fixed Element dynamic width/height --- lib/cyberarm_engine/ui/element.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/cyberarm_engine/ui/element.rb b/lib/cyberarm_engine/ui/element.rb index 500809f..307f390 100644 --- a/lib/cyberarm_engine/ui/element.rb +++ b/lib/cyberarm_engine/ui/element.rb @@ -168,6 +168,14 @@ module CyberarmEngine end end + def content_width + @width + end + + def noncontent_width + (inner_width + outer_width) - width + end + def outer_width @style.margin_left + width + @style.margin_right end @@ -184,6 +192,14 @@ module CyberarmEngine end end + def content_height + @height + end + + def noncontent_height + (inner_height + outer_height) - height + end + def outer_height @style.margin_top + height + @style.margin_bottom end @@ -196,7 +212,7 @@ module CyberarmEngine raise "dimension must be either :width or :height" unless dimension == :width || dimension == :height if size && size.is_a?(Numeric) if size.between?(0.0, 1.0) - @parent.send(:"#{dimension}") * size + (@parent.send(:"content_#{dimension}") - self.send(:"noncontent_#{dimension}") - 1) * size else size end