qrcode-core-0.8.0: src/Codec/QRCode/Intermediate.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Codec.QRCode.Intermediate
(
-- * Generators
-- | The results of the different generators can be appended using `<>`.
mixed
, automatic
, text
, binary
, kanji
, alphanumeric
, numeric
, eci
-- * Intermediate
, intermediate
-- * Encoder
, encode
-- * Re-Exports
, module Codec.QRCode.Data.ErrorLevel
, module Codec.QRCode.Data.Mask
, module Codec.QRCode.Data.QRImage
, module Codec.QRCode.Data.QRCodeOptions
, module Codec.QRCode.Data.QRIntermediate
, module Codec.QRCode.Data.QRSegment
, module Codec.QRCode.Data.Result
, module Codec.QRCode.Data.TextEncoding
, module Codec.QRCode.Data.ToInput
) where
import Codec.QRCode.Code.Intermediate
import Codec.QRCode.Data.ErrorLevel
import Codec.QRCode.Data.Mask
import Codec.QRCode.Data.QRCodeOptions
import Codec.QRCode.Data.QRImage
import Codec.QRCode.Data.QRIntermediate
import Codec.QRCode.Data.QRSegment
import Codec.QRCode.Data.Result
import Codec.QRCode.Data.TextEncoding
import Codec.QRCode.Data.ToInput
import Codec.QRCode.Mode.Alphanumeric
import Codec.QRCode.Mode.Automatic
import Codec.QRCode.Mode.Byte
import Codec.QRCode.Mode.ECI
import Codec.QRCode.Mode.Kanji
import Codec.QRCode.Mode.Mixed
import Codec.QRCode.Mode.Numeric
-- | Convert segments into an intermediate state.
-- This is the first point where it can be guaranteed that there will
-- be an result. The Version and ErrorLevel is already determined at
-- this point.
intermediate :: QRCodeOptions -> QRSegment -> Result QRIntermediate
{-# INLINE intermediate #-}
intermediate = toIntermediate
-- | Convert the intermediate state into an image.
encode :: QRIntermediate -> QRImage
{-# INLINE encode #-}
encode = fromIntermediate