aboutsummaryrefslogtreecommitdiff
path: root/ql-print/main.go
diff options
context:
space:
mode:
authorPřemysl Janouch <p@janouch.name>2019-04-14 22:30:40 +0200
committerPřemysl Janouch <p@janouch.name>2019-04-14 22:30:40 +0200
commit1331f3b5642f521236fcb1ec21ee43d5b76c0b91 (patch)
tree1213c2f2014cf0eff5a4a881b02cbebf91a604b8 /ql-print/main.go
parent7d9410c6b3a724e3670941f7ec2d00e7966d0b1a (diff)
downloadsklad-1331f3b5642f521236fcb1ec21ee43d5b76c0b91.tar.gz
sklad-1331f3b5642f521236fcb1ec21ee43d5b76c0b91.tar.xz
sklad-1331f3b5642f521236fcb1ec21ee43d5b76c0b91.zip
Move commands under cmd/
Diffstat (limited to 'ql-print/main.go')
-rw-r--r--ql-print/main.go88
1 files changed, 0 insertions, 88 deletions
diff --git a/ql-print/main.go b/ql-print/main.go
deleted file mode 100644
index d0c986d..0000000
--- a/ql-print/main.go
+++ /dev/null
@@ -1,88 +0,0 @@
-package main
-
-import (
- "image"
- _ "image/gif"
- _ "image/jpeg"
- _ "image/png"
-
- "flag"
- "fmt"
- "log"
- "os"
-
- "janouch.name/sklad/imgutil"
- "janouch.name/sklad/ql"
-)
-
-var scale = flag.Int("scale", 1, "integer upscaling")
-var rotate = flag.Bool("rotate", false, "print sideways")
-
-func main() {
- flag.Usage = func() {
- fmt.Fprintf(os.Stderr, "Usage: %s IMAGE\n", os.Args[0])
- flag.PrintDefaults()
- }
-
- flag.Parse()
- if flag.NArg() != 1 {
- flag.Usage()
- os.Exit(1)
- }
-
- // Open the picture.
- f, err := os.Open(flag.Arg(0))
- if err != nil {
- log.Fatalln(err)
- }
- defer f.Close()
-
- // Load and eventually transform the picture.
- img, _, err := image.Decode(f)
- if err != nil {
- log.Fatalln(err)
- }
- if *scale > 1 {
- img = &imgutil.Scale{Image: img, Scale: *scale}
- }
- if *rotate {
- img = &imgutil.LeftRotate{Image: img}
- }
-
- // Open and initialize the printer.
- p, err := ql.Open()
- if err != nil {
- log.Fatalln(err)
- }
- if p == nil {
- log.Fatalln("no suitable printer found")
- }
- if err := p.Initialize(); err != nil {
- log.Fatalln(err)
- }
- if err := p.UpdateStatus(); err != nil {
- log.Fatalln(err)
- }
-
- // Check the picture against the media in the printer.
- mi := ql.GetMediaInfo(
- p.LastStatus.MediaWidthMM(),
- p.LastStatus.MediaLengthMM(),
- )
- if mi == nil {
- log.Fatalln("unknown media")
- }
-
- bounds := img.Bounds()
- dx, dy := bounds.Dx(), bounds.Dy()
- if dx > mi.PrintAreaPins {
- log.Fatalln("the image is too wide,", dx, ">", mi.PrintAreaPins, "pt")
- }
- if dy > mi.PrintAreaLength && mi.PrintAreaLength != 0 {
- log.Fatalln("the image is too high,", dy, ">", mi.PrintAreaLength, "pt")
- }
-
- if err := p.Print(img); err != nil {
- log.Fatalln(err)
- }
-}