From 6e6145541dc518823671fd506d0bdcb8007f01d5 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Thu, 15 Sep 2022 22:45:30 +0900 Subject: [PATCH] examples/keyboard/keyboard: use go:embed Updates #1258 --- examples/keyboard/keyboard/gen.go | 15 ++++--------- .../resources/images/keyboard/keyboard.go | 21 ++++++++++++++++-- .../resources/images/keyboard/keyboard.png | Bin 0 -> 3141 bytes 3 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 examples/resources/images/keyboard/keyboard.png diff --git a/examples/keyboard/keyboard/gen.go b/examples/keyboard/keyboard/gen.go index 8678d1b5c..94e7ae830 100644 --- a/examples/keyboard/keyboard/gen.go +++ b/examples/keyboard/keyboard/gen.go @@ -18,13 +18,11 @@ package main import ( - "bytes" "image" "image/color" "image/png" "log" "os" - "os/exec" "path/filepath" "text/template" @@ -234,18 +232,13 @@ func outputKeyboardImage() (map[ebiten.Key]image.Rectangle, error) { y += height } - var buf bytes.Buffer - if err := png.Encode(&buf, img); err != nil { + out, err := os.Create(filepath.Join("..", "..", "resources", "images", "keyboard", "keyboard.png")) + if err != nil { return nil, err } + defer out.Close() - cmd := exec.Command("go", "run", "github.com/hajimehoshi/file2byteslice/cmd/file2byteslice@v1.0.0", - "-output", "../../resources/images/keyboard/keyboard.go", - "-package", "keyboard", - "-var", "Keyboard_png") - cmd.Stdin = &buf - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { + if err := png.Encode(out, img); err != nil { return nil, err } diff --git a/examples/resources/images/keyboard/keyboard.go b/examples/resources/images/keyboard/keyboard.go index 9b0a635ab..20da0a3ad 100644 --- a/examples/resources/images/keyboard/keyboard.go +++ b/examples/resources/images/keyboard/keyboard.go @@ -1,5 +1,22 @@ -// Code generated by file2byteslice. DO NOT EDIT. +// Copyright 2022 The Ebitengine authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. package keyboard -var Keyboard_png = []byte("\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01@\x00\x00\x00\xf0\b\x06\x00\x00\x00q-\xbdk\x00\x00\f\fIDATx\x9c\xec\xdd\xe9r쨖\x06\xd0tG\xbd\xff+\xbb\xe3tWF\xa8t@\x03 1\xec\xb5~\xdd[\xf6\x16\xa0\xe1K$99\xff|6~\x7f\x7f\x7f?\x0f\xfb\xf9\xf9\xf9\xc9\xfd\xecJ\xfb\xeaի\x1f\xb3~jo\x84\xdfQ;W\xdbW\xaf^\xfdx\xf5S{{P\xfb\xf6\uedaf^\xbd\xfaq\xea\xa7\xd6k0\xdfvK\xdbW\xaf^}\xff\xfa\xd9\xfdO\xef\x0e\x00\xf4\xf2\xcf\xfe?\x1c%\xfb\xdb\x0f@\xbf}\xb9\xdbnj\fw\xb6\x91\xdb\a5\xfd\xb8Z\xfbD\xdb-گ\xd9\xc6\xdb\xc7o\xbf\x8d\x99\x1e\xdc\xff\xe9w\xab\xfe\xb6\xdc֪\xfe\n\xc0\xaf\xde;\xaevj\xbe\xed\xff○\x8ei_\xbb\xffow\xfaQ\xaaf\xff\x97\xf69\xd7\xfe\x9d\xb1\xe4\xf6\xff\xdd\xf0\xac9~\xdb߽[\xdb۟~\xb6\xeao\xcbm\xad*\x1b\x80G\xce>\xa1[\xccb\xbe\a\xefn\xdf\xf6m\xd4\x04Qm\xf8\x95\x8e\xe1\xd3`\x06Wz\xd2\xe7\xf6_\xc9>\xe8q\xe1\xa5\xf6ۛ!\xd8b\x06\xdd:\x04k\xb7\xb1\xb2l\x00\xe6.\xc0\xb3\v\xa2\xc5죅\x96\xb7a\xb53\x98;Ru%\x17p\xed\xf8?\x85cن~M}χ\xec5\x1f\xe0\xad\xce{\xb3\xb7wܾ\x05Ν\xa0#\x1d\xa8\x16}\xab\xb9\x05K\xf5\xe1퓹U\xffkf~\xa5A\xd8r\x16_\xa2\xc5\xe3\x87\x16\xdb\x15\x82\xcf+\xba\x05N\x9d\xa0\xa3\x1c\xa8ڇ߽o!G\x99A\xb7\xb0\x0f\xc2\x12%\xe1\x99:\x1f\xdfڟ\xad\xdb\x11\x82Ϻ|\v\xfc9y\xa6\xf5=@G\xb70\xa5o\x11[\xbd\x88\xb8z\v\xd3s\x86[\xdb\xfe(\xfdO\xfd\xf7\xabۨ\xed\xfb~\x1f\xcc\x1e\x1eB\xf09\x7f\x05\xe0\xd9N~\xe39H\xab\xb7\x97=\xb7Q\xb3\xad\x9e\xfb\xaf\xc56f\xef\xff\x88V\x1b\xcfP\xde~ƒ\x9b\xe1\xa9W\xaf~\xbe\xfa%\xbc5\xa8\\;W\xdbW\xaf^\xfdx\xf5\xb3z\xfdm\xdb\xd1T\xfeJ\xfb\xeaի\x1f\xb3\x1e\x80\x89X\f\x01\b\xeb\xf5\x15\xa1ό<\xc5W\xaf~\xf4\xfa\xa7-{\v<\xc2\xce\xfd\f\xfc\x90W\xbd\xfa\x19\xea\x9f6J?\x9a\x1amP\xa3\xbd\xe6W\xaf~\xa6\xfa\xa7\x8d֟*\xa3\x0e\xe6ۯ\xd2\xfe\xa9W\x1f\xb9\xfei\xa3\xf6\xeb./A\x80\xb0\x92\xdf\x05Υ\xfb\x95\a\xa0\xdf\xda'\x1f\x96\xa6\xfaW\xb3\xd8\xc0\x9d>\x1f}\xf2\xd5\xd4\xd7|W\xf6\xee6\xf6\xe3-\x19\x7f\xe9\xfek\xd9\xffV\xb5w\xeas\xdby\xeb\xbb\xceW\xfa_\xb3\xfdh\x92\x01Xra\xbc%w\x01\xfev\\n\xaa\xb6\xfen\xffG>>W\xd4\xf4\xbf\xd5\xf1ou\xfe\xd4\xd4\xd4\xdcF\xe6\xfa\x9f\xfap{\xfbژ\xc9#+B\xa7~g\xc4\x03\xe0\xc4`u\xce\xefc\x8f\xad\a\xd8{\x86v\xa6\xd5C\xea\xafұ\xf5x\x98\x9cZ2k\xa4cù\xdc\xf9\xd7{9\xb4\xd94\x9b\x01\xf6г\x1f\xb5'T\xef\xf0I\xdd.E2{@\x1cM0\xaeLP\xf8\x7f\xb7\xdf\x02o/\x9a\xafGzvAn\xc6YR\xff\xb6\xa3\x87\xd6<\xefg\xa7w\x7fZI\xcd\xfeȻ=\x03\xccM\xb1\xcf~\xde\xea$\xcbݾ\x95>\x04\xff)\xfc\x97\xdbj\xdeDn\x7f\x7f{+>Å\xd8\xe2\xf8\xeek\xef\xccDG\xbbūy\x91Ӣ\xdd/\xb7\xc0e\x0e\x030\xb7\xd3\xcev\xe6\xd3;;\xb5\xfd\xbboPKj\xef\xfe\xee\x95\xfa\x9a\xed\xb5\xee\xcb\xe8\xed\xb6\xa8o\xf9Ar\xfd\xd3F\xe9G+\xaf\xaf\b}\xe6h\xfa~\xa5\x7f\xea\xd5G\xae\x7f\x9a\xdbk\x80EX\f\x01\bk\xb8\x15\xa1\xcf\xf4\xbe\xc5P\xaf\xbeg}o\xcb\xde\x02ϰ\xf3?\x03N\xc8}@\xcfx\xfd\xdeU\x14\x80W\x8d\xf0\f\xa6D\xeaDx\xfbdh\xb9lSɾ8\x9aQ\xbc\xa9\xd7E8{\x00\x9f\xb9rLW\x0f\xbfO\xea-pj\x9a\x9c\x9a\x11\x8d\xeeg\xe3N]뱾}!\x1d\xdd漡\xd5\xfe\x1b%\x80W\xf5\x93лO=d\xffY\xcc\xfd\x89\xdcr\a\x9d=\xa3\xe8\xa9\xd5-p\xcfg'\xb91\xf4l\xbb\xf4\xf9\xeb\xef\xe6\xef\xe5\xdez\x9b?\xc2\xf9x\xf6\x9c\xae\xd4(\x8fxF\x91\xbd\x05\xbe\xb2Cr\xbfsV\xfb\xe4\xceNm\xfb\xcd7\xb0\xbd\x9f\x1d\xd5ng\xb4\xfd\xd7\xeb\xc5UM\xfd\x93m\xdf9>#^\x9fC\x9a\xed\x16#7\x83T\xaf>B}o\xb3\xf5\xf7\x92Y\x06\x95\xeb\xe7\xd5\xfe\xabW?s}o\xb3\xf4\xf3\xaaÿ\xef\x1b\xd1\xd1\xf4\xbc\xf6͖z\xf5\xa3\xd7\xf7\x16\xee\xf6\x18`U\x16C\x00\u009anE\xe83\xbdoQԫ\xaf\xa9\x1fݲ\xb7\xc0+\x1c\x9c\xcf\x00\x0f\xa9ի\xaf\xa9\x1f\xdd*\xe3\xf8\x8f\xd5\x06\xd5\xfb\xcf\x14ԫ\xaf\xa9\x1f\xddR\xe3Yj0\x1b\xdfq\x95\x8eO\xbd\xfa\x9e\xf5\xa3[e\\^\x82\x00a\x1d.\x88\xfau\xb6\x9cNΕ\xdfݶ\x95Z\x85\xe5j[W\x1d}r\x95\x8e\xa9\xa4\x9fG\xfb\xf8\xc9\xf6s\xe3\x7f\xbb\xfd\xda\xfd7\x9a\xdf\x00KG\xad\xe8\xaf\x19\xe0\xf6d\xac]Y\xe4l\x95\x89T[Ok\xb5\x02F\xcd-N\xcb}\\j\xbf\x0fj\x9fsݵ\xd2-\xa2\xf0\x9b\xd7\xe9z\x80\xb9\x03{6\x83\xb92\xb3\xdb\xff\xff\xdc\xc5\xf8\xd4\fᨏ9\xfb\x15J\xee֧\xc62\xeb\xc5S{\xe1\v?z\xfb+\x00\xaf.\x97\xb3\xbf\x85ٟ\b?\a\vq\xee\x83.\xb7\xed'o\x8dJ\xc2k\xfb\xfb5\xf5-|\xf7w\xedC\xfa\xaf\xd21\xac\x10b\xa5\x84\xdf\xfc\x92/AR\xb7\x89+\x9d\xe8\xb5\xe1\xd5\xf3\xcf\x1cR\xcf\xce\xf6\xff\xfd\xeavj\x8eo\xed\x85\xff\xad\x9f5@\x84\xdf\x1a\x92\xcf\x00W\n\xbb\xbd\x96\xe1\x97\v\xa3#\xa9\xc0\xb9\xbbϏf\xe3oj\x15\x82%j\xcfӚz᷎\xe2[\xe0#o=ëU3\xc6\xed\f\xa6d\xf6\xb4\xdfǥ\xb7\xe1\xadn]K\xb7Ss\x1b>#ᷖ\xec\x92\xf8\xb9\x82\xd4\xcfJg$g\xbf\xf7ĉ\xf6Ĭ\xa5d\x9b-\xc6֣\xdd\xda\xf1\xb7\xd8\x7f->Pk\x02\xbf\xb4M\x06\xb5\xda'x\xed3:\xf5\xea{֏n\xb5\xf1\xfc\x9fU\x06\x95\x1b\xc7\xd5\xf1\xa9W߳~t\xab\x8c\xe3k\xba\x15\xa1\xcf\x1cݢ\\\x19\x9fz\xf5=\xebG\xe7\x11\x00\xc0\",\x86\x00\x84\xb5܊\xd0gzߢ\xf4n\x7fv\xbd\xf7_\xef\xf6{[\xf6\x168\xc2\xc1\xfb\f\xf0\x90\xbaw\xfb\xb3\xeb\xbd\xffz\xb7\xdfے\xe3\\rP\az\xff\x99B\xef\xf6g\xd7{\xff\xf5n\xbf\xb7\xa5ƻ\xd4`n\xf8M\xac\xe8\x12\xa9\xfd\xd9\xf5\xde\x7f\xbd\xdb\xefm\x95q{\t\x02\x84u\xba\x1e`Tg\xdfӽ\xf2=\xdeүl\xb5\xfa\x9e.p\xcc\f0a\x1f\\\xa9\xe9\xfeS\xa1\xb4m{ť\xc8`$f\x80;\xfb\xf0ۮ\xdcrw\xd5\xe7\xdc6\xef8[M;\xf5{g\x81}\xb6\x8d7\x03\x1fz\x12\x80\x0f\xa8YѺŊܩ\xd0\xfcݭ }\xe7\xb6\xfd\xee\a\x00\xccB\x00f\xf4\xbc\xed<\n\xb0+\xf5-\xfa\ued9b\b\x04`F\xc9j\xcf-\\\x9d5\xe6f\x88\xb9\x19\xdc\xdd~\x98\xed\x11\x81\x00,\xd0\xf2\x19\xdf^\xc9-\xf0\x95\xfa+?\xff\xbex\xb9\xd2>\xac@\x00\uef39\xe2u뺫\xf5=V\xe2\x86aE{\xde\xd3\xfb\xabL\xbd۟]\xef\xfd\u05fb\xfdޖ\x1c\uf483J\xe8\xfde\xf6\xde\xedϮ\xf7\xfe\xeb\xdd~o\xab\x8ds\xb9\x15\xa1\xcf\xf4^Ψw\xfb\xb3\xeb\xbd\xffz\xb7ߛ\xc7#\x00\x8b\xf0U8 ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x96\xfaw\x81g\xf8Gi\xfc\xa32@s3\x84\xdfg\xa2~\x02\x93\x98-Tf\xeb/0\xa8Y\xc3d\xd6~\xc3J\xbc\x04\x01\xc2Z.\x00\x7f\xffu\xf6\xdf\x00\x96\v@\x80\xab\x96\xfa3\x98+r3A\x7f\x9e\x02\xf1\x84\x9d\x01\xfel|\xbc\x94\x80\x90\xc2\x06 @\xb8[\xe0\xaf\xfd\x8c\xcf-0ij\\\x00\xfe\t\xb2\xd4[\xdf}\xc0\t<`\xb9\x00\xfc\b7 \x92\xd9^`\xcc\xd6_`p\xb3\x84\xca,\xfd\x84\b\x96\xbaU\x9c!\\ܞ\x03\x00\xdd\xf9;@ \xac\xff\xbc\x05\x9e\xfd\x16R\xff\x9f\xe7\x16\x9e%\xcdp\xf1}\x0e\xfa\xa9\xff\uf625\x9fp\xd9l'uj\xb9\xab~\xbd\xb9o\xb5\xfeôf=\x99\xbf\xfd\xd6\xff>f\xed7ly\t\x02\x84\x95\xfc*\xdc\xf7ӽ\xc5\x03\xef\xedLa\xbf\xbd\x96\xed\xa4\xda˵;\xb2;\xeb\x15\x96\xec\xbf;5O\x1c\x1f\x18ɣ\xdf\x05\xeey\x01m\xd7\xf9\xfbc\xb6\x8bx\xdb\xdf\xdc\x18f\x1b\x13\x8c\xa6(\x00\xcffY\xb9\x87\xfc\xb9\xc5G\x9f\f\xca\xed\xea0G\x8b\x9fn\x7f\xf6\xad\xd9\xd6\xef\xffw\xae\xfe-Wf\xd6{G\xc7\xe8\xce\xf1\x83U\xdc\x0e\xc0\xd4Ű\x0f\x98}\xd0\xe4f.=.\xac+\xfd\xbf\xa2\xb6\xfen\x7fS\xed\xa7~\x96\x1b_\xaa~\xfb\xf3;\xc7\x0fVQ|\v\xec-\u0ccefx@\x1b\xc5\x018\xcbE9\xeb,f;û3\xbb\xcc-\b\v\xfc\xed0\x00Sω\xae\xae\xb8\xdc[n\x06u\xd6\xff\xfd\xade\xcf Ʌ\xe0\xd93\xba\xab\xcf\x04!\xbcY/\x8eU\xfe\x90\xf8\x89\xfe\xff&<\xd1F\xebmB\x17\xb3\x9d̹\x19\xd0,V\xeb?Lo\x96\x93:\xd7O\xfd\x7f\xc7,\xfd\x84+\xa6{V\xb4\xf2rR\xb3\xf7\x1f\x00\x98\x84\xc5\x10\x80\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\x04 \x10\x96\x00\x04\xc2\x12\x80@X\x02\x10\bK\x00\x02a\t@ ,\x01\b\x84%\x00\x81\xb0\xfe7\x00\x00\xff\xff\xafv*h\xe1x\tX\x00\x00\x00\x00IEND\xaeB`\x82") +import ( + _ "embed" +) + +//go:embed keyboard.png +var Keyboard_png []byte diff --git a/examples/resources/images/keyboard/keyboard.png b/examples/resources/images/keyboard/keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..b413259e4fbacbf3614bab740c0c6ece8644aca6 GIT binary patch literal 3141 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 CX-D?} literal 0 HcmV?d00001