packages feed

hxournal-0.6.2: lib/Application/HXournal/Type/Clipboard.hs

{-# LANGUAGE TemplateHaskell #-}

module Application.HXournal.Type.Clipboard where

import Control.Category
import Data.Label 
import Prelude hiding ((.), id)

import Data.Xournal.BBox

newtype Clipboard = Clipboard { unClipboard :: [StrokeBBox] }

emptyClipboard :: Clipboard
emptyClipboard = Clipboard []

isEmpty :: Clipboard -> Bool 
isEmpty = null . unClipboard 

getClipContents :: Clipboard -> [StrokeBBox] 
getClipContents = unClipboard

replaceClipContents :: [StrokeBBox] -> Clipboard -> Clipboard
replaceClipContents strs _ = Clipboard strs 

data SelectType = SelectRegionWork 
                | SelectRectangleWork 
                | SelectVerticalSpaceWork
                | SelectHandToolWork 
                deriving (Show,Eq) 

data SelectInfo = SelectInfo { _selectType :: SelectType
                             }
             deriving (Show) 

$(mkLabels [''SelectInfo])