Upgrade to Pro — share decks privately, control downloads, hide ads and more …

decksh object reference

Anthony Starks
September 30, 2023

decksh object reference

Detailed reference to decksh objects and built-in functions

Anthony Starks

September 30, 2023
Tweet

More Decks by Anthony Starks

Other Decks in Design

Transcript

  1. decksh
    reference

    View Slide

  2. Keywords
    Structure Text Lists Graphics Braces Arrows
    Images Charts Loop Assignments Data
    deck
    edeck
    slide
    eslide
    canvas
    def
    edef
    func
    grid
    import
    include
    text
    btext
    ctext
    etext
    rtext
    arctext
    textblock
    textblockfile
    textfile
    textcode
    list
    blist
    nlist
    clist
    li
    elist
    acircle
    arc
    circle
    curve
    ellipse
    hline
    line
    pill
    polygon
    polyline
    rect
    rrect
    square
    star
    vline
    lbrace
    rbrace
    ubrace
    dbrace
    lbracket
    rbracket
    dbracket
    ubracket
    arrow
    rcarrow
    lcarrow
    ucarrow
    dcarrow
    image
    cimage
    dchart
    legend
    for
    efor
    polar
    polarx
    polary
    area
    format
    random
    sqrt
    vmap
    data
    edata
    content

    View Slide

  3. Keywords and arguments
    text "..string...." x y n "font" "color" op
    keyword arguments
    mandatory optional
    text "hello, world" 80 50 2
    text "hello, world" 80 40 2 "serif"
    text "hello, world" 80 30 2 "serif" "red"
    text "hello, world" 80 20 2 "serif" "red" 50
    hello, world
    hello, world
    hello, world
    hello, world

    View Slide

  4. Structure
    // This is a comment
    deck
    canvas 1920 1080
    x=20 // define x
    y=80
    slide
    text "first" x y 2
    eslide
    slide "black" "white"
    include "file.dsh"
    eslide
    edeck
    ctext "hello, world" 50 25 10
    circle 50 0 100 "blue"
    for x=20 80 10
    circle x 75 2
    efor
    comment
    canvas size hint (width height)
    inline comment
    deck
    variables
    slide 1
    slide 2

    View Slide

  5. 10 20 30 40 50 60 70 80 90
    10
    20
    30
    40
    50
    60
    70
    80
    90
    Percent Grid
    (30,20)
    (90,80)
    (50,50)
    (20,70) (60,70)
    len=20
    w=10

    View Slide

  6. Defining and using variables
    name is thing
    x = 3.14159265
    s = "hello"
    y = x
    x = a + b
    x *= 10
    text s x y 2
    number
    string
    another variable
    binary operation
    assignment operator
    variable use

    View Slide

  7. Binary operators
    x = a + b
    x = a - b
    x = a * b
    x = a / b
    addition
    subtraction
    multiplication
    division

    View Slide

  8. Assignment operators
    x += 10
    x -= 10
    x *= 10
    x /= 10
    increase x by 10
    decrease x by 10
    multiply x by 10
    divide x by 10

    View Slide

  9. Special Assignments
    p=(expr, expr)
    p=polar cx cy r theta
    x=polarx cx cy r theta
    y=polary cx cy r theta
    v=random v1 v2
    v=vmap data v1 v2 v3 v4
    v=area expr
    v=sine expr
    v=cosine expr
    v=tangent expr
    v=sqrt expr
    v=substr string begin end
    coordinates (p_x, p_y)
    polar coordinate (p_x, p_y)
    polar coordinate (x)
    polar coordinate (y)
    random number
    range map
    area
    sine
    cosine
    tangent
    square root
    substring

    View Slide

  10. Variables and Assignments
    Using variables
    Binary operations
    Assignment operations
    x=10
    y=80.45
    size=x/5
    s="Hello"
    text s x y size
    a=100+200.7
    a=x-10
    a=x*10
    a=x/y
    x+=10
    x-=10
    x*=10
    x/=y
    // assign 10 to x
    // assign 80.45 to y
    // x divided by 5 to size
    // s has the string value 'Hello'
    // Use the variables
    // addition
    // subtraction
    // multiplication
    // division
    // increase x by 10
    // decrease x by 10
    // multiply x by 10
    // divide x by value of y

    View Slide

  11. Colors, fonts, opacity, gradient
    Colors Fonts Opacity (0-100)
    "red/blue/90"
    (applies to rect and square only)
    "steelblue"
    "#4682b4"
    "rgb(70,130,180)"
    "hsv(207,61,71)"
    "sans"
    "serif"
    "mono"
    "symbol"
    Sans Serif
    Serif
    Monospace
    `abcd
    100
    50
    25
    10

    View Slide

  12. Color Index
    name hex RGB
    aliceblue #f0f8ff rgb(240,248,255)
    antiquewhite #faebd7 rgb(250,235,215)
    aqua #00ffff rgb(0,255,255)
    aquamarine #7fffd4 rgb(127,255,212)
    azure #f0ffff rgb(240,255,255)
    beige #f5f5dc rgb(245,245,220)
    bisque #ffe4c4 rgb(255,228,196)
    black #000000 rgb(0,0,0)
    blanchedalmond #ffebcd rgb(255,235,205)
    blue #0000ff rgb(0,0,255)
    blueviolet #8a2be2 rgb(138,43,226)
    brown #a52a2a rgb(165,42,42)
    burlywood #deb887 rgb(222,184,135)
    cadetblue #5f9ea0 rgb(95,158,160)
    chartreuse #7fff00 rgb(127,255,0)
    chocolate #d2691e rgb(210,105,30)
    name hex RGB
    coral #ff7f50 rgb(255,127,80)
    cornflowerblue #6495ed rgb(100,149,237)
    cornsilk #fff8dc rgb(255,248,220)
    crimson #dc143c rgb(220,20,60)
    cyan #00ffff rgb(0,255,255)
    darkblue #00008b rgb(0,0,139)
    darkcyan #008b8b rgb(0,139,139)
    darkgoldenrod #b8860b rgb(184,134,11)
    darkgray #a9a9a9 rgb(169,169,169)
    darkgreen #006400 rgb(0,100,0)
    darkgrey #a9a9a9 rgb(169,169,169)
    darkkhaki #bdb76b rgb(189,183,107)
    darkmagenta #8b008b rgb(139,0,139)
    darkolivegreen #556b2f rgb(85,107,47)
    darkorange #ff8c00 rgb(255,140,0)
    darkorchid #9932cc rgb(153,50,204)

    View Slide

  13. Color Index (2)
    name hex RGB
    darkred #8b0000 rgb(139,0,0)
    darksalmon #e9967a rgb(233,150,122)
    darkseagreen #8fbc8f rgb(143,188,143)
    darkslateblue #483d8b rgb(72,61,139)
    darkslategray #2f4f4f rgb(47,79,79)
    darkslategrey #2f4f4f rgb(47,79,79)
    darkturquoise #00ced1 rgb(0,206,209)
    darkviolet #9400d3 rgb(148,0,211)
    deeppink #ff1493 rgb(255,20,147)
    deepskyblue #00bfff rgb(0,191,255)
    dimgray #696969 rgb(105,105,105)
    dimgrey #696969 rgb(105,105,105)
    dodgerblue #1e90ff rgb(30,144,255)
    firebrick #b22222 rgb(178,34,34)
    floralwhite #fffaf0 rgb(255,250,240)
    forestgreen #228b22 rgb(34,139,34)
    name hex RGB
    fuchsia #ff00ff rgb(255,0,255)
    gainsboro #dcdcdc rgb(220,220,220)
    ghostwhite #f8f8ff rgb(248,248,255)
    gold #ffd700 rgb(255,215,0)
    goldenrod #daa520 rgb(218,165,32)
    gray #808080 rgb(128,128,128)
    green #008000 rgb(0,128,0)
    greenyellow #adff2f rgb(173,255,47)
    grey #808080 rgb(128,128,128)
    honeydew #f0fff0 rgb(240,255,240)
    hotpink #ff69b4 rgb(255,105,180)
    indianred #cd5c5c rgb(205,92,92)
    indigo #4b0082 rgb(75,0,130)
    ivory #fffff0 rgb(255,255,240)
    khaki #f0e68c rgb(240,230,140)
    lavender #e6e6fa rgb(230,230,250)

    View Slide

  14. Color Index (3)
    name hex RGB
    lavenderblush #fff0f5 rgb(255,240,245)
    lawngreen #7cfc00 rgb(124,252,0)
    lemonchiffon #fffacd rgb(255,250,205)
    lightblue #add8e6 rgb(173,216,230)
    lightcoral #f08080 rgb(240,128,128)
    lightcyan #e0ffff rgb(224,255,255)
    lightgoldenrodyellow #fafad2 rgb(250,250,210)
    lightgray #d3d3d3 rgb(211,211,211)
    lightgreen #90ee90 rgb(144,238,144)
    lightgrey #d3d3d3 rgb(211,211,211)
    lightpink #ffb6c1 rgb(255,182,193)
    lightsalmon #ffa07a rgb(255,160,122)
    lightseagreen #20b2aa rgb(32,178,170)
    lightskyblue #87cefa rgb(135,206,250)
    lightslategray #778899 rgb(119,136,153)
    lightslategrey #778899 rgb(119,136,153)
    name hex RGB
    lightsteelblue #b0c4de rgb(176,196,222)
    lightyellow #ffffe0 rgb(255,255,224)
    lime #00ff00 rgb(0,255,0)
    limegreen #32cd32 rgb(50,205,50)
    linen #faf0e6 rgb(250,240,230)
    magenta #ff00ff rgb(255,0,255)
    maroon #800000 rgb(128,0,0)
    mediumaquamarine #66cdaa rgb(102,205,170)
    mediumblue #0000cd rgb(0,0,205)
    mediumorchid #ba55d3 rgb(186,85,211)
    mediumpurple #9370db rgb(147,112,219)
    mediumseagreen #3cb371 rgb(60,179,113)
    mediumslateblue #7b68ee rgb(123,104,238)
    mediumspringgreen #00fa9a rgb(0,250,154)
    mediumturquoise #48d1cc rgb(72,209,204)
    mediumvioletred #c71585 rgb(199,21,133)

    View Slide

  15. Color Index (4)
    name hex RGB
    midnightblue #191970 rgb(25,25,112)
    mintcream #f5fffa rgb(245,255,250)
    mistyrose #ffe4e1 rgb(255,228,225)
    moccasin #ffe4b5 rgb(255,228,181)
    navajowhite #ffdead rgb(255,222,173)
    navy #000080 rgb(0,0,128)
    oldlace #fdf5e6 rgb(253,245,230)
    olive #808000 rgb(128,128,0)
    olivedrab #6b8e23 rgb(107,142,35)
    orange #ffa500 rgb(255,165,0)
    orangered #ff4500 rgb(255,69,0)
    orchid #da70d6 rgb(218,112,214)
    palegoldenrod #eee8aa rgb(238,232,170)
    palegreen #98fb98 rgb(152,251,152)
    paleturquoise #afeeee rgb(175,238,238)
    palevioletred #db7093 rgb(219,112,147)
    name hex RGB
    papayawhip #ffefd5 rgb(255,239,213)
    peachpuff #ffdab9 rgb(255,218,185)
    peru #cd853f rgb(205,133,63)
    pink #ffc0cb rgb(255,192,203)
    plum #dda0dd rgb(221,160,221)
    powderblue #b0e0e6 rgb(176,224,230)
    purple #800080 rgb(128,0,128)
    red #ff0000 rgb(255,0,0)
    rosybrown #bc8f8f rgb(188,143,143)
    royalblue #4169e1 rgb(65,105,225)
    saddlebrown #8b4513 rgb(139,69,19)
    salmon #fa8072 rgb(250,128,114)
    sandybrown #f4a460 rgb(244,164,96)
    seagreen #2e8b57 rgb(46,139,87)
    seashell #fff5ee rgb(255,245,238)
    sienna #a0522d rgb(160,82,45)

    View Slide

  16. Color Index (5)
    name hex RGB
    silver #c0c0c0 rgb(192,192,192)
    skyblue #87ceeb rgb(135,206,235)
    slateblue #6a5acd rgb(106,90,205)
    slategray #708090 rgb(112,128,144)
    slategrey #708090 rgb(112,128,144)
    snow #fffafa rgb(255,250,250)
    springgreen #00ff7f rgb(0,255,127)
    steelblue #4682b4 rgb(70,130,180)
    tan #d2b48c rgb(210,180,140)
    teal #008080 rgb(0,128,128)
    thistle #d8bfd8 rgb(216,191,216)
    tomato #ff6347 rgb(255,99,71)
    turquoise #40e0d0 rgb(64,224,208)
    violet #ee82ee rgb(238,130,238)
    wheat #f5deb3 rgb(245,222,179)
    white #ffffff rgb(255,255,255)
    name hex RGB
    whitesmoke #f5f5f5 rgb(245,245,245)
    yellow #ffff00 rgb(255,255,0)
    yellowgreen #9acd32 rgb(154,205,50)

    View Slide

  17. Neutrals
    name hex RGB
    aliceblue #f0f8ff rgb(240,248,255)
    antiquewhite #faebd7 rgb(250,235,215)
    azure #f0ffff rgb(240,255,255)
    beige #f5f5dc rgb(245,245,220)
    bisque #ffe4c4 rgb(255,228,196)
    black #000000 rgb(0,0,0)
    blanchedalmond #ffebcd rgb(255,235,205)
    brown #a52a2a rgb(165,42,42)
    burlywood #deb887 rgb(222,184,135)
    chocolate #d2691e rgb(210,105,30)
    cornsilk #fff8dc rgb(255,248,220)
    darkgray #a9a9a9 rgb(169,169,169)
    darkgrey #a9a9a9 rgb(169,169,169)
    darksalmon #e9967a rgb(233,150,122)
    darkslategray #2f4f4f rgb(47,79,79)
    darkslategrey #2f4f4f rgb(47,79,79)
    name hex RGB
    dimgray #696969 rgb(105,105,105)
    dimgrey #696969 rgb(105,105,105)
    floralwhite #fffaf0 rgb(255,250,240)
    gainsboro #dcdcdc rgb(220,220,220)
    ghostwhite #f8f8ff rgb(248,248,255)
    gray #808080 rgb(128,128,128)
    grey #808080 rgb(128,128,128)
    honeydew #f0fff0 rgb(240,255,240)
    ivory #fffff0 rgb(255,255,240)
    lavender #e6e6fa rgb(230,230,250)
    lavenderblush #fff0f5 rgb(255,240,245)
    lightgray #d3d3d3 rgb(211,211,211)
    lightgrey #d3d3d3 rgb(211,211,211)
    lightslategray #778899 rgb(119,136,153)
    lightslategrey #778899 rgb(119,136,153)
    linen #faf0e6 rgb(250,240,230)

    View Slide

  18. Neutrals (2)
    name hex RGB
    mintcream #f5fffa rgb(245,255,250)
    mistyrose #ffe4e1 rgb(255,228,225)
    moccasin #ffe4b5 rgb(255,228,181)
    navajowhite #ffdead rgb(255,222,173)
    oldlace #fdf5e6 rgb(253,245,230)
    papayawhip #ffefd5 rgb(255,239,213)
    peachpuff #ffdab9 rgb(255,218,185)
    peru #cd853f rgb(205,133,63)
    rosybrown #bc8f8f rgb(188,143,143)
    saddlebrown #8b4513 rgb(139,69,19)
    salmon #fa8072 rgb(250,128,114)
    sandybrown #f4a460 rgb(244,164,96)
    seashell #fff5ee rgb(255,245,238)
    sienna #a0522d rgb(160,82,45)
    silver #c0c0c0 rgb(192,192,192)
    slategray #708090 rgb(112,128,144)
    name hex RGB
    slategrey #708090 rgb(112,128,144)
    snow #fffafa rgb(255,250,250)
    tan #d2b48c rgb(210,180,140)
    wheat #f5deb3 rgb(245,222,179)
    white #ffffff rgb(255,255,255)
    whitesmoke #f5f5f5 rgb(245,245,245)

    View Slide

  19. Reds
    name hex RGB
    coral #ff7f50 rgb(255,127,80)
    crimson #dc143c rgb(220,20,60)
    darkmagenta #8b008b rgb(139,0,139)
    darkred #8b0000 rgb(139,0,0)
    deeppink #ff1493 rgb(255,20,147)
    firebrick #b22222 rgb(178,34,34)
    fuchsia #ff00ff rgb(255,0,255)
    hotpink #ff69b4 rgb(255,105,180)
    indianred #cd5c5c rgb(205,92,92)
    lightcoral #f08080 rgb(240,128,128)
    lightpink #ffb6c1 rgb(255,182,193)
    lightsalmon #ffa07a rgb(255,160,122)
    magenta #ff00ff rgb(255,0,255)
    maroon #800000 rgb(128,0,0)
    orangered #ff4500 rgb(255,69,0)
    orchid #da70d6 rgb(218,112,214)
    name hex RGB
    palevioletred #db7093 rgb(219,112,147)
    pink #ffc0cb rgb(255,192,203)
    plum #dda0dd rgb(221,160,221)
    red #ff0000 rgb(255,0,0)
    thistle #d8bfd8 rgb(216,191,216)
    tomato #ff6347 rgb(255,99,71)

    View Slide

  20. Greens
    name hex RGB
    aquamarine #7fffd4 rgb(127,255,212)
    chartreuse #7fff00 rgb(127,255,0)
    darkgreen #006400 rgb(0,100,0)
    darkkhaki #bdb76b rgb(189,183,107)
    darkolivegreen #556b2f rgb(85,107,47)
    darkseagreen #8fbc8f rgb(143,188,143)
    forestgreen #228b22 rgb(34,139,34)
    green #008000 rgb(0,128,0)
    greenyellow #adff2f rgb(173,255,47)
    lawngreen #7cfc00 rgb(124,252,0)
    lightgreen #90ee90 rgb(144,238,144)
    lightseagreen #20b2aa rgb(32,178,170)
    lime #00ff00 rgb(0,255,0)
    limegreen #32cd32 rgb(50,205,50)
    mediumseagreen #3cb371 rgb(60,179,113)
    mediumspringgreen #00fa9a rgb(0,250,154)
    name hex RGB
    olive #808000 rgb(128,128,0)
    olivedrab #6b8e23 rgb(107,142,35)
    palegreen #98fb98 rgb(152,251,152)
    seagreen #2e8b57 rgb(46,139,87)
    springgreen #00ff7f rgb(0,255,127)
    teal #008080 rgb(0,128,128)
    yellowgreen #9acd32 rgb(154,205,50)

    View Slide

  21. Blues
    name hex RGB
    aqua #00ffff rgb(0,255,255)
    blue #0000ff rgb(0,0,255)
    cadetblue #5f9ea0 rgb(95,158,160)
    cornflowerblue #6495ed rgb(100,149,237)
    cyan #00ffff rgb(0,255,255)
    darkblue #00008b rgb(0,0,139)
    darkcyan #008b8b rgb(0,139,139)
    darkslateblue #483d8b rgb(72,61,139)
    darkturquoise #00ced1 rgb(0,206,209)
    deepskyblue #00bfff rgb(0,191,255)
    dodgerblue #1e90ff rgb(30,144,255)
    lightblue #add8e6 rgb(173,216,230)
    lightcyan #e0ffff rgb(224,255,255)
    lightskyblue #87cefa rgb(135,206,250)
    lightsteelblue #b0c4de rgb(176,196,222)
    mediumaquamarine #66cdaa rgb(102,205,170)
    name hex RGB
    mediumblue #0000cd rgb(0,0,205)
    mediumslateblue #7b68ee rgb(123,104,238)
    mediumturquoise #48d1cc rgb(72,209,204)
    midnightblue #191970 rgb(25,25,112)
    navy #000080 rgb(0,0,128)
    paleturquoise #afeeee rgb(175,238,238)
    powderblue #b0e0e6 rgb(176,224,230)
    royalblue #4169e1 rgb(65,105,225)
    skyblue #87ceeb rgb(135,206,235)
    slateblue #6a5acd rgb(106,90,205)
    steelblue #4682b4 rgb(70,130,180)
    turquoise #40e0d0 rgb(64,224,208)

    View Slide

  22. Violets
    name hex RGB
    blueviolet #8a2be2 rgb(138,43,226)
    darkorchid #9932cc rgb(153,50,204)
    darkviolet #9400d3 rgb(148,0,211)
    indigo #4b0082 rgb(75,0,130)
    mediumorchid #ba55d3 rgb(186,85,211)
    mediumpurple #9370db rgb(147,112,219)
    mediumvioletred #c71585 rgb(199,21,133)
    purple #800080 rgb(128,0,128)
    violet #ee82ee rgb(238,130,238)

    View Slide

  23. Yellows
    name hex RGB
    darkgoldenrod #b8860b rgb(184,134,11)
    darkorange #ff8c00 rgb(255,140,0)
    gold #ffd700 rgb(255,215,0)
    goldenrod #daa520 rgb(218,165,32)
    khaki #f0e68c rgb(240,230,140)
    lemonchiffon #fffacd rgb(255,250,205)
    lightgoldenrodyellow #fafad2 rgb(250,250,210)
    lightyellow #ffffe0 rgb(255,255,224)
    orange #ffa500 rgb(255,165,0)
    palegoldenrod #eee8aa rgb(238,232,170)
    yellow #ffff00 rgb(255,255,0)

    View Slide

  24. sky
    (b)text ctext etext rtext arctext textbox textfile textcode line
    hline vline arc curve polyline circle acircle ellipse square
    rect rrect pill polygon star image cimage lbrace rbrace
    ubrace dbrace lbracket rbracket ubracket dbracket arrow lcarrow rcarrow
    dcarrow ucarrow list blist nlist clist
    begin center end rotate
    h e l l o,
    w o r l d
    Now is the time
    for all good men
    to come
    This is the contents
    of a file. it has lines of text.
    Reading is fundamental.
    import "fmt"
    func main() {
    fmt.Println("Go")
    }
    one
    two
    three
    one
    two
    three
    1. one
    2. two
    3. three
    first
    second item
    thrid

    View Slide

  25. Textual Elements
    description
    Left-aligned
    Centered
    End-aligned
    Rotated
    Text on an arc
    Block text
    Block text from file
    File contents
    Code listing
    keyword
    text
    ctext
    etext
    rtext
    arctext
    textblock
    textblockfile
    textfile
    textcode
    mandatory
    "..." x y fontsize
    "..." x y fontsize
    "..." x y fontsize
    "..." x y angle fontsize
    "..." x y rad a1 a2 fontsize
    "..." x y w fontsize
    "file" x y w fontsize
    "file" x y fontsize
    "file" x y w fontsize
    optional
    font color op link
    font color op link
    font color op link
    font color op link
    font color op link
    font color op link
    font color op link
    font color op spacing
    font color

    View Slide

  26. hello, world
    text "..." x y fontsize font color op link
    (x,y)
    abc abc
    text "abc" 20 20 4 text "abc" 75 20 7 "mono" "maroon"

    View Slide

  27. hello, world
    ctext "..." x y fontsize font color op link
    (x,y)
    abc abc
    ctext "abc" 20 20 4 ctext "abc" 80 20 7 "mono" "maroon"

    View Slide

  28. hello, world
    etext "..." x y fontsize font color op link
    (x,y)
    abc abc
    etext "abc" 20 20 4 etext "abc" 80 20 7 "mono" "maroon"

    View Slide

  29. hello, world
    rtext "..." x y angle fontsize font color op link
    (x,y)
    abc
    abc
    abc
    ctext 20 20 30 3 ctext 50 20 90 5 ctext 80 20 270 4 "sans" "maroon"

    View Slide

  30. hell
    o
    there
    w
    orld
    (x,y)
    a1 a2
    arctext "..." x y radius a1 a2 fontsize font color op link
    What
    is up
    T h i
    s
    i s c
    u
    r v y
    arctext "What is up" 25 20 10 180 90 3 "mono" arctext "This is curvy" 75 30 10 180 360 3 "mono"

    View Slide

  31. “Where justice is denied, where poverty is enforced,
    where ignorance prevails, and where any one class
    is made to feel that society is an organized conspiracy
    to oppress, rob and degrade them, neither persons
    nor property will be safe.”
    (x,y)
    w
    textblock "..." x y w fontsize font color op link
    “Where justice is denied, where poverty is enforced,
    where ignorance prevails, and where any one class
    is made to feel that society is an organized conspiracy
    to oppress, rob and degrade them, neither persons
    nor property will be safe.”
    “Where justice is denied,
    where poverty is enforced,
    where ignorance prevails,
    and where any one class is
    made to feel that society
    is an organized conspiracy
    to oppress, rob and degrade
    them, neither persons nor
    property will be safe.”
    textblock "..." 10 35 30 2 textblock "..." 50 35 10 1 "sans" "maroon"

    View Slide

  32. This is the contents
    of a file. it has lines of text.
    Reading is fundamental.
    (x,y)
    textfile "..." x y fontsize font color op link
    This is the contents
    of a file. it has lines of text.
    Reading is fundamental.
    textfile "example.txt" 10 35 2
    import "fmt"
    func main() {
    fmt.Println("Go")
    }
    textfile "hw-go" 55 35 1.6 "mono" "maroon"

    View Slide

  33. import "fmt"
    func main() {
    fmt.Println("Go")
    }
    (x,y)
    textcode "..." x y w fontsize font color
    w
    import "fmt"
    func main() {
    fmt.Println("Go")
    }
    textcode "hw-go" 10 35 25 1.0
    import "fmt"
    func main() {
    fmt.Println("Go")
    }
    textcode "hw-go" 55 35 40 1.6 "maroon"

    View Slide

  34. Graphical Elements
    description
    Line
    Horizontal line
    Vertical line
    Elliptical arc
    Quadratic Bezier
    Circle
    Area circle
    Ellipse
    Square
    Rectangle
    Rounded rectangle
    Pill shape
    Polygon
    Polyline
    N-sided star
    keyword
    line
    hline
    vline
    arc
    curve
    circle
    acircle
    ellipse
    square
    rect
    rrect
    pill
    polygon
    polyline
    star
    mandatory
    x1 y1 x2 y2 lw
    x y w
    x y h
    x y w h a1 a2
    bx by cx cy ex ey
    x y w
    x y area
    x y w h
    x y w
    x y w h
    x y w h radius
    x y w h
    "x1 x2...xn" "y1 y2...yn"
    "x1 x2...xn" "y1 y2...yn"
    x y sides inner outer
    optional
    color op
    lw color op
    lw color op
    lw color op
    lw color op
    color op
    color op
    color op
    color op
    color op
    color
    color
    color op
    lw color op
    color op

    View Slide

  35. (x1,y1) (x2,y2)
    line x1 y1 x2 y2 lw color op
    lw
    line 10 20 30 20 line 40 20 60 30 0.5 line 70 20 95 30 1.5 "maroon"

    View Slide

  36. (x,y)
    hline x y w lw color op
    w
    lw
    hline 15 20 10 hline 40 20 20 1 hline 70 20 20 5 "maroon" 20

    View Slide

  37. vline x y w lw color op
    (x,y)
    lw
    h
    vline 20 20 15 vline 50 20 15 2 vline 80 20 15 10 "maroon" 20

    View Slide

  38. arc x y w h a1 a2 lw color op
    (x,y)
    w
    h
    a1
    a2
    arc 20 20 15 15 0 180 arc 50 20 15 15 0 90 1 arc 80 20 5 5 0 180 5 "maroon"

    View Slide

  39. (bx,by)
    (cx,cy)
    (ex,ey)
    curve bx by cx cy ex ey lw color op
    curve 15 20 25 30 30 25 curve 15 20 25 30 30 25 curve 70 20 70 30 90 25 0.5 "maroon"

    View Slide

  40. (x,y)
    w
    circle x y w color op
    circle 20 20 10 circle 50 20 10 "maroon" circle 80 20 5 "maroon" 20

    View Slide

  41. (x,y)
    area
    circle x y area color op
    acircle 20 20 10 acircle 50 20 10 "maroon" acircle 80 20 5 "maroon" 20

    View Slide

  42. (x,y)
    w
    h
    ellipse x y w h color op
    ellipse 20 20 10 5 ellipse 50 20 10 5 "maroon" ellipse 80 20 5 10 "maroon" 20

    View Slide

  43. (x,y)
    w
    square x y w color op
    square 20 20 10 square 50 20 10 "maroon" square 80 20 5 "maroon" 20

    View Slide

  44. (x,y)
    w
    h
    rect x y w h color op
    rect 20 20 10 5 rect 50 20 10 5 "maroon" rect 80 20 5 10 "maroon" 20

    View Slide

  45. (x,y)
    radius
    w
    h
    rrect x y w h radius color op
    rrect 20 20 10 5 1 rrect 80 20 5 10 1 "maroon"

    View Slide

  46. (x,y)
    w
    h
    pill x y w h color
    pill 20 20 10 5 pill 80 20 5 10 "maroon"

    View Slide

  47. (x1,y1) (x2,y2)
    (x3,y3)
    polygon x1 x2...xn" "y1 y2...yn color op
    polygon "10 25 20" "20 30 20" polygon "70 85 90" "20 30 20" "maroon"

    View Slide

  48. (x1,y1) (x2,y2)
    (x3,y3)
    polyline x1 x2...xn" "y1 y2...yn lw color op
    polyline "10 25 20" "20 30 20" polyline "70 85 90" "20 30 20" 0.2 "maroon"

    View Slide

  49. (x,y)
    outer
    inner
    star x y sides inner outer color op
    star 20 20 5 2 6 star 50 20 12 2 5 "maroon" star 80 ey 24 2 8 "maroon" 20

    View Slide

  50. Images
    If h = 0, w specifies
    the image width in
    terms of canvas width.
    The scale value is a
    percentage from 1-100,
    and link is a URL. capsize
    is the text size of the
    caption
    description
    Image
    Captioned image
    keyword
    image
    cimage
    mandatory
    "file" x y w h
    "file" "caption" x y w h
    optional
    scale "link"
    scale "link" capsize

    View Slide

  51. (x,y)
    w
    h
    image x y w h scale link
    image "follow.jpg" 20 25 640 480 10 image "follow.jpg" 75 25 640 480 30

    View Slide

  52. sky
    sky
    sky
    (x,y)
    w
    h
    cimage x y w h scale link
    cimage "cloudy.jpg" "sky" 20 25 640 480 10 cimage "cloudy.jpg" "sky" 75 25 640 480 30 "" 1.5

    View Slide

  53. Lists
    description
    Plain list
    Bullet list
    Numbered list
    Centered list
    keyword
    list
    blist
    nlist
    clist
    mandatory
    x y fontsize
    x y fontsize
    x y fontsize
    x y fontsize
    optional
    font color op spacing
    font color op spacing
    font color op spacing
    font color op spacing

    View Slide

  54. list x y fs
    li "first"
    li "second"
    li "third"
    elist
    list x y fontsize font color op spacing
    (x,y)
    list 20 30 2.5
    li "one"
    li "two"
    li "three"
    elist
    list 85 30 2.5 "serif" "maroon" 100 1.0
    li "one"
    li "two"
    li "three"
    elist
    one
    two
    three
    one
    two
    three

    View Slide

  55. blist x y fs
    li "first"
    li "second"
    li "third"
    elist
    blist x y fontsize font color op spacing
    (x,y)
    blist 20 30 2.5
    li "one"
    li "two"
    li "three"
    elist
    blist 85 30 2.5 "serif" "maroon" 100 1.0
    li "one"
    li "two"
    li "three"
    elist
    one
    two
    three
    one
    two
    three

    View Slide

  56. nlist x y fs
    li "first"
    li "second"
    li "third"
    elist
    nlist x y fontsize font color op spacing
    (x,y)
    nlist 20 30 2.5
    li "one"
    li "two"
    li "three"
    elist
    nlist 85 30 2.5 "serif" "maroon" 100 1.0
    li "one"
    li "two"
    li "three"
    elist
    1. one
    2. two
    3. three
    1. one
    2. two
    3. three

    View Slide

  57. clist x y fs
    li "first"
    li "second"
    li "third"
    elist
    clist x y fontsize font color op spacing
    (x,y)
    clist 30 30 2.5
    li "first one"
    li "next"
    li "and last"
    elist
    clist 90 30 2.5 "serif" "maroon" 100 1.0
    li "first"
    li "next"
    li "and last"
    elist
    first one
    next
    and last
    first
    next
    and last

    View Slide

  58. Arrows
    description
    Straight
    Left curved
    Right curved
    Up curved
    Down curved
    keyword
    arrow
    lcarrow
    rcarrow
    ucarrow
    dcarrow
    mandatory
    x1 y1 x2 y2
    bx by cx cy ex ey
    bx by cx cy ex ey
    bx by cx cy ex ey
    bx by cx cy ex ey
    optional
    lw aw ah color op
    lw aw ah color op
    lw aw ah color op
    lw aw ah color op
    lw aw ah color op

    View Slide

  59. arrow x1 y1 x2 y2 lw aw ah color op
    (x1,y1) (x2,y2)
    lw ah
    aw
    arrow 10 20 30 20 arrow 40 20 60 30 0.5 arrow 70 20 95 30 1.5 6 6 "maroon"

    View Slide

  60. lcarrow bx by cx cy ex ey lw aw ah color op
    (bx,by)
    (cx,cy)
    (ex,ey)
    lcarrow 30 20 30 35 15 35 lcarrow 70 20 70 35 55 35 1 5 5 "maroon"

    View Slide

  61. rcarrow bx by cx cy ex ey lw aw ah color op
    (bx,by)
    (cx,cy) (ex,ey)
    rcarrow 15 20 15 35 30 35 rcarrow 50 20 50 35 70 35 1 5 5 "maroon"

    View Slide

  62. ucarrow bx by cx cy ex ey lw aw ah color op
    (bx,by) (cx,cy)
    (ex,ey)
    ucarrow 15 20 30 20 30 35 rcarrow 50 20 70 20 70 35 1 5 5 "maroon"

    View Slide

  63. dcarrow bx by cx cy ex ey lw aw ah color op
    (bx,by) (cx,cy)
    (ex,ey)
    dcarrow 15 35 30 30 20 dcarrow 50 35 70 35 70 20 1 5 5 "maroon"

    View Slide

  64. Braces and Brackets
    description
    Left brace
    Right brace
    Up brace
    Down brace
    Left bracket
    Right bracket
    Up bracket
    Down bracket
    keyword
    lbrace
    rbrace
    ubrace
    dbrace
    lbracket
    rbracket
    ubracket
    dbracket
    mandatory
    x y height bw bh
    x y height bw bh
    x y width bw bh
    x y width bw bh
    x y width height
    x y width height
    x y width height
    x y width height
    optional
    lw color op
    lw color op
    lw color op
    lw color op
    lw color op
    lw color op
    lw color op
    lw color op

    View Slide

  65. lbrace x y height bw bh lw color op
    (x,y)
    bw
    bh
    height
    lbrace 20 25 20 2 2 lbrace 50 25 20 4 4 1 lbrace 80 25 20 6 3 1 "maroon"

    View Slide

  66. rbrace x y height bw bh lw color op
    (x,y)
    bw
    bh
    height
    rbrace 20 25 20 2 2 rbrace 50 25 20 4 4 1 rbrace 80 25 20 6 3 1 "maroon"

    View Slide

  67. ubrace x y width bw bh lw color op
    (x,y)
    bw
    bh
    width
    ubrace 20 25 20 2 4 ubrace 50 25 20 4 8 1 ubrace 80 25 20 4 8 1 "maroon"

    View Slide

  68. dbrace x y width bw bh lw color op
    (x,y)
    bw
    bh
    width
    dbrace 20 25 20 2 4 dbrace 50 25 20 4 8 1 dbrace 80 25 20 4 8 1 "maroon"

    View Slide

  69. lbracket x y width height lw color op
    (x,y)
    width
    height
    lbrace 20 25 2 20 lbracket 50 25 4 20 1 lbracket 80 25 6 20 1 "maroon"

    View Slide

  70. rbracket x y width height lw color op
    (x,y)
    width
    height
    lbrace 20 25 2 20 rbracket 50 25 4 20 1 rbracket 80 25 6 20 1 "maroon"

    View Slide

  71. ubracket x y width height lw color op
    (x,y)
    height
    width
    ubracket 20 25 20 4 ubracket 50 25 20 4 0.3 ubracket 80 25 20 4 1 "maroon"

    View Slide

  72. dbracket x y width height lw color op
    (x,y)
    height
    width
    dbracket 20 25 20 4 dbracket 50 25 20 4 0.3 dbracket 80 25 20 4 1 "maroon"

    View Slide

  73. Loop, Built-ins, Data, Function and Grid
    description
    Loop
    Coordinate
    Polar coordinate (x)
    Polar coordinate (y)
    Polar coordinates
    Area
    Formatted text
    Substring
    Random number
    Square Root
    Value mapping
    Define function
    Import function
    In-line data
    Objects on a grid
    keyword
    for v=
    p=
    x=polarx
    y=polary
    value=polar
    value=area
    value=format
    value=substr
    value=random
    value=sqrt
    value=vmap
    def
    import
    data
    grid
    mandatory
    begin end [increment] ... efor
    (x,y)
    x y radius angle
    x y radius angle
    x y radius angle
    expression
    fmt expression
    string begin end
    min max
    expression
    data min1 max1 min2 max2
    name arg1 ... argn ... edef
    "file"
    "file" ... edata
    "file" x y hspace vspace edge

    View Slide

  74. for v=begin end increment ...efor
    for v=10 35 5
    hline 50 v 30 0.1 "blue"
    star 60 v 5 1 0.4 "red"
    circle 65 v 2 "green"
    square 70 v 2 "blue"
    efor
    for v=begin end [increment]
    ...items to repeat using v
    efor

    View Slide

  75. (x,y)
    px=
    py=
    polarx
    polary
    x y radius theta
    x y radius theta
    (px,py)
    theta
    radius
    cpx=60
    cpy=20
    px1=polarx cpx cpy 10 30
    py1=polary cpx cpy 10 30
    line cpx cpy px1 py1
    circle cpx cpy 1 "gray"
    circle px1 py1 2 "maroon"

    View Slide

  76. (x,y)
    p=polar x y radius theta
    (p_x,p_y)
    theta
    radius
    cpx=60
    cpy=20
    point=polar cpx cpy 10 30
    line cpx cpy point_x point_y
    circle cpx cpy 1 "gray"
    circle point_x point_y 2 "maroon"

    View Slide

  77. area original value
    value=area expression
    m1=100
    m2=200
    a1=area m1
    a2=area m2
    circle 60 20 a1 "maroon"
    circle 80 20 a2
    v=123.45
    a=area v

    View Slide

  78. value=format fmt expression
    format string expression
    Value=6.28
    v1=100.3
    v2=200.234
    title=format "%.2f Million (USD)" v1
    subtitle=format "Total value: %.2f" v1+v2
    ctext title 80 30 4 "sans" "maroon"
    ctext subtitle 80 20 3 "sans" "gray"
    100.30 Million (USD)
    Total value: 300.53
    x=3.14159
    y=2.0
    title=format "Value=%.2f" x*y

    View Slide

  79. "lo, wo" begin end
    value=substr string begin end
    now="Now is the time for all good men"
    s1=substr now 0 14
    s2=substr now 16 18
    s3=substr now 24 end
    ctext s1 70 34 3
    ctext s2 70 24 3
    ctext s3 70 15 3
    Now is the time
    for
    good men
    s="hello, world"
    h=substr s 3 8

    View Slide

  80. value=random min max
    min max
    value
    rx1=random 5 30
    ry1=random 15 35
    circle rx1 ry1 3 "maroon"
    rx2=random 40 60
    ry2=random 15 35
    circle rx2 ry2 3 "green"
    rx1=random 75 95
    ry1=random 15 35
    circle rx3 ry3 3 "blue"

    View Slide

  81. x = 2
    y = 3.1622776
    n = 9
    value=sqrt number or expression
    a_squared=10*10
    b_squared=20*20
    c=sqrt a_squared + b_squared
    w=70+10
    h=15+20
    polygon "70 w 70" "15 15 h"
    clabel=format "c = %.1f" c
    text clabel 76 25 2
    c = 22.4
    a=10
    b=71
    x=sqrt 4
    y=sqrt a
    n=sqrt a+b

    View Slide

  82. min1 max1
    data
    min2 max2
    value
    value=vmap data min1 max1 min2 max2
    yrmin=1776
    yrmax=2021
    smin=60
    smax=90
    vp=vmap 1945 yrmin yrmax smin smax
    line smin 20 smax 20 0.5 "gray" 20
    circle smin 20 1
    circle smax 20 1
    circle vp 20 2 "maroon"

    View Slide

  83. import "doit.dsh"
    def doit fx fy fs ft
    ctext ft fx fy fs "serif" "purple"
    edef
    fx=50
    fy=20
    fs=2.5
    ft="hello"
    ctext ft fx fy fs "serif" "purple"
    contents of "doit.dsh" doit 50 20 2.5 "hello"
    import "file"
    calling the function
    call again
    doit 50 30 5 "calling the function"
    doit 50 20 4 "call again"

    View Slide

  84. data file
    data values
    data "file" ... edata
    data "test.d"
    one 100
    two 200
    three 300
    four 400
    five 500
    edata
    dchart -bar -left 50 -bottom 15 -right 70 -top 35 "test.d"
    100
    one
    200
    two
    300
    three
    400
    four
    500
    five
    data "file.d"
    first 20
    second 100
    third 200
    edata

    View Slide

  85. circle x y 2
    circle x y 4
    circle x y 8
    square x y 8
    square x y 4
    square x y 2
    grid "file" x y hspace vspace limit
    (x,y)
    vspace
    hspace limit
    file
    circle x y 2
    circle x y 4
    circle x y 6
    circle x y 8
    square x y 8
    square x y 6
    square x y 4
    square x y 2
    grid "code/grid-ex.dsh" 35 33 10 10 65

    View Slide

  86. Charts
    description
    Charts
    Chart Legends
    keyword
    dchart
    legend
    arguments
    options "file" (see next page)
    "text" x y size font color

    View Slide

  87. Chart Types
    Chart Elements
    Position and Scaling
    Measures and Attributes
    -bar
    -wbar
    -hbar
    -donut
    -dot
    -lego
    -line
    -pgrid
    -pmap
    -bowtie
    -fan
    -radial
    -scatter
    -slope
    -vol
    true
    false
    false
    false
    false
    false
    false
    false
    false
    false
    false
    false
    false
    false
    false
    bar chart
    word bar chart
    horizontal bar chart
    donut chart
    dot chart
    lego chart
    line chart
    proportional grid
    proportional map
    bowtie chart
    fan chart
    radial chart
    scatter chart
    slope chart
    volume (area) chart
    -csv
    -frame
    -fulldeck
    -grid
    -note
    -pct
    -rline
    -solidpmap
    -spokes
    -title
    -val
    -xlast
    -xstagger
    -yaxis
    -chartitle
    -datacond
    -hline
    -valpos
    -xlabel
    -yrange
    false
    false
    true
    false
    true
    false
    false
    false
    false
    true
    true
    false
    false
    false
    override title in data
    low,high,color
    value,label
    t=top, b=bottom, m=middle
    default=1, 0 to suppress
    min,max.step
    read CSV files
    show a colored frame
    generate full deck markup
    show gridlines on the y axis
    show annotations
    show computed percentage
    show a regression line
    show solid pmap colors
    show spokes in radial chart
    show the title
    show values
    show the last x label
    stagger x axis labels
    show a y axis
    specify the title
    conditional data colors
    label horizontal line at value
    value position
    x axis label interval
    specify the y axis label range
    -top
    -bottom
    -left
    -right
    -min
    -max
    80
    30
    20
    80
    data min
    data max
    top of the chart
    bottom of the chart
    left margin
    right margin
    set the minimum data value
    set the maximum data value
    -bgcolor
    -barwidth
    -color
    -csvcol
    -datafmt
    -dmin
    -framecolor
    -lcolor
    -linewidth
    -ls
    -noteloc
    -pmlen
    -psize
    -pwidth
    -rlcolor
    -textsize
    -xlabrot
    -vcolor
    -volop
    white
    computed from data size
    lightsteelblue
    labe1,label2
    %.1f
    false
    rgb(127,127,127)
    rgb(75,75,75)
    0.2
    2.4
    c=center, r=right, l=left
    20
    30
    3
    rgb(127,0,0)
    1.5
    0
    rgb(127,0,0)
    50
    background color
    barwidth
    data color
    specify csv columns
    data format for values
    use data minimum, not zero
    frame color
    label color
    linewidth
    linespacing
    annotation location
    pmap label length
    diameter of the donut
    width of the donut or pmap
    regression line color
    text size
    xlabel rotation (deg.)
    value color
    volume opacity %

    View Slide

  88. dchart types
    Column Bar Dot
    Line Scatter Area
    Donut/Pie Radial Pmap
    Waffle/Lego Fan Bowtie

    View Slide

  89. 0
    100
    200
    300
    400
    500
    100
    one
    200
    two
    300
    three
    400
    four
    500
    five
    dchart options "file"
    -bar
    -yaxis
    -left=35
    -top=90
    -bottom=65
    -right=65
    100
    one
    200
    two
    300
    three
    400
    four
    500
    five
    dchart -left=10 -right=30 -top=35 -bottom=20 "test.d"
    100
    one
    200
    two
    300
    three
    400
    four
    500
    five
    dchart -left=55 -right=85 -top=35 -bottom=20 -bar=f -line "test.d"

    View Slide

  90. legend x y fontsize font color
    My text
    (x,y)
    Item on the chart
    legend "Item on the chart" 20 30 3 "sans" "red"
    Thing
    legend "Thing" 70 30 2 "serif" "blue"

    View Slide