build-type: Simple cabal-version: >= 1.8 name: binary-file version: 0.12.8 stability: experimental author: Yoshikuni Jujo maintainer: Yoshikuni Jujo license: BSD3 license-file: LICENSE category: File synopsis: read/write binary file description: > runghc -XQuasiQuotes exam.hs some.bmp out.bmp . exam.hs: . > import File.Binary > import File.Binary.Data.LittleEndian > import System.Environment > import Data.ByteString as BS > > main = do > [inf, outf] <- getArgs > > cnt <- BS.readFile inf > let bmp = readBitmap $ cnt `BS.append` replicate 20 ' ' > print bmp > > let out = writeBitmap bmp { > authorFirst = "Yoshikuni ", > authorSecond = "Jujo " > } > BS.writeFile outf out > > instance RetType (Int, Int, Int) where > type Argument (Int, Int, Int) = () > fromType _ (b, g, r) = cc $ [ > fromType 1 b, fromType 1 g, fromType 1 r, zero] > toType _ str = let > (b, rest) = toType 1 str > (g, rest') = toType 1 rest > (r, rest'') = toType 1 rest' in > ((b, g, r), dp 1 rest'') > > [binary| > > Bitmap > > 2: "BM" > 4: fileSize > 2: 0 > 2: 0 > 4: offset > > 4: 40 > 4: bitmapWidth > 4: bitmapHeight > 2: 1 > 2: bitsPerPixel > 4: compressionMethod > 4: imageSize > 4: horizontalResolution > 4: verticalResolution > 4: numberOfColors > 4: importantColors > ((), Just numberOfColors)<[(Int, Int, Int)]>: colors > imageSize: image > > ((), Just 10): authorFirst > ((), Just 10): authorSecond > > |] . extra-source-files: examples/readPNG.hs source-repository head type: git location: git://github.com/YoshikuniJujo/binary-file.git source-repository this type: git location: git://github.com/YoshikuniJujo/binary-file.git tag: 0.12.7 library hs-source-dirs: src exposed-modules: File.Binary, File.Binary.Data.LittleEndian, File.Binary.Data.BigEndian other-modules: QuoteBinaryStructure, ParseBinaryStructure, Classes build-depends: base > 3 && < 5, template-haskell, peggy, bytestring ghc-options: -Wall