diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2011-01-07 16:25:15 +0100 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2011-01-07 16:38:21 +0100 |
commit | 0b3f6503bbe38a129f1f9395c0d3924c4ad87185 (patch) | |
tree | 25de11b7f74325e19a3b119829a84aec72a0dc5b /share/library/Logical/and.lua | |
parent | fda123249a00d1610ff9aedc85a01e46dfe10c3f (diff) | |
download | logdiag-0b3f6503bbe38a129f1f9395c0d3924c4ad87185.tar.gz logdiag-0b3f6503bbe38a129f1f9395c0d3924c4ad87185.tar.xz logdiag-0b3f6503bbe38a129f1f9395c0d3924c4ad87185.zip |
Add basic logical symbols (NOT, AND, OR).
Diffstat (limited to 'share/library/Logical/and.lua')
-rw-r--r-- | share/library/Logical/and.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/share/library/Logical/and.lua b/share/library/Logical/and.lua new file mode 100644 index 0000000..57f7325 --- /dev/null +++ b/share/library/Logical/and.lua @@ -0,0 +1,41 @@ +-- Symbol name +names = +{ + en = "AND", + cs = "AND" +} + +-- Render area in base units (X1, Y1, X2, Y2) +area = {-4, -2, 5, 2} + +-- Terminals +terminals = {{-4, -1}, {-4, 1}, {5, 0}} + +-- Rendering +render = function (cr) + -- The main shape + cr.move_to (-2, -2) + cr.line_to (1, -2) + cr.arc (1, 0, 2, math.pi * 1.5, math.pi * 0.5) + cr.line_to (-2, 2) + cr.close_path () + cr.stroke () + + -- The contacts + cr.move_to (-4, -1) + cr.line_to (-2, -1) + cr.stroke () + + cr.move_to (-4, 1) + cr.line_to (-2, 1) + cr.stroke () + + cr.move_to (3, 0) + cr.line_to (5, 0) + cr.stroke () +end + +-- Register the symbol +logdiag.register ("AND", names, area, terminals, render) + + |