Work on menus
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
module Dodge.Render.List where
|
||||
|
||||
--import LensHelp
|
||||
import Data.Foldable
|
||||
import Data.Maybe
|
||||
import Data.Set (Set)
|
||||
@@ -12,6 +13,7 @@ import Dodge.Data.SelectionList
|
||||
import Geometry
|
||||
import ListHelp
|
||||
import Picture
|
||||
import LensHelp
|
||||
|
||||
drawSelectionList :: Configuration -> SelectionList -> Picture
|
||||
drawSelectionList cfig sl =
|
||||
@@ -22,13 +24,18 @@ drawSelectionList cfig sl =
|
||||
(_slPosY sl)
|
||||
cfig
|
||||
(_slOffset sl)
|
||||
(concatMap _siPictures (_slItems sl))
|
||||
(makeSelectionListPictures sl)
|
||||
<> drawSelectionCursor cfig sl
|
||||
|
||||
makeSelectionListPictures :: SelectionList -> [Picture]
|
||||
makeSelectionListPictures sl = case sl ^. slSizeRestriction of
|
||||
SelectionSizeRestriction {} -> concatMap (_siPictures . fst) $ _slShownItems sl
|
||||
_ -> concatMap _siPictures $ _slItems sl
|
||||
|
||||
drawSelectionCursor :: Configuration -> SelectionList -> Picture
|
||||
drawSelectionCursor cfig sl = fromMaybe mempty $ do
|
||||
i <- _slSelPos sl
|
||||
selit <- (filter _siIsSelectable lis) !? i
|
||||
selit <- filter _siIsSelectable lis !? i
|
||||
f <- case _slCursorType sl of
|
||||
BorderCursor cps -> Just $ listCursorChooseBorderScale (_slVerticalGap sl) (_slScale sl) cps
|
||||
NoCursor -> Nothing
|
||||
|
||||
Reference in New Issue
Block a user