From 459488a2e777380fcb65e3b4dd355fe525ff77ca Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Tue, 24 Dec 2024 22:28:38 +0530 Subject: Add search mode for text based searching with ocr --- src/Chelleport/View.hs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/Chelleport/View.hs') diff --git a/src/Chelleport/View.hs b/src/Chelleport/View.hs index fe06fd7..1a4f1f8 100644 --- a/src/Chelleport/View.hs +++ b/src/Chelleport/View.hs @@ -10,7 +10,19 @@ import qualified Data.Text as Text import Foreign.C (CInt) render :: (MonadDraw m) => State -> m () -render state = do +render state = case stateMode state of + ModeHints -> renderHintsView state + ModeSearch {searchFilteredWords} -> renderSearchView state searchFilteredWords + +renderSearchView :: (MonadDraw m) => State -> [OCRMatch] -> m () +renderSearchView state matches = do + renderGridLines state + setDrawColor colorWhite + forM_ matches $ \(OCRMatch {matchStartX, matchStartY, matchEndX, matchEndY}) -> do + fillRectVertices (matchStartX, matchStartY) (matchEndX, matchEndY) + +renderHintsView :: (MonadDraw m) => State -> m () +renderHintsView state = do renderGridLines state (wcell, hcell) <- cellSize state -- cgit v1.3.1