Add connector between terminal button and temrinal display
This commit is contained in:
@@ -5,6 +5,7 @@ module Dodge.Render.Connectors (
|
|||||||
zConnectCol,
|
zConnectCol,
|
||||||
zConnectColMidX,
|
zConnectColMidX,
|
||||||
lConnect,
|
lConnect,
|
||||||
|
lConnectCol,
|
||||||
lConnectMulti,
|
lConnectMulti,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
@@ -42,6 +43,10 @@ zConnectColMidX (V2 x y) (V2 a b) midx c1 c2 c3 c4 =
|
|||||||
lConnect :: Point2 -> Point2 -> Picture
|
lConnect :: Point2 -> Point2 -> Picture
|
||||||
lConnect sp@(V2 _ y) ep@(V2 x _) = line [sp, V2 x y, ep]
|
lConnect sp@(V2 _ y) ep@(V2 x _) = line [sp, V2 x y, ep]
|
||||||
|
|
||||||
|
lConnectCol :: Point2 -> Point2 -> Color -> Color -> Color -> Picture
|
||||||
|
lConnectCol sp@(V2 _ y) ep@(V2 x _) c1 c2 c3 = lineCol
|
||||||
|
$ zip [sp, V2 x y, ep] [c1,c2,c3]
|
||||||
|
|
||||||
-- this function is the reason for the incomplete-uni-patterns warning suppression
|
-- this function is the reason for the incomplete-uni-patterns warning suppression
|
||||||
lConnectMulti :: [Point2] -> Point2 -> Picture
|
lConnectMulti :: [Point2] -> Point2 -> Picture
|
||||||
lConnectMulti sps (V2 x y) =
|
lConnectMulti sps (V2 x y) =
|
||||||
|
|||||||
@@ -389,17 +389,21 @@ drawTerminalDisplay w cfig tid = fold $ do
|
|||||||
drawTerminalCursorLink :: World -> Config -> Terminal -> Picture
|
drawTerminalCursorLink :: World -> Config -> Terminal -> Picture
|
||||||
drawTerminalCursorLink w cfig tm = fold $ do
|
drawTerminalCursorLink w cfig tm = fold $ do
|
||||||
j <- elemIndex (tm ^. tmButtonID) $ w ^. hud . closeButtons
|
j <- elemIndex (tm ^. tmButtonID) $ w ^. hud . closeButtons
|
||||||
return . translateScreenPos cfig (invDP ^. ldpPos)
|
lp <- selNumPos cfig invDP (w^. hud . diSections) 5 j
|
||||||
$ selSecDrawCursor invDP
|
let rp = screenPosAbs cfig (secondColumnLDP ^. ldpPos) - V2 5 10
|
||||||
|
lcol <- selSecSelCol 5 j (w ^. hud . diSections)
|
||||||
|
return $ translateScreenPos cfig (invDP ^. ldpPos)
|
||||||
|
(selSecDrawCursor invDP
|
||||||
(BoundaryCursor [North,South,East,West])
|
(BoundaryCursor [North,South,East,West])
|
||||||
(w ^. hud . diSections)
|
(w ^. hud . diSections)
|
||||||
(Just (5,j))
|
(Just (5,j)))
|
||||||
|
<> lConnectCol (lp + V2 155 0) rp lcol white white
|
||||||
|
|
||||||
lnkMidPosInvSelsCol :: Config -> World -> Int -> Color -> [Int] -> Picture
|
lnkMidPosInvSelsCol :: Config -> World -> Int -> Color -> [Int] -> Picture
|
||||||
lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f
|
lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f
|
||||||
where
|
where
|
||||||
f j = do
|
f j = do
|
||||||
sss <- w ^? hud . diSections
|
let sss = w ^. hud . diSections
|
||||||
combinesss <- w ^? hud . subInventory . ciSections
|
combinesss <- w ^? hud . subInventory . ciSections
|
||||||
lp <- selNumPos cfig invDP sss 0 j
|
lp <- selNumPos cfig invDP sss 0 j
|
||||||
rp <- selNumPos cfig secondColumnLDP combinesss 0 i
|
rp <- selNumPos cfig secondColumnLDP combinesss 0 i
|
||||||
|
|||||||
Reference in New Issue
Block a user