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)
|
||
|
]
|