defmodule FloUI.Icon.ButtonController do
@moduledoc """
Controller for FloUI.Icon.Button
"""
alias Scenic.Graph
alias Scenic.Primitive
def on_highlight_change(%{assigns: %{showing_highlight: true}} = scene) do
graph =
scene.assigns.graph
|> Graph.modify(:bg, &Primitive.put_style(&1, :fill, scene.assigns.theme.thumb))
Scenic.Scene.assign(scene, graph: graph)
end
def on_highlight_change(%{assigns: %{showing_highlight: false}} = scene) do
graph =
scene.assigns.graph
|> Graph.modify(:bg, &Primitive.put_style(&1, :fill, :clear))
Scenic.Scene.assign(scene, graph: graph)
end
def on_show_tooltip_change(scene) do
graph =
scene.assigns.graph
|> Graph.modify(
:tooltip,
&Primitive.put_style(&1, :hidden, not scene.assigns.showing_tooltip)
)
Scenic.Scene.assign(scene, graph: graph)
end
end