Demo
Visit http://tdillon.github.io/7/demo.html for a demo of what information this library can produce.
Installation
You can use npm, jspm, or directly link the files as you see fit. The bundle file (dist/seven-segment.bundle.js) may be beneficial to you if you need a System.register version.
npm i seven-segment --save
After you have the library, import it.
;
Basic options
The default options give you a quintessential seven segment.
var x = ;
Configuration Parameter
You can optionally pass a configuration object to the constructor. Each property is optional.
//import Digit if you want access to the enum for setting the digit type.; var x = height: 50 angle: 0 ratioLtoW: 2 ratioLtoS: 5 digit: DigitTWO;
Setters
You can configure the Seven
by using setters after the object has been instantiated.
var x = ;xheight = 20; //or x.width = 20xangle = -25;xratioLtoW = 4;xratioLtoS = 5;xdigit = DigitSIX;
Getters
Each of the configuration properties are getters.
var x = ;console;
Exceptions
Setting the configuration properties to invalid values will cause an exception to be thrown. All properties expect a number, except for the digit property which expects a member of the Digit enum. Passing a string that can be converted to a number may work. Objects, nulls, and other 'non-numeric' values will throw exceptions. Setting a property to a number which would produce bad geometry will also throw an exception. You should wrap construction and property setters in try/catches if you are unsure of the validity of the settings.
//constructor throws an exceptionvar x = angle: 'foo'; //ERROR //setting a property throws an exceptionvar x = ;xangle = 89; //ERROR, too sharp an angle produces bad geometry
Geometry
Finally, we've configured our Seven
how we want it, now we can access the geometry.
var x = ; for let s of xsegments //Access the segments A-G //'on' specifies if the segment is used for the 'digit' specified if son for let p of spoints //each segment has a 'point' array console; //points have 'x' and 'y' properties