movie-monad-0.0.2.0: src/Fullscreen.hs
{-
Movie Monad
(C) 2017 David lettier
lettier.com
-}
module Fullscreen where
import Control.Monad
import Data.IORef
import qualified GI.Gdk
import qualified GI.Gtk
import qualified Records as R
addFullscreenButtonReleaseHandler :: R.Application -> IO ()
addFullscreenButtonReleaseHandler
application@R.Application {
R.guiObjects = R.GuiObjects {
R.fullscreenButton = fullscreenButton
}
}
=
void $ GI.Gtk.onWidgetButtonReleaseEvent fullscreenButton (fullscreenButtonReleaseHandler application)
fullscreenButtonReleaseHandler ::
R.Application ->
GI.Gdk.EventButton ->
IO Bool
fullscreenButtonReleaseHandler
R.Application {
R.guiObjects = R.GuiObjects {
R.window = window
, R.fileChooserButton = fileChooserButton
, R.videoWidthSelectionComboBox = videoWidthSelectionComboBox
}
, R.ioRefs = R.IORefs {
R.isWindowFullScreenRef = isWindowFullScreenRef
}
}
_
= do
isWindowFullScreen <- readIORef isWindowFullScreenRef
if isWindowFullScreen
then do
GI.Gtk.widgetShow videoWidthSelectionComboBox
GI.Gtk.widgetShow fileChooserButton
void $ GI.Gtk.windowUnfullscreen window
else do
GI.Gtk.widgetHide videoWidthSelectionComboBox
GI.Gtk.widgetHide fileChooserButton
void $ GI.Gtk.windowFullscreen window
return True