summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap')
-rw-r--r-- | src/battlemap/src/Model.elm | 6 | ||||
-rw-r--r-- | src/battlemap/src/Model/RequestDirection.elm | 4 | ||||
-rw-r--r-- | src/battlemap/src/Shim/Model.elm | 4 | ||||
-rw-r--r-- | src/battlemap/src/UI.elm | 36 | ||||
-rw-r--r-- | src/battlemap/src/Update.elm | 6 | ||||
-rw-r--r-- | src/battlemap/src/View.elm | 6 |
6 files changed, 51 insertions, 11 deletions
diff --git a/src/battlemap/src/Model.elm b/src/battlemap/src/Model.elm index 160e8cc..3b65f49 100644 --- a/src/battlemap/src/Model.elm +++ b/src/battlemap/src/Model.elm @@ -14,6 +14,8 @@ import Dict import Battlemap import Battlemap.Location +import UI + import Error import Character @@ -36,7 +38,7 @@ type alias Type = characters: (Dict.Dict Character.Ref Character.Type), error: (Maybe Error.Type), selection: Selection, - ui_scale: Float + ui: UI.Type } get_state : Type -> State @@ -50,7 +52,7 @@ reset model characters = characters = characters, error = Nothing, selection = None, - ui_scale = model.ui_scale -- TODO: move this into its own module. + ui = model.ui } invalidate : Type -> Error.Type -> Type diff --git a/src/battlemap/src/Model/RequestDirection.elm b/src/battlemap/src/Model/RequestDirection.elm index 44c4225..a8bdce5 100644 --- a/src/battlemap/src/Model/RequestDirection.elm +++ b/src/battlemap/src/Model/RequestDirection.elm @@ -4,10 +4,6 @@ import Dict import Battlemap import Battlemap.Direction -import Battlemap.Location - - -import Character import Model import Error diff --git a/src/battlemap/src/Shim/Model.elm b/src/battlemap/src/Shim/Model.elm index d9bd280..5169d23 100644 --- a/src/battlemap/src/Shim/Model.elm +++ b/src/battlemap/src/Shim/Model.elm @@ -2,6 +2,8 @@ module Shim.Model exposing (generate) import Dict +import UI + import Model import Shim.Battlemap @@ -51,5 +53,5 @@ generate = ) ) ), - ui_scale = 1.0 + ui = (UI.default) } diff --git a/src/battlemap/src/UI.elm b/src/battlemap/src/UI.elm new file mode 100644 index 0000000..5e0718e --- /dev/null +++ b/src/battlemap/src/UI.elm @@ -0,0 +1,36 @@ +module UI exposing + ( + Type, + Tab(..), + default, + get_zoom_level, + reset_zoom_level, + mod_zoom_level + ) + +type alias Type = + { + zoom_level : Float, + show_manual_controls : Bool + } + +type Tab = + NoTab + | StatusTab + | SettingsTab + +default : Type +default = + { + zoom_level = 1.0, + show_manual_controls = True + } + +get_zoom_level : Type -> Float +get_zoom_level ui = ui.zoom_level + +reset_zoom_level : Type -> Type +reset_zoom_level ui = {ui | zoom_level = 1.0} + +mod_zoom_level : Type -> Float -> Type +mod_zoom_level ui mod = {ui | zoom_level = (mod * ui.zoom_level)} diff --git a/src/battlemap/src/Update.elm b/src/battlemap/src/Update.elm index 754f7d4..6466ddf 100644 --- a/src/battlemap/src/Update.elm +++ b/src/battlemap/src/Update.elm @@ -2,6 +2,8 @@ module Update exposing (update) import Event +import UI + import Model import Model.RequestDirection import Model.SelectTile @@ -29,6 +31,6 @@ update event model = (Event.ScaleChangeRequested mod) -> if (mod == 0.0) then - ({model | ui_scale = 1.0}, Cmd.none) + ({model | ui = (UI.reset_zoom_level model.ui)}, Cmd.none) else - ({model | ui_scale = (mod * model.ui_scale)}, Cmd.none) + ({model | ui = (UI.mod_zoom_level model.ui mod)}, Cmd.none) diff --git a/src/battlemap/src/View.elm b/src/battlemap/src/View.elm index 22b617b..1b84971 100644 --- a/src/battlemap/src/View.elm +++ b/src/battlemap/src/View.elm @@ -1,11 +1,13 @@ module View exposing (view) import Dict + import Html import Html.Attributes -import View.Battlemap +import UI +import View.Battlemap import View.Controls import View.Status @@ -32,7 +34,7 @@ view model = [ (View.Battlemap.get_html model.battlemap - model.ui_scale + (UI.get_zoom_level model.ui) (Dict.values model.characters) ) ] |