From 4e9eacbe00f42aa4cb70182506e37aadd30e95ed Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:13:30 +0530 Subject: [PATCH 01/15] remove unused do_widget! method for CheckBox --- src/widgets.jl | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/src/widgets.jl b/src/widgets.jl index c6d3c80..2144f8a 100644 --- a/src/widgets.jl +++ b/src/widgets.jl @@ -185,34 +185,6 @@ end do_widget!!(widget_type::CheckBox, args...; kwargs...) = do_widget(widget_type, args...; kwargs...) -function do_widget!( - widget_type::CheckBox, - user_interaction_state::AbstractUserInteractionState, - this_widget, - widget_value, - cursor, - input_button, - layout, - alignment, - padding, - widget_height, - widget_width, - image, - text, - font, - colors, - ) - - widget_bounding_box = get_bounding_box(layout.reference_bounding_box, alignment, padding, widget_height, widget_width) - layout.reference_bounding_box = widget_bounding_box - - widget_value = do_widget!(widget_type, user_interaction_state, this_widget, widget_value, cursor, input_button, widget_bounding_box) - - SD.draw!(image, widget_bounding_box, widget_type, user_interaction_state, this_widget, widget_value, text, font, colors) - - return widget_value -end - ##### ##### RadioButton ##### From 733fa4160ccc2d0b68179ae826bdf2aad32eb01b Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:14:21 +0530 Subject: [PATCH 02/15] minor rearrangement in user_interaction.jl --- src/user_interaction.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/user_interaction.jl b/src/user_interaction.jl index 1fd1b8d..faab17a 100644 --- a/src/user_interaction.jl +++ b/src/user_interaction.jl @@ -6,6 +6,8 @@ struct WidgetID{S, I} <: AbstractWidgetID instance::I end +const NULL_WIDGET_ID = WidgetID("", 0, 0) + abstract type AbstractUserInteractionState end mutable struct UserInteractionState{S, I} <: AbstractUserInteractionState @@ -13,5 +15,3 @@ mutable struct UserInteractionState{S, I} <: AbstractUserInteractionState active_widget::WidgetID{S, I} null_widget::WidgetID{S, I} end - -const NULL_WIDGET_ID = WidgetID("", 0, 0) From 0508708a125bc57c091442134824e53b2b0933cd Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:17:18 +0530 Subject: [PATCH 03/15] use isone in went_down and went_up --- src/input.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/input.jl b/src/input.jl index 627fd72..515b91e 100644 --- a/src/input.jl +++ b/src/input.jl @@ -18,8 +18,8 @@ mutable struct UserInputState{I1, I2} <: AbstractUserInputState characters::Vector{Char} end -went_down(ended_down, num_transitions) = (num_transitions >= 2) || ((num_transitions == 1) && ended_down) -went_up(ended_down, num_transitions) = (num_transitions >= 2) || ((num_transitions == 1) && !ended_down) +went_down(ended_down, num_transitions) = (num_transitions >= 2) || (isone(num_transitions) && ended_down) +went_up(ended_down, num_transitions) = (num_transitions >= 2) || (isone(num_transitions) && !ended_down) went_down(input_button) = went_down(input_button.ended_down, input_button.num_transitions) went_up(input_button) = went_up(input_button.ended_down, input_button.num_transitions) From 44de5d1133e6380840785dde2cbbb95055f4e6c2 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:18:37 +0530 Subject: [PATCH 04/15] use typeof(input_button) instead of hardcoding InputButton --- src/input.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/input.jl b/src/input.jl index 515b91e..3271b1f 100644 --- a/src/input.jl +++ b/src/input.jl @@ -24,9 +24,9 @@ went_up(ended_down, num_transitions) = (num_transitions >= 2) || (isone(num_tran went_down(input_button) = went_down(input_button.ended_down, input_button.num_transitions) went_up(input_button) = went_up(input_button.ended_down, input_button.num_transitions) -press(input_button) = InputButton(true, input_button.num_transitions + one(input_button.num_transitions)) -release(input_button) = InputButton(false, input_button.num_transitions + one(input_button.num_transitions)) -reset(input_button) = InputButton(input_button.ended_down, zero(input_button.num_transitions)) +press(input_button) = typeof(input_button)(true, input_button.num_transitions + one(input_button.num_transitions)) +release(input_button) = typeof(input_button)(false, input_button.num_transitions + one(input_button.num_transitions)) +reset(input_button) = typeof(input_button)(input_button.ended_down, zero(input_button.num_transitions)) function reset!(user_input_state) user_input_state.key_escape = reset(user_input_state.key_escape) From b4062f0b87406fd63324bc70fca69972d5ecc79f Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:19:22 +0530 Subject: [PATCH 05/15] rename input.jl to user_input.jl --- src/{input.jl => user_input.jl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{input.jl => user_input.jl} (100%) diff --git a/src/input.jl b/src/user_input.jl similarity index 100% rename from src/input.jl rename to src/user_input.jl From d3280aa0af88e91aa824b3442312a764afd1bc1e Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 17:54:28 +0530 Subject: [PATCH 06/15] fix filename in SimpleIMGUI.jl --- src/SimpleIMGUI.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SimpleIMGUI.jl b/src/SimpleIMGUI.jl index 6e5ce3e..9cee7e3 100644 --- a/src/SimpleIMGUI.jl +++ b/src/SimpleIMGUI.jl @@ -2,7 +2,7 @@ module SimpleIMGUI import SimpleDraw as SD -include("input.jl") +include("user_input.jl") include("layout.jl") include("user_interaction.jl") include("widgets.jl") From 627829a2a431a49d09ea6f7d07c867f7961268be Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:01:17 +0530 Subject: [PATCH 07/15] rename alignment names --- examples/example.jl | 54 +++++++++++------------ src/drawing.jl | 2 +- src/layout.jl | 102 ++++++++++++++++++++++---------------------- 3 files changed, 79 insertions(+), 79 deletions(-) diff --git a/examples/example.jl b/examples/example.jl index 1066e94..98f06f1 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -145,12 +145,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * SI.get_num_printable_characters(text), image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, text, font, @@ -166,12 +166,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "Button", font, @@ -188,7 +188,7 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), 360, @@ -213,12 +213,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "Slider", font, @@ -236,7 +236,7 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), 360, @@ -259,12 +259,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "TextBox", font, @@ -283,7 +283,7 @@ function start() user_input_state.mouse_left, user_input_state.characters, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), 360, @@ -319,12 +319,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "RadioButton", font, @@ -348,12 +348,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), SD.get_width(font) * (max_num_chars + 2), image, - SI.LEFT1, + SI.LEFT_IN, -1, item, font, @@ -376,12 +376,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "DropDown", font, @@ -404,12 +404,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), SD.get_width(font) * (max_num_chars + 2), image, - SI.LEFT1, + SI.LEFT_IN, -1, drop_down_item_list[drop_down_selected_item], font, @@ -430,12 +430,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * (max_num_chars + 2), image, - SI.LEFT1, + SI.LEFT_IN, -1, item, font, @@ -460,12 +460,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * 12, image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, "CheckBox", font, @@ -483,12 +483,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.RIGHT2, + SI.RIGHT_OUT, padding, SD.get_height(font), 360, image, - SI.LEFT1, + SI.LEFT_IN, -1, "Show debug text", font, @@ -508,12 +508,12 @@ function start() user_input_state.cursor, user_input_state.mouse_left, layout, - SI.DOWN2_LEFT1, + SI.DOWN_OUT_LEFT_IN, padding, SD.get_height(font), SD.get_width(font) * SI.get_num_printable_characters(text), image, - SI.UP1_LEFT1, + SI.UP_IN_LEFT_IN, -1, text, font, diff --git a/src/drawing.jl b/src/drawing.jl index 9d3a028..f6063fa 100644 --- a/src/drawing.jl +++ b/src/drawing.jl @@ -120,7 +120,7 @@ end function draw_widget!(image, bounding_box, widget_type::TextBox, user_interaction_state, this_widget, text, alignment, padding, font, background_color, border_color, text_color) if get_num_printable_characters(text) * SD.get_width(font) > bounding_box.width - alignment = RIGHT1 + alignment = RIGHT_IN end draw_text_line_in_a_box!( diff --git a/src/layout.jl b/src/layout.jl index cd34ada..0daf66f 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -5,91 +5,91 @@ mutable struct BoxLayout{I} <: AbstractLayout end @enum Alignment begin - UP2_LEFT2 - UP1_LEFT2 - LEFT2 - DOWN1_LEFT2 - DOWN2_LEFT2 - - UP2_LEFT1 - UP1_LEFT1 - LEFT1 - DOWN1_LEFT1 - DOWN2_LEFT1 - - UP2 - UP1 + UP_OUT_LEFT_OUT + UP_IN_LEFT_OUT + LEFT_OUT + DOWN_IN_LEFT_OUT + DOWN_OUT_LEFT_OUT + + UP_OUT_LEFT_IN + UP_IN_LEFT_IN + LEFT_IN + DOWN_IN_LEFT_IN + DOWN_OUT_LEFT_IN + + UP_OUT + UP_IN CENTER - DOWN1 - DOWN2 - - UP2_RIGHT1 - UP1_RIGHT1 - RIGHT1 - DOWN1_RIGHT1 - DOWN2_RIGHT1 - - UP2_RIGHT2 - UP1_RIGHT2 - RIGHT2 - DOWN1_RIGHT2 - DOWN2_RIGHT2 + DOWN_IN + DOWN_OUT + + UP_OUT_RIGHT_IN + UP_IN_RIGHT_IN + RIGHT_IN + DOWN_IN_RIGHT_IN + DOWN_OUT_RIGHT_IN + + UP_OUT_RIGHT_OUT + UP_IN_RIGHT_OUT + RIGHT_OUT + DOWN_IN_RIGHT_OUT + DOWN_OUT_RIGHT_OUT end function get_alignment_offset(total_height, total_width, content_height, content_width, alignment, padding) I = typeof(total_height) - if alignment == UP2_LEFT2 + if alignment == UP_OUT_LEFT_OUT return (convert(I, -content_height - padding), convert(I, -content_width - padding)) - elseif alignment == UP1_LEFT2 + elseif alignment == UP_IN_LEFT_OUT return (zero(I), convert(I, -content_width - padding)) - elseif alignment == LEFT2 + elseif alignment == LEFT_OUT return (convert(I, (total_height - content_height) ÷ 2), convert(I, -content_width - padding)) - elseif alignment == DOWN1_LEFT2 + elseif alignment == DOWN_IN_LEFT_OUT return (convert(I, total_height - content_height), convert(I, -content_width - padding)) - elseif alignment == DOWN2_LEFT2 + elseif alignment == DOWN_OUT_LEFT_OUT return (convert(I, total_height + padding), convert(I, -content_width - padding)) - elseif alignment == UP2_LEFT1 + elseif alignment == UP_OUT_LEFT_IN return (convert(I, -content_height - padding), zero(I)) - elseif alignment == UP1_LEFT1 + elseif alignment == UP_IN_LEFT_IN return (convert(I, padding), convert(I, padding + 1)) - elseif alignment == LEFT1 + elseif alignment == LEFT_IN return (convert(I, (total_height - content_height) ÷ 2), convert(I, padding + 1)) - elseif alignment == DOWN1_LEFT1 + elseif alignment == DOWN_IN_LEFT_IN return (convert(I, total_height - content_height - padding - 1), convert(I, padding + 1)) - elseif alignment == DOWN2_LEFT1 + elseif alignment == DOWN_OUT_LEFT_IN return (convert(I, total_height + padding), zero(I)) - elseif alignment == UP2 + elseif alignment == UP_OUT return (convert(I, -content_height - padding), convert(I, (total_width - content_width) ÷ 2)) - elseif alignment == UP1 + elseif alignment == UP_IN return (convert(I, padding + 1), convert(I, (total_width - content_width) ÷ 2)) elseif alignment == CENTER return (convert(I, (total_height - content_height) ÷ 2), convert(I, (total_width - content_width) ÷ 2)) - elseif alignment == DOWN1 + elseif alignment == DOWN_IN return (convert(I, total_height - content_height - padding - 1), convert(I, (total_width - content_width) ÷ 2)) - elseif alignment == DOWN2 + elseif alignment == DOWN_OUT return (convert(I, total_height + padding), convert(I, (total_width - content_width) ÷ 2)) - elseif alignment == UP2_RIGHT1 + elseif alignment == UP_OUT_RIGHT_IN return (convert(I, -content_height - padding), convert(I, total_width - content_width)) - elseif alignment == UP1_RIGHT1 + elseif alignment == UP_IN_RIGHT_IN return (convert(I, padding + 1), convert(I, total_width - content_width - padding - 1)) - elseif alignment == RIGHT1 + elseif alignment == RIGHT_IN return (convert(I, (total_height - content_height) ÷ 2), convert(I, total_width - content_width - padding - 1)) - elseif alignment == DOWN1_RIGHT1 + elseif alignment == DOWN_IN_RIGHT_IN return (convert(I, total_height - content_height - padding - 1), convert(I, total_width - content_width - padding - 1)) - elseif alignment == DOWN2_RIGHT1 + elseif alignment == DOWN_OUT_RIGHT_IN return (convert(I, total_height + padding), convert(I, total_width - content_width)) - elseif alignment == UP2_RIGHT2 + elseif alignment == UP_OUT_RIGHT_OUT return (convert(I, -content_height - padding), convert(I, total_width + padding)) - elseif alignment == UP1_RIGHT2 + elseif alignment == UP_IN_RIGHT_OUT return (zero(I), convert(I, total_width + padding)) - elseif alignment == RIGHT2 + elseif alignment == RIGHT_OUT return (convert(I, (total_height - content_height) ÷ 2), convert(I, total_width + padding)) - elseif alignment == DOWN1_RIGHT2 + elseif alignment == DOWN_IN_RIGHT_OUT return (convert(I, total_height - content_height), convert(I, total_width + padding)) else return (convert(I, total_height + padding), convert(I, total_width + padding)) From 24d8b00b88eaf3255b395f0e6e43fe35b73d3cdc Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:11:21 +0530 Subject: [PATCH 08/15] simplify get_num_printable_characters --- src/drawing.jl | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/drawing.jl b/src/drawing.jl index f6063fa..42c3db3 100644 --- a/src/drawing.jl +++ b/src/drawing.jl @@ -16,17 +16,7 @@ function get_color(user_interaction_state, this_widget, color::ContextualColor) end end -function get_num_printable_characters(text) - num_printable = 0 - - for character in text - if isprint(character) - num_printable += 1 - end - end - - return num_printable -end +get_num_printable_characters(text) = sum(isprint, text) function get_intersection_extrema(image, shape) i_min_shape, i_max_shape = SD.get_i_extrema(shape) From 139cbfa75f009c3a131acd57a158fb6690c63661 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:18:56 +0530 Subject: [PATCH 09/15] update argument order in get_widget_value for Slider --- src/widgets.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets.jl b/src/widgets.jl index 2144f8a..34c3409 100644 --- a/src/widgets.jl +++ b/src/widgets.jl @@ -93,7 +93,7 @@ do_widget!!(widget_type::Button, args...; kwargs...) = do_widget(widget_type, ar ##### Slider ##### -function get_widget_value(::Slider, hot_widget, active_widget, this_widget, potential_next_widget_value, widget_value) +function get_widget_value(::Slider, hot_widget, active_widget, this_widget, widget_value, potential_next_widget_value) if (hot_widget == this_widget) && (active_widget == this_widget) return potential_next_widget_value else @@ -110,7 +110,7 @@ function do_widget(widget_type::Slider, hot_widget, active_widget, null_widget, active_widget = try_set_active_widget(hot_widget, active_widget, null_widget, this_widget, mouse_over_widget && mouse_went_down) - widget_value = get_widget_value(widget_type, hot_widget, active_widget, this_widget, clamp(j_mouse - j_min + one(j_min), zero(j_min), j_max - j_min + one(j_min)), widget_value) + widget_value = get_widget_value(widget_type, hot_widget, active_widget, this_widget, widget_value, clamp(j_mouse - j_min + one(j_min), zero(j_min), j_max - j_min + one(j_min))) active_widget = try_reset_active_widget(hot_widget, active_widget, null_widget, this_widget, mouse_went_up) From 5e3ce2a2d787cacb2d52389b60b8627a8ac2bc13 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:29:01 +0530 Subject: [PATCH 10/15] remove some debug text --- examples/example.jl | 8 -------- 1 file changed, 8 deletions(-) diff --git a/examples/example.jl b/examples/example.jl index 98f06f1..8de49dc 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -305,11 +305,6 @@ function start() push!(debug_text, "mouse_middle: $(user_input_state.mouse_middle)") push!(debug_text, "hot_widget: $(user_interaction_state.hot_widget)") push!(debug_text, "active_widget: $(user_interaction_state.active_widget)") - push!(debug_text, "button_value: $(button_value)") - push!(debug_text, "slider_value: $(slider_value)") - push!(debug_text, "text_box_value: $(text_box_value)") - push!(debug_text, "radio_button_value: $(radio_button_value)") - push!(debug_text, "drop_down_value: $(drop_down_value)") layout.reference_bounding_box = reference_bounding_box SI.do_widget!( @@ -366,7 +361,6 @@ function start() end reference_bounding_box = SI.get_bounding_box(reference_bounding_box, layout.reference_bounding_box) end - push!(debug_text, "radio_button_value: $(radio_button_value)") layout.reference_bounding_box = reference_bounding_box SI.do_widget!( @@ -449,8 +443,6 @@ function start() reference_bounding_box = SI.get_bounding_box(reference_bounding_box, layout.reference_bounding_box) end end - push!(debug_text, "drop_down_value: $(drop_down_value)") - push!(debug_text, "drop_down_selected_item: $(drop_down_selected_item)") layout.reference_bounding_box = reference_bounding_box SI.do_widget!( From d530cb76caf9130c333258893ec011a62209a443 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:32:59 +0530 Subject: [PATCH 11/15] fix get_num_printable_characters for empty string --- src/drawing.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drawing.jl b/src/drawing.jl index 42c3db3..b3113a2 100644 --- a/src/drawing.jl +++ b/src/drawing.jl @@ -16,7 +16,7 @@ function get_color(user_interaction_state, this_widget, color::ContextualColor) end end -get_num_printable_characters(text) = sum(isprint, text) +get_num_printable_characters(text) = count(isprint, text) function get_intersection_extrema(image, shape) i_min_shape, i_max_shape = SD.get_i_extrema(shape) From 799fa48539edf499166a58262b1b5a1a77303afb Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:33:40 +0530 Subject: [PATCH 12/15] simplify text for button and slider in example --- examples/example.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/example.jl b/examples/example.jl index 8de49dc..de48961 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -195,7 +195,7 @@ function start() image, SI.CENTER, -1, - "Button clicks: $(num_button_clicks)", + "$(num_button_clicks)", font, SI.ContextualColor(0x00b0b0b0, 0x00b7b7b7, 0x00bfbfbf), SI.ContextualColor(0x00000000, 0x00000000, 0x00000000), @@ -243,7 +243,7 @@ function start() image, SI.CENTER, -1, - "Slider value: $(slider_value)", + "$(slider_value)", font, SI.ContextualColor(0x00b0b0b0, 0x00b7b7b7, 0x00bfbfbf), 0x00000000, From 3d4fd01880421058b336006210793473aacfdff6 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:37:39 +0530 Subject: [PATCH 13/15] left align default text in text box --- examples/example.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/example.jl b/examples/example.jl index de48961..b13a243 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -288,7 +288,7 @@ function start() SD.get_height(font), 360, image, - SI.CENTER, + SI.LEFT_IN, -1, font, SI.ContextualColor(0x00b0b0b0, 0x00b7b7b7, 0x00bfbfbf), From c959b7355a206631af951bb1d5f00a124458b4d7 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:38:53 +0530 Subject: [PATCH 14/15] reduce width of button, slider, and text box --- examples/example.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/example.jl b/examples/example.jl index b13a243..ea2a5ca 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -191,7 +191,7 @@ function start() SI.RIGHT_OUT, padding, SD.get_height(font), - 360, + 240, image, SI.CENTER, -1, @@ -239,7 +239,7 @@ function start() SI.RIGHT_OUT, padding, SD.get_height(font), - 360, + 240, image, SI.CENTER, -1, @@ -286,7 +286,7 @@ function start() SI.RIGHT_OUT, padding, SD.get_height(font), - 360, + 240, image, SI.LEFT_IN, -1, From 28636b89558b721e5b3a5290cf924d7245be4d46 Mon Sep 17 00:00:00 2001 From: Siddharth Bhatia Date: Fri, 5 Aug 2022 18:43:59 +0530 Subject: [PATCH 15/15] use content-based width for check box --- examples/example.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/example.jl b/examples/example.jl index ea2a5ca..b609c62 100644 --- a/examples/example.jl +++ b/examples/example.jl @@ -467,6 +467,7 @@ function start() ) reference_bounding_box = layout.reference_bounding_box + text = "Show debug text" show_debug_text = SI.do_widget!( SI.CHECK_BOX, user_interaction_state, @@ -478,11 +479,11 @@ function start() SI.RIGHT_OUT, padding, SD.get_height(font), - 360, + SD.get_width(font) * (SI.get_num_printable_characters(text) + 2), image, SI.LEFT_IN, -1, - "Show debug text", + text, font, 0x00cccccc, 0x00cccccc,