Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rename a few things #26

Merged
merged 3 commits into from
May 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions examples/example.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import SimpleWidgets as SW

include("opengl_utils.jl")

mutable struct UIState <: SW.AbstractUIState
mutable struct UserInteractionState <: SW.AbstractUIState
hot_widget::SW.WidgetID
active_widget::SW.WidgetID
null_widget::SW.WidgetID
Expand Down Expand Up @@ -70,7 +70,7 @@ function start()
drawing_time_buffer = DS.CircularBuffer{typeof(time_ns())}(sliding_window_size)
push!(drawing_time_buffer, zero(UInt))

ui_state = UIState(SW.NULL_WIDGET_ID, SW.NULL_WIDGET_ID, SW.NULL_WIDGET_ID)
user_interaction_state = UserInteractionState(SW.NULL_WIDGET_ID, SW.NULL_WIDGET_ID, SW.NULL_WIDGET_ID)

user_input_state = UserInputState(
SW.Cursor(1, 1),
Expand Down Expand Up @@ -160,7 +160,7 @@ function start()

button1_bounding_box = SW.BoundingBox(577, 1, 608, 200)
button1_id = SW.WidgetID(@__LINE__, @__FILE__)
button1_value = SW.widget!(ui_state, button1_id, SW.BUTTON, button1_bounding_box, user_input_state.cursor, user_input_state.mouse_left)
button1_value = SW.do_widget!(user_interaction_state, button1_id, SW.BUTTON, button1_bounding_box, user_input_state.cursor, user_input_state.mouse_left)
if button1_value
text_color = 0x00aa0000
end
Expand All @@ -170,7 +170,7 @@ function start()

button2_bounding_box = SW.BoundingBox(609, 1, 640, 200)
button2_id = SW.WidgetID(@__LINE__, @__FILE__)
button2_value = SW.widget!(ui_state, button2_id, SW.BUTTON, button2_bounding_box, user_input_state.cursor, user_input_state.mouse_left)
button2_value = SW.do_widget!(user_interaction_state, button2_id, SW.BUTTON, button2_bounding_box, user_input_state.cursor, user_input_state.mouse_left)
if button2_value
text_color = 0x00000000
end
Expand All @@ -180,7 +180,7 @@ function start()

slider_bounding_box = SW.BoundingBox(641, 1, 672, 200)
slider_id = SW.WidgetID(@__LINE__, @__FILE__)
slider_value = SW.widget!(ui_state, slider_id, SW.SLIDER, slider_bounding_box, user_input_state.cursor, user_input_state.mouse_left, slider_value)
slider_value = SW.do_widget!(user_interaction_state, slider_id, SW.SLIDER, slider_bounding_box, user_input_state.cursor, user_input_state.mouse_left, slider_value)
slider_shape = convert(SD.Rectangle{Int}, slider_bounding_box)
SD.draw!(image, slider_shape, text_color)
slider_value_shape = SD.FilledRectangle(SD.Point(641, 1), 32, slider_value)
Expand All @@ -189,7 +189,7 @@ function start()

text_input_bounding_box = SW.BoundingBox(673, 1, 704, 200)
text_input_id = SW.WidgetID(@__LINE__, @__FILE__)
SW.widget!(ui_state, text_input_id, SW.TEXT_INPUT, text_input_bounding_box, user_input_state.cursor, user_input_state.mouse_left, text_line, user_input_state.characters)
SW.do_widget!(user_interaction_state, text_input_id, SW.TEXT_INPUT, text_input_bounding_box, user_input_state.cursor, user_input_state.mouse_left, text_line, user_input_state.characters)
text_input_shape = convert(SD.Rectangle{Int}, text_input_bounding_box)
SD.draw!(image, text_input_shape, text_color)
text_input_value_shape = SD.TextLine(SD.Point(673, 1), String(text_line), SD.TERMINUS_32_16)
Expand All @@ -212,8 +212,8 @@ function start()
push!(lines, "button2_value: $(button2_value)")
push!(lines, "text_color: $(repr(text_color))")
push!(lines, "slider_value: $(slider_value)")
push!(lines, "ui_state.hot_widget: $(ui_state.hot_widget)")
push!(lines, "ui_state.active_widget: $(ui_state.active_widget)")
push!(lines, "user_interaction_state.hot_widget: $(user_interaction_state.hot_widget)")
push!(lines, "user_interaction_state.active_widget: $(user_interaction_state.active_widget)")

draw_lines!(image, lines, text_color)

Expand Down
10 changes: 5 additions & 5 deletions src/ui_state.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ abstract type AbstractUIState end

const NULL_WIDGET_ID = WidgetID(0, "")

function widget!(ui_state::AbstractUIState, args...; kwargs...)
hot_widget, active_widget, null_widget, values = widget!!(ui_state.hot_widget, ui_state.active_widget, ui_state.null_widget, args...; kwargs...)
function do_widget!(user_interaction_state::AbstractUIState, args...; kwargs...)
hot_widget, active_widget, null_widget, values = do_widget!!(user_interaction_state.hot_widget, user_interaction_state.active_widget, user_interaction_state.null_widget, args...; kwargs...)

ui_state.hot_widget = hot_widget
ui_state.active_widget = active_widget
ui_state.null_widget = null_widget
user_interaction_state.hot_widget = hot_widget
user_interaction_state.active_widget = active_widget
user_interaction_state.null_widget = null_widget

return values
end
18 changes: 9 additions & 9 deletions src/widgets.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function get_widget_value(hot_widget, active_widget, widget, ::Button, condition
end
end

function widget(hot_widget, active_widget, null_widget, widget, widget_type::Button, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count)
function do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Button, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count)
mouse_over_button = (i_min <= i_mouse <= i_max) && (j_min <= j_mouse <= j_max)
mouse_went_down = went_down(ended_down, half_transition_count)
mouse_went_up = went_up(ended_down, half_transition_count)
Expand All @@ -39,9 +39,9 @@ function widget(hot_widget, active_widget, null_widget, widget, widget_type::But
return hot_widget, active_widget, null_widget, value
end

widget(hot_widget, active_widget, null_widget, widg, widget_type::Button, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton) = widget(hot_widget, active_widget, null_widget, widg, widget_type::Button, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count)
do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Button, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton) = do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Button, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count)

widget!!(hot_widget, active_widget, null_widget, widg, widget_type::Button, args...; kwargs...) = widget(hot_widget, active_widget, null_widget, widg, widget_type, args...; kwargs...)
do_widget!!(hot_widget, active_widget, null_widget, widget, widget_type::Button, args...; kwargs...) = do_widget(hot_widget, active_widget, null_widget, widget, widget_type, args...; kwargs...)

#####
##### Slider
Expand All @@ -55,7 +55,7 @@ function get_widget_value(hot_widget, active_widget, widget, ::Slider, active_va
end
end

function widget(hot_widget, active_widget, null_widget, widget, widget_type::Slider, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count, last_value)
function do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Slider, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count, last_value)
mouse_over_slider = (i_min <= i_mouse <= i_max) && (j_min <= j_mouse <= j_max)
mouse_went_down = went_down(ended_down, half_transition_count)
mouse_went_up = went_up(ended_down, half_transition_count)
Expand All @@ -73,9 +73,9 @@ function widget(hot_widget, active_widget, null_widget, widget, widget_type::Sli
return hot_widget, active_widget, null_widget, value
end

widget(hot_widget, active_widget, null_widget, widg, widget_type::Slider, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton, last_value) = widget(hot_widget, active_widget, null_widget, widg, widget_type::Slider, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count, last_value)
do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Slider, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton, last_value) = do_widget(hot_widget, active_widget, null_widget, widget, widget_type::Slider, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count, last_value)

widget!!(hot_widget, active_widget, null_widget, widg, widget_type::Slider, args...; kwargs...) = widget(hot_widget, active_widget, null_widget, widg, widget_type, args...; kwargs...)
do_widget!!(hot_widget, active_widget, null_widget, widget, widget_type::Slider, args...; kwargs...) = do_widget(hot_widget, active_widget, null_widget, widget, widget_type, args...; kwargs...)

#####
##### TextInput
Expand All @@ -99,7 +99,7 @@ function update_widget_value!(hot_widget, active_widget, widget, ::TextInput, te
return nothing
end

function widget!(hot_widget, active_widget, null_widget, widget, widget_type::TextInput, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count, text_line, characters)
function do_widget!(hot_widget, active_widget, null_widget, widget, widget_type::TextInput, i_min, j_min, i_max, j_max, i_mouse, j_mouse, ended_down, half_transition_count, text_line, characters)
mouse_over_widget = (i_min <= i_mouse <= i_max) && (j_min <= j_mouse <= j_max)
mouse_went_down = went_down(ended_down, half_transition_count)
mouse_went_up = went_up(ended_down, half_transition_count)
Expand All @@ -117,6 +117,6 @@ function widget!(hot_widget, active_widget, null_widget, widget, widget_type::Te
return hot_widget, active_widget, null_widget
end

widget!(hot_widget, active_widget, null_widget, widg, widget_type::TextInput, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton, text_line, characters) = widget!(hot_widget, active_widget, null_widget, widg, widget_type::TextInput, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count, text_line, characters)
do_widget!(hot_widget, active_widget, null_widget, widget, widget_type::TextInput, bounding_box::BoundingBox, cursor::Cursor, input_button::InputButton, text_line, characters) = do_widget!(hot_widget, active_widget, null_widget, widget, widget_type::TextInput, bounding_box.i_min, bounding_box.j_min, bounding_box.i_max, bounding_box.j_max, cursor.i, cursor.j, input_button.ended_down, input_button.half_transition_count, text_line, characters)

widget!!(hot_widget, active_widget, null_widget, widg, widget_type::TextInput, args...; kwargs...) = (widget!(hot_widget, active_widget, null_widget, widg, widget_type, args...; kwargs...)..., nothing)
do_widget!!(hot_widget, active_widget, null_widget, widget, widget_type::TextInput, args...; kwargs...) = (do_widget!(hot_widget, active_widget, null_widget, widget, widget_type, args...; kwargs...)..., nothing)