25 lines
854 B
Haskell
25 lines
854 B
Haskell
module PDF.Content.Operator.GraphicState (
|
|
Operator(..)
|
|
, signature
|
|
) where
|
|
|
|
import PDF.Content.Operator.Common (Signature)
|
|
import PDF.Object (DirectObject(..))
|
|
|
|
data Operator =
|
|
C_m | W_ | J | J_ | M | D_ | R_i | I_ | G_s -- general graphic state
|
|
deriving (Bounded, Enum, Show)
|
|
|
|
signature :: [Signature Operator]
|
|
signature = [
|
|
(C_m, \l -> case l of [_, _, _, _, _, _] -> True ; _ -> False)
|
|
, (W_, \l -> case l of [_] -> True ; _ -> False)
|
|
, (J, \l -> case l of [_] -> True ; _ -> False)
|
|
, (J_, \l -> case l of [_] -> True ; _ -> False)
|
|
, (M, \l -> case l of [_] -> True ; _ -> False)
|
|
, (D_, \l -> case l of [_, _] -> True ; _ -> False)
|
|
, (R_i, \l -> case l of [_] -> True ; _ -> False)
|
|
, (I_, \l -> case l of [_] -> True ; _ -> False)
|
|
, (G_s, \l -> case l of [NameObject _] -> True ; _ -> False)
|
|
]
|