@operato/scene-label 10.0.0-beta.14 → 10.0.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/barcode.js CHANGED
@@ -259,21 +259,22 @@ let Barcode = class Barcode extends RectPath(Shape) {
259
259
  console.warn('barcode text is not specified.');
260
260
  return;
261
261
  }
262
- if (!width || !height || width < 0.01 || width > 20 || height < 0.01) {
262
+ if (!width || !height || width < 1 || height < 1) {
263
263
  return;
264
264
  }
265
- this.canvas.width = width;
266
- this.canvas.height = height;
265
+ // bwipjs는 width/height를 mm 단위로 해석하며 linear 바코드는 최대 20mm로 제한한다.
266
+ // 씬 컴포넌트의 width/height 픽셀이므로 bwipjs에 전달하지 않고,
267
+ // bwipjs가 text 길이에 따라 자연 크기로 렌더한 뒤 render()에서 픽셀로 스트레칭한다.
268
+ // canvas 크기는 bwipjs가 자체 계산.
267
269
  try {
268
270
  this._image = bwipjs.toCanvas(this.canvas, {
269
271
  bcid: symbol, // Barcode type
270
272
  text, // Text to encode
271
- height, // Bar height, in millimeters
272
- width,
273
273
  includetext, // Show human-readable text
274
274
  textxalign: textAlign || 'center', // Always good to set this
275
275
  paddingwidth,
276
- paddingheight
276
+ paddingheight,
277
+ scale: 2 // 내부 해상도 2x — drawImage 스트레칭 시 품질 확보
277
278
  });
278
279
  }
279
280
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"barcode.js","sourceRoot":"","sources":["../src/barcode.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n// 참고 웹페이지.\n// http://www.neodynamic.com/Products/Help/BarcodeWinControl2.5/working_barcode_symbologies.htm\n// const BARCODE_REGEXP = {\n// 'code11': /^[0-9\\-]*$/,\n// 'codebar': /^[A-D][0-9\\+$:\\-/.]*[A-D]$/,\n// 'code39': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code93': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code128': {\n// 'auto': /^[\\000-\\177]*$/,\n// 'A': /^[\\000-\\137]*$/,\n// 'B': /^[\\040-\\177]*$/,\n// 'C': /^(([0-9]{2})+?)*$/\n// },\n// 'datamatrix': /^[\\x00-\\xff]*$/, // 멀티바이트 캐릭터는 안됨 ?\n// 'ean8': /^\\d{1,}$/,\n// 'ean13': /^\\d{1,}$/,\n// 'industrial2of5': /^\\d{1,}$/,\n// 'interleaved2of5': /^\\d{1,}$/,\n// 'isbn': /((978[\\--– ])?[0-9][0-9\\--– ]{10}[\\--– ][0-9xX])|((978)?[0-9]{9}[0-9Xx])/,\n// 'msi': /^\\d{1,}$/,\n// 'pdf417': {\n// 'text-compaction': /^[\\011\\012\\015\\040-\\177]*$/,\n// 'binary-compaction': /^[\\x00-\\xff]*$/\n// },\n// 'planet': /^\\d{1,}$/,\n// 'postnet': /^\\d{1,}$/,\n// 'ean128': /^[\\000-\\177\\xC8\\xCA-\\xCD]*$/,\n// 'upca': /^\\d{1,}$/,\n// 'upce': /^\\d{1,}$/\n// };\n\n/* opts 예제 - https://github.com/bwipp/postscriptbarcode/wiki/Options-Reference\n * includecheck, includecheckintext, includetext, textfont, textsize, textgaps, textxalign, textyalign, textxoffset, textyoffset\n * showborder, borderwidth, borderleft, borderright, bordertop, borderbottom, barcolor, backgroundcolor, bordercolor, textcolor\n * parse, parsefnc, height, width, inkspread, inkspreadh, inkspreadv,\n * addontextxoffset, addontextyoffset, addontextfont, addontextsize\n * guardwhitespace, guardwidth, guardheight, guardleftpos, guardrightpos, guardleftypos, guardrightypos\n */\n\n// symdesc[\"code39\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"interleaved2of5\"].opts = \"includetext textxalign=center textgaps=1.5\";\n// symdesc[\"code93\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"ean13\"].opts = \"includetext\";\n// symdesc[\"ean8\"].opts = \"includetext\";\n\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'symbol',\n name: 'symbol',\n property: {\n options: [\n { value: 'auspost', display: 'AusPost 4 State Customer Code' },\n { value: 'azteccode', display: 'Aztec Code' },\n { value: 'azteccodecompact', display: 'Compact Aztec Code' },\n { value: 'aztecrune', display: 'Aztec Runes' },\n { value: 'bc412', display: 'BC412' },\n { value: 'channelcode', display: 'Channel Code' },\n { value: 'codablockf', display: 'Codablock F' },\n { value: 'code11', display: 'Code 11' },\n { value: 'code128', display: 'Code 128' },\n { value: 'code16k', display: 'Code 16K' },\n { value: 'code2of5', display: 'Code 25' },\n { value: 'code32', display: 'Italian Pharmacode' },\n { value: 'code39', display: 'Code 39' },\n { value: 'code39ext', display: 'Code 39 Extended' },\n { value: 'code49', display: 'Code 49' },\n { value: 'code93', display: 'Code 93' },\n { value: 'code93ext', display: 'Code 93 Extended' },\n { value: 'codeone', display: 'Code One' },\n { value: 'coop2of5', display: 'COOP 2 of 5' },\n { value: 'daft', display: 'Custom 4 state symbology' },\n { value: 'databarexpanded', display: 'GS1 DataBar Expanded' },\n {\n value: 'databarexpandedcomposite',\n display: 'GS1 DataBar Expanded Composite'\n },\n {\n value: 'databarexpandedstacked',\n display: 'GS1 DataBar Expanded Stacked'\n },\n {\n value: 'databarexpandedstackedcomposite',\n display: 'GS1 DataBar Expanded Stacked Composite'\n },\n { value: 'databarlimited', display: 'GS1 DataBar Limited' },\n {\n value: 'databarlimitedcomposite',\n display: 'GS1 DataBar Limited Composite'\n },\n { value: 'databaromni', display: 'GS1 DataBar Omnidirectional' },\n {\n value: 'databaromnicomposite',\n display: 'GS1 DataBar Omnidirectional Composite'\n },\n { value: 'databarstacked', display: 'GS1 DataBar Stacked' },\n {\n value: 'databarstackedcomposite',\n display: 'GS1 DataBar Stacked Composite'\n },\n {\n value: 'databarstackedomni',\n display: 'GS1 DataBar Stacked Omnidirectional'\n },\n {\n value: 'databarstackedomnicomposite',\n display: 'GS1 DataBar Stacked Omnidirectional Composite'\n },\n { value: 'databartruncated', display: 'GS1 DataBar Truncated' },\n {\n value: 'databartruncatedcomposite',\n display: 'GS1 DataBar Truncated Composite'\n },\n { value: 'datalogic2of5', display: 'Datalogic 2 of 5' },\n { value: 'datamatrix', display: 'Data Matrix' },\n {\n value: 'datamatrixrectangular',\n display: 'Data Matrix Rectangular'\n },\n { value: 'dotcode', display: 'DotCode' },\n { value: 'ean13', display: 'EAN-13' },\n { value: 'ean13composite', display: 'EAN-13 Composite' },\n { value: 'ean14', display: 'GS1-14' },\n { value: 'ean2', display: 'EAN-2 (2 digit addon)' },\n { value: 'ean5', display: 'EAN-5 (5 digit addon)' },\n { value: 'ean8', display: 'EAN-8' },\n { value: 'ean8composite', display: 'EAN-8 Composite' },\n { value: 'flattermarken', display: 'Flattermarken' },\n { value: 'gs1-128', display: 'GS1-128' },\n { value: 'gs1-128composite', display: 'GS1-128 Composite' },\n { value: 'gs1-cc', display: 'GS1 Composite 2D Component' },\n { value: 'gs1datamatrix', display: 'GS1 Data Matrix' },\n {\n value: 'gs1datamatrixrectangular',\n display: 'GS1 Data Matrix Rectangular'\n },\n {\n value: 'gs1northamericancoupon',\n display: 'GS1 North American Coupon'\n },\n { value: 'gs1qrcode', display: 'GS1 QR Code' },\n { value: 'hanxin', display: 'Han Xin Code' },\n { value: 'hibcazteccode', display: 'HIBC Aztec Code' },\n { value: 'hibccodablockf', display: 'HIBC Codablock F' },\n { value: 'hibccode128', display: 'HIBC Code 128' },\n { value: 'hibccode39', display: 'HIBC Code 39' },\n { value: 'hibcdatamatrix', display: 'HIBC Data Matrix' },\n {\n value: 'hibcdatamatrixrectangular',\n display: 'HIBC Data Matrix Rectangular'\n },\n { value: 'hibcmicropdf417', display: 'HIBC MicroPDF417' },\n { value: 'hibcpdf417', display: 'HIBC PDF417' },\n { value: 'hibcqrcode', display: 'HIBC QR Code' },\n { value: 'iata2of5', display: 'IATA 2 of 5' },\n { value: 'identcode', display: 'Deutsche Post Identcode' },\n { value: 'industrial2of5', display: 'Industrial 2 of 5' },\n { value: 'interleaved2of5', display: 'Interleaved 2 of 5 (ITF)' },\n { value: 'isbn', display: 'ISBN' },\n { value: 'ismn', display: 'ISMN' },\n { value: 'issn', display: 'ISSN' },\n { value: 'itf14', display: 'ITF-14' },\n { value: 'japanpost', display: 'Japan Post 4 State Customer Code' },\n { value: 'kix', display: 'Royal Dutch TPG Post KIX' },\n { value: 'leitcode', display: 'Deutsche Post Leitcode' },\n { value: 'matrix2of5', display: 'Matrix 2 of 5' },\n { value: 'maxicode', display: 'MaxiCode' },\n { value: 'micropdf417', display: 'MicroPDF417' },\n { value: 'microqrcode', display: 'Micro QR Code' },\n { value: 'msi', display: 'MSI Modified Plessey' },\n { value: 'onecode', display: 'USPS Intelligent Mail' },\n { value: 'pdf417', display: 'PDF417' },\n { value: 'pdf417compact', display: 'Compact PDF417' },\n { value: 'pharmacode', display: 'Pharmaceutical Binary Code' },\n { value: 'pharmacode2', display: 'Two-track Pharmacode' },\n { value: 'planet', display: 'USPS PLANET' },\n { value: 'plessey', display: 'Plessey UK' },\n { value: 'posicode', display: 'PosiCode' },\n { value: 'postnet', display: 'USPS POSTNET' },\n { value: 'pzn', display: 'Pharmazentralnummer (PZN)' },\n { value: 'qrcode', display: 'QR Code' },\n { value: 'rationalizedCodabar', display: 'Codabar' },\n { value: 'raw', display: 'Custom 1D symbology' },\n { value: 'royalmail', display: 'Royal Mail 4 State Customer Code' },\n { value: 'sscc18', display: 'SSCC-18' },\n { value: 'symbol', display: 'Miscellaneous symbols' },\n { value: 'telepen', display: 'Telepen' },\n { value: 'telepennumeric', display: 'Telepen Numeric' },\n { value: 'ultracode', display: 'Ultracode' },\n { value: 'upca', display: 'UPC-A' },\n { value: 'upcacomposite', display: 'UPC-A Composite' },\n { value: 'upce', display: 'UPC-E' },\n { value: 'upcecomposite', display: 'UPC-E Composite' }\n ]\n }\n },\n {\n type: 'number',\n label: 'paddingwidth',\n name: 'paddingwidth'\n },\n {\n type: 'number',\n label: 'paddingheight',\n name: 'paddingheight'\n },\n {\n type: 'checkbox',\n label: 'monochrome',\n name: 'monochrome'\n },\n {\n type: 'checkbox',\n label: 'show-text',\n name: 'showText'\n }\n ],\n 'value-property': 'text'\n}\n\nconst REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight']\n\n@sceneComponent('barcode')\nexport default class Barcode extends RectPath(Shape) {\n private _canvas?: HTMLCanvasElement\n private _image: any\n get nature() {\n return NATURE\n }\n\n get canvas() {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas')\n\n this._canvas.style.display = 'none'\n this._canvas.height = 1\n this._canvas.width = 1\n }\n\n return this._canvas\n }\n\n dispose() {\n super.dispose()\n }\n\n async ready() {\n await super.ready()\n this.buildImage()\n }\n\n buildImage() {\n var { symbol, text, width, height, includetext, textAlign, paddingwidth = 0, paddingheight = 0 } = this.state\n\n if (!text) {\n console.warn('barcode text is not specified.')\n return\n }\n\n if (!width || !height || width < 0.01 || width > 20 || height < 0.01) {\n return\n }\n\n this.canvas.width = width\n this.canvas.height = height\n\n try {\n this._image = (bwipjs as any).toCanvas(this.canvas, {\n bcid: symbol, // Barcode type\n text, // Text to encode\n height, // Bar height, in millimeters\n width,\n includetext, // Show human-readable text\n textxalign: textAlign || 'center', // Always good to set this\n paddingwidth,\n paddingheight\n })\n } catch (err) {\n delete this._image\n error(err)\n } finally {\n this.invalidate()\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.state\n\n try {\n if (this._image) {\n // don't change to this.drawImage(context, ..) - this._image is canvas.\n context.drawImage(this._image, left, top, width, height)\n }\n } catch (e) {\n error(e)\n }\n }\n\n drawText() {\n // to nothing\n }\n\n onchange(props: Properties) {\n for (let prop of REDRAW_PROPS) {\n if (prop in props) {\n this.buildImage()\n return\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"barcode.js","sourceRoot":"","sources":["../src/barcode.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n// 참고 웹페이지.\n// http://www.neodynamic.com/Products/Help/BarcodeWinControl2.5/working_barcode_symbologies.htm\n// const BARCODE_REGEXP = {\n// 'code11': /^[0-9\\-]*$/,\n// 'codebar': /^[A-D][0-9\\+$:\\-/.]*[A-D]$/,\n// 'code39': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code93': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code128': {\n// 'auto': /^[\\000-\\177]*$/,\n// 'A': /^[\\000-\\137]*$/,\n// 'B': /^[\\040-\\177]*$/,\n// 'C': /^(([0-9]{2})+?)*$/\n// },\n// 'datamatrix': /^[\\x00-\\xff]*$/, // 멀티바이트 캐릭터는 안됨 ?\n// 'ean8': /^\\d{1,}$/,\n// 'ean13': /^\\d{1,}$/,\n// 'industrial2of5': /^\\d{1,}$/,\n// 'interleaved2of5': /^\\d{1,}$/,\n// 'isbn': /((978[\\--– ])?[0-9][0-9\\--– ]{10}[\\--– ][0-9xX])|((978)?[0-9]{9}[0-9Xx])/,\n// 'msi': /^\\d{1,}$/,\n// 'pdf417': {\n// 'text-compaction': /^[\\011\\012\\015\\040-\\177]*$/,\n// 'binary-compaction': /^[\\x00-\\xff]*$/\n// },\n// 'planet': /^\\d{1,}$/,\n// 'postnet': /^\\d{1,}$/,\n// 'ean128': /^[\\000-\\177\\xC8\\xCA-\\xCD]*$/,\n// 'upca': /^\\d{1,}$/,\n// 'upce': /^\\d{1,}$/\n// };\n\n/* opts 예제 - https://github.com/bwipp/postscriptbarcode/wiki/Options-Reference\n * includecheck, includecheckintext, includetext, textfont, textsize, textgaps, textxalign, textyalign, textxoffset, textyoffset\n * showborder, borderwidth, borderleft, borderright, bordertop, borderbottom, barcolor, backgroundcolor, bordercolor, textcolor\n * parse, parsefnc, height, width, inkspread, inkspreadh, inkspreadv,\n * addontextxoffset, addontextyoffset, addontextfont, addontextsize\n * guardwhitespace, guardwidth, guardheight, guardleftpos, guardrightpos, guardleftypos, guardrightypos\n */\n\n// symdesc[\"code39\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"interleaved2of5\"].opts = \"includetext textxalign=center textgaps=1.5\";\n// symdesc[\"code93\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"ean13\"].opts = \"includetext\";\n// symdesc[\"ean8\"].opts = \"includetext\";\n\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'symbol',\n name: 'symbol',\n property: {\n options: [\n { value: 'auspost', display: 'AusPost 4 State Customer Code' },\n { value: 'azteccode', display: 'Aztec Code' },\n { value: 'azteccodecompact', display: 'Compact Aztec Code' },\n { value: 'aztecrune', display: 'Aztec Runes' },\n { value: 'bc412', display: 'BC412' },\n { value: 'channelcode', display: 'Channel Code' },\n { value: 'codablockf', display: 'Codablock F' },\n { value: 'code11', display: 'Code 11' },\n { value: 'code128', display: 'Code 128' },\n { value: 'code16k', display: 'Code 16K' },\n { value: 'code2of5', display: 'Code 25' },\n { value: 'code32', display: 'Italian Pharmacode' },\n { value: 'code39', display: 'Code 39' },\n { value: 'code39ext', display: 'Code 39 Extended' },\n { value: 'code49', display: 'Code 49' },\n { value: 'code93', display: 'Code 93' },\n { value: 'code93ext', display: 'Code 93 Extended' },\n { value: 'codeone', display: 'Code One' },\n { value: 'coop2of5', display: 'COOP 2 of 5' },\n { value: 'daft', display: 'Custom 4 state symbology' },\n { value: 'databarexpanded', display: 'GS1 DataBar Expanded' },\n {\n value: 'databarexpandedcomposite',\n display: 'GS1 DataBar Expanded Composite'\n },\n {\n value: 'databarexpandedstacked',\n display: 'GS1 DataBar Expanded Stacked'\n },\n {\n value: 'databarexpandedstackedcomposite',\n display: 'GS1 DataBar Expanded Stacked Composite'\n },\n { value: 'databarlimited', display: 'GS1 DataBar Limited' },\n {\n value: 'databarlimitedcomposite',\n display: 'GS1 DataBar Limited Composite'\n },\n { value: 'databaromni', display: 'GS1 DataBar Omnidirectional' },\n {\n value: 'databaromnicomposite',\n display: 'GS1 DataBar Omnidirectional Composite'\n },\n { value: 'databarstacked', display: 'GS1 DataBar Stacked' },\n {\n value: 'databarstackedcomposite',\n display: 'GS1 DataBar Stacked Composite'\n },\n {\n value: 'databarstackedomni',\n display: 'GS1 DataBar Stacked Omnidirectional'\n },\n {\n value: 'databarstackedomnicomposite',\n display: 'GS1 DataBar Stacked Omnidirectional Composite'\n },\n { value: 'databartruncated', display: 'GS1 DataBar Truncated' },\n {\n value: 'databartruncatedcomposite',\n display: 'GS1 DataBar Truncated Composite'\n },\n { value: 'datalogic2of5', display: 'Datalogic 2 of 5' },\n { value: 'datamatrix', display: 'Data Matrix' },\n {\n value: 'datamatrixrectangular',\n display: 'Data Matrix Rectangular'\n },\n { value: 'dotcode', display: 'DotCode' },\n { value: 'ean13', display: 'EAN-13' },\n { value: 'ean13composite', display: 'EAN-13 Composite' },\n { value: 'ean14', display: 'GS1-14' },\n { value: 'ean2', display: 'EAN-2 (2 digit addon)' },\n { value: 'ean5', display: 'EAN-5 (5 digit addon)' },\n { value: 'ean8', display: 'EAN-8' },\n { value: 'ean8composite', display: 'EAN-8 Composite' },\n { value: 'flattermarken', display: 'Flattermarken' },\n { value: 'gs1-128', display: 'GS1-128' },\n { value: 'gs1-128composite', display: 'GS1-128 Composite' },\n { value: 'gs1-cc', display: 'GS1 Composite 2D Component' },\n { value: 'gs1datamatrix', display: 'GS1 Data Matrix' },\n {\n value: 'gs1datamatrixrectangular',\n display: 'GS1 Data Matrix Rectangular'\n },\n {\n value: 'gs1northamericancoupon',\n display: 'GS1 North American Coupon'\n },\n { value: 'gs1qrcode', display: 'GS1 QR Code' },\n { value: 'hanxin', display: 'Han Xin Code' },\n { value: 'hibcazteccode', display: 'HIBC Aztec Code' },\n { value: 'hibccodablockf', display: 'HIBC Codablock F' },\n { value: 'hibccode128', display: 'HIBC Code 128' },\n { value: 'hibccode39', display: 'HIBC Code 39' },\n { value: 'hibcdatamatrix', display: 'HIBC Data Matrix' },\n {\n value: 'hibcdatamatrixrectangular',\n display: 'HIBC Data Matrix Rectangular'\n },\n { value: 'hibcmicropdf417', display: 'HIBC MicroPDF417' },\n { value: 'hibcpdf417', display: 'HIBC PDF417' },\n { value: 'hibcqrcode', display: 'HIBC QR Code' },\n { value: 'iata2of5', display: 'IATA 2 of 5' },\n { value: 'identcode', display: 'Deutsche Post Identcode' },\n { value: 'industrial2of5', display: 'Industrial 2 of 5' },\n { value: 'interleaved2of5', display: 'Interleaved 2 of 5 (ITF)' },\n { value: 'isbn', display: 'ISBN' },\n { value: 'ismn', display: 'ISMN' },\n { value: 'issn', display: 'ISSN' },\n { value: 'itf14', display: 'ITF-14' },\n { value: 'japanpost', display: 'Japan Post 4 State Customer Code' },\n { value: 'kix', display: 'Royal Dutch TPG Post KIX' },\n { value: 'leitcode', display: 'Deutsche Post Leitcode' },\n { value: 'matrix2of5', display: 'Matrix 2 of 5' },\n { value: 'maxicode', display: 'MaxiCode' },\n { value: 'micropdf417', display: 'MicroPDF417' },\n { value: 'microqrcode', display: 'Micro QR Code' },\n { value: 'msi', display: 'MSI Modified Plessey' },\n { value: 'onecode', display: 'USPS Intelligent Mail' },\n { value: 'pdf417', display: 'PDF417' },\n { value: 'pdf417compact', display: 'Compact PDF417' },\n { value: 'pharmacode', display: 'Pharmaceutical Binary Code' },\n { value: 'pharmacode2', display: 'Two-track Pharmacode' },\n { value: 'planet', display: 'USPS PLANET' },\n { value: 'plessey', display: 'Plessey UK' },\n { value: 'posicode', display: 'PosiCode' },\n { value: 'postnet', display: 'USPS POSTNET' },\n { value: 'pzn', display: 'Pharmazentralnummer (PZN)' },\n { value: 'qrcode', display: 'QR Code' },\n { value: 'rationalizedCodabar', display: 'Codabar' },\n { value: 'raw', display: 'Custom 1D symbology' },\n { value: 'royalmail', display: 'Royal Mail 4 State Customer Code' },\n { value: 'sscc18', display: 'SSCC-18' },\n { value: 'symbol', display: 'Miscellaneous symbols' },\n { value: 'telepen', display: 'Telepen' },\n { value: 'telepennumeric', display: 'Telepen Numeric' },\n { value: 'ultracode', display: 'Ultracode' },\n { value: 'upca', display: 'UPC-A' },\n { value: 'upcacomposite', display: 'UPC-A Composite' },\n { value: 'upce', display: 'UPC-E' },\n { value: 'upcecomposite', display: 'UPC-E Composite' }\n ]\n }\n },\n {\n type: 'number',\n label: 'paddingwidth',\n name: 'paddingwidth'\n },\n {\n type: 'number',\n label: 'paddingheight',\n name: 'paddingheight'\n },\n {\n type: 'checkbox',\n label: 'monochrome',\n name: 'monochrome'\n },\n {\n type: 'checkbox',\n label: 'show-text',\n name: 'showText'\n }\n ],\n 'value-property': 'text'\n}\n\nconst REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight']\n\n@sceneComponent('barcode')\nexport default class Barcode extends RectPath(Shape) {\n private _canvas?: HTMLCanvasElement\n private _image: any\n get nature() {\n return NATURE\n }\n\n get canvas() {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas')\n\n this._canvas.style.display = 'none'\n this._canvas.height = 1\n this._canvas.width = 1\n }\n\n return this._canvas\n }\n\n dispose() {\n super.dispose()\n }\n\n async ready() {\n await super.ready()\n this.buildImage()\n }\n\n buildImage() {\n var { symbol, text, width, height, includetext, textAlign, paddingwidth = 0, paddingheight = 0 } = this.state\n\n if (!text) {\n console.warn('barcode text is not specified.')\n return\n }\n\n if (!width || !height || width < 1 || height < 1) {\n return\n }\n\n // bwipjs는 width/height를 mm 단위로 해석하며 linear 바코드는 최대 20mm로 제한한다.\n // 씬 컴포넌트의 width/height는 픽셀이므로 bwipjs에 전달하지 않고,\n // bwipjs가 text 길이에 따라 자연 크기로 렌더한 뒤 render()에서 픽셀로 스트레칭한다.\n // canvas 크기는 bwipjs가 자체 계산.\n try {\n this._image = (bwipjs as any).toCanvas(this.canvas, {\n bcid: symbol, // Barcode type\n text, // Text to encode\n includetext, // Show human-readable text\n textxalign: textAlign || 'center', // Always good to set this\n paddingwidth,\n paddingheight,\n scale: 2 // 내부 해상도 2x — drawImage 스트레칭 시 품질 확보\n })\n } catch (err) {\n delete this._image\n error(err)\n } finally {\n this.invalidate()\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.state\n\n try {\n if (this._image) {\n // don't change to this.drawImage(context, ..) - this._image is canvas.\n context.drawImage(this._image, left, top, width, height)\n }\n } catch (e) {\n error(e)\n }\n }\n\n drawText() {\n // to nothing\n }\n\n onchange(props: Properties) {\n for (let prop of REDRAW_PROPS) {\n if (prop in props) {\n this.buildImage()\n return\n }\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-label",
3
3
  "description": "Barcode Label component for things-scene",
4
- "version": "10.0.0-beta.14",
4
+ "version": "10.0.0-beta.17",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "things-scene": true,
@@ -63,5 +63,5 @@
63
63
  "prettier --write"
64
64
  ]
65
65
  },
66
- "gitHead": "3defb7207c541d87da3f5ebdd34f06d2e9e1cebb"
66
+ "gitHead": "aef8d8bf95204b3ba90531066fcf9668044a2f97"
67
67
  }