-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Haskell bindings for libqrencode.
--   
--   Haskell bindings for libqrencode. Libqrencode is a C library for
--   encoding data in a QR Code symbol, a kind of 2D symbology that can be
--   scanned by handy terminals such as a mobile phone with CCD. The
--   capacity of QR Code is up to 7000 digits or 4000 characters, and is
--   highly robust.
@package haskell-qrencode
@version 1.0.4


-- | Haskell bindings for libqrencode.
--   <a>http://fukuchi.org/works/qrencode/index.en.html</a>
--   
--   Libqrencode is a C library for encoding data in a QR Code symbol, a
--   kind of 2D symbology that can be scanned by handy terminals such as a
--   mobile phone with CCD. The capacity of QR Code is up to 7000 digits or
--   4000 characters, and is highly robust.
module Data.QRCode

-- | create a QR code from a ByteString
encodeByteString :: ByteString -> Maybe Int -> QREncodeLevel -> QREncodeMode -> Bool -> IO QRcode

-- | create a QR code from a String
encodeString :: String -> Maybe Int -> QREncodeLevel -> QREncodeMode -> Bool -> IO QRcode
getQRCodeVersion :: QRcode -> Int
getQRCodeWidth :: QRcode -> Int
getQRCodeString :: QRcode -> ByteString

-- | Convert a QRcode to a matrix of ones and zeros (1 = On, 0 = Off)
toMatrix :: QRcode -> [[Word8]]
data QREncodeLevel
QR_ECLEVEL_L :: QREncodeLevel
QR_ECLEVEL_M :: QREncodeLevel
QR_ECLEVEL_Q :: QREncodeLevel
QR_ECLEVEL_H :: QREncodeLevel
data QREncodeMode

-- | Numeric mode
QR_MODE_NUM :: QREncodeMode

-- | Alphabet-numeric mode
QR_MODE_AN :: QREncodeMode

-- | 8-bit data mode
QR_MODE_EIGHT :: QREncodeMode

-- | Kanji (shift-jis) mode
QR_MODE_KANJI :: QREncodeMode
instance Show QRcode
instance Read QRcode
instance Show QRcodeStruct
instance Storable QRcodeStruct
