-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EAN barcodes. #57
Merged
Merged
Changes from 106 commits
Commits
Show all changes
116 commits
Select commit
Hold shift + click to select a range
ecc8997
Refactor to support version2.
3d06b74
Update gold files for new SDK's better alpha blending
dddb92e
Move some code from texture.toit to common.toit
7ea4e41
Assemble all the test outputs in one big png.
30edbe9
Tighter bounds on partial updates
6ec2d36
Don't be limited by update width so much
6830c36
Update gold files
20e353f
Add the simple elements.
0b46c59
Remove the textures, now it's Elements only.
4796157
Add style objects.
e964f81
Add CSS-style gradients as backgrounds.
7b6a099
Borders with rounded corners and drop shadows.
9a6e8d1
PngElement for displaying 1-8 bit PNGs.
1fc3573
EAN barcodes.
a5205e8
Remove more references to textures
9fd7994
Merge branch 'erik-400-remove-textures' into erik-500-styles
063a4ee
Merge branch 'erik-500-styles' into erik-550-gradients
978a60f
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
0a08de7
Merge branch 'erik-600-rounded-corners' into erik-650-png
70e59c6
Remove barcodes
c7c5d4b
Add back rudimentary bar code file.
e54ac0d
Add EAN barcodes.
4e4c621
Fix command line (non-CI) submodule setup
b93ed5e
Merge branch 'erik-225-use-pngdiff' into erik-250-tighter-updates
556a507
Merge branch 'erik-250-tighter-updates' into erik-300-add-elements
e43d5a6
Merge branch 'erik-300-add-elements' into erik-400-remove-textures
3e98cb9
Merge branch 'erik-400-remove-textures' into erik-500-styles
d9bb619
Merge branch 'erik-500-styles' into erik-550-gradients
2b522f6
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
cff70cf
Merge branch 'erik-600-rounded-corners' into erik-650-png
ea47c59
Merge branch 'erik-650-png' into erik-700-barcodes
0539190
feedback
84061af
feedback
b570730
Merge branch 'erik-225-use-pngdiff' into erik-250-tighter-updates
bc171ac
Merge branch 'erik-250-tighter-updates' into erik-300-add-elements
e7c64ce
Merge branch 'erik-300-add-elements' into erik-400-remove-textures
6d9e3b1
Merge branch 'erik-400-remove-textures' into erik-500-styles
554eda9
Merge branch 'erik-500-styles' into erik-550-gradients
9266ca7
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
fa2fce3
Merge branch 'erik-600-rounded-corners' into erik-650-png
22ea90a
Merge branch 'erik-650-png' into erik-700-barcodes
528ad59
min_w and min_h no longer needed
e039294
min_w and min_h no longer needed
30b64d8
Fix too-narrow patches when we hit the display height
238cdd8
Merge branch 'erik-250-tighter-updates' into erik-300-add-elements
3ba1d5b
Merge branch 'erik-300-add-elements' into erik-400-remove-textures
6fd1f64
Merge branch 'erik-400-remove-textures' into erik-500-styles
1d03547
Merge branch 'erik-500-styles' into erik-550-gradients
a655834
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
858088c
Merge branch 'erik-600-rounded-corners' into erik-650-png
0d734e2
Merge branch 'erik-650-png' into erik-700-barcodes
0e203d2
feedback
b9bba65
Merge branch 'erik-100-version-2' into erik-200-move-to-common
a3d88f4
Merge branch 'erik-200-move-to-common' into erik-225-use-pngdiff
fb8110c
Merge branch 'erik-225-use-pngdiff' into erik-250-tighter-updates
088223f
Merge branch 'erik-250-tighter-updates' into erik-300-add-elements
746788f
Merge branch 'erik-300-add-elements' into erik-400-remove-textures
d9df8c9
Merge branch 'erik-400-remove-textures' into erik-500-styles
69c550c
Merge branch 'erik-500-styles' into erik-550-gradients
990bf2c
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
7684d46
Merge branch 'erik-600-rounded-corners' into erik-650-png
fd496ce
Merge branch 'erik-650-png' into erik-700-barcodes
ffb5c9c
Merge remote-tracking branch 'origin/main' into erik-100-version-2
8923389
Merge branch 'erik-100-version-2' into erik-200-move-to-common
aa00f7d
Merge remote-tracking branch 'origin/main' into erik-200-move-to-common
b36ee18
Merge branch 'erik-200-move-to-common' into erik-225-use-pngdiff
027a569
Merge remote-tracking branch 'origin/main' into erik-225-use-pngdiff
22bf74e
Merge branch 'erik-225-use-pngdiff' into erik-250-tighter-updates
e7bdcf8
Merge remote-tracking branch 'origin/main' into erik-250-tighter-updates
186dd59
Merge branch 'erik-250-tighter-updates' into erik-300-add-elements
1595417
Merge branch 'erik-300-add-elements' into erik-400-remove-textures
3a29de2
Merge branch 'erik-400-remove-textures' into erik-500-styles
b526026
Merge branch 'erik-500-styles' into erik-550-gradients
0d38264
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
0bb65f4
Merge branch 'erik-600-rounded-corners' into erik-650-png
45e901b
Merge branch 'erik-650-png' into erik-700-barcodes
5e12953
feedback
c8d6417
feedback
ab38eca
feedback
ed116f2
Merge remote-tracking branch 'origin/erik-300-add-elements' into erik…
3b85734
Merge remote-tracking branch 'origin/erik-400-remove-textures' into e…
dd9e645
Merge remote-tracking branch 'origin/erik-500-styles' into erik-550-g…
d610c27
Merge remote-tracking branch 'origin/erik-550-gradients' into erik-60…
f683412
Merge remote-tracking branch 'origin/erik-600-rounded-corners' into e…
bbd6489
Merge remote-tracking branch 'origin/erik-650-png' into erik-700-barc…
6f40faa
Return any from get_element_by_id
baa5cf2
Merge remote-tracking branch 'origin/main' into erik-300-add-elements
afae253
Merge remote-tracking branch 'origin/erik-300-add-elements' into erik…
a632094
Merge remote-tracking branch 'origin/main' into erik-400-remove-textures
7c1b708
Merge remote-tracking branch 'origin/erik-400-remove-textures' into e…
ee4d578
Merge remote-tracking branch 'origin/main' into erik-500-styles
78d7be8
Merge branch 'erik-500-styles' into erik-550-gradients
7de1907
Merge remote-tracking branch 'origin/main' into erik-550-gradients
8fa1edf
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
0201a91
Merge remote-tracking branch 'origin/erik-600-rounded-corners' into e…
ccaff34
Merge remote-tracking branch 'origin/erik-650-png' into erik-700-barc…
1b16d03
Merge remote-tracking branch 'origin/main' into erik-500-styles
687905c
Merge branch 'erik-500-styles' into erik-550-gradients
8be1ad5
Merge branch 'erik-550-gradients' into erik-600-rounded-corners
c239f43
Merge branch 'erik-600-rounded-corners' into erik-650-png
590d1b7
Merge branch 'erik-650-png' into erik-700-barcodes
bf60019
Feedback, some reformatting, 3-component loops
c69ac99
feedback
81b87a2
Merge branch 'erik-600-rounded-corners' into erik-700-barcodes
0e410e7
Merge branch 'erik-600-rounded-corners' into erik-650-png
a30f18f
Merge branch 'erik-650-png' into erik-700-barcodes
e9af793
Fix the NoBorder inheritance issue
77b7b86
Merge remote-tracking branch 'origin/erik-600-rounded-corners' into e…
45c1abb
Fix wrong refactoring
3bb7b17
Merge remote-tracking branch 'origin/erik-600-rounded-corners' into e…
05c3103
Merge remote-tracking branch 'origin/main' into erik-600-rounded-corners
57b6f6a
Merge branch 'erik-600-rounded-corners' into erik-650-png
4fdb831
Merge branch 'erik-650-png' into erik-700-barcodes
4a51825
feedback
335bc8c
Merge remote-tracking branch 'origin/main' into erik-650-png
1af0289
Merge branch 'erik-650-png' into erik-700-barcodes
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
sdk: ^2.0.0-alpha.121 | ||
prefixes: | ||
png-tools: toit-png-tools | ||
packages: | ||
toit-png-tools: | ||
url: github.com/toitware/toit-png-tools | ||
name: png-tools | ||
version: 1.0.0 | ||
hash: ee472ac9d4333a138206f9d3a817d3c5432d6f87 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
// Copyright (C) 2023 Toitware ApS. All rights reserved. | ||
// Use of this source code is governed by an MIT-style license that can be | ||
// found in the LICENSE file. | ||
|
||
import .common | ||
import .element | ||
|
||
import png_tools.png_reader show * | ||
|
||
// Element that draws a PNG image. | ||
class PngElement extends CustomElement: | ||
w/int | ||
h/int | ||
png_/AbstractPng | ||
|
||
constructor --x/int?=null --y/int?=null png_file/ByteArray: | ||
info := PngInfo png_file | ||
if info.uncompressed_random_access: | ||
png_ = PngRandomAccess png_file | ||
else: | ||
png_ = Png png_file | ||
if png_.bit_depth > 8: throw "UNSUPPORTED" | ||
if png_.color_type == COLOR_TYPE_TRUECOLOR or png_.color_type == COLOR_TYPE_TRUECOLOR_ALPHA: throw "UNSUPPORTED" | ||
w = png_.width | ||
h = png_.height | ||
super --x=x --y=y | ||
|
||
// Redraw routine. | ||
custom_draw canvas/Canvas: | ||
y2 := 0 | ||
while y2 < h and (canvas.bounds_analysis 0 y2 w (h - y2)) != Canvas.DISJOINT: | ||
png_.get_indexed_image_data y2 h | ||
--accept_8_bit=canvas.supports_8_bit | ||
--need_gray_palette=canvas.gray_scale: | y_from/int y_to/int bits_per_pixel/int pixels/ByteArray line_stride/int palette/ByteArray alpha_palette/ByteArray | | ||
if bits_per_pixel == 1: | ||
// Last line a little shorter because it has no stride padding. | ||
adjust := line_stride - ((round_up w 8) >> 3) | ||
pixels = pixels[0 .. (y_to - y_from) * line_stride - adjust] | ||
canvas.bitmap 0 y_from | ||
--pixels=pixels | ||
--alpha=alpha_palette | ||
--palette=palette | ||
--source_width=w | ||
--source_line_stride=line_stride | ||
else: | ||
adjust := line_stride - w | ||
pixels = pixels[0 .. (y_to - y_from) * line_stride - adjust] | ||
canvas.pixmap 0 y_from --pixels=pixels | ||
--alpha=alpha_palette | ||
--palette=palette | ||
--source_width=w | ||
--source_line_stride=line_stride | ||
y2 = y_to | ||
|
||
type -> string: return "png" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?