-- | Stream filter

module Pdf.Core.Stream.Filter.Type
(
  StreamFilter(..)
)
where

import Data.ByteString (ByteString)
import System.IO.Streams (InputStream)

import Pdf.Core.Object

-- | Stream filter
data StreamFilter = StreamFilter {
  -- | as \"Filter\" key value in stream dictionary
  StreamFilter -> Name
filterName :: Name,
  -- | decode params -> content -> decoded content
  StreamFilter
-> Maybe Dict
-> InputStream ByteString
-> IO (InputStream ByteString)
filterDecode :: Maybe Dict
               -> InputStream ByteString
               -> IO (InputStream ByteString)
  }