on develop help sign in
connect HasTheme class constraint in Widget
commit214bfb18fd7b3b01c89bed83a74eac2aee041426 authorpdlla <chippermonky@gmail.com> dateSun 11 Apr 2021, 16:39 (6 years ago) parent0446287
1 file changed+14−6
src/Reflex/Vty/Widget.hs+14−6
src/Reflex/Vty/Widget.hs+14−6
@@ -35,6 +35,7 @@ mainWidgetWithHandle
3535 , HasDisplayRegion t m
3636 , HasFocusReader t m
3737 , HasInput t m
38+ , HasTheme t m
3839 ) => m (Event t ()))
3940 -> IO ()
4041mainWidgetWithHandle vty child =
@@ -45,12 +46,14 @@ mainWidgetWithHandle vty child =
4546 let inp' = fforMaybe inp $ \case
4647 V.EvResize {} -> Nothing
4748 x -> Just x
48− (shutdown, images) <- runFocusReader (pure True) $ runDisplayRegion (fmap (\(w, h) -> Region 0 0 w h) size) $
49− runImageWriter $
50− runNodeIdT $
51− runInput inp' $ do
52− tellImages . ffor (current size) $ \(w, h) -> [V.charFill V.defAttr ' ' w h]
53− child
49+ (shutdown, images) <- runThemeReader (constant V.defAttr) $
50+ runFocusReader (pure True) $
51+ runDisplayRegion (fmap (\(w, h) -> Region 0 0 w h) size) $
52+ runImageWriter $
53+ runNodeIdT $
54+ runInput inp' $ do
55+ tellImages . ffor (current size) $ \(w, h) -> [V.charFill V.defAttr ' ' w h]
56+ child
5457 return $ VtyResult
5558 { _vtyResult_picture = fmap (V.picForLayers . reverse) images
5659 , _vtyResult_shutdown = shutdown
@@ -69,6 +72,7 @@ mainWidget
6972 , MonadNodeId m
7073 , HasDisplayRegion t m
7174 , HasFocusReader t m
75+ , HasTheme t m
7276 , HasInput t m
7377 ) => m (Event t ()))
7478 -> IO ()
@@ -457,6 +461,10 @@ instance HasTheme t m => HasTheme t (BehaviorWriterT t x m)
457461instance HasTheme t m => HasTheme t (DynamicWriterT t x m)
458462instance HasTheme t m => HasTheme t (EventWriterT t x m)
459463instance HasTheme t m => HasTheme t (NodeIdT m)
464+instance HasTheme t m => HasTheme t (Input t m)
465+instance HasTheme t m => HasTheme t (ImageWriter t m)
466+instance HasTheme t m => HasTheme t (DisplayRegion t m)
467+instance HasTheme t m => HasTheme t (FocusReader t m)
460468
461469-- | A widget that has access to information about whether it is focused
462470newtype ThemeReader t m a = ThemeReader