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