{-# 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