├── LICENSE
├── README.md
├── abs.go
├── alpha
├── README.md
├── alpha.png
└── main.go
├── apisheet.png
├── apisheet
├── README.md
├── apisheet.png
├── earth.jpg
├── logo.png
└── main.go
├── arc
├── README.md
├── arc.png
└── main.go
├── arclines
└── main.go
├── bc.sh
├── bezsketch
└── README.md
├── cchue
├── README.md
├── cchue.png
└── main.go
├── chart
└── chart.go
├── chartest
├── README.md
├── chart.png
├── cos.d
├── f.d
├── main.go
└── sine.d
├── cl
├── colors.go
├── colorwall
├── README.md
├── colors.png
└── main.go
├── compchart
├── README.md
├── compchart.png
└── main.go
├── concentric
├── README.md
├── concentric.png
└── main.go
├── confetti
├── README.md
├── confetti.png
└── main.go
├── conv.go
├── desordres
├── ajs.pal
├── default.pal
├── main.go
└── readpalette.go
├── dots
├── README.md
├── dots.png
└── main.go
├── dotspiral
└── main.go
├── eclipse
├── README.md
├── eclipse.png
└── main.go
├── elections
├── 1920.d
├── 1924.d
├── 1928.d
├── 1932.d
├── 1936.d
├── 1940.d
├── 1944.d
├── 1948.d
├── 1952.d
├── 1956.d
├── 1960.d
├── 1964.d
├── 1968.d
├── 1972.d
├── 1976.d
├── 1980.d
├── 1984.d
├── 1988.d
├── 1992.d
├── 1996.d
├── 2000.d
├── 2004.d
├── 2008.d
├── 2012.d
├── 2016.d
├── 2020.d
├── Go-Bold.ttf
├── Go-Regular.ttf
├── README.md
├── abbr.d
├── elections.png
├── fips.d
├── grid.d
├── main.go
├── nyt-1792.d
├── nyt-1796.d
├── nyt-1800.d
├── nyt-1804.d
├── nyt-1808.d
├── nyt-1812.d
├── nyt-1816.d
├── nyt-1820.d
├── nyt-1824.d
├── nyt-1828.d
├── nyt-1832.d
├── nyt-1836.d
├── nyt-1840.d
├── nyt-1844.d
├── nyt-1848.d
├── nyt-1852.d
├── nyt-1856.d
├── nyt-1860.d
├── nyt-1864.d
├── nyt-1868.d
├── nyt-1872.d
├── nyt-1876.d
├── nyt-1880.d
├── nyt-1884.d
├── nyt-1888.d
├── nyt-1892.d
├── nyt-1896.d
├── nyt-1900.d
├── nyt-1904.d
├── nyt-1908.d
├── nyt-1912.d
├── nyt-1916.d
├── nyt-1920.d
├── nyt-1924.d
├── nyt-1928.d
├── nyt-1932.d
├── nyt-1936.d
├── nyt-1940.d
├── nyt-1944.d
├── nyt-1948.d
├── nyt-1952.d
├── nyt-1956.d
├── nyt-1960.d
├── nyt-1964.d
├── nyt-1968.d
├── nyt-1972.d
├── nyt-1976.d
├── nyt-1980.d
├── nyt-1984.d
├── nyt-1988.d
├── nyt-1992.d
├── nyt-1996.d
├── nyt-2000.d
├── nyt-2004.d
├── nyt-2008.d
├── nyt-2012.d
├── nyt-2016.d
├── nyt-2020.d
├── nyt-2024.d
├── nyt-layout.d
└── stateface.ttf
├── flowers
├── README.md
├── flowers.png
└── main.go
├── fox
├── README.md
├── ajs.pal
├── ajstarks.png
├── default.pal
├── hot.png
├── main.go
├── pen-n-paper.png
├── rainbox.png
└── readpalette.go
├── gcdeck
├── README.md
├── cloudy.jpg
├── earth.jpg
├── follow.jpg
├── gcdeck.png
├── gcdeck0.png
├── gcdeck1.png
├── hw
├── main.go
├── pct.d
├── qb.txt
├── rand.d
├── scale.dsh
├── scale.xml
├── t.dsh
├── t.xml
├── test.dsh
├── test.pdf
└── test.xml
├── gchart
├── README.md
├── aapl-vol.d
├── allcharts
├── allcharts-x.png
├── allcharts.png
├── appl-close.d
├── area-x.png
├── area.png
├── bar-x.png
├── bar-z.png
├── bar.png
├── br.d
├── browser.d
├── c19.d
├── combo-x.png
├── combo.png
├── cos.d
├── data.d
├── dotchart-x.png
├── gchart-sine.png
├── hbar-x.png
├── lego-x.png
├── lego.png
├── line-x.png
├── line.png
├── main.go
├── pie-x.png
├── pie.png
├── pop.d
├── rand.d
├── scatter-x.png
├── scatter.png
├── sin.d
├── sincon.d
└── wbar-x.png
├── giocanvas-grid.png
├── giocanvas.go
├── giocanvas_test.go
├── go.mod
├── go.sum
├── grid
├── README.md
├── grid.png
└── main.go
├── hello
├── README.md
├── earth.jpg
├── hello.png
└── main.go
├── images
├── README.md
├── earth.jpg
├── images.png
└── main.go
├── lego
├── README.md
├── lego.png
└── main.go
├── lines
├── README.md
├── lines.png
└── main.go
├── misc
├── b1m.d
├── b2m.d
├── bdiff.dsh
└── gio.dsh
├── mondrian
├── README.md
├── main.go
└── mondrian.png
├── pct.go
├── pie
├── 2009-01.d
├── 2010-01.d
├── 2011-01.d
├── 2012-01.d
├── 2013-01.d
├── 2014-01.d
├── 2015-01.d
├── 2016-01.d
├── 2017-01.d
├── 2018-01.d
├── 2019-01.d
├── 2020-06.d
├── 2021-09.d
├── README.md
├── main.go
└── pie.png
├── play
├── README.md
├── earth.jpg
├── follow.jpg
├── giocanvas.png
├── logo.png
├── main.go
└── play.png
├── polar
├── README.md
├── main.go
└── polar.png
├── presentation
├── clients.dsh
├── code
│ ├── chartbox.go
│ ├── chartread.go
│ ├── composite.go
│ ├── cos.d
│ ├── cosine.d
│ ├── earth.jpg
│ ├── hello.go
│ ├── side-by-side.go
│ ├── sin.d
│ └── sine.d
├── gc.dsh
├── gc.pdf
├── images
│ ├── c19.png
│ ├── client-api.png
│ ├── clients.png
│ ├── comp.png
│ ├── compchart.png
│ ├── concentric.png
│ ├── confetti.png
│ ├── eclipse.png
│ ├── flowers.png
│ ├── gc0.png
│ ├── gc1.png
│ ├── gchart-sine.png
│ ├── gchart1.png
│ ├── hello.png
│ ├── lines.png
│ ├── mondrian.png
│ ├── play.png
│ ├── polar.png
│ ├── side-by-side.png
│ ├── sine+cosine.png
│ ├── sunearth.png
│ ├── tile.png
│ ├── transform.png
│ └── twrap.png
├── mkdeck
└── showgrid.dsh
├── rc.sh
├── rgb
├── README.md
├── main.go
└── rgb.png
├── rl
├── README.md
├── main.go
└── rl.png
├── run-cpu.sh
├── scim
├── README.md
├── earth.jpg
├── main.go
├── scim01.png
└── scim02.png
├── shapesketch
├── README.md
├── arc.png
├── circle.png
├── curve.png
├── dark-curve.png
├── default.png
├── ellipse.png
├── line.png
├── main.go
├── rect.png
└── square.png
├── showfonts
├── Go-Bold-Italic.ttf
├── Go-Bold.ttf
├── Go-Italic.ttf
├── Go-Medium-Italic.ttf
├── Go-Medium.ttf
├── Go-Mono-Bold-Italic.ttf
├── Go-Mono-Bold.ttf
├── Go-Mono-Italic.ttf
├── Go-Mono.ttf
├── Go-Regular.ttf
├── Go-Smallcaps-Italic.ttf
├── Go-Smallcaps.ttf
├── OpenSans-Bold.ttf
├── OpenSans-BoldItalic.ttf
├── OpenSans-ExtraBold.ttf
├── OpenSans-ExtraBoldItalic.ttf
├── OpenSans-Italic.ttf
├── OpenSans-Light.ttf
├── OpenSans-LightItalic.ttf
├── OpenSans-Regular.ttf
├── OpenSans-Semibold.ttf
├── OpenSans-SemiboldItalic.ttf
├── README.md
├── gofonts.png
├── main.go
├── message.png
└── other.png
├── showimage
├── README.md
├── main.go
└── showimage.png
├── spiral
├── README.md
├── main.go
└── spiral.png
├── sunearth
├── README.md
├── earth.jpg
├── main.go
└── sunearth.png
├── template
├── tile
├── README.md
├── main.go
└── tile.png
├── transform
├── README.md
├── main.go
├── transform.png
└── transforms.png
├── transforms.go
├── twrap
├── README.md
├── main.go
└── twrap.png
└── update
/README.md:
--------------------------------------------------------------------------------
1 | # giocanvas -- a canvas API built on top of gio
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/alpha/README.md:
--------------------------------------------------------------------------------
1 | # alpha -- test object alpha values
2 | 
3 |
--------------------------------------------------------------------------------
/alpha/alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/alpha/alpha.png
--------------------------------------------------------------------------------
/alpha/main.go:
--------------------------------------------------------------------------------
1 | // alpha
2 | package main
3 |
4 | import (
5 | "flag"
6 | "io"
7 | "os"
8 | "strconv"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func alpha(w *app.Window, color string) error {
16 | blue := giocanvas.ColorLookup("steelblue")
17 | gray := giocanvas.ColorLookup("gray")
18 | dotcolor := giocanvas.ColorLookup(color)
19 | var x, y, px, dotsize, interval float32
20 | y = 50
21 | px = 2
22 | dotsize = 0.8
23 | interval = dotsize * 2.4
24 | for {
25 | e := w.Event()
26 | switch e := e.(type) {
27 | case app.DestroyEvent:
28 | return e.Err
29 | case app.FrameEvent:
30 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
31 | canvas.CText(50, y+12, 1.5, "Alpha", blue)
32 | canvas.CText(50, y-18, 1.5, "% Alpha", gray)
33 | px, y = 2, 50
34 | for x = 0; x <= 100; x += 2 {
35 | dotcolor.A = uint8((x / 100) * 255)
36 | canvas.Circle(px, y, dotsize, dotcolor)
37 | canvas.TextMid(px, y-8, 0.75, strconv.FormatFloat(float64(x), 'g', -1, 32), gray)
38 | canvas.TextMid(px, y+5, 0.75, strconv.FormatInt(int64(dotcolor.A), 10), blue)
39 | px += interval
40 |
41 | }
42 | e.Frame(canvas.Context.Ops)
43 |
44 | }
45 | }
46 | }
47 |
48 | func main() {
49 | var cw, ch int
50 | var color string
51 | flag.IntVar(&cw, "width", 1800, "canvas width")
52 | flag.IntVar(&ch, "height", 600, "canvas height")
53 | flag.StringVar(&color, "color", "black", "color")
54 | flag.Parse()
55 | width := float32(cw)
56 | height := float32(ch)
57 |
58 | go func() {
59 | w := &app.Window{}
60 | w.Option(app.Title("alpha"), app.Size(unit.Dp(width), unit.Dp(height)))
61 | if err := alpha(w, color); err != nil {
62 | io.WriteString(os.Stderr, "Cannot create the window\n")
63 | os.Exit(1)
64 | }
65 | os.Exit(0)
66 | }()
67 | app.Main()
68 | }
69 |
--------------------------------------------------------------------------------
/apisheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/apisheet.png
--------------------------------------------------------------------------------
/apisheet/README.md:
--------------------------------------------------------------------------------
1 | # API Reference
2 | 
3 |
--------------------------------------------------------------------------------
/apisheet/apisheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/apisheet/apisheet.png
--------------------------------------------------------------------------------
/apisheet/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/apisheet/earth.jpg
--------------------------------------------------------------------------------
/apisheet/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/apisheet/logo.png
--------------------------------------------------------------------------------
/arc/README.md:
--------------------------------------------------------------------------------
1 | # Arc Test
2 | 
3 |
--------------------------------------------------------------------------------
/arc/arc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/arc/arc.png
--------------------------------------------------------------------------------
/bc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | for i in $(cat cl)
3 | do
4 | cd $i
5 | echo -n "$i "
6 | go build $* -ldflags="-s -w" .
7 | cd ..
8 | done
9 | echo
10 |
--------------------------------------------------------------------------------
/bezsketch/README.md:
--------------------------------------------------------------------------------
1 | See shapesketch
2 |
--------------------------------------------------------------------------------
/cchue/README.md:
--------------------------------------------------------------------------------
1 | # cchue
2 | 
3 |
--------------------------------------------------------------------------------
/cchue/cchue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/cchue/cchue.png
--------------------------------------------------------------------------------
/chartest/README.md:
--------------------------------------------------------------------------------
1 | # chart
2 |
3 | 
--------------------------------------------------------------------------------
/chartest/chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/chartest/chart.png
--------------------------------------------------------------------------------
/chartest/cos.d:
--------------------------------------------------------------------------------
1 | # y=cos(x)
2 | 0.00 1.0000
3 | 0.10 0.9950
4 | 0.20 0.9801
5 | 0.30 0.9553
6 | 0.40 0.9211
7 | 0.50 0.8776
8 | 0.60 0.8253
9 | 0.70 0.7648
10 | 0.80 0.6967
11 | 0.90 0.6216
12 | 1.00 0.5403
13 | 1.10 0.4536
14 | 1.20 0.3624
15 | 1.30 0.2675
16 | 1.40 0.1700
17 | 1.50 0.0707
18 | 1.60 -0.0292
19 | 1.70 -0.1288
20 | 1.80 -0.2272
21 | 1.90 -0.3233
22 | 2.00 -0.4161
23 | 2.10 -0.5048
24 | 2.20 -0.5885
25 | 2.30 -0.6663
26 | 2.40 -0.7374
27 | 2.50 -0.8011
28 | 2.60 -0.8569
29 | 2.70 -0.9041
30 | 2.80 -0.9422
31 | 2.90 -0.9710
32 | 3.00 -0.9900
33 | 3.10 -0.9991
34 | 3.20 -0.9983
35 | 3.30 -0.9875
36 | 3.40 -0.9668
37 | 3.50 -0.9365
38 | 3.60 -0.8968
39 | 3.70 -0.8481
40 | 3.80 -0.7910
41 | 3.90 -0.7259
42 | 4.00 -0.6536
43 | 4.10 -0.5748
44 | 4.20 -0.4903
45 | 4.30 -0.4008
46 | 4.40 -0.3073
47 | 4.50 -0.2108
48 | 4.60 -0.1122
49 | 4.70 -0.0124
50 | 4.80 0.0875
51 | 4.90 0.1865
52 | 5.00 0.2837
53 | 5.10 0.3780
54 | 5.20 0.4685
55 | 5.30 0.5544
56 | 5.40 0.6347
57 | 5.50 0.7087
58 | 5.60 0.7756
59 | 5.70 0.8347
60 | 5.80 0.8855
61 | 5.90 0.9275
62 | 6.00 0.9602
63 | 6.10 0.9833
64 | 6.20 0.9965
65 |
--------------------------------------------------------------------------------
/chartest/f.d:
--------------------------------------------------------------------------------
1 | Apr 26 209794
2 | Apr 27 214158
3 | Apr 28 220621
4 | Apr 29 227301
5 | Apr 30 233065
6 | May 1 238675
7 | May 2 243579
8 | May 3 247360
9 | May 4 251114
10 | May 5 256952
11 | May 6 263203
12 | May 7 269054
13 | May 8 274706
14 | May 9 279053
15 | May 10 282601
16 | May 11 285737
17 | May 12 291420
18 | May 13 296738
19 | May 14 299539
20 | May 15 307148
21 | May 16 307801
22 | May 17 315039
23 | May 18 318231
24 | May 19 323044
25 | May 20 327755
26 | May 21 332449
27 | May 22 337595
28 | May 23 340891
29 | May 24 345072
30 | May 25 348192
31 | May 26 351834
32 | May 27 356940
33 | May 28 361779
34 | May 29 366487
35 | May 30 370730
36 | May 31 373715
37 | Jun 1 376789
38 | Jun 2 381274
39 | Jun 3 384873
40 | Jun 4 390254
41 | Jun 5 395552
42 | Jun 6 399855
43 | Jun 7 403464
44 | Jun 8 406279
45 | Jun 9 409750
46 | Jun 10 416019
47 | Jun 11 420911
48 | Jun 12 426435
49 | Jun 13 430819
50 | Jun 14 434292
51 | Jun 15 437331
52 | Jun 16 442259
53 | Jun 17 449286
54 | Jun 18 454176
55 | Jun 19 459186
56 | Jun 20 461074
57 |
--------------------------------------------------------------------------------
/chartest/sine.d:
--------------------------------------------------------------------------------
1 | # y=sin(x)
2 | 0.00 0.0000
3 | 0.10 0.0998
4 | 0.20 0.1987
5 | 0.30 0.2955
6 | 0.40 0.3894
7 | 0.50 0.4794
8 | 0.60 0.5646
9 | 0.70 0.6442
10 | 0.80 0.7174
11 | 0.90 0.7833
12 | 1.00 0.8415
13 | 1.10 0.8912
14 | 1.20 0.9320
15 | 1.30 0.9636
16 | 1.40 0.9854
17 | 1.50 0.9975
18 | 1.60 0.9996
19 | 1.70 0.9917
20 | 1.80 0.9738
21 | 1.90 0.9463
22 | 2.00 0.9093
23 | 2.10 0.8632
24 | 2.20 0.8085
25 | 2.30 0.7457
26 | 2.40 0.6755
27 | 2.50 0.5985
28 | 2.60 0.5155
29 | 2.70 0.4274
30 | 2.80 0.3350
31 | 2.90 0.2392
32 | 3.00 0.1411
33 | 3.10 0.0416
34 | 3.20 -0.0584
35 | 3.30 -0.1577
36 | 3.40 -0.2555
37 | 3.50 -0.3508
38 | 3.60 -0.4425
39 | 3.70 -0.5298
40 | 3.80 -0.6119
41 | 3.90 -0.6878
42 | 4.00 -0.7568
43 | 4.10 -0.8183
44 | 4.20 -0.8716
45 | 4.30 -0.9162
46 | 4.40 -0.9516
47 | 4.50 -0.9775
48 | 4.60 -0.9937
49 | 4.70 -0.9999
50 | 4.80 -0.9962
51 | 4.90 -0.9825
52 | 5.00 -0.9589
53 | 5.10 -0.9258
54 | 5.20 -0.8835
55 | 5.30 -0.8323
56 | 5.40 -0.7728
57 | 5.50 -0.7055
58 | 5.60 -0.6313
59 | 5.70 -0.5507
60 | 5.80 -0.4646
61 | 5.90 -0.3739
62 | 6.00 -0.2794
63 | 6.10 -0.1822
64 | 6.20 -0.0831
65 |
--------------------------------------------------------------------------------
/cl:
--------------------------------------------------------------------------------
1 | alpha
2 | apisheet
3 | arc
4 | arclines
5 | cchue
6 | colorwall
7 | concentric
8 | compchart
9 | confetti
10 | desordres
11 | dots
12 | dotspiral
13 | elections
14 | eclipse
15 | flowers
16 | gcdeck
17 | gchart
18 | grid
19 | hello
20 | images
21 | lego
22 | lines
23 | mondrian
24 | pie
25 | polar
26 | rgb
27 | scim
28 | shapesketch
29 | showfonts
30 | showimage
31 | spiral
32 | sunearth
33 | tile
34 | transform
35 | twrap
36 | play
37 |
--------------------------------------------------------------------------------
/colorwall/README.md:
--------------------------------------------------------------------------------
1 | # Colors for a Large Wall, (after the work by Ellsworth Kelly)
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/colorwall/colors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/colorwall/colors.png
--------------------------------------------------------------------------------
/colorwall/main.go:
--------------------------------------------------------------------------------
1 | // colorwall: inspired by Ellsworth Kelly's "Colors for a Large Wall, 1951'
2 | package main
3 |
4 | import (
5 | "image/color"
6 | "os"
7 |
8 | "gioui.org/app"
9 | "gioui.org/unit"
10 | "github.com/ajstarks/giocanvas"
11 | )
12 |
13 | var (
14 | bgcolor = color.NRGBA{0xbb, 0xbb, 0xbb, 0xff}
15 | layout = [][]string{
16 | {"#000000", "#eeeeee", "#735976", "#eeeeee", "#000000", "#af5d23", "#eeeeee", "#366e93"}, // row 1
17 | {"#eeeeee", "#03342f", "#000000", "#eeeeee", "#ccb04d", "#eeeeee", "#a74e4a", "#000000"}, // row 2
18 | {"#000000", "#eeeeee", "#eeeeee", "#391a32", "#eeeeee", "#eeeeee", "#eeeeee", "#af5d23"}, // row 3
19 | {"#8a1f1b", "#eeeeee", "#366e93", "#eeeeee", "#5e825e", "#000000", "#391a32", "#eeeeee"}, // row 4
20 | {"#eeeeee", "#391a32", "#000000", "#eeeeee", "#eeeeee", "#8a1f1b", "#eeeeee", "#122e63"}, // row 5
21 | {"#03342f", "#eeeeee", "#eeeeee", "#366e93", "#eeeeee", "#eeeeee", "#03342f", "#000000"}, // row 6
22 | {"#eeeeee", "#a74e4a", "#5e825e", "#eeeeee", "#000000", "#735976", "#eeeeee", "#eeeeee"}, // row 7
23 | {"#000000", "#eeeeee", "#391a32", "#ccb04d", "#eeeeee", "#000000", "#a74e4a", "#000000"}, // row 8
24 | }
25 | )
26 |
27 | func colorwall(width, height float32) {
28 | w := new(app.Window)
29 | appsize := app.Size(unit.Dp(width), unit.Dp(height))
30 | w.Option(app.Title("colorwall: inspired by Ellsworth Kelly's “Colors on a Large Wall”, 1951"), appsize)
31 |
32 | var x, y, left, right, top, bottom, xincr, yincr float32
33 | left, right, bottom, top = 25, 85, 20, 80
34 | nr, nc := 8, 8
35 |
36 | xincr = (right - left) / float32(nr)
37 | yincr = (top - bottom) / float32(nc)
38 |
39 | for {
40 | switch e := w.Event().(type) {
41 | case app.FrameEvent:
42 | canvas := giocanvas.NewCanvas(width, height, app.FrameEvent{})
43 | canvas.Background(bgcolor)
44 | y = top
45 | for i := 0; i < nr; i++ {
46 | x = left
47 | for j := 0; j < nc; j++ {
48 | canvas.Square(x, y, yincr-0.1, giocanvas.ColorLookup(layout[i][j]))
49 | x += xincr
50 | }
51 | y -= yincr
52 | }
53 | e.Frame(canvas.Context.Ops)
54 |
55 | case app.DestroyEvent:
56 | os.Exit(0)
57 | }
58 | }
59 | }
60 |
61 | func main() {
62 | go colorwall(1000, 1000)
63 | app.Main()
64 | }
65 |
--------------------------------------------------------------------------------
/compchart/README.md:
--------------------------------------------------------------------------------
1 | # composite chart
2 | 
3 |
--------------------------------------------------------------------------------
/compchart/compchart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/compchart/compchart.png
--------------------------------------------------------------------------------
/concentric/README.md:
--------------------------------------------------------------------------------
1 | # concentric circles
2 | 
3 |
--------------------------------------------------------------------------------
/concentric/concentric.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/concentric/concentric.png
--------------------------------------------------------------------------------
/concentric/main.go:
--------------------------------------------------------------------------------
1 | // concentric circles
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | gc "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func concentric(w *app.Window) error {
16 | for {
17 | e := w.Event()
18 | switch e := e.(type) {
19 | case app.DestroyEvent:
20 | return e.Err
21 | case app.FrameEvent:
22 | canvas := gc.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
23 | canvas.Background(gc.ColorLookup("white"))
24 | var r float32 = 50
25 | for g := uint8(0); g < 250; g += 50 {
26 | canvas.Circle(50, 50, r, color.NRGBA{g, g, g, 255})
27 | r -= 10
28 | }
29 | e.Frame(canvas.Context.Ops)
30 | }
31 | }
32 | }
33 |
34 | func main() {
35 | var cw, ch int
36 | flag.IntVar(&cw, "width", 1000, "canvas width")
37 | flag.IntVar(&ch, "height", 1000, "canvas height")
38 | flag.Parse()
39 | width := float32(cw)
40 | height := float32(ch)
41 |
42 | go func() {
43 | w := &app.Window{}
44 | w.Option(app.Title("concentric"), app.Size(unit.Dp(width), unit.Dp(height)))
45 | if err := concentric(w); err != nil {
46 | io.WriteString(os.Stderr, "Cannot create the window\n")
47 | os.Exit(1)
48 | }
49 | os.Exit(0)
50 | }()
51 | app.Main()
52 | }
53 |
--------------------------------------------------------------------------------
/confetti/README.md:
--------------------------------------------------------------------------------
1 | # confetti
2 | 
3 |
4 | ```
5 | Usage:
6 | -height int
7 | canvas height (default 900)
8 | -n int
9 | number of shapes (default 500)
10 | -size int
11 | max size (default 10)
12 | -width int
13 | canvas width (default 1200)
14 |
15 | ```
--------------------------------------------------------------------------------
/confetti/confetti.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/confetti/confetti.png
--------------------------------------------------------------------------------
/confetti/main.go:
--------------------------------------------------------------------------------
1 | // confetti -- random shapes
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "math/rand"
9 | "os"
10 |
11 | "gioui.org/app"
12 | "gioui.org/unit"
13 | "github.com/ajstarks/giocanvas"
14 | )
15 |
16 | func rn(n int) float32 {
17 | return float32(rand.Intn(n))
18 | }
19 |
20 | func rn8(n int) uint8 {
21 | return uint8(rand.Intn(n))
22 | }
23 |
24 | func confetti(w *app.Window, nshapes, maxsize int) error {
25 | for {
26 | e := w.Event()
27 | switch e := e.(type) {
28 | case app.DestroyEvent:
29 | return e.Err
30 | case app.FrameEvent:
31 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
32 | canvas.CenterRect(50, 50, 100, 100, color.NRGBA{0, 0, 0, 255})
33 | for i := 0; i < nshapes; i++ {
34 | color := color.NRGBA{rn8(255), rn8(255), rn8(255), rn8(255)}
35 | x, y := rn(100), rn(100)
36 | w, h := rn(maxsize), rn(maxsize)
37 | if i%2 == 0 {
38 | canvas.Ellipse(x, y, w, h, color)
39 | } else {
40 | canvas.CenterRect(x, y, w, h, color)
41 | }
42 | }
43 | e.Frame(canvas.Context.Ops)
44 | }
45 |
46 | }
47 | }
48 |
49 | func main() {
50 | var cw, ch, nshapes, maxsize int
51 | flag.IntVar(&cw, "width", 1000, "canvas width")
52 | flag.IntVar(&ch, "height", 1000, "canvas height")
53 | flag.IntVar(&nshapes, "n", 500, "number of shapes")
54 | flag.IntVar(&maxsize, "size", 10, "max size")
55 | flag.Parse()
56 |
57 | width := float32(cw)
58 | height := float32(ch)
59 |
60 | go func() {
61 | w := &app.Window{}
62 | w.Option(app.Title("confetti"), app.Size(unit.Dp(width), unit.Dp(height)))
63 | if err := confetti(w, nshapes, maxsize); err != nil {
64 | io.WriteString(os.Stderr, "Cannot create the window\n")
65 | os.Exit(1)
66 | }
67 | os.Exit(0)
68 | }()
69 | app.Main()
70 | }
71 |
--------------------------------------------------------------------------------
/desordres/ajs.pal:
--------------------------------------------------------------------------------
1 | ajstarks #aa0000 #aaaaaa #000000 #ffffff
2 | autumn-decay #313638 #574729 #975330 #c57938 #ffad3b #ffe596
3 | rainbow #ff0000 #ffa500 #ffff00 #008000 #0000ff #4b0082 #ee82ee
4 | polished-gold #000000 #361c1b #754232 #cd894a #e6b983 #fff8bc #ffffff #2d2433 #4f4254 #b092a7
5 | funk-it-up #e4ffff #e63410 #a23737 #ffec40 #81913b #26f675 #4c714e #40ebda #394e4e #0a0a0a
6 | grayscale #111111 #222222 #333333 #444444 #555555 #666666 #777777 #888888 #999999 #aaaaaa #bbbbbb #cccccc #dddddd #eeeeee
7 |
--------------------------------------------------------------------------------
/desordres/default.pal:
--------------------------------------------------------------------------------
1 | kirokaze-gameboy #332c50 #46878f #94e344 #e2f3e4
2 | ice-cream-gb #7c3f58 #eb6b6f #f9a875 #fff6d3
3 | 2-bit-demichrome #211e20 #555568 #a0a08b #e9efec
4 | mist-gb #2d1b00 #1e606e #5ab9a8 #c4f0c2
5 | rustic-gb #2c2137 #764462 #edb4a1 #a96868
6 | 2-bit-grayscale #000000 #676767 #b6b6b6 #ffffff
7 | hollow #0f0f1b #565a75 #c6b7be #fafbf6
8 | ayy4 #00303b #ff7777 #ffce96 #f1f2da
9 | nintendo-gameboy-bgb #081820 #346856 #88c070 #e0f8d0
10 | red-brick #eff9d6 #ba5044 #7a1c4b #1b0326
11 | nostalgia #d0d058 #a0a840 #708028 #405010
12 | spacehaze #f8e3c4 #cc3495 #6b1fb1 #0b0630
13 | moonlight-gb #0f052d #203671 #36868f #5fc75d
14 | links-awakening-sgb #5a3921 #6b8c42 #7bc67b #ffffb5
15 | arq4 #ffffff #6772a9 #3a3277 #000000
16 | blk-aqu4 #002b59 #005f8c #00b9be #9ff4e5
17 | pokemon-sgb #181010 #84739c #f7b58c #ffefff
18 | nintendo-super-gameboy #331e50 #a63725 #d68e49 #f7e7c6
19 | blu-scribbles #051833 #0a4f66 #0f998e #12cc7f
20 | kankei4 #ffffff #f42e1f #2f256b #060608
21 | dark-mode #212121 #454545 #787878 #a8a5a5
22 | pen-n-paper #e4dbba #a4929a #4f3a54 #260d1c
23 |
--------------------------------------------------------------------------------
/dots/README.md:
--------------------------------------------------------------------------------
1 | # dots
2 |
3 | Drag the mouse and make dots
4 |
5 | 
6 |
7 | ## command line
8 |
9 | ```
10 | -bgcolor string
11 | background color (default "black")
12 | -palette string
13 | color palette (space separated list of colors)
14 | (default "#aaaaaaaa #aa0000aa #00aa00aa #0000aaaa #ffd821aa #234ad5aa #ffad5e00 #000000aa")
15 | colors may be spefied as named colors, rgb(r,g,b,[alpha]), #rrggbb[aa], or hsv(hue,sat,value,[alpha])
16 | -height int
17 | canvas height (default 1000)
18 | -width int
19 | canvas width (default 1000)
20 | -nc int
21 | number of dots (default 1000)
22 |
23 | ```
24 |
25 | ## interactions
26 |
27 | * up,right arrow: increase dot size
28 | * down,left arrow: decrease dot size
29 | * Q, Esc: quit
30 |
31 |
--------------------------------------------------------------------------------
/dots/dots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/dots/dots.png
--------------------------------------------------------------------------------
/dotspiral/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "flag"
5 | "os"
6 |
7 | "gioui.org/app"
8 | "gioui.org/unit"
9 | "github.com/ajstarks/giocanvas"
10 | )
11 |
12 | type config struct {
13 | start, end, r, rincr, dincr, tincr, dotsize float64
14 | dotcolor, bgcolor string
15 | }
16 |
17 | func dotspiral(canvas *giocanvas.Canvas, cx, cy float32, c config) {
18 | r := float32(c.r)
19 | rincr := float32(c.rincr)
20 | tincr := float32(c.tincr)
21 | dincr := float32(c.dincr)
22 | dotsize := float32(c.dotsize)
23 | start := float32(c.start)
24 | end := float32(c.end)
25 | color := giocanvas.ColorLookup(c.dotcolor)
26 | canvas.Background(giocanvas.ColorLookup(c.bgcolor))
27 | for t := start; t <= end; t += tincr {
28 | px, py := canvas.PolarDegrees(cx, cy, r, t)
29 | canvas.Circle(px, py, dotsize, color)
30 | r += rincr
31 | dotsize += dincr
32 | }
33 | }
34 |
35 | func work(title string, width, height float32, c config) {
36 | w := &app.Window{}
37 | w.Option(app.Title(title), app.Size(unit.Dp(width), unit.Dp(height)))
38 | var cx, cy float32 = 50, 50
39 | for {
40 | e := w.Event()
41 | switch e := e.(type) {
42 | case app.DestroyEvent:
43 | os.Exit(0)
44 | case app.FrameEvent:
45 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), e)
46 | dotspiral(canvas, cx, cy, c)
47 | e.Frame(canvas.Context.Ops)
48 | }
49 | }
50 | }
51 |
52 | func main() {
53 | var w, h int
54 | var c config
55 | flag.IntVar(&w, "width", 1000, "canvas width")
56 | flag.IntVar(&h, "height", 1000, "canvas height")
57 | flag.Float64Var(&c.start, "start", 180, "start angle")
58 | flag.Float64Var(&c.end, "end", 360, "end angle")
59 | flag.Float64Var(&c.r, "r", 10.0, "radius")
60 | flag.Float64Var(&c.rincr, "rincr", 1.0, "radius increment")
61 | flag.Float64Var(&c.tincr, "tincr", 10.0, "angle increment")
62 | flag.Float64Var(&c.dincr, "dincr", 0.5, "size increment")
63 | flag.Float64Var(&c.dotsize, "size", 0.5, "dotsize")
64 | flag.StringVar(&c.dotcolor, "color", "rgb(128,0,0,128)", "dot color")
65 | flag.StringVar(&c.bgcolor, "bgcolor", "white", "background color")
66 | flag.Parse()
67 | go work("dotspiral", float32(w), float32(h), c)
68 | app.Main()
69 | }
70 |
--------------------------------------------------------------------------------
/eclipse/README.md:
--------------------------------------------------------------------------------
1 | # eclipse
2 | 
3 |
--------------------------------------------------------------------------------
/eclipse/eclipse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/eclipse/eclipse.png
--------------------------------------------------------------------------------
/eclipse/main.go:
--------------------------------------------------------------------------------
1 | // eclipse illustrates the eclipse
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func eclipse(w *app.Window) error {
16 | black := color.NRGBA{0, 0, 0, 255}
17 | white := color.NRGBA{255, 255, 255, 255}
18 | for {
19 | e := w.Event()
20 | switch e := e.(type) {
21 | case app.DestroyEvent:
22 | return e.Err
23 | case app.FrameEvent:
24 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
25 | canvas.CenterRect(50, 50, 100, 100, black)
26 | var r float32 = 5.0
27 | var y float32 = 50.0
28 | var x float32 = 10.0
29 | for x = 10.0; x < 100.0; x += 15 {
30 | canvas.Circle(x, 50, r+0.5, white)
31 | canvas.Circle(x, y, r, black)
32 | y -= 2
33 | }
34 | e.Frame(canvas.Context.Ops)
35 | }
36 | }
37 | }
38 |
39 | func main() {
40 | var cw, ch int
41 | flag.IntVar(&cw, "width", 1000, "canvas width")
42 | flag.IntVar(&ch, "height", 1000, "canvas height")
43 | flag.Parse()
44 | width := float32(cw)
45 | height := float32(ch)
46 |
47 | go func() {
48 | w := &app.Window{}
49 | w.Option(app.Title("eclipse"), app.Size(unit.Dp(width), unit.Dp(height)))
50 | if err := eclipse(w); err != nil {
51 | io.WriteString(os.Stderr, "Cannot create the window\n")
52 | os.Exit(1)
53 | }
54 | os.Exit(0)
55 | }()
56 | app.Main()
57 | }
58 |
--------------------------------------------------------------------------------
/elections/1920.d:
--------------------------------------------------------------------------------
1 | # 1920 Cox Harding
2 | AL 5 7 d 2359000
3 | AZ 5 2 r 340000
4 | AR 5 5 d 1756000
5 | CA 5 1 r 3554000
6 | CO 4 3 r 937000
7 | CT 1 10 r 1391000
8 | DE 3 11 r 219000
9 | FL 6 9 d 962000
10 | GA 5 8 d 2926000
11 | ID 3 2 r 433000
12 | IL 3 6 r 6663000
13 | IN 3 7 r 2947000
14 | IA 3 5 r 2400000
15 | KS 4 4 r 1769000
16 | KY 4 7 d 2421000
17 | LA 6 5 d 1813000
18 | ME 0 12 r 771000
19 | MD 4 10 r 1464000
20 | MA 1 11 r 3882000
21 | MI 2 7 r 3723000
22 | MN 2 5 r 2403000
23 | MS 5 6 d 1800000
24 | MO 4 5 r 3404000
25 | MT 2 2 r 543000
26 | NE 3 4 r 1300000
27 | NV 4 1 r 78000
28 | NH 0 11 r 444000
29 | NJ 2 10 r 3198000
30 | NM 5 3 r 363000
31 | NY 1 9 r 10282000
32 | NC 4 9 d 2588000
33 | ND 2 3 r 646000
34 | OH 3 8 r 5799000
35 | OK 5 4 r 2055000
36 | OR 3 1 r 788000
37 | PA 2 9 r 8740000
38 | RI 2 11 r 613000
39 | SC 5 9 d 1685000
40 | SD 2 4 r 640000
41 | TN 4 6 r 2329000
42 | TX 6 4 d 4723000
43 | UT 4 2 r 453000
44 | VT 0 10 r 353000
45 | VA 3 9 d 2347000
46 | WA 2 1 r 1373000
47 | WV 4 8 r 1470000
48 | WI 2 6 r 2679000
49 | WY 3 3 r 197000
50 |
--------------------------------------------------------------------------------
/elections/1924.d:
--------------------------------------------------------------------------------
1 | # 1924 Davis Coolidge LaFollette
2 | AL 5 7 d 2501000
3 | AZ 5 2 r 382000
4 | AR 5 5 d 1800000
5 | CA 5 1 r 4541000
6 | CO 4 3 r 1014000
7 | CT 1 10 r 1481000
8 | DE 3 11 r 219000
9 | FL 6 9 d 1160000
10 | GA 5 8 d 2920000
11 | ID 3 2 r 434000
12 | IL 3 6 r 7215000
13 | IN 3 7 r 3086000
14 | IA 3 5 r 2420000
15 | KS 4 4 r 1807000
16 | KY 4 7 r 2531000
17 | LA 6 5 d 1939000
18 | ME 0 12 r 788000
19 | MD 4 10 r 1537000
20 | MA 1 11 r 4102000
21 | MI 2 7 r 4214000
22 | MN 2 5 r 2521000
23 | MS 5 6 d 1886000
24 | MO 4 5 r 3508000
25 | MT 2 2 r 538000
26 | NE 3 4 r 1333000
27 | NV 4 1 r 84000
28 | NH 0 11 r 457000
29 | NJ 2 10 r 3573000
30 | NM 5 3 r 390000
31 | NY 1 9 r 10953000
32 | NC 4 9 r 2830000
33 | ND 2 3 r 642000
34 | OH 3 8 r 6319000
35 | OK 5 4 d 2179000
36 | OR 3 1 r 856000
37 | PA 2 9 r 9383000
38 | RI 2 11 r 669000
39 | SC 5 9 d 1710000
40 | SD 2 4 r 673000
41 | TN 4 6 r 2502000
42 | TX 6 4 d 5210000
43 | UT 4 2 r 481000
44 | VT 0 10 r 355000
45 | VA 3 9 d 2426000
46 | WA 2 1 r 1467000
47 | WV 4 8 r 1577000
48 | WI 2 6 i 2833000
49 | WY 3 3 r 215000
50 |
--------------------------------------------------------------------------------
/elections/1928.d:
--------------------------------------------------------------------------------
1 | # 1928 Smith Hoover
2 | AL 5 7 d 2640000
3 | AZ 5 2 r 422000
4 | AR 5 5 d 1847000
5 | CA 5 1 r 5344000
6 | CO 4 3 r 1014000
7 | CT 1 10 r 1577000
8 | DE 3 11 r 233000
9 | FL 6 9 r 1433000
10 | GA 5 8 d 2903000
11 | ID 3 2 r 449000
12 | IL 3 6 r 7576000
13 | IN 3 7 r 3212000
14 | IA 3 5 r 2450000
15 | KS 4 4 r 1850000
16 | KY 4 7 r 2567000
17 | LA 6 5 d 2064000
18 | ME 0 12 r 797000
19 | MD 4 10 r 1610000
20 | MA 1 11 d 4217000
21 | MI 2 7 r 4665000
22 | MN 2 5 r 2592000
23 | MS 5 6 d 1981000
24 | MO 4 5 r 3601000
25 | MT 2 2 r 541000
26 | NE 3 4 r 1371000
27 | NV 4 1 r 89000
28 | NH 0 11 r 468000
29 | NJ 2 10 r 3968000
30 | NM 5 3 r 416000
31 | NY 1 9 r 11599000
32 | NC 4 9 r 3082000
33 | ND 2 3 r 665000
34 | OH 3 8 r 6608000
35 | OK 5 4 r 2344000
36 | OR 3 1 r 936000
37 | PA 2 9 r 9802000
38 | RI 2 11 d 678000
39 | SC 5 9 d 1739000
40 | SD 2 4 r 685000
41 | TN 4 6 r 2624000
42 | TX 6 4 r 5675000
43 | UT 4 2 r 504000
44 | VT 0 10 r 358000
45 | VA 3 9 r 2435000
46 | WA 2 1 r 1551000
47 | WV 4 8 r 1696000
48 | WI 2 6 r 2923000
49 | WY 3 3 r 220000
50 |
--------------------------------------------------------------------------------
/elections/1932.d:
--------------------------------------------------------------------------------
1 | # 1932 Roosevelt Hoover
2 | AL 5 7 d 2653000
3 | AZ 5 2 d 426000
4 | AR 5 5 d 1836000
5 | CA 5 1 d 5894000
6 | CO 4 3 d 1066000
7 | CT 1 10 r 1637000
8 | DE 3 11 r 245000
9 | FL 6 9 d 1521000
10 | GA 5 8 d 2935000
11 | ID 3 2 d 459000
12 | IL 3 6 d 7736000
13 | IN 3 7 d 3281000
14 | IA 3 5 d 2489000
15 | KS 4 4 d 1883000
16 | KY 4 7 d 2676000
17 | LA 6 5 d 2155000
18 | ME 0 12 r 815000
19 | MD 4 10 d 1678000
20 | MA 1 11 d 4259000
21 | MI 2 7 d 4780000
22 | MN 2 5 d 2646000
23 | MS 5 6 d 2004000
24 | MO 4 5 d 3746000
25 | MT 2 2 d 540000
26 | NE 3 4 d 1386000
27 | NV 4 1 d 96000
28 | NH 0 11 r 474000
29 | NJ 2 10 d 4120000
30 | NM 5 3 d 441000
31 | NY 1 9 d 13001000
32 | NC 4 9 d 3227000
33 | ND 2 3 d 676000
34 | OH 3 8 d 6717000
35 | OK 5 4 d 2394000
36 | OR 3 1 d 972000
37 | PA 2 9 r 9764000
38 | RI 2 11 d 677000
39 | SC 5 9 d 1748000
40 | SD 2 4 d 692000
41 | TN 4 6 d 2711000
42 | TX 6 4 d 5961000
43 | UT 4 2 d 517000
44 | VT 0 10 r 358000
45 | VA 3 9 d 2452000
46 | WA 2 1 d 1584000
47 | WV 4 8 d 1747000
48 | WI 2 6 d 3021000
49 | WY 3 3 d 230000
50 |
--------------------------------------------------------------------------------
/elections/1936.d:
--------------------------------------------------------------------------------
1 | # 1936 Roosevelt Landon
2 | AL 5 7 d 2743000
3 | AZ 5 2 d 443000
4 | AR 5 5 d 1892000
5 | CA 5 1 d 6341000
6 | CO 4 3 d 1090000
7 | CT 1 10 d 1672000
8 | DE 3 11 d 253000
9 | FL 6 9 d 1651000
10 | GA 5 8 d 2978000
11 | ID 3 2 d 495000
12 | IL 3 6 d 7840000
13 | IN 3 7 d 3348000
14 | IA 3 5 d 2509000
15 | KS 4 4 d 1869000
16 | KY 4 7 d 2768000
17 | LA 6 5 d 2246000
18 | ME 0 12 r 840000
19 | MD 4 10 d 1745000
20 | MA 1 11 d 4355000
21 | MI 2 7 d 4889000
22 | MN 2 5 d 2734000
23 | MS 5 6 d 2072000
24 | MO 4 5 d 3801000
25 | MT 2 2 d 554000
26 | NE 3 4 d 1358000
27 | NV 4 1 d 101000
28 | NH 0 11 d 481000
29 | NJ 2 10 d 4084000
30 | NM 5 3 d 489000
31 | NY 1 9 d 13481000
32 | NC 4 9 d 3346000
33 | ND 2 3 d 664000
34 | OH 3 8 d 6801000
35 | OK 5 4 d 2365000
36 | OR 3 1 d 1025000
37 | PA 2 9 d 9767000
38 | RI 2 11 d 686000
39 | SC 5 9 d 1781000
40 | SD 2 4 d 666000
41 | TN 4 6 d 2791000
42 | TX 6 4 d 6192000
43 | UT 4 2 d 527000
44 | VT 0 10 r 357000
45 | VA 3 9 d 2552000
46 | WA 2 1 d 1653000
47 | WV 4 8 d 1808000
48 | WI 2 6 d 3082000
49 | WY 3 3 d 240000
50 |
--------------------------------------------------------------------------------
/elections/1940.d:
--------------------------------------------------------------------------------
1 | # 1940 Roosevelt Wdlkie
2 | AL 5 7 d 2845000
3 | AZ 5 2 d 499000
4 | AR 5 5 d 1955000
5 | CA 5 1 d 6950000
6 | CO 4 3 r 1130000
7 | CT 1 10 d 1708000
8 | DE 3 11 d 269000
9 | FL 6 9 d 1915000
10 | GA 5 8 d 3119000
11 | ID 3 2 d 522000
12 | IL 3 6 d 7905000
13 | IN 3 7 r 3433000
14 | IA 3 5 r 2537000
15 | KS 4 4 r 1788000
16 | KY 4 7 d 2859000
17 | LA 6 5 d 2370000
18 | ME 0 12 r 849000
19 | MD 4 10 d 1839000
20 | MA 1 11 d 4318000
21 | MI 2 7 r 5315000
22 | MN 2 5 d 2790000
23 | MS 5 6 d 2176000
24 | MO 4 5 d 3786000
25 | MT 2 2 d 558000
26 | NE 3 4 r 1316000
27 | NV 4 1 d 113000
28 | NH 0 11 d 492000
29 | NJ 2 10 d 4175000
30 | NM 5 3 d 531000
31 | NY 1 9 d 13456000
32 | NC 4 9 d 3574000
33 | ND 2 3 r 640000
34 | OH 3 8 d 6929000
35 | OK 5 4 d 2325000
36 | OR 3 1 d 1086000
37 | PA 2 9 d 9896000
38 | RI 2 11 d 719000
39 | SC 5 9 d 1902000
40 | SD 2 4 r 641000
41 | TN 4 6 d 2935000
42 | TX 6 4 d 6425000
43 | UT 4 2 d 552000
44 | VT 0 10 r 363000
45 | VA 3 9 d 2720000
46 | WA 2 1 d 1740000
47 | WV 4 8 d 1907000
48 | WI 2 6 d 3143000
49 | WY 3 3 d 250000
50 |
--------------------------------------------------------------------------------
/elections/1944.d:
--------------------------------------------------------------------------------
1 | # 1944 Roosevelt Dewey
2 | AL 5 7 d 2802000
3 | AZ 5 2 d 610000
4 | AR 5 5 d 1768000
5 | CA 5 1 d 8945000
6 | CO 4 3 r 1137000
7 | CT 1 10 d 1778000
8 | DE 3 11 d 285000
9 | FL 6 9 d 2420000
10 | GA 5 8 d 3176000
11 | ID 3 2 d 529000
12 | IL 3 6 d 7719000
13 | IN 3 7 r 3440000
14 | IA 3 5 r 2301000
15 | KS 4 4 r 1779000
16 | KY 4 7 d 2631000
17 | LA 6 5 d 2508000
18 | ME 0 12 r 801000
19 | MD 4 10 d 2118000
20 | MA 1 11 d 4192000
21 | MI 2 7 d 5467000
22 | MN 2 5 d 2526000
23 | MS 5 6 d 2167000
24 | MO 4 5 d 3560000
25 | MT 2 2 d 469000
26 | NE 3 4 r 1216000
27 | NV 4 1 d 153000
28 | NH 0 11 d 456000
29 | NJ 2 10 d 4158000
30 | NM 5 3 d 527000
31 | NY 1 9 d 12628000
32 | NC 4 9 d 3560000
33 | ND 2 3 r 534000
34 | OH 3 8 r 6918000
35 | OK 5 4 d 2043000
36 | OR 3 1 d 1233000
37 | PA 2 9 d 9214000
38 | RI 2 11 d 795000
39 | SC 5 9 d 1943000
40 | SD 2 4 r 565000
41 | TN 4 6 d 2868000
42 | TX 6 4 d 6876000
43 | UT 4 2 d 605000
44 | VT 0 10 r 314000
45 | VA 3 9 d 3248000
46 | WA 2 1 d 2092000
47 | WV 4 8 d 1706000
48 | WI 2 6 r 2980000
49 | WY 3 3 r 242000
50 |
--------------------------------------------------------------------------------
/elections/1948.d:
--------------------------------------------------------------------------------
1 | # 1948 Truman Dewey Thurmond
2 | AL 5 7 i 2969000
3 | AZ 5 2 d 690000
4 | AR 5 5 d 1825000
5 | CA 5 1 d 10064000
6 | CO 4 3 d 1263000
7 | CT 1 10 r 2014000
8 | DE 3 11 r 312000
9 | FL 6 9 d 2578000
10 | GA 5 8 d 3259000
11 | ID 3 2 d 551000
12 | IL 3 6 d 8552000
13 | IN 3 7 r 3877000
14 | IA 3 5 d 2543000
15 | KS 4 4 r 1892000
16 | KY 4 7 d 2817000
17 | LA 6 5 i 2596000
18 | ME 0 12 r 878000
19 | MD 4 10 r 2271000
20 | MA 1 11 d 4674000
21 | MI 2 7 r 6213000
22 | MN 2 5 d 2868000
23 | MS 5 6 i 2076000
24 | MO 4 5 d 3844000
25 | MT 2 2 d 542000
26 | NE 3 4 r 1265000
27 | NV 4 1 d 156000
28 | NH 0 11 r 520000
29 | NJ 2 10 r 4774000
30 | NM 5 3 d 604000
31 | NY 1 9 r 14497000
32 | NC 4 9 d 3837000
33 | ND 2 3 r 580000
34 | OH 3 8 d 7876000
35 | OK 5 4 d 2089000
36 | OR 3 1 r 1405000
37 | PA 2 9 r 10287000
38 | RI 2 11 d 787000
39 | SC 5 9 i 1996000
40 | SD 2 4 r 612000
41 | TN 4 6 d 3216000
42 | TX 6 4 d 7626000
43 | UT 4 2 d 653000
44 | VT 0 10 r 359000
45 | VA 3 9 d 3207000
46 | WA 2 1 d 2255000
47 | WV 4 8 d 1899000
48 | WI 2 6 d 3314000
49 | WY 3 3 d 269000
50 |
--------------------------------------------------------------------------------
/elections/1952.d:
--------------------------------------------------------------------------------
1 | # 1952 Stevenson Eisenhower
2 | AL 5 7 d 3068000
3 | AZ 5 2 r 842000
4 | AR 5 5 d 1838000
5 | CA 5 1 r 11635000
6 | CO 4 3 r 1365000
7 | CT 1 10 r 2081000
8 | DE 3 11 r 341000
9 | FL 6 9 r 3157000
10 | GA 5 8 d 3584000
11 | ID 3 2 r 587000
12 | IL 3 6 r 8956000
13 | IN 3 7 r 4148000
14 | IA 3 5 r 2626000
15 | KS 4 4 r 1977000
16 | KY 4 7 d 2920000
17 | LA 6 5 d 2842000
18 | ME 0 12 r 915000
19 | MD 4 10 r 2500000
20 | MA 1 11 r 4650000
21 | MI 2 7 r 6650000
22 | MN 2 5 r 3030000
23 | MS 5 6 d 2152000
24 | MO 4 5 r 3972000
25 | MT 2 2 r 602000
26 | NE 3 4 r 1311000
27 | NV 4 1 r 181000
28 | NH 0 11 r 535000
29 | NJ 2 10 r 5125000
30 | NM 5 3 r 735000
31 | NY 1 9 r 15192000
32 | NC 4 9 d 4109000
33 | ND 2 3 r 608000
34 | OH 3 8 r 8275000
35 | OK 5 4 r 2219000
36 | OR 3 1 r 1582000
37 | PA 2 9 r 10503000
38 | RI 2 11 r 802000
39 | SC 5 9 d 2178000
40 | SD 2 4 r 651000
41 | TN 4 6 r 3352000
42 | TX 6 4 r 8314000
43 | UT 4 2 r 724000
44 | VT 0 10 r 375000
45 | VA 3 9 r 3504000
46 | WA 2 1 r 2448000
47 | WV 4 8 d 1957000
48 | WI 2 6 r 3469000
49 | WY 3 3 r 293000
50 |
--------------------------------------------------------------------------------
/elections/1956.d:
--------------------------------------------------------------------------------
1 | # 1956 Stevenson Eisenhower
2 | AL 5 7 d 3071000
3 | AZ 5 2 r 1053000
4 | AR 5 5 d 1704000
5 | CA 5 1 r 13713000
6 | CO 4 3 r 1625000
7 | CT 1 10 r 2316000
8 | DE 3 11 r 408000
9 | FL 6 9 r 4047000
10 | GA 5 8 d 3701000
11 | ID 3 2 r 628000
12 | IL 3 6 r 9530000
13 | IN 3 7 r 4458000
14 | IA 3 5 r 2703000
15 | KS 4 4 r 2119000
16 | KY 4 7 r 2898000
17 | LA 6 5 r 3032000
18 | ME 0 12 r 938000
19 | MD 4 10 r 2811000
20 | MA 1 11 r 4891000
21 | MI 2 7 r 7467000
22 | MN 2 5 r 3240000
23 | MS 5 6 d 2086000
24 | MO 4 5 d 4163000
25 | MT 2 2 r 656000
26 | NE 3 4 r 1397000
27 | NV 4 1 r 250000
28 | NH 0 11 r 566000
29 | NJ 2 10 r 5615000
30 | NM 5 3 r 806000
31 | NY 1 9 r 16112000
32 | NC 4 9 d 4309000
33 | ND 2 3 r 613000
34 | OH 3 8 r 9207000
35 | OK 5 4 r 2273000
36 | OR 3 1 r 1698000
37 | PA 2 9 r 10972000
38 | RI 2 11 r 840000
39 | SC 5 9 d 2229000
40 | SD 2 4 r 670000
41 | TN 4 6 r 3415000
42 | TX 6 4 r 8830000
43 | UT 4 2 r 809000
44 | VT 0 10 r 377000
45 | VA 3 9 r 3722000
46 | WA 2 1 r 2668000
47 | WV 4 8 r 1857000
48 | WI 2 6 r 3742000
49 | WY 3 3 r 312000
50 |
--------------------------------------------------------------------------------
/elections/1960.d:
--------------------------------------------------------------------------------
1 | # 1960 Kennedy Nixon
2 | AL 5 7 d 3267000
3 | AK 1 0 r 226000
4 | AZ 5 2 r 1302000
5 | AR 5 5 d 1786000
6 | CA 5 1 r 15717000
7 | CO 4 3 r 1754000
8 | CT 1 10 d 2535000
9 | DE 3 11 d 446000
10 | DC 3 10 d 764000
11 | FL 6 9 r 4952000
12 | GA 5 8 d 3943000
13 | HI 6 0 r 633000
14 | ID 3 2 r 667000
15 | IL 3 6 d 10081000
16 | IN 3 7 r 4662000
17 | IA 3 5 r 2758000
18 | KS 4 4 r 2179000
19 | KY 4 7 r 3038000
20 | LA 6 5 d 3257000
21 | ME 0 12 r 969000
22 | MD 4 10 r 3101000
23 | MA 1 11 d 5149000
24 | MI 2 7 d 7823000
25 | MN 2 5 d 3414000
26 | MS 5 6 d 2178000
27 | MO 4 5 d 4320000
28 | MT 2 2 r 675000
29 | NE 3 4 r 1411000
30 | NV 4 1 d 285000
31 | NH 0 11 r 607000
32 | NJ 2 10 d 6067000
33 | NM 5 3 d 951000
34 | NY 1 9 d 16782000
35 | NC 4 9 d 4556000
36 | ND 2 3 r 632000
37 | OH 3 8 r 9706000
38 | OK 5 4 r 2328000
39 | OR 3 1 r 1769000
40 | PA 2 9 d 11319000
41 | RI 2 11 d 859000
42 | SC 5 9 d 2383000
43 | SD 2 4 r 681000
44 | TN 4 6 r 3567000
45 | TX 6 4 d 9580000
46 | UT 4 2 r 891000
47 | VT 0 10 r 390000
48 | VA 3 9 r 3967000
49 | WA 2 1 r 2853000
50 | WV 4 8 d 1860000
51 | WI 2 6 r 3952000
52 | WY 3 3 r 330000
53 |
--------------------------------------------------------------------------------
/elections/1964.d:
--------------------------------------------------------------------------------
1 | # 1964 Johnson Goldwater
2 | AL 5 7 r 3395000
3 | AK 1 0 d 263000
4 | AZ 5 2 r 1556000
5 | AR 5 5 d 1897000
6 | CA 5 1 d 18151000
7 | CO 4 3 d 1970000
8 | CT 1 10 d 2798000
9 | DE 3 11 d 497000
10 | DC 3 10 d 798000
11 | FL 6 9 d 5781000
12 | GA 5 8 r 4258000
13 | HI 6 0 d 700000
14 | ID 3 2 d 680000
15 | IL 3 6 d 10580000
16 | IN 3 7 d 4856000
17 | IA 3 5 d 2746000
18 | KS 4 4 d 2209000
19 | KY 4 7 d 3129000
20 | LA 6 5 r 3446000
21 | ME 0 12 d 993000
22 | MD 4 10 d 3492000
23 | MA 1 11 d 5448000
24 | MI 2 7 d 8187000
25 | MN 2 5 d 3558000
26 | MS 5 6 r 2241000
27 | MO 4 5 d 4442000
28 | MT 2 2 d 706000
29 | NE 3 4 d 1482000
30 | NV 4 1 d 426000
31 | NH 0 11 d 663000
32 | NJ 2 10 d 6660000
33 | NM 5 3 d 1006000
34 | NY 1 9 d 17589000
35 | NC 4 9 d 4802000
36 | ND 2 3 d 649000
37 | OH 3 8 d 10080000
38 | OK 5 4 d 2446000
39 | OR 3 1 d 1888000
40 | PA 2 9 d 11519000
41 | RI 2 11 d 885000
42 | SC 5 9 r 2475000
43 | SD 2 4 d 701000
44 | TN 4 6 d 3771000
45 | TX 6 4 d 10270000
46 | UT 4 2 d 978000
47 | VT 0 10 d 399000
48 | VA 3 9 d 4357000
49 | WA 2 1 d 2961000
50 | WV 4 8 d 1797000
51 | WI 2 6 d 4165000
52 | WY 3 3 d 339000
53 |
--------------------------------------------------------------------------------
/elections/1968.d:
--------------------------------------------------------------------------------
1 | # 1968 Humphrey Nixon Wallace
2 | AL 5 7 i 3446000
3 | AK 1 0 r 285000
4 | AZ 5 2 r 1682000
5 | AR 5 5 i 1902000
6 | CA 5 1 r 19394000
7 | CO 4 3 r 2120000
8 | CT 1 10 d 2964000
9 | DE 3 11 r 534000
10 | DC 3 10 d 778000
11 | FL 6 9 r 6433000
12 | GA 5 8 i 4482000
13 | HI 6 0 d 734000
14 | ID 3 2 r 695000
15 | IL 3 6 r 10995000
16 | IN 3 7 r 5093000
17 | IA 3 5 r 2803000
18 | KS 4 4 r 2216000
19 | KY 4 7 r 3195000
20 | LA 6 5 i 3603000
21 | ME 0 12 d 994000
22 | MD 4 10 d 3815000
23 | MA 1 11 d 5618000
24 | MI 2 7 d 8696000
25 | MN 2 5 d 3703000
26 | MS 5 6 i 2219000
27 | MO 4 5 r 4568000
28 | MT 2 2 r 700000
29 | NE 3 4 r 1467000
30 | NV 4 1 r 464000
31 | NH 0 11 r 709000
32 | NJ 2 10 r 7005000
33 | NM 5 3 r 994000
34 | NY 1 9 d 18051000
35 | NC 4 9 r 5004000
36 | ND 2 3 r 621000
37 | OH 3 8 r 10516000
38 | OK 5 4 r 2503000
39 | OR 3 1 r 2004000
40 | PA 2 9 d 11741000
41 | RI 2 11 d 922000
42 | SC 5 9 r 2559000
43 | SD 2 4 r 669000
44 | TN 4 6 r 3878000
45 | TX 6 4 d 10819000
46 | UT 4 2 r 1029000
47 | VT 0 10 r 430000
48 | VA 3 9 r 4558000
49 | WA 2 1 d 3270000
50 | WV 4 8 d 1763000
51 | WI 2 6 r 4345000
52 | WY 3 3 r 324000
53 |
--------------------------------------------------------------------------------
/elections/1972.d:
--------------------------------------------------------------------------------
1 | # 1972 McGovern Nixon
2 | AL 5 7 r 3539400
3 | AK 1 0 r 324464
4 | AZ 5 2 r 2008291
5 | AR 5 5 r 2018638
6 | CA 5 1 r 20585469
7 | CO 4 3 r 2404619
8 | CT 1 10 r 3068699
9 | DE 3 11 r 572913
10 | DC 3 10 d 742241
11 | FL 6 9 r 7511463
12 | GA 5 8 r 4809490
13 | HI 6 0 r 828331
14 | ID 3 2 r 763237
15 | IL 3 6 r 11251948
16 | IN 3 7 r 5302435
17 | IA 3 5 r 2860287
18 | KS 4 4 r 2256375
19 | KY 4 7 r 3335728
20 | LA 6 5 r 3761646
21 | ME 0 12 r 1034292
22 | MD 4 10 r 4073499
23 | MA 1 11 d 5760302
24 | MI 2 7 r 9028944
25 | MN 2 5 r 3869747
26 | MS 5 6 r 2307117
27 | MO 4 5 r 4758780
28 | MT 2 2 r 718732
29 | NE 3 4 r 1519013
30 | NV 4 1 r 546789
31 | NH 0 11 r 781107
32 | NJ 2 10 r 7335042
33 | NM 5 3 r 1078697
34 | NY 1 9 r 18339400
35 | NC 4 9 r 5301150
36 | ND 2 3 r 631119
37 | OH 3 8 r 10746993
38 | OK 5 4 r 2658646
39 | OR 3 1 r 2197297
40 | PA 2 9 r 11908233
41 | RI 2 11 r 974790
42 | SC 5 9 r 2719197
43 | SD 2 4 r 677234
44 | TN 4 6 r 4094611
45 | TX 6 4 r 11759148
46 | UT 4 2 r 1135449
47 | VT 0 10 r 463143
48 | VA 3 9 r 4824472
49 | WA 2 1 r 3447885
50 | WV 4 8 r 1797648
51 | WI 2 6 r 4502412
52 | WY 3 3 r 347345
53 |
--------------------------------------------------------------------------------
/elections/1976.d:
--------------------------------------------------------------------------------
1 | # 1976 Carter Ford
2 | AL 5 7 d 3735139
3 | AK 1 0 r 400969
4 | AZ 5 2 r 2346157
5 | AR 5 5 d 2170161
6 | CA 5 1 r 21935909
7 | CO 4 3 r 2632306
8 | CT 1 10 r 3083335
9 | DE 3 11 d 590166
10 | DC 3 10 r 692295
11 | FL 6 9 d 8667379
12 | GA 5 8 d 5132812
13 | HI 6 0 d 904191
14 | ID 3 2 r 856983
15 | IL 3 6 r 11342853
16 | IN 3 7 r 5389088
17 | IA 3 5 r 2903082
18 | KS 4 4 r 2301001
19 | KY 4 7 d 3529257
20 | LA 6 5 d 3950605
21 | ME 0 12 r 1088412
22 | MD 4 10 d 4150539
23 | MA 1 11 d 5743672
24 | MI 2 7 d 9129205
25 | MN 2 5 d 3964680
26 | MS 5 6 d 2429756
27 | MO 4 5 d 4839029
28 | MT 2 2 r 757317
29 | NE 3 4 r 1550911
30 | NV 4 1 r 646975
31 | NH 0 11 r 845248
32 | NJ 2 10 r 7339745
33 | NM 5 3 r 1189295
34 | NY 1 9 d 17940541
35 | NC 4 9 d 5607964
36 | ND 2 3 r 645797
37 | OH 3 8 d 10752662
38 | OK 5 4 r 2826815
39 | OR 3 1 r 2378262
40 | PA 2 9 d 11897378
41 | RI 2 11 d 946089
42 | SC 5 9 d 2943657
43 | SD 2 4 r 686390
44 | TN 4 6 d 4346928
45 | TX 6 4 d 12904089
46 | UT 4 2 r 1274928
47 | VT 0 10 r 484928
48 | VA 3 9 r 5121863
49 | WA 2 1 r 3693610
50 | WV 4 8 d 1879503
51 | WI 2 6 d 4595904
52 | WY 3 3 r 396952
53 |
--------------------------------------------------------------------------------
/elections/1980.d:
--------------------------------------------------------------------------------
1 | # 1980 Carter Reagan
2 | AL 5 7 r 3893888
3 | AK 1 0 r 401851
4 | AZ 5 2 r 2718215
5 | AR 5 5 r 2286435
6 | CA 5 1 r 23667902
7 | CO 4 3 r 2889964
8 | CT 1 10 r 3107576
9 | DE 3 11 r 594338
10 | DC 3 10 r 638333
11 | FL 6 9 r 9746324
12 | GA 5 8 d 5463105
13 | HI 6 0 d 964691
14 | ID 3 2 r 943935
15 | IL 3 6 r 11426518
16 | IN 3 7 r 5490224
17 | IA 3 5 r 2913808
18 | KS 4 4 r 2363679
19 | KY 4 7 r 3660777
20 | LA 6 5 r 4205900
21 | ME 0 12 r 1124660
22 | MD 4 10 d 4216975
23 | MA 1 11 r 5737037
24 | MI 2 7 r 9262078
25 | MN 2 5 d 4075970
26 | MS 5 6 r 2520638
27 | MO 4 5 r 4916686
28 | MT 2 2 r 786690
29 | NE 3 4 r 1569825
30 | NV 4 1 r 800493
31 | NH 0 11 r 920610
32 | NJ 2 10 r 7364823
33 | NM 5 3 r 1302894
34 | NY 1 9 r 17558072
35 | NC 4 9 r 5881766
36 | ND 2 3 r 652717
37 | OH 3 8 r 10797630
38 | OK 5 4 r 3025290
39 | OR 3 1 r 2633105
40 | PA 2 9 r 11863895
41 | RI 2 11 d 947154
42 | SC 5 9 r 3121820
43 | SD 2 4 r 690768
44 | TN 4 6 r 4591120
45 | TX 6 4 r 14229191
46 | UT 4 2 r 1461037
47 | VT 0 10 r 511456
48 | VA 3 9 r 5346818
49 | WA 2 1 r 4132156
50 | WV 4 8 d 1949644
51 | WI 2 6 r 4705767
52 | WY 3 3 r 469557
53 |
--------------------------------------------------------------------------------
/elections/1984.d:
--------------------------------------------------------------------------------
1 | # 1984 Mondale Reagan
2 | AL 5 7 r 3951820
3 | AK 1 0 r 513702
4 | AZ 5 2 r 3067135
5 | AR 5 5 r 2319768
6 | CA 5 1 r 25844393
7 | CO 4 3 r 3169992
8 | CT 1 10 r 3180014
9 | DE 3 11 r 611565
10 | DC 3 10 d 633382
11 | FL 6 9 r 11039925
12 | GA 5 8 r 5834954
13 | HI 6 0 r 1027922
14 | ID 3 2 r 990839
15 | IL 3 6 r 11412132
16 | IN 3 7 r 5458322
17 | IA 3 5 r 2858618
18 | KS 4 4 r 2424086
19 | KY 4 7 r 3695453
20 | LA 6 5 r 4400477
21 | ME 0 12 r 1155635
22 | MD 4 10 r 4365243
23 | MA 1 11 r 5840773
24 | MI 2 7 r 9049452
25 | MN 2 5 d 4157706
26 | MS 5 6 r 2578051
27 | MO 4 5 r 4975278
28 | MT 2 2 r 820905
29 | NE 3 4 r 1588639
30 | NV 4 1 r 924922
31 | NH 0 11 r 976864
32 | NJ 2 10 r 7515473
33 | NM 5 3 r 1416717
34 | NY 1 9 r 17745684
35 | NC 4 9 r 6164006
36 | ND 2 3 r 680497
37 | OH 3 8 r 10737746
38 | OK 5 4 r 3285533
39 | OR 3 1 r 2666588
40 | PA 2 9 r 11815172
41 | RI 2 11 r 961894
42 | SC 5 9 r 3271868
43 | SD 2 4 r 697249
44 | TN 4 6 r 4686737
45 | TX 6 4 r 16007086
46 | UT 4 2 r 1622342
47 | VT 0 10 r 526660
48 | VA 3 9 r 5643870
49 | WA 2 1 r 4343656
50 | WV 4 8 r 1927697
51 | WI 2 6 r 4735563
52 | WY 3 3 r 504896
53 |
--------------------------------------------------------------------------------
/elections/1988.d:
--------------------------------------------------------------------------------
1 | # 1988 Dukakis Bush
2 | AL 5 7 r 4023844
3 | AK 1 0 r 541983
4 | AZ 5 2 r 3535183
5 | AR 5 5 r 2342656
6 | CA 5 1 r 28464249
7 | CO 4 3 r 3262281
8 | CT 1 10 r 3271953
9 | DE 3 11 r 647622
10 | DC 3 10 d 630432
11 | FL 6 9 r 12306395
12 | GA 5 8 r 6316142
13 | HI 6 0 d 1079828
14 | ID 3 2 r 985664
15 | IL 3 6 r 11390183
16 | IN 3 7 r 5491735
17 | IA 3 5 d 2768388
18 | KS 4 4 r 2461996
19 | KY 4 7 r 3679999
20 | LA 6 5 r 4288863
21 | ME 0 12 r 1203840
22 | MD 4 10 r 4657904
23 | MA 1 11 d 5979982
24 | MI 2 7 r 9217998
25 | MN 2 5 d 4296166
26 | MS 5 6 r 2580352
27 | MO 4 5 r 5081736
28 | MT 2 2 r 800202
29 | NE 3 4 r 1571477
30 | NV 4 1 r 1075022
31 | NH 0 11 r 1082577
32 | NJ 2 10 r 7712333
33 | NM 5 3 r 1490337
34 | NY 1 9 d 17941309
35 | NC 4 9 r 6480594
36 | ND 2 3 r 655331
37 | OH 3 8 r 10798552
38 | OK 5 4 r 3167057
39 | OR 3 1 d 2741297
40 | PA 2 9 r 11845752
41 | RI 2 11 d 996408
42 | SC 5 9 r 3412096
43 | SD 2 4 r 698165
44 | TN 4 6 r 4822437
45 | TX 6 4 r 16667022
46 | UT 4 2 r 1689372
47 | VT 0 10 r 549763
48 | VA 3 9 r 6036909
49 | WA 2 1 d 4639893
50 | WV 4 8 d 1830215
51 | WI 2 6 d 4822388
52 | WY 3 3 r 465101
53 |
--------------------------------------------------------------------------------
/elections/1992.d:
--------------------------------------------------------------------------------
1 | # 1992 Clinton Bush
2 | AL 5 7 r 4131068
3 | AK 1 0 r 587324
4 | AZ 5 2 r 3835485
5 | AR 5 5 d 2395446
6 | CA 5 1 d 30909406
7 | CO 4 3 d 3463145
8 | CT 1 10 d 3279272
9 | DE 3 11 d 689726
10 | DC 3 10 d 585813
11 | FL 6 9 r 13510073
12 | GA 5 8 d 6764524
13 | HI 6 0 d 1153020
14 | ID 3 2 r 1066203
15 | IL 3 6 d 11610447
16 | IN 3 7 r 5652211
17 | IA 3 5 d 2807782
18 | KS 4 4 r 2517791
19 | KY 4 7 d 3752639
20 | LA 6 5 d 4273036
21 | ME 0 12 d 1237103
22 | MD 4 10 d 4913625
23 | MA 1 11 d 5999148
24 | MI 2 7 d 9423247
25 | MN 2 5 d 4473959
26 | MS 5 6 r 2612726
27 | MO 4 5 d 5192748
28 | MT 2 2 d 823080
29 | NE 3 4 r 1603940
30 | NV 4 1 d 1331274
31 | NH 0 11 d 1113919
32 | NJ 2 10 d 7812654
33 | NM 5 3 d 1580966
34 | NY 1 9 d 18094825
35 | NC 4 9 r 6838230
36 | ND 2 3 r 635340
37 | OH 3 8 d 11004556
38 | OK 5 4 r 3206168
39 | OR 3 1 d 2974652
40 | PA 2 9 d 11989828
41 | RI 2 11 d 1002406
42 | SC 5 9 r 3595400
43 | SD 2 4 r 709462
44 | TN 4 6 d 5020680
45 | TX 6 4 r 17666863
46 | UT 4 2 r 1811373
47 | VT 0 10 d 571340
48 | VA 3 9 r 6389390
49 | WA 2 1 d 5146044
50 | WV 4 8 d 807171
51 | WI 2 6 d 4996925
52 | WY 3 3 r 464079
53 |
--------------------------------------------------------------------------------
/elections/1996.d:
--------------------------------------------------------------------------------
1 | # 1996 Clinton Dole
2 | AL 5 7 r 4273084
3 | AK 1 0 r 607007
4 | AZ 5 2 d 4428068
5 | AR 5 5 d 2509793
6 | CA 5 1 d 31878234
7 | CO 4 3 r 3822676
8 | CT 1 10 d 3274238
9 | DE 3 11 d 724842
10 | DC 3 10 d 543213
11 | FL 6 9 d 14399985
12 | GA 5 8 r 7353225
13 | HI 6 0 d 1183723
14 | ID 3 2 r 1189251
15 | IL 3 6 d 11846544
16 | IN 3 7 r 5840528
17 | IA 3 5 d 2851792
18 | KS 4 4 r 2572150
19 | KY 4 7 d 3883723
20 | LA 6 5 d 4350579
21 | ME 0 12 d 1243316
22 | MD 4 10 d 5071604
23 | MA 1 11 d 6092352
24 | MI 2 7 d 9594350
25 | MN 2 5 d 4657758
26 | MS 5 6 r 2716115
27 | MO 4 5 d 5358692
28 | MT 2 2 r 879372
29 | NE 3 4 r 1652093
30 | NV 4 1 d 1603163
31 | NH 0 11 d 1162481
32 | NJ 2 10 d 7987933
33 | NM 5 3 d 1713407
34 | NY 1 9 d 18184774
35 | NC 4 9 r 7322870
36 | ND 2 3 r 643539
37 | OH 3 8 d 11172782
38 | OK 5 4 r 3300902
39 | OR 3 1 d 3203735
40 | PA 2 9 d 12056112
41 | RI 2 11 d 990225
42 | SC 5 9 r 3698746
43 | SD 2 4 r 732405
44 | TN 4 6 d 5319654
45 | TX 6 4 r 19128261
46 | UT 4 2 r 2000494
47 | VT 0 10 d 588654
48 | VA 3 9 r 6675451
49 | WA 2 1 d 5532939
50 | WV 4 8 d 1825754
51 | WI 2 6 d 5159795
52 | WY 3 3 r 481400
53 |
--------------------------------------------------------------------------------
/elections/2000.d:
--------------------------------------------------------------------------------
1 | # 2000 Gore Bush
2 | AL 5 7 r 4452173
3 | AK 1 0 r 627963
4 | AZ 5 2 r 5160586
5 | AR 5 5 r 2678588
6 | CA 5 1 d 33987977
7 | CO 4 3 r 4326921
8 | CT 1 10 d 3411777
9 | DE 3 11 d 786373
10 | DC 3 10 d 572046
11 | FL 6 9 r 16047515
12 | GA 5 8 r 8227303
13 | HI 6 0 d 1213519
14 | ID 3 2 r 1299430
15 | IL 3 6 d 12434161
16 | IN 3 7 r 6091866
17 | IA 3 5 d 2929067
18 | KS 4 4 r 2693681
19 | KY 4 7 r 4049021
20 | LA 6 5 r 4471885
21 | ME 0 12 d 1277072
22 | MD 4 10 d 5311034
23 | MA 1 11 d 6361104
24 | MI 2 7 d 9952450
25 | MN 2 5 d 4933692
26 | MS 5 6 r 2848353
27 | MO 4 5 r 5607285
28 | MT 2 2 r 903773
29 | NE 3 4 r 1713820
30 | NV 4 1 r 2018741
31 | NH 0 11 r 1239882
32 | NJ 2 10 d 8430621
33 | NM 5 3 d 1821204
34 | NY 1 9 d 19001780
35 | NC 4 9 r 8081614
36 | ND 2 3 r 642023
37 | OH 3 8 r 11363543
38 | OK 5 4 r 3454365
39 | OR 3 1 d 3429708
40 | PA 2 9 d 12284173
41 | RI 2 11 d 1050268
42 | SC 5 9 r 4024223
43 | SD 2 4 r 755844
44 | TN 4 6 r 5703719
45 | TX 6 4 r 20944499
46 | UT 4 2 r 2244502
47 | VT 0 10 d 609618
48 | VA 3 9 r 7105817
49 | WA 2 1 d 5910512
50 | WV 4 8 r 1807021
51 | WI 2 6 d 5373999
52 | WY 3 3 r 494300
53 |
--------------------------------------------------------------------------------
/elections/2004.d:
--------------------------------------------------------------------------------
1 | # 2004 Kerry Bush
2 | AL 5 7 r 4530729
3 | AK 1 0 r 659286
4 | AZ 5 2 r 5652404
5 | AR 5 5 r 2749686
6 | CA 5 1 d 35574576
7 | CO 4 3 r 4575013
8 | CT 1 10 d 3496094
9 | DE 3 11 d 830803
10 | DC 3 10 d 567754
11 | FL 6 9 r 17415318
12 | GA 5 8 r 8769252
13 | HI 6 0 d 1273569
14 | ID 3 2 r 1391802
15 | IL 3 6 d 12589773
16 | IN 3 7 r 6233007
17 | IA 3 5 r 2953635
18 | KS 4 4 r 2734373
19 | KY 4 7 r 4146101
20 | LA 6 5 r 4552238
21 | ME 0 12 d 1313688
22 | MD 4 10 d 5546935
23 | MA 1 11 d 6412281
24 | MI 2 7 d 10055315
25 | MN 2 5 d 5087713
26 | MS 5 6 r 2889010
27 | MO 4 5 r 5747741
28 | MT 2 2 r 930009
29 | NE 3 4 r 1749370
30 | NV 4 1 r 2346222
31 | NH 0 11 d 1290121
32 | NJ 2 10 d 8634561
33 | NM 5 3 r 1903808
34 | NY 1 9 d 19171567
35 | NC 4 9 r 8553152
36 | ND 2 3 r 644705
37 | OH 3 8 r 11452251
38 | OK 5 4 r 3525233
39 | OR 3 1 d 3569463
40 | PA 2 9 d 12410722
41 | RI 2 11 d 1074579
42 | SC 5 9 r 4210921
43 | SD 2 4 r 770396
44 | TN 4 6 r 5910809
45 | TX 6 4 r 22394023
46 | UT 4 2 r 2401580
47 | VT 0 10 d 619920
48 | VA 3 9 r 7475575
49 | WA 2 1 d 6178645
50 | WV 4 8 r 1816438
51 | WI 2 6 d 5514026
52 | WY 3 3 r 509106
53 |
--------------------------------------------------------------------------------
/elections/2008.d:
--------------------------------------------------------------------------------
1 | # 2008 Obama McCain
2 | AL 5 7 r 4718206
3 | AK 1 0 r 687455
4 | AZ 5 2 r 6280362
5 | AR 5 5 r 2874554
6 | CA 5 1 d 36604337
7 | CO 4 3 d 4889730
8 | CT 1 10 d 3545579
9 | DE 3 11 d 883874
10 | DC 3 10 d 580236
11 | FL 6 9 d 18527305
12 | GA 5 8 r 9504843
13 | HI 6 0 d 1332213
14 | ID 3 2 r 1534320
15 | IL 3 6 d 12747038
16 | IN 3 7 d 6424806
17 | IA 3 5 d 3016734
18 | KS 4 4 r 2808076
19 | KY 4 7 r 4289878
20 | LA 6 5 r 4435586
21 | ME 0 12 d 1330509
22 | MD 4 10 d 5684965
23 | MA 1 11 d 6468967
24 | MI 2 7 d 9946889
25 | MN 2 5 d 5247018
26 | MS 5 6 r 2947806
27 | MO 4 5 r 5923916
28 | MT 2 2 r 976415
29 | NE 3 4 r 1796378
30 | NV 4 1 d 2653630
31 | NH 0 11 d 1315906
32 | NJ 2 10 d 8711090
33 | NM 5 3 d 2010662
34 | NY 1 9 d 19212436
35 | NC 4 9 d 9309449
36 | ND 2 3 r 657569
37 | OH 3 8 d 11515391
38 | OK 5 4 r 3668976
39 | OR 3 1 d 3768748
40 | PA 2 9 d 12612285
41 | RI 2 11 d 1055003
42 | SC 5 9 r 4528996
43 | SD 2 4 r 799124
44 | TN 4 6 r 6247411
45 | TX 6 4 r 24309039
46 | UT 4 2 r 2663029
47 | VT 0 10 d 624151
48 | VA 3 9 d 7833496
49 | WA 2 1 d 6562231
50 | WV 4 8 r 1840310
51 | WI 2 6 d 5640996
52 | WY 3 3 r 546043
53 |
--------------------------------------------------------------------------------
/elections/2012.d:
--------------------------------------------------------------------------------
1 | # 2012 Obama Romney
2 | AL 5 7 r 4815588
3 | AK 1 0 r 730443
4 | AZ 5 2 d 6554978
5 | AR 5 5 r 2952164
6 | CA 5 1 d 37948800
7 | CO 4 3 d 5192647
8 | CT 1 10 d 3594547
9 | DE 3 11 d 915179
10 | DC 3 10 d 634924
11 | FL 6 9 d 19297822
12 | GA 5 8 r 9901430
13 | HI 6 0 d 1394804
14 | ID 3 2 r 1595324
15 | IL 3 6 d 12882510
16 | IN 3 7 r 6537703
17 | IA 3 5 r 3076190
18 | KS 4 4 r 2885257
19 | KY 4 7 r 4386346
20 | LA 6 5 r 4600972
21 | ME 0 12 d 1327729
22 | MD 4 10 d 5886992
23 | MA 1 11 d 6663005
24 | MI 2 7 d 9897145
25 | MN 2 5 d 5376643
26 | MS 5 6 r 2983816
27 | MO 4 5 r 6024367
28 | MT 2 2 r 1003783
29 | NE 3 4 r 1853303
30 | NV 4 1 d 2743996
31 | NH 0 11 d 1324232
32 | NJ 2 10 d 8844942
33 | NM 5 3 d 2087309
34 | NY 1 9 d 19572932
35 | NC 4 9 r 9749476
36 | ND 2 3 r 701176
37 | OH 3 8 d 11548923
38 | OK 5 4 r 3818814
39 | OR 3 1 d 3899001
40 | PA 2 9 d 12767118
41 | RI 2 11 d 1054621
42 | SC 5 9 r 4717354
43 | SD 2 4 r 833566
44 | TN 4 6 r 6453898
45 | TX 6 4 r 26084481
46 | UT 4 2 r 2853375
47 | VT 0 10 d 626090
48 | VA 3 9 d 8185080
49 | WA 2 1 d 6897058
50 | WV 4 8 r 1856872
51 | WI 2 6 d 5719960
52 | WY 3 3 r 576305
53 |
--------------------------------------------------------------------------------
/elections/2016.d:
--------------------------------------------------------------------------------
1 | # 2016 Clinton Trump
2 | AL 5 7 r 4863525
3 | AK 1 0 r 741456
4 | AZ 5 2 r 6941072
5 | AR 5 5 r 2989918
6 | CA 5 1 d 39167117
7 | CO 4 3 r 5539215
8 | CT 1 10 d 3578141
9 | DE 3 11 d 948921
10 | DC 3 10 d 685815
11 | FL 6 9 r 20613477
12 | GA 5 8 r 10301890
13 | HI 6 0 d 1427559
14 | ID 3 2 r 1682380
15 | IL 3 6 d 12820527
16 | IN 3 7 r 6634304
17 | IA 3 5 r 3131371
18 | KS 4 4 r 2910844
19 | KY 4 7 r 4438182
20 | LA 6 5 r 4678135
21 | ME 0 12 d 1331317
22 | MD 4 10 d 6003323
23 | MA 1 11 d 6823608
24 | MI 2 7 r 9950571
25 | MN 2 5 d 5522744
26 | MS 5 6 r 2987938
27 | MO 4 5 r 6087135
28 | MT 2 2 d 1040859
29 | NE 3 4 r 1905616
30 | NV 4 1 d 2917563
31 | NH 0 11 d 1342307
32 | NJ 2 10 d 8870827
33 | NM 5 3 d 2091630
34 | NY 1 9 d 19633428
35 | NC 4 9 r 10154788
36 | ND 2 3 r 754434
37 | OH 3 8 r 11634370
38 | OK 5 4 r 3926331
39 | OR 3 1 d 4089976
40 | PA 2 9 r 12782275
41 | RI 2 11 d 1056770
42 | SC 5 9 r 4957968
43 | SD 2 4 r 862996
44 | TN 4 6 r 6646010
45 | TX 6 4 r 27914410
46 | UT 4 2 r 3041868
47 | VT 0 10 d 623657
48 | VA 3 9 d 8410106
49 | WA 2 1 d 7294771
50 | WV 4 8 r 1831023
51 | WI 2 6 r 5772628
52 | WY 3 3 r 584215
53 |
--------------------------------------------------------------------------------
/elections/2020.d:
--------------------------------------------------------------------------------
1 | # 2020 Biden Trump
2 | AL 5 7 r 4903185
3 | AK 1 0 r 731545
4 | AZ 5 2 d 7278717
5 | AR 5 5 r 3017804
6 | CA 5 1 d 39512223
7 | CO 4 3 d 5758736
8 | CT 1 10 d 3565287
9 | DE 3 11 d 973764
10 | DC 3 10 d 705749
11 | FL 6 9 r 21477737
12 | GA 5 8 d 10617423
13 | HI 6 0 d 1415872
14 | ID 3 2 r 1787065
15 | IL 3 6 d 12671821
16 | IN 3 7 r 6732219
17 | IA 3 5 r 3155070
18 | KS 4 4 r 2913314
19 | KY 4 7 r 4467673
20 | LA 6 5 r 4648794
21 | ME 0 12 d 1344212
22 | MD 4 10 d 6045680
23 | MA 1 11 d 6892503
24 | MI 2 7 d 9986857
25 | MN 2 5 d 5639632
26 | MS 5 6 r 2976149
27 | MO 4 5 r 6137428
28 | MT 2 2 r 1068778
29 | NE 3 4 r 1934408
30 | NV 4 1 d 3080156
31 | NH 0 11 d 1359711
32 | NJ 2 10 d 8882190
33 | NM 5 3 d 2096829
34 | NY 1 9 d 19453561
35 | NC 4 9 r 10488084
36 | ND 2 3 r 762062
37 | OH 3 8 r 11689100
38 | OK 5 4 r 3956971
39 | OR 3 1 d 4217737
40 | PA 2 9 d 12801989
41 | RI 2 11 d 1059361
42 | SC 5 9 r 5148714
43 | SD 2 4 r 884659
44 | TN 4 6 r 6829174
45 | TX 6 4 r 28995881
46 | UT 4 2 r 3205958
47 | VT 0 10 d 623989
48 | VA 3 9 d 8535519
49 | WA 2 1 d 7614893
50 | WV 4 8 r 1792147
51 | WI 2 6 d 5822434
52 | WY 3 3 r 578759
53 |
--------------------------------------------------------------------------------
/elections/Go-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/elections/Go-Bold.ttf
--------------------------------------------------------------------------------
/elections/Go-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/elections/Go-Regular.ttf
--------------------------------------------------------------------------------
/elections/README.md:
--------------------------------------------------------------------------------
1 | # Elections
2 | 
3 |
4 | # usage
5 |
6 | ```
7 | -bgcolor string
8 | background color (default "black")
9 | -colsize float
10 | column size (canvas %) (default 7)
11 | -height int
12 | canvas height (default 900)
13 | -left float
14 | map left value (canvas %) (default 15)
15 | -rowsize float
16 | rowsize (canvas %) (default 9)
17 | -sans string
18 | sans font (default "Go-Regular")
19 | -shape string
20 | shape for states:
21 | "c": circle,
22 | "h": hexagon,
23 | "s": square
24 | "l": line
25 | "g": geographic
26 | "p": plain text (default "c")
27 | -symbol string
28 | symbol font (default "stateface")
29 | -textcolor string
30 | text color (default "white")
31 | -top float
32 | map top value (canvas %) (default 75)
33 | -width int
34 | canvas width (default 1200)
35 | ```
--------------------------------------------------------------------------------
/elections/abbr.d:
--------------------------------------------------------------------------------
1 | AL
2 | AK
3 | AZ
4 | AR
5 | CA
6 | CO
7 | CT
8 | DE
9 | DC
10 | FL
11 | GA
12 | HI
13 | ID
14 | IL
15 | IN
16 | IA
17 | KS
18 | KY
19 | LA
20 | ME
21 | MD
22 | MA
23 | MI
24 | MN
25 | MS
26 | MO
27 | MT
28 | NE
29 | NV
30 | NH
31 | NJ
32 | NM
33 | NY
34 | NC
35 | ND
36 | OH
37 | OK
38 | OR
39 | PA
40 | RI
41 | SC
42 | SD
43 | TN
44 | TX
45 | UT
46 | VT
47 | VA
48 | WA
49 | WV
50 | WI
51 | WY
52 |
--------------------------------------------------------------------------------
/elections/elections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/elections/elections.png
--------------------------------------------------------------------------------
/elections/fips.d:
--------------------------------------------------------------------------------
1 | AL
2 | AK
3 | AZ
4 | AR
5 | CA
6 | CO
7 | CT
8 | DE
9 | DC
10 | FL
11 | GA
12 | HI
13 | ID
14 | IL
15 | IN
16 | IA
17 | KS
18 | KY
19 | LA
20 | ME
21 | MD
22 | MA
23 | MI
24 | MN
25 | MS
26 | MO
27 | MT
28 | NE
29 | NV
30 | NH
31 | NJ
32 | NM
33 | NY
34 | NC
35 | ND
36 | OH
37 | OK
38 | OR
39 | PA
40 | RI
41 | SC
42 | SD
43 | TN
44 | TX
45 | UT
46 | VT
47 | VA
48 | WA
49 | WV
50 | WI
51 | WY
52 |
--------------------------------------------------------------------------------
/elections/grid.d:
--------------------------------------------------------------------------------
1 | AL 5 7
2 | AK 1 0
3 | AZ 5 2
4 | AR 5 5
5 | CA 5 1
6 | CO 4 3
7 | CT 1 10
8 | DE 3 11
9 | DC 3 10
10 | FL 6 9
11 | GA 5 8
12 | HI 6 0
13 | ID 3 2
14 | IL 3 6
15 | IN 3 7
16 | IA 3 5
17 | KS 4 4
18 | KY 4 7
19 | LA 6 5
20 | ME 0 12
21 | MD 4 10
22 | MA 1 11
23 | MI 2 7
24 | MN 2 5
25 | MS 5 6
26 | MO 4 5
27 | MT 2 2
28 | NE 3 4
29 | NV 4 1
30 | NH 0 11
31 | NJ 2 10
32 | NM 5 3
33 | NY 1 9
34 | NC 4 9
35 | ND 2 3
36 | OH 3 8
37 | OK 5 4
38 | OR 3 1
39 | PA 2 9
40 | RI 2 11
41 | SC 5 9
42 | SD 2 4
43 | TN 4 6
44 | TX 6 4
45 | UT 4 2
46 | VT 0 10
47 | VA 3 9
48 | WA 2 1
49 | WV 4 8
50 | WI 2 6
51 | WY 3 3
52 |
--------------------------------------------------------------------------------
/elections/nyt-1792.d:
--------------------------------------------------------------------------------
1 | # 1792 Washington:i
2 | CT 3 9 i 237946
3 | DE 4 9 i 59096
4 | GA 6 7 i 82548
5 | KY 4 5 i 73677
6 | MD 4 8 i 319728
7 | MA 2 9 i 378787
8 | NH 1 10 i 141885
9 | NJ 3 8 i 184139
10 | NY 2 8 i 340120
11 | NC 5 7 i 393751
12 | PA 3 7 i 434373
13 | RI 3 10 i 68825
14 | SC 5 6 i 249073
15 | VT 1 9 i 85425
16 | VA 4 7 i 691937
17 |
--------------------------------------------------------------------------------
/elections/nyt-1796.d:
--------------------------------------------------------------------------------
1 | # 1796 Adams:f Jefferson:dr
2 | CT 3 9 f 237946
3 | DE 4 9 f 59096
4 | GA 6 7 dr 82548
5 | KY 4 5 dr 73677
6 | MD 4 8 dr 319728
7 | MA 2 9 f 378787
8 | NH 1 10 f 141885
9 | NJ 3 8 f 184139
10 | NY 2 8 f 340120
11 | NC 5 7 dr 393751
12 | PA 3 7 dr 434373
13 | RI 3 10 f 68825
14 | SC 5 6 dr 249073
15 | TN 5 5 dr 35691
16 | VT 1 9 f 85425
17 | VA 4 7 dr 691937
18 |
--------------------------------------------------------------------------------
/elections/nyt-1800.d:
--------------------------------------------------------------------------------
1 | # 1800 Adams:f Jefferson:dr
2 | AL 6 6 dr 1250
3 | CT 3 9 f 251002
4 | DE 4 9 f 64273
5 | GA 6 7 dr 162686
6 | KY 4 5 dr 220959
7 | MD 4 8 dr 341548
8 | MA 2 9 f 422845
9 | NH 1 10 f 183858
10 | NJ 3 8 f 211149
11 | NY 2 8 f 586050
12 | NC 5 7 dr 478103
13 | PA 3 7 dr 602545
14 | RI 3 10 f 69122
15 | SC 5 6 dr 345591
16 | TN 5 5 dr 105602
17 | VT 1 9 f 154465
18 | VA 4 7 dr 807557
19 |
--------------------------------------------------------------------------------
/elections/nyt-1804.d:
--------------------------------------------------------------------------------
1 | # 1804 Pinckney:f Jefferson:dr
2 | CT 3 9 dr 251002
3 | DE 4 9 f 64273
4 | GA 6 7 dr 162686
5 | KY 4 5 dr 220959
6 | MD 4 8 dr 341548
7 | MA 2 9 dr 422845
8 | NH 1 10 dr 183858
9 | NJ 3 8 dr 211149
10 | NY 2 8 dr 586050
11 | NC 5 7 dr 478103
12 | PA 3 7 dr 602545
13 | RI 3 10 f 69122
14 | SC 5 6 dr 345591
15 | TN 5 5 dr 105602
16 | VT 1 9 dr 154465
17 | VA 4 7 dr 807557
18 |
--------------------------------------------------------------------------------
/elections/nyt-1808.d:
--------------------------------------------------------------------------------
1 | # 1808 Pinckney:f Madison:dr
2 | CT 3 9 dr 251002
3 | DE 4 9 f 64273
4 | GA 6 7 dr 162686
5 | KY 4 5 dr 220959
6 | MD 4 8 dr 341548
7 | MA 2 9 f 422845
8 | NH 1 10 f 183858
9 | NJ 3 8 dr 211149
10 | NY 2 8 dr 586050
11 | NC 5 7 dr 478103
12 | PA 3 7 dr 602545
13 | RI 3 10 f 69122
14 | SC 5 6 dr 345591
15 | TN 5 5 dr 105602
16 | VT 1 9 dr 154465
17 | VA 4 7 dr 807557
18 |
--------------------------------------------------------------------------------
/elections/nyt-1812.d:
--------------------------------------------------------------------------------
1 | # 1812 Clinton:f Madison:dr
2 | CT 3 9 f 262042
3 | DE 4 9 f 72674
4 | GA 6 7 dr 251407
5 | KY 4 5 dr 406511
6 | LA 6 4 dr 76556
7 | MD 4 8 dr 380546
8 | MA 2 9 f 472040
9 | NH 1 10 f 214360
10 | NJ 3 8 f 245555
11 | NY 2 8 dr 959049
12 | NC 5 7 dr 556526
13 | PA 3 7 dr 810091
14 | RI 3 10 f 76931
15 | SC 5 6 dr 415115
16 | TN 5 5 dr 261727
17 | VT 1 9 dr 217713
18 | VA 4 7 dr 877683
19 |
--------------------------------------------------------------------------------
/elections/nyt-1816.d:
--------------------------------------------------------------------------------
1 | # 1816 King:f Madison:dr
2 | CT 3 9 f 262042
3 | DE 4 9 f 72674
4 | GA 6 7 dr 251407
5 | KY 4 5 dr 406511
6 | LA 6 4 dr 76556
7 | MD 4 8 dr 380546
8 | MA 2 9 f 472040
9 | NH 1 10 dr 214360
10 | NJ 3 8 dr 245555
11 | NY 2 8 dr 959049
12 | NC 5 7 dr 556526
13 | PA 3 7 dr 810091
14 | RI 3 10 dr 76931
15 | SC 5 6 dr 415115
16 | TN 5 5 dr 261727
17 | VT 1 9 dr 217713
18 | VA 4 7 dr 877683
19 |
--------------------------------------------------------------------------------
/elections/nyt-1820.d:
--------------------------------------------------------------------------------
1 | # 1820 Monroe:dr
2 | AL 6 6 dr 127901
3 | CT 3 9 dr 275202
4 | DE 4 9 dr 72749
5 | GA 6 7 dr 340989
6 | IL 2 5 dr 55211
7 | IN 3 5 dr 147178
8 | KY 4 5 dr 564317
9 | LA 6 4 dr 153407
10 | ME 0 10 dr 399455
11 | MD 4 8 dr 407350
12 | MA 2 9 dr 523287
13 | MS 6 5 dr 75448
14 | MO 4 4 dr 66586
15 | NH 1 10 dr 244161
16 | NJ 3 8 dr 277575
17 | NY 2 8 dr 1372812
18 | NC 5 7 dr 638829
19 | OH 3 6 dr 581434
20 | PA 3 7 dr 1049458
21 | RI 3 10 dr 83059
22 | SC 5 6 dr 502741
23 | TN 5 5 dr 422813
24 | VT 1 9 dr 235764
25 | VA 4 7 dr 938261
26 |
--------------------------------------------------------------------------------
/elections/nyt-1824.d:
--------------------------------------------------------------------------------
1 | # 1824 Jackson Adams Crawford
2 | AL 6 6 d 127901
3 | CT 3 9 r 275202
4 | DE 4 9 i 72749
5 | GA 6 7 i 340989
6 | IL 2 5 r 55211
7 | IN 3 5 d 147178
8 | KY 4 5 r 564317
9 | LA 6 4 r 153407
10 | ME 0 10 r 399455
11 | MD 4 8 r 407350
12 | MA 2 9 r 523287
13 | MS 6 5 d 75448
14 | MO 4 4 r 66586
15 | NH 1 10 r 244161
16 | NJ 3 8 d 277575
17 | NY 2 8 r 1372812
18 | NC 5 7 i 638829
19 | OH 3 6 r 581434
20 | PA 3 7 d 1049458
21 | RI 3 10 r 83059
22 | SC 5 6 d 502741
23 | TN 5 5 d 422813
24 | VT 1 9 r 235764
25 | VA 4 7 i 938261
26 |
--------------------------------------------------------------------------------
/elections/nyt-1828.d:
--------------------------------------------------------------------------------
1 | # 1828 Jackson Adams
2 | AL 6 6 d 127901
3 | CT 3 9 r 275202
4 | DE 4 9 r 72749
5 | GA 6 7 d 340989
6 | IL 2 5 d 55211
7 | IN 3 5 d 147178
8 | KY 4 5 r 564317
9 | LA 6 4 d 153407
10 | ME 0 10 d 399455
11 | MD 4 8 r 407350
12 | MA 2 9 r 523287
13 | MS 6 5 d 75448
14 | MO 4 4 d 66586
15 | NH 1 10 r 244161
16 | NJ 3 8 r 277575
17 | NY 2 8 d 1372812
18 | NC 5 7 d 638829
19 | OH 3 6 d 581434
20 | PA 3 7 d 1049458
21 | RI 3 10 r 83059
22 | SC 5 6 d 502741
23 | TN 5 5 d 422813
24 | VT 1 9 r 235764
25 | VA 4 7 d 938261
26 |
--------------------------------------------------------------------------------
/elections/nyt-1832.d:
--------------------------------------------------------------------------------
1 | # 1832 Jackson Clay Floyd/Wirt
2 | AL 6 6 d 309527
3 | CT 3 9 r 297675
4 | DE 4 9 r 76748
5 | GA 6 7 d 516823
6 | IL 2 5 d 157445
7 | IN 3 5 d 343031
8 | KY 4 5 r 687917
9 | LA 6 4 d 215739
10 | ME 0 10 d 399455
11 | MD 4 8 r 447040
12 | MA 2 9 r 610408
13 | MS 6 5 d 136621
14 | MO 4 4 d 140455
15 | NH 1 10 d 269328
16 | NJ 3 8 d 320823
17 | NY 2 8 d 1918608
18 | NC 5 7 d 737987
19 | OH 3 6 d 937903
20 | PA 3 7 d 1348233
21 | RI 3 10 r 97199
22 | SC 5 6 i 581185
23 | TN 5 5 d 681904
24 | VT 1 9 i 280652
25 | VA 4 7 d 1044054
26 |
--------------------------------------------------------------------------------
/elections/nyt-1836.d:
--------------------------------------------------------------------------------
1 | # 1836 Van-Buren Harrison:w
2 | AL 6 6 d 309527
3 | AR 5 4 d 30388
4 | CT 3 9 d 297675
5 | DE 4 9 w 76748
6 | GA 6 7 w 516823
7 | IL 2 5 d 157445
8 | IN 3 5 w 343031
9 | KY 4 5 w 687917
10 | LA 6 4 d 215739
11 | ME 0 10 d 399455
12 | MD 4 8 w 447040
13 | MA 2 9 w 610408
14 | MI 2 6 d 28004
15 | MS 6 5 d 136621
16 | MO 4 4 d 140455
17 | NH 1 10 d 269328
18 | NJ 3 8 w 320823
19 | NY 2 8 d 1918608
20 | NC 5 7 d 737987
21 | OH 3 6 w 937903
22 | PA 3 7 d 1348233
23 | RI 3 10 d 97199
24 | SC 5 6 w 581185
25 | TN 5 5 w 681904
26 | VT 1 9 w 280652
27 | VA 4 7 d 1044054
28 |
--------------------------------------------------------------------------------
/elections/nyt-1840.d:
--------------------------------------------------------------------------------
1 | # 1840 Van-Buren Harrison:w
2 | AL 6 6 d 590756
3 | AR 5 4 d 97574
4 | CT 3 9 w 309978
5 | DE 4 9 w 78085
6 | GA 6 7 w 691392
7 | IL 2 5 d 476183
8 | IN 3 5 w 685866
9 | KY 4 5 w 779828
10 | LA 6 4 w 352411
11 | ME 0 10 w 501793
12 | MD 4 8 w 583034
13 | MA 2 9 w 737699
14 | MI 2 6 w 212267
15 | MS 6 5 w 375651
16 | MO 4 4 d 383702
17 | NH 1 10 d 284574
18 | NJ 3 8 w 373306
19 | NY 2 8 w 2428921
20 | NC 5 7 w 753419
21 | OH 3 6 w 1519467
22 | PA 3 7 w 1724033
23 | RI 3 10 w 108830
24 | SC 5 6 d 594398
25 | TN 5 5 w 829210
26 | VT 1 9 w 291948
27 | VA 4 7 d 1025227
28 |
--------------------------------------------------------------------------------
/elections/nyt-1844.d:
--------------------------------------------------------------------------------
1 | # 1844 Polk Clay:w
2 | AL 6 6 d 590756
3 | AR 5 4 d 97574
4 | CT 3 9 w 309978
5 | DE 4 9 w 78085
6 | GA 6 7 d 691392
7 | IL 2 5 d 476183
8 | IN 3 5 d 685866
9 | KY 4 5 w 779828
10 | LA 6 4 d 352411
11 | ME 0 10 d 501793
12 | MD 4 8 w 583034
13 | MA 2 9 w 737699
14 | MI 2 6 d 212267
15 | MS 6 5 d 375651
16 | MO 4 4 d 383702
17 | NH 1 10 d 284574
18 | NJ 3 8 w 373306
19 | NY 2 8 d 2428921
20 | NC 5 7 w 753419
21 | OH 3 6 w 1519467
22 | PA 3 7 d 1724033
23 | RI 3 10 w 108830
24 | SC 5 6 d 594398
25 | TN 5 5 w 829210
26 | VT 1 9 w 291948
27 | VA 4 7 d 1025227
28 |
--------------------------------------------------------------------------------
/elections/nyt-1848.d:
--------------------------------------------------------------------------------
1 | # 1848 Cass Taylor:w
2 | AL 6 6 d 590756
3 | AR 5 4 d 97574
4 | CT 3 9 w 309978
5 | DE 4 9 w 78085
6 | FL 7 8 w 54477
7 | GA 6 7 w 691392
8 | IL 2 5 d 476183
9 | IN 3 5 d 685866
10 | IA 3 4 d 43112
11 | KY 4 5 w 779828
12 | LA 6 4 w 352411
13 | ME 0 10 d 501793
14 | MD 4 8 w 583034
15 | MA 2 9 w 737699
16 | MI 2 6 d 212267
17 | MS 6 5 d 375651
18 | MO 4 4 d 383702
19 | NH 1 10 d 284574
20 | NJ 3 8 w 373306
21 | NY 2 8 w 2428921
22 | NC 5 7 w 753419
23 | OH 3 6 d 1519467
24 | PA 3 7 w 1724033
25 | RI 3 10 w 108830
26 | SC 5 6 d 594398
27 | TN 5 5 w 829210
28 | TX 7 3 d 212592
29 | VT 1 9 w 291948
30 | VA 4 7 d 1025227
31 | WI 1 5 d 30945
32 |
--------------------------------------------------------------------------------
/elections/nyt-1852.d:
--------------------------------------------------------------------------------
1 | # 1852 Pierce Scott:w
2 | AL 6 6 d 771623
3 | AR 5 4 d 209897
4 | CA 4 0 d 92597
5 | CT 3 9 d 370792
6 | DE 4 9 d 91532
7 | FL 7 8 d 87445
8 | GA 6 7 d 906185
9 | IL 2 5 d 851470
10 | IN 3 5 d 988416
11 | IA 3 4 d 192214
12 | KY 4 5 w 982405
13 | LA 6 4 d 517762
14 | ME 0 10 d 583169
15 | MD 4 8 d 583034
16 | MA 2 9 w 994514
17 | MI 2 6 d 397654
18 | MS 6 5 d 606526
19 | MO 4 4 d 682044
20 | NH 1 10 d 317976
21 | NJ 3 8 d 489555
22 | NY 2 8 d 3097394
23 | NC 5 7 d 869039
24 | OH 3 6 d 1980329
25 | PA 3 7 d 2311786
26 | RI 3 10 d 147545
27 | SC 5 6 d 668507
28 | TN 5 5 w 1002717
29 | TX 7 3 d 212592
30 | VT 1 9 w 314120
31 | VA 4 7 d 1119348
32 | WV 4 6 d 302313
33 | WI 1 5 d 305391
34 |
--------------------------------------------------------------------------------
/elections/nyt-1856.d:
--------------------------------------------------------------------------------
1 | # 1856 Buchanan Frémont Fillmore:w
2 | AL 6 6 d 771623
3 | AR 5 4 d 209897
4 | CA 4 0 d 92597
5 | CT 3 9 r 370792
6 | DE 4 9 d 91532
7 | FL 7 8 d 87445
8 | GA 6 7 d 906185
9 | IL 2 5 d 851470
10 | IN 3 5 d 988416
11 | IA 3 4 r 192214
12 | KY 4 5 d 982405
13 | LA 6 4 d 517762
14 | ME 0 10 r 583169
15 | MD 4 8 w 583034
16 | MA 2 9 r 994514
17 | MI 2 6 r 397654
18 | MS 6 5 d 606526
19 | MO 4 4 d 682044
20 | NH 1 10 r 317976
21 | NJ 3 8 d 489555
22 | NY 2 8 r 3097394
23 | NC 5 7 d 869039
24 | OH 3 6 r 1980329
25 | PA 3 7 d 2311786
26 | RI 3 10 r 147545
27 | SC 5 6 d 668507
28 | TN 5 5 d 1002717
29 | TX 7 3 d 212592
30 | VT 1 9 r 314120
31 | VA 4 7 d 1119348
32 | WV 4 6 d 302313
33 | WI 1 5 r 305391
34 |
--------------------------------------------------------------------------------
/elections/nyt-1860.d:
--------------------------------------------------------------------------------
1 | # 1860 Breckinridge Lincoln Bell/Douglas
2 | AL 6 6 d 964201
3 | AR 5 4 d 435450
4 | CA 4 0 r 379994
5 | CT 3 9 r 460147
6 | DE 4 9 d 112216
7 | FL 7 8 d 140424
8 | GA 6 7 d 1057286
9 | IL 2 5 r 1711951
10 | IN 3 5 r 1350428
11 | IA 3 4 r 674913
12 | KY 4 5 i 1155684
13 | LA 6 4 d 708002
14 | ME 0 10 r 628279
15 | MD 4 8 d 687049
16 | MA 2 9 r 1231066
17 | MI 2 6 r 749113
18 | MN 2 4 r 172023
19 | MS 6 5 d 791305
20 | MO 4 4 i 1182012
21 | NH 1 10 r 326073
22 | NJ 3 8 r 672035
23 | NY 2 8 r 3880735
24 | NC 5 7 d 992622
25 | OH 3 6 r 2339511
26 | OR 3 0 r 52465
27 | PA 3 7 r 2906215
28 | RI 3 10 r 174620
29 | SC 5 6 d 703708
30 | TN 5 5 i 1109801
31 | TX 7 3 d 604215
32 | VT 1 9 r 315098
33 | VA 4 7 i 1219630
34 | WV 4 6 i 376688
35 | WI 1 5 r 775881
36 |
--------------------------------------------------------------------------------
/elections/nyt-1864.d:
--------------------------------------------------------------------------------
1 | # 1864 McClellan Lincoln Confederate
2 | AL 6 6 i 964201
3 | AR 5 4 i 435450
4 | CA 4 0 r 379994
5 | CT 3 9 r 460147
6 | DE 4 9 d 112216
7 | FL 7 8 i 140424
8 | GA 6 7 i 1057286
9 | IL 2 5 r 1711951
10 | IN 3 5 r 1350428
11 | IA 3 4 r 674913
12 | KS 5 3 r 107206
13 | KY 4 5 d 1155684
14 | LA 6 4 r 708002
15 | ME 0 10 r 628279
16 | MD 4 8 r 687049
17 | MA 2 9 r 1231066
18 | MI 2 6 r 749113
19 | MN 2 4 r 172023
20 | MS 6 5 i 791305
21 | MO 4 4 r 1182012
22 | NV 3 1 r 6857
23 | NH 1 10 r 326073
24 | NJ 3 8 d 672035
25 | NY 2 8 r 3880735
26 | NC 5 7 i 992622
27 | OH 3 6 r 2339511
28 | OR 3 0 r 52465
29 | PA 3 7 r 2906215
30 | RI 3 10 r 174620
31 | SC 5 6 i 703708
32 | TN 5 5 r 1109801
33 | TX 7 3 i 604215
34 | VT 1 9 r 315098
35 | VA 4 7 i 1219630
36 | WV 4 6 r 376688
37 | WI 1 5 r 775881
38 |
--------------------------------------------------------------------------------
/elections/nyt-1868.d:
--------------------------------------------------------------------------------
1 | # 1868 Seymour Grant
2 | AL 6 6 r 964201
3 | AR 5 4 r 435450
4 | CA 4 0 r 379994
5 | CT 3 9 r 460147
6 | DE 4 9 d 112216
7 | FL 7 8 r 140424
8 | GA 6 7 d 1057286
9 | IL 2 5 r 1711951
10 | IN 3 5 r 1350428
11 | IA 3 4 r 674913
12 | KS 5 3 r 107206
13 | KY 4 5 d 1155684
14 | LA 6 4 d 708002
15 | ME 0 10 r 628279
16 | MD 4 8 d 687049
17 | MA 2 9 r 1231066
18 | MI 2 6 r 749113
19 | MN 2 4 r 172023
20 | MO 4 4 r 1182012
21 | NE 4 3 r 28841
22 | NV 3 1 r 6857
23 | NH 1 10 r 326073
24 | NJ 3 8 d 672035
25 | NY 2 8 d 3880735
26 | NC 5 7 r 992622
27 | OH 3 6 r 2339511
28 | OR 3 0 d 52465
29 | PA 3 7 r 2906215
30 | RI 3 10 r 174620
31 | SC 5 6 r 703708
32 | TN 5 5 r 1109801
33 | VT 1 9 r 315098
34 | WV 4 6 r 376688
35 | WI 1 5 r 775881
36 |
--------------------------------------------------------------------------------
/elections/nyt-1872.d:
--------------------------------------------------------------------------------
1 | # 1872 Greely Grant
2 | AL 6 6 r 996992
3 | AR 5 4 r 484471
4 | CA 4 0 r 560247
5 | CT 3 9 r 537454
6 | DE 4 9 r 125015
7 | FL 7 8 r 187748
8 | GA 6 7 d 1184109
9 | IL 2 5 r 2539891
10 | IN 3 5 r 1680637
11 | IA 3 4 r 1194020
12 | KS 5 3 r 364399
13 | KY 4 5 d 1321011
14 | LA 6 4 r 726915
15 | ME 0 10 r 626915
16 | MD 4 8 d 780894
17 | MA 2 9 r 1457351
18 | MI 2 6 r 1184059
19 | MN 2 4 r 439706
20 | MO 4 4 d 1721295
21 | MS 6 5 r 827922
22 | NE 4 3 r 122993
23 | NV 3 1 r 42941
24 | NH 1 10 r 318300
25 | NJ 3 8 r 906096
26 | NY 2 8 r 3880735
27 | NC 5 7 r 1071361
28 | OH 3 6 r 2665260
29 | OR 3 0 r 90923
30 | PA 3 7 r 3521951
31 | RI 3 10 r 217353
32 | SC 5 6 r 703708
33 | TN 5 5 d 1258520
34 | TX 7 3 d 818579
35 | VT 1 9 r 330551
36 | VA 4 7 r 1225163
37 | WV 4 6 r 442014
38 | WI 1 5 r 1054670
39 |
--------------------------------------------------------------------------------
/elections/nyt-1876.d:
--------------------------------------------------------------------------------
1 | # 1876 Tilden Hayes
2 | AL 6 6 d 996992
3 | AR 5 4 d 484471
4 | CA 4 0 r 560247
5 | CO 4 2 r 39864
6 | CT 3 9 d 537454
7 | DE 4 9 d 125015
8 | FL 7 8 r 187748
9 | GA 6 7 d 1184109
10 | IL 2 5 r 2539891
11 | IN 3 5 d 1680637
12 | IA 3 4 r 1194020
13 | KS 5 3 r 364399
14 | KY 4 5 d 1321011
15 | LA 6 4 r 726915
16 | ME 0 10 r 626915
17 | MD 4 8 d 780894
18 | MA 2 9 r 1457351
19 | MI 2 6 r 1184059
20 | MN 2 4 r 439706
21 | MS 6 5 d 827922
22 | MO 4 4 d 1721295
23 | NE 4 3 r 122993
24 | NV 3 1 r 42941
25 | NH 1 10 r 318300
26 | NJ 3 8 d 906096
27 | NY 2 8 d 3880735
28 | NC 5 7 d 1071361
29 | OH 3 6 r 2665260
30 | OR 3 0 r 90923
31 | PA 3 7 r 3521951
32 | RI 3 10 r 217353
33 | SC 5 6 r 703708
34 | TN 5 5 d 1258520
35 | TX 7 3 d 818579
36 | VT 1 9 r 330551
37 | VA 4 7 d 1225163
38 | WV 4 6 d 442014
39 | WI 1 5 r 1054670
40 |
--------------------------------------------------------------------------------
/elections/nyt-1880.d:
--------------------------------------------------------------------------------
1 | # 1880 Hancock Garfield
2 | AL 6 6 d 1262505
3 | AR 5 4 d 802525
4 | CA 4 0 d 864694
5 | CO 4 2 r 194327
6 | CT 3 9 r 622700
7 | DE 4 9 d 146608
8 | FL 7 8 d 269493
9 | GA 6 7 d 1542180
10 | IL 2 5 r 3077871
11 | IN 3 5 r 1978301
12 | IA 3 4 r 1624615
13 | KS 5 3 r 996096
14 | KY 4 5 d 1648690
15 | LA 6 4 d 939946
16 | ME 0 10 r 648936
17 | MD 4 8 d 934943
18 | MA 2 9 r 1783085
19 | MI 2 6 r 1636937
20 | MN 2 4 r 780773
21 | MS 6 5 d 1131597
22 | MO 4 4 d 2168380
23 | NE 4 3 r 452402
24 | NV 3 1 d 62266
25 | NH 1 10 r 346991
26 | NJ 3 8 d 1131116
27 | NY 2 8 d 5082871
28 | NC 5 7 d 1399750
29 | OH 3 6 r 3198062
30 | OR 3 0 r 174768
31 | PA 3 7 r 4282891
32 | RI 3 10 r 276531
33 | SC 5 6 d 995577
34 | TN 5 5 d 1542359
35 | TX 7 3 d 1591749
36 | VT 1 9 r 332286
37 | VA 4 7 d 1512565
38 | WV 4 6 d 618457
39 | WI 1 5 r 1315497
40 |
--------------------------------------------------------------------------------
/elections/nyt-1884.d:
--------------------------------------------------------------------------------
1 | # 1884 Cleveland Blaine
2 | AL 6 6 d 1262505
3 | AR 5 4 d 802525
4 | CA 4 0 r 864694
5 | CO 4 2 r 194327
6 | CT 3 9 d 622700
7 | DE 4 9 d 146608
8 | FL 7 8 d 269493
9 | GA 6 7 d 1542180
10 | IL 2 5 r 3077871
11 | IN 3 5 d 1978301
12 | IA 3 4 r 1624615
13 | KS 5 3 r 996096
14 | KY 4 5 d 1648690
15 | LA 6 4 d 939946
16 | ME 0 10 r 648936
17 | MD 4 8 d 934943
18 | MA 2 9 r 1783085
19 | MI 2 6 r 1636937
20 | MN 2 4 r 780773
21 | MS 6 5 d 1131597
22 | MO 4 4 d 2168380
23 | NE 4 3 r 452402
24 | NV 3 1 r 62266
25 | NH 1 10 r 346991
26 | NJ 3 8 d 1131116
27 | NY 2 8 d 5082871
28 | NC 5 7 d 1399750
29 | OH 3 6 r 3198062
30 | OR 3 0 r 174768
31 | PA 3 7 r 4282891
32 | RI 3 10 r 276531
33 | SC 5 6 d 995577
34 | TN 5 5 d 1542359
35 | TX 7 3 d 1591749
36 | VT 1 9 r 332286
37 | VA 4 7 d 1512565
38 | WV 4 6 d 618457
39 | WI 1 5 r 1315497
40 |
--------------------------------------------------------------------------------
/elections/nyt-1888.d:
--------------------------------------------------------------------------------
1 | # 1888 Cleveland Harrison
2 | AL 6 6 d 1262505
3 | AR 5 4 d 802525
4 | CA 4 0 r 864694
5 | CO 4 2 r 194327
6 | CT 3 9 d 622700
7 | DE 4 9 d 146608
8 | FL 7 8 d 269493
9 | GA 6 7 d 1542180
10 | IL 2 5 r 3077871
11 | IN 3 5 r 1978301
12 | IA 3 4 r 1624615
13 | KS 5 3 r 996096
14 | KY 4 5 d 1648690
15 | LA 6 4 d 939946
16 | ME 0 10 r 648936
17 | MD 4 8 d 934943
18 | MA 2 9 r 1783085
19 | MI 2 6 r 1636937
20 | MN 2 4 r 780773
21 | MS 6 5 d 1131597
22 | MO 4 4 d 2168380
23 | NE 4 3 r 452402
24 | NV 3 1 r 62266
25 | NH 1 10 r 346991
26 | NJ 3 8 d 1131116
27 | NY 2 8 r 5082871
28 | NC 5 7 d 1399750
29 | OH 3 6 r 3198062
30 | OR 3 0 r 174768
31 | PA 3 7 r 4282891
32 | RI 3 10 r 276531
33 | SC 5 6 d 995577
34 | TN 5 5 d 1542359
35 | TX 7 3 d 1591749
36 | VT 1 9 r 332286
37 | VA 4 7 d 1512565
38 | WV 4 6 d 618457
39 | WI 1 5 r 1315497
40 |
--------------------------------------------------------------------------------
/elections/nyt-1892.d:
--------------------------------------------------------------------------------
1 | # 1892 Cleveland Harrison Weaver
2 | AL 6 6 d 1513401
3 | AR 5 4 d 1128211
4 | CA 4 0 d 1213398
5 | CO 4 2 i 413249
6 | CT 3 9 d 746258
7 | DE 4 9 d 168493
8 | FL 7 8 d 391422
9 | GA 6 7 d 1837353
10 | ID 2 1 i 88548
11 | IL 2 5 d 3826352
12 | IN 3 5 d 2192404
13 | IA 3 4 r 1912297
14 | KS 5 3 i 1428108
15 | KY 4 5 d 1858635
16 | LA 6 4 d 1118588
17 | ME 0 10 r 661086
18 | MD 4 8 d 1042390
19 | MA 2 9 r 2238947
20 | MI 2 6 r 2093890
21 | MN 2 4 r 1310283
22 | MS 6 5 d 1289600
23 | MO 4 4 d 2679185
24 | MT 2 2 r 142924
25 | NE 4 3 r 1062656
26 | NV 3 1 i 1062656
27 | NH 1 10 r 376530
28 | NJ 3 8 d 1444933
29 | NY 2 8 d 6003174
30 | NC 5 7 d 1617949
31 | ND 2 3 i 190983
32 | OH 3 6 r 3672329
33 | OR 3 0 r 317704
34 | PA 3 7 r 5258113
35 | RI 3 10 r 345506
36 | SC 5 6 d 1151149
37 | SD 3 3 r 348600
38 | TN 5 5 d 1767518
39 | TX 7 3 d 2235527
40 | VT 1 9 r 332422
41 | VA 4 7 d 1655980
42 | WA 2 0 r 357232
43 | WV 4 6 d 762794
44 | WI 1 5 d 1693330
45 | WY 3 2 r 62555
46 |
--------------------------------------------------------------------------------
/elections/nyt-1896.d:
--------------------------------------------------------------------------------
1 | # 1896 McKinley Bryan
2 | AL 6 6 d 1513401
3 | AR 5 4 d 1128211
4 | CA 4 0 r 1213398
5 | CO 4 2 d 413249
6 | CT 3 9 r 746258
7 | DE 4 9 r 168493
8 | FL 7 8 d 391422
9 | GA 6 7 d 1837353
10 | ID 2 1 d 88548
11 | IL 2 5 r 3826352
12 | IN 3 5 r 2192404
13 | IA 3 4 r 1912297
14 | KS 5 3 d 1428108
15 | KY 4 5 r 1858635
16 | LA 6 4 d 1118588
17 | ME 0 10 r 661086
18 | MD 4 8 r 1042390
19 | MA 2 9 r 2238947
20 | MI 2 6 r 2093890
21 | MN 2 4 r 1310283
22 | MS 6 5 d 1289600
23 | MO 4 4 d 2679185
24 | MT 2 2 d 142924
25 | NE 4 3 d 1062656
26 | NV 3 1 d 1062656
27 | NH 1 10 r 376530
28 | NJ 3 8 r 1444933
29 | NY 2 8 r 6003174
30 | NC 5 7 d 1617949
31 | ND 2 3 r 190983
32 | OH 3 6 r 3672329
33 | OR 3 0 r 317704
34 | PA 3 7 r 5258113
35 | RI 3 10 r 345506
36 | SC 5 6 d 1151149
37 | SD 3 3 d 348600
38 | TN 5 5 d 1767518
39 | TX 7 3 d 2235527
40 | UT 4 1 d 143963
41 | VT 1 9 r 332422
42 | VA 4 7 d 1655980
43 | WA 2 0 d 357232
44 | WV 4 6 r 762794
45 | WI 1 5 r 1693330
46 | WY 3 2 d 62555
47 |
--------------------------------------------------------------------------------
/elections/nyt-1900.d:
--------------------------------------------------------------------------------
1 | # 1900 Bryan McKinley
2 | AL 6 6 d 1828697
3 | AR 5 4 d 1311564
4 | CA 4 0 r 1485053
5 | CO 4 2 d 539700
6 | CT 3 9 r 908420
7 | DE 4 9 r 184735
8 | FL 7 8 d 528542
9 | GA 6 7 d 2216331
10 | ID 2 1 d 161772
11 | IL 2 5 r 4821550
12 | IN 3 5 r 2516462
13 | IA 3 4 r 2231853
14 | KS 5 3 r 1470495
15 | KY 4 5 d 2147174
16 | LA 6 4 d 1381625
17 | ME 0 10 r 694466
18 | MD 4 8 r 1188044
19 | MA 2 9 r 2805346
20 | MI 2 6 r 2420982
21 | MN 2 4 r 1751394
22 | MS 6 5 d 1551270
23 | MO 4 4 d 3106665
24 | MT 2 2 d 243329
25 | NE 4 3 r 1066300
26 | NV 3 1 d 42335
27 | NH 1 10 r 411588
28 | NJ 3 8 r 1883669
29 | NY 2 8 r 7268894
30 | NC 5 7 d 1893810
31 | ND 2 3 r 319146
32 | OH 3 6 r 4157545
33 | OR 3 0 r 413536
34 | PA 3 7 r 6302115
35 | RI 3 10 r 428556
36 | SC 5 6 d 1340316
37 | SD 3 3 r 401570
38 | TN 5 5 d 2020616
39 | TX 7 3 d 3048710
40 | UT 4 1 r 276749
41 | VT 1 9 r 343641
42 | VA 4 7 d 1854184
43 | WA 2 0 r 518103
44 | WV 4 6 r 958800
45 | WI 1 5 r 2069042
46 | WY 3 2 r 92531
47 |
--------------------------------------------------------------------------------
/elections/nyt-1904.d:
--------------------------------------------------------------------------------
1 | # 1904 Roosevelt Parker
2 | AL 6 6 d 1828697
3 | AR 5 4 d 1311564
4 | CA 4 0 r 1485053
5 | CO 4 2 r 539700
6 | CT 3 9 r 908420
7 | DE 4 9 r 184735
8 | FL 7 8 d 528542
9 | GA 6 7 d 2216331
10 | ID 2 1 r 161772
11 | IL 2 5 r 4821550
12 | IN 3 5 r 2516462
13 | IA 3 4 r 2231853
14 | KS 5 3 r 1470495
15 | KY 4 5 d 2147174
16 | LA 6 4 d 1381625
17 | ME 0 10 r 694466
18 | MD 4 8 d 1188044
19 | MA 2 9 r 2805346
20 | MI 2 6 r 2420982
21 | MN 2 4 r 1751394
22 | MS 6 5 d 1551270
23 | MO 4 4 r 3106665
24 | MT 2 2 r 243329
25 | NE 4 3 r 1066300
26 | NV 3 1 r 42335
27 | NH 1 10 r 411588
28 | NJ 3 8 r 1883669
29 | NY 2 8 r 7268894
30 | NC 5 7 d 1893810
31 | ND 2 3 r 319146
32 | OH 3 6 r 4157545
33 | OR 3 0 r 413536
34 | PA 3 7 r 6302115
35 | RI 3 10 r 428556
36 | SC 5 6 d 1340316
37 | SD 3 3 r 401570
38 | TN 5 5 d 2020616
39 | TX 7 3 d 3048710
40 | UT 4 1 r 276749
41 | VT 1 9 r 343641
42 | VA 4 7 d 1854184
43 | WA 2 0 r 518103
44 | WV 4 6 r 958800
45 | WI 1 5 r 2069042
46 | WY 3 2 r 92531
47 |
--------------------------------------------------------------------------------
/elections/nyt-1908.d:
--------------------------------------------------------------------------------
1 | # 1908 Bryan Taft
2 | AL 6 6 d 1828697
3 | AR 5 4 d 1311564
4 | CA 4 0 r 1485053
5 | CO 4 2 d 539700
6 | CT 3 9 r 908420
7 | DE 4 9 r 184735
8 | FL 7 8 d 528542
9 | GA 6 7 d 2216331
10 | ID 2 1 r 161772
11 | IL 2 5 r 4821550
12 | IN 3 5 r 2516462
13 | IA 3 4 r 2231853
14 | KS 5 3 r 1470495
15 | KY 4 5 d 2147174
16 | LA 6 4 d 1381625
17 | ME 0 10 r 694466
18 | MD 4 8 r 1188044
19 | MA 2 9 r 2805346
20 | MI 2 6 r 2420982
21 | MN 2 4 r 1751394
22 | MS 6 5 d 1551270
23 | MO 4 4 r 3106665
24 | MT 2 2 r 243329
25 | NE 4 3 d 1066300
26 | NV 3 1 d 42335
27 | NH 1 10 r 411588
28 | NJ 3 8 r 1883669
29 | NY 2 8 r 7268894
30 | NC 5 7 d 1893810
31 | ND 2 3 r 319146
32 | OH 3 6 r 4157545
33 | OK 6 3 d 790391
34 | OR 3 0 r 413536
35 | PA 3 7 r 6302115
36 | RI 3 10 r 428556
37 | SC 5 6 d 1340316
38 | SD 3 3 r 401570
39 | TN 5 5 d 2020616
40 | TX 7 3 d 3048710
41 | UT 4 1 r 276749
42 | VT 1 9 r 343641
43 | VA 4 7 d 1854184
44 | WA 2 0 r 518103
45 | WV 4 6 r 958800
46 | WI 1 5 r 2069042
47 | WY 3 2 r 92531
48 |
--------------------------------------------------------------------------------
/elections/nyt-1912.d:
--------------------------------------------------------------------------------
1 | # 1912 Wilson Taft Roosevelt
2 | AL 6 6 d 1828697
3 | AZ 5 1 d 204354
4 | AR 5 4 d 1311564
5 | CA 4 0 i 1485053
6 | CO 4 2 d 539700
7 | CT 3 9 d 908420
8 | DE 4 9 d 184735
9 | FL 7 8 d 528542
10 | GA 6 7 d 2216331
11 | ID 2 1 d 161772
12 | IL 2 5 d 4821550
13 | IN 3 5 d 2516462
14 | IA 3 4 d 2231853
15 | KS 5 3 d 1470495
16 | KY 4 5 d 2147174
17 | LA 6 4 d 1381625
18 | ME 0 10 d 694466
19 | MD 4 8 d 1188044
20 | MA 2 9 d 2805346
21 | MI 2 6 i 2420982
22 | MN 2 4 i 1751394
23 | MS 6 5 d 1551270
24 | MO 4 4 d 3106665
25 | MT 2 2 d 243329
26 | NE 4 3 d 1066300
27 | NV 3 1 d 42335
28 | NH 1 10 d 411588
29 | NJ 3 8 d 1883669
30 | NM 5 2 d 327301
31 | NY 2 8 d 7268894
32 | NC 5 7 d 1893810
33 | ND 2 3 d 319146
34 | OH 3 6 d 4157545
35 | OK 6 3 d 790391
36 | OR 3 0 d 413536
37 | PA 3 7 i 6302115
38 | RI 3 10 d 428556
39 | SC 5 6 d 1340316
40 | SD 3 3 i 401570
41 | TN 5 5 d 2020616
42 | TX 7 3 d 3048710
43 | UT 4 1 r 276749
44 | VT 1 9 r 343641
45 | VA 4 7 d 1854184
46 | WA 2 0 i 518103
47 | WV 4 6 d 958800
48 | WI 1 5 d 2069042
49 | WY 3 2 d 92531
50 |
--------------------------------------------------------------------------------
/elections/nyt-1916.d:
--------------------------------------------------------------------------------
1 | # 1916 Wilson Hughes
2 | AL 6 6 d 1828697
3 | AZ 5 1 d 204354
4 | AR 5 4 d 1311564
5 | CA 4 0 d 1485053
6 | CO 4 2 d 539700
7 | CT 3 9 r 908420
8 | DE 4 9 r 184735
9 | FL 7 8 d 528542
10 | GA 6 7 d 2216331
11 | ID 2 1 d 161772
12 | IL 2 5 r 4821550
13 | IN 3 5 r 2516462
14 | IA 3 4 r 2231853
15 | KS 5 3 d 1470495
16 | KY 4 5 d 2147174
17 | LA 6 4 d 1381625
18 | ME 0 10 r 694466
19 | MD 4 8 d 1188044
20 | MA 2 9 r 2805346
21 | MI 2 6 r 2420982
22 | MN 2 4 r 1751394
23 | MS 6 5 d 1551270
24 | MO 4 4 d 3106665
25 | MT 2 2 d 243329
26 | NE 4 3 d 1066300
27 | NV 3 1 d 42335
28 | NH 1 10 d 411588
29 | NJ 3 8 r 1883669
30 | NM 5 2 d 327301
31 | NY 2 8 r 7268894
32 | NC 5 7 d 1893810
33 | ND 2 3 d 319146
34 | OH 3 6 d 4157545
35 | OK 6 3 d 790391
36 | OR 3 0 r 413536
37 | PA 3 7 r 6302115
38 | RI 3 10 r 428556
39 | SC 5 6 d 1340316
40 | SD 3 3 r 401570
41 | TN 5 5 d 2020616
42 | TX 7 3 d 3048710
43 | UT 4 1 d 276749
44 | VT 1 9 r 343641
45 | VA 4 7 d 1854184
46 | WA 2 0 d 518103
47 | WV 4 6 r 958800
48 | WI 1 5 r 2069042
49 | WY 3 2 d 92531
50 |
--------------------------------------------------------------------------------
/elections/nyt-1920.d:
--------------------------------------------------------------------------------
1 | # 1920 Cox Harding
2 | AL 6 6 d 2359000
3 | AZ 5 1 r 340000
4 | AR 5 4 d 1756000
5 | CA 4 0 r 3554000
6 | CO 4 2 r 937000
7 | CT 3 9 r 1391000
8 | DE 4 9 r 219000
9 | FL 7 8 d 962000
10 | GA 6 7 d 2926000
11 | ID 2 1 r 433000
12 | IL 2 5 r 6663000
13 | IN 3 5 r 2947000
14 | IA 3 4 r 2400000
15 | KS 5 3 r 1769000
16 | KY 4 5 d 2421000
17 | LA 6 4 d 1813000
18 | ME 0 10 r 771000
19 | MD 4 8 r 1464000
20 | MA 2 9 r 3882000
21 | MI 2 6 r 3723000
22 | MN 2 4 r 2403000
23 | MS 6 5 d 1800000
24 | MO 4 4 r 3404000
25 | MT 2 2 r 543000
26 | NE 4 3 r 1300000
27 | NV 3 1 r 78000
28 | NH 1 10 r 444000
29 | NJ 3 8 r 3198000
30 | NM 5 2 r 363000
31 | NY 2 8 r 10282000
32 | NC 5 7 d 2588000
33 | ND 2 3 r 646000
34 | OH 3 6 r 5799000
35 | OK 6 3 r 2055000
36 | OR 3 0 r 788000
37 | PA 3 7 r 8740000
38 | RI 3 10 r 613000
39 | SC 5 6 d 1685000
40 | SD 3 3 r 640000
41 | TN 5 5 r 2329000
42 | TX 7 3 d 4723000
43 | UT 4 1 r 453000
44 | VT 1 9 r 353000
45 | VA 4 7 d 2347000
46 | WA 2 0 r 1373000
47 | WV 4 6 r 1470000
48 | WI 1 5 r 2679000
49 | WY 3 2 r 197000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1924.d:
--------------------------------------------------------------------------------
1 | # 1924 Davis Coolidge LaFollette
2 | AL 6 6 d 2501000
3 | AZ 5 1 r 382000
4 | AR 5 4 d 1800000
5 | CA 4 0 r 4541000
6 | CO 4 2 r 1014000
7 | CT 3 9 r 1481000
8 | DE 4 9 r 219000
9 | FL 7 8 d 1160000
10 | GA 6 7 d 2920000
11 | ID 2 1 r 434000
12 | IL 2 5 r 7215000
13 | IN 3 5 r 3086000
14 | IA 3 4 r 2420000
15 | KS 5 3 r 1807000
16 | KY 4 5 r 2531000
17 | LA 6 4 d 1939000
18 | ME 0 10 r 788000
19 | MD 4 8 r 1537000
20 | MA 2 9 r 4102000
21 | MI 2 6 r 4214000
22 | MN 2 4 r 2521000
23 | MS 6 5 d 1886000
24 | MO 4 4 r 3508000
25 | MT 2 2 r 538000
26 | NE 4 3 r 1333000
27 | NV 3 1 r 84000
28 | NH 1 10 r 457000
29 | NJ 3 8 r 3573000
30 | NM 5 2 r 390000
31 | NY 2 8 r 10953000
32 | NC 5 7 r 2830000
33 | ND 2 3 r 642000
34 | OH 3 6 r 6319000
35 | OK 6 3 d 2179000
36 | OR 3 0 r 856000
37 | PA 3 7 r 9383000
38 | RI 3 10 r 669000
39 | SC 5 6 d 1710000
40 | SD 3 3 r 673000
41 | TN 5 5 r 2502000
42 | TX 7 3 d 5210000
43 | UT 4 1 r 481000
44 | VT 1 9 r 355000
45 | VA 4 7 d 2426000
46 | WA 2 0 r 1467000
47 | WV 4 6 r 1577000
48 | WI 1 5 i 2833000
49 | WY 3 2 r 215000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1928.d:
--------------------------------------------------------------------------------
1 | # 1928 Smith Hoover
2 | AL 6 6 d 2640000
3 | AZ 5 1 r 422000
4 | AR 5 4 d 1847000
5 | CA 4 0 r 5344000
6 | CO 4 2 r 1014000
7 | CT 3 9 r 1577000
8 | DE 4 9 r 233000
9 | FL 7 8 r 1433000
10 | GA 6 7 d 2903000
11 | ID 2 1 r 449000
12 | IL 2 5 r 7576000
13 | IN 3 5 r 3212000
14 | IA 3 4 r 2450000
15 | KS 5 3 r 1850000
16 | KY 4 5 r 2567000
17 | LA 6 4 d 2064000
18 | ME 0 10 r 797000
19 | MD 4 8 r 1610000
20 | MA 2 9 d 4217000
21 | MI 2 6 r 4665000
22 | MN 2 4 r 2592000
23 | MS 6 5 d 1981000
24 | MO 4 4 r 3601000
25 | MT 2 2 r 541000
26 | NE 4 3 r 1371000
27 | NV 3 1 r 89000
28 | NH 1 10 r 468000
29 | NJ 3 8 r 3968000
30 | NM 5 2 r 416000
31 | NY 2 8 r 11599000
32 | NC 5 7 r 3082000
33 | ND 2 3 r 665000
34 | OH 3 6 r 6608000
35 | OK 6 3 r 2344000
36 | OR 3 0 r 936000
37 | PA 3 7 r 9802000
38 | RI 3 10 d 678000
39 | SC 5 6 d 1739000
40 | SD 3 3 r 685000
41 | TN 5 5 r 2624000
42 | TX 7 3 r 5675000
43 | UT 4 1 r 504000
44 | VT 1 9 r 358000
45 | VA 4 7 r 2435000
46 | WA 2 0 r 1551000
47 | WV 4 6 r 1696000
48 | WI 1 5 r 2923000
49 | WY 3 2 r 220000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1932.d:
--------------------------------------------------------------------------------
1 | # 1932 Roosevelt Hoover
2 | AL 6 6 d 2653000
3 | AZ 5 1 d 426000
4 | AR 5 4 d 1836000
5 | CA 4 0 d 5894000
6 | CO 4 2 d 1066000
7 | CT 3 9 r 1637000
8 | DE 4 9 r 245000
9 | FL 7 8 d 1521000
10 | GA 6 7 d 2935000
11 | ID 2 1 d 459000
12 | IL 2 5 d 7736000
13 | IN 3 5 d 3281000
14 | IA 3 4 d 2489000
15 | KS 5 3 d 1883000
16 | KY 4 5 d 2676000
17 | LA 6 4 d 2155000
18 | ME 0 10 r 815000
19 | MD 4 8 d 1678000
20 | MA 2 9 d 4259000
21 | MI 2 6 d 4780000
22 | MN 2 4 d 2646000
23 | MS 6 5 d 2004000
24 | MO 4 4 d 3746000
25 | MT 2 2 d 540000
26 | NE 4 3 d 1386000
27 | NV 3 1 d 96000
28 | NH 1 10 r 474000
29 | NJ 3 8 d 4120000
30 | NM 5 2 d 441000
31 | NY 2 8 d 13001000
32 | NC 5 7 d 3227000
33 | ND 2 3 d 676000
34 | OH 3 6 d 6717000
35 | OK 6 3 d 2394000
36 | OR 3 0 d 972000
37 | PA 3 7 r 9764000
38 | RI 3 10 d 677000
39 | SC 5 6 d 1748000
40 | SD 3 3 d 692000
41 | TN 5 5 d 2711000
42 | TX 7 3 d 5961000
43 | UT 4 1 d 517000
44 | VT 1 9 r 358000
45 | VA 4 7 d 2452000
46 | WA 2 0 d 1584000
47 | WV 4 6 d 1747000
48 | WI 1 5 d 3021000
49 | WY 3 2 d 230000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1936.d:
--------------------------------------------------------------------------------
1 | # 1936 Roosevelt Landon
2 | AL 6 6 d 2743000
3 | AZ 5 1 d 443000
4 | AR 5 4 d 1892000
5 | CA 4 0 d 6341000
6 | CO 4 2 d 1090000
7 | CT 3 9 d 1672000
8 | DE 4 9 d 253000
9 | FL 7 8 d 1651000
10 | GA 6 7 d 2978000
11 | ID 2 1 d 495000
12 | IL 2 5 d 7840000
13 | IN 3 5 d 3348000
14 | IA 3 4 d 2509000
15 | KS 5 3 d 1869000
16 | KY 4 5 d 2768000
17 | LA 6 4 d 2246000
18 | ME 0 10 r 840000
19 | MD 4 8 d 1745000
20 | MA 2 9 d 4355000
21 | MI 2 6 d 4889000
22 | MN 2 4 d 2734000
23 | MS 6 5 d 2072000
24 | MO 4 4 d 3801000
25 | MT 2 2 d 554000
26 | NE 4 3 d 1358000
27 | NV 3 1 d 101000
28 | NH 1 10 d 481000
29 | NJ 3 8 d 4084000
30 | NM 5 2 d 489000
31 | NY 2 8 d 13481000
32 | NC 5 7 d 3346000
33 | ND 2 3 d 664000
34 | OH 3 6 d 6801000
35 | OK 6 3 d 2365000
36 | OR 3 0 d 1025000
37 | PA 3 7 d 9767000
38 | RI 3 10 d 686000
39 | SC 5 6 d 1781000
40 | SD 3 3 d 666000
41 | TN 5 5 d 2791000
42 | TX 7 3 d 6192000
43 | UT 4 1 d 527000
44 | VT 1 9 r 357000
45 | VA 4 7 d 2552000
46 | WA 2 0 d 1653000
47 | WV 4 6 d 1808000
48 | WI 1 5 d 3082000
49 | WY 3 2 d 240000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1940.d:
--------------------------------------------------------------------------------
1 | # 1940 Roosevelt Willkie
2 | AL 6 6 d 2845000
3 | AZ 5 1 d 499000
4 | AR 5 4 d 1955000
5 | CA 4 0 d 6950000
6 | CO 4 2 r 1130000
7 | CT 3 9 d 1708000
8 | DE 4 9 d 269000
9 | FL 7 8 d 1915000
10 | GA 6 7 d 3119000
11 | ID 2 1 d 522000
12 | IL 2 5 d 7905000
13 | IN 3 5 r 3433000
14 | IA 3 4 r 2537000
15 | KS 5 3 r 1788000
16 | KY 4 5 d 2859000
17 | LA 6 4 d 2370000
18 | ME 0 10 r 849000
19 | MD 4 8 d 1839000
20 | MA 2 9 d 4318000
21 | MI 2 6 r 5315000
22 | MN 2 4 d 2790000
23 | MS 6 5 d 2176000
24 | MO 4 4 d 3786000
25 | MT 2 2 d 558000
26 | NE 4 3 r 1316000
27 | NV 3 1 d 113000
28 | NH 1 10 d 492000
29 | NJ 3 8 d 4175000
30 | NM 5 2 d 531000
31 | NY 2 8 d 13456000
32 | NC 5 7 d 3574000
33 | ND 2 3 r 640000
34 | OH 3 6 d 6929000
35 | OK 6 3 d 2325000
36 | OR 3 0 d 1086000
37 | PA 3 7 d 9896000
38 | RI 3 10 d 719000
39 | SC 5 6 d 1902000
40 | SD 3 3 r 641000
41 | TN 5 5 d 2935000
42 | TX 7 3 d 6425000
43 | UT 4 1 d 552000
44 | VT 1 9 r 363000
45 | VA 4 7 d 2720000
46 | WA 2 0 d 1740000
47 | WV 4 6 d 1907000
48 | WI 1 5 d 3143000
49 | WY 3 2 d 250000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1944.d:
--------------------------------------------------------------------------------
1 | # 1944 Roosevelt Dewey
2 | AL 6 6 d 2802000
3 | AZ 5 1 d 610000
4 | AR 5 4 d 1768000
5 | CA 4 0 d 8945000
6 | CO 4 2 r 1137000
7 | CT 3 9 d 1778000
8 | DE 4 9 d 285000
9 | FL 7 8 d 2420000
10 | GA 6 7 d 3176000
11 | ID 2 1 d 529000
12 | IL 2 5 d 7719000
13 | IN 3 5 r 3440000
14 | IA 3 4 r 2301000
15 | KS 5 3 r 1779000
16 | KY 4 5 d 2631000
17 | LA 6 4 d 2508000
18 | ME 0 10 r 801000
19 | MD 4 8 d 2118000
20 | MA 2 9 d 4192000
21 | MI 2 6 d 5467000
22 | MN 2 4 d 2526000
23 | MS 6 5 d 2167000
24 | MO 4 4 d 3560000
25 | MT 2 2 d 469000
26 | NE 4 3 r 1216000
27 | NV 3 1 d 153000
28 | NH 1 10 d 456000
29 | NJ 3 8 d 4158000
30 | NM 5 2 d 527000
31 | NY 2 8 d 12628000
32 | NC 5 7 d 3560000
33 | ND 2 3 r 534000
34 | OH 3 6 r 6918000
35 | OK 6 3 d 2043000
36 | OR 3 0 d 1233000
37 | PA 3 7 d 9214000
38 | RI 3 10 d 795000
39 | SC 5 6 d 1943000
40 | SD 3 3 r 565000
41 | TN 5 5 d 2868000
42 | TX 7 3 d 6876000
43 | UT 4 1 d 605000
44 | VT 1 9 r 314000
45 | VA 4 7 d 3248000
46 | WA 2 0 d 2092000
47 | WV 4 6 d 1706000
48 | WI 1 5 r 2980000
49 | WY 3 2 r 242000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1948.d:
--------------------------------------------------------------------------------
1 | # 1948 Truman Dewey Thurmond
2 | AL 6 6 i 2969000
3 | AZ 5 1 d 690000
4 | AR 5 4 d 1825000
5 | CA 4 0 d 10064000
6 | CO 4 2 d 1263000
7 | CT 3 9 r 2014000
8 | DE 4 9 r 312000
9 | FL 7 8 d 2578000
10 | GA 6 7 d 3259000
11 | ID 2 1 d 551000
12 | IL 2 5 d 8552000
13 | IN 3 5 r 3877000
14 | IA 3 4 d 2543000
15 | KS 5 3 r 1892000
16 | KY 4 5 d 2817000
17 | LA 6 4 i 2596000
18 | ME 0 10 r 878000
19 | MD 4 8 r 2271000
20 | MA 2 9 d 4674000
21 | MI 2 6 r 6213000
22 | MN 2 4 d 2868000
23 | MS 6 5 i 2076000
24 | MO 4 4 d 3844000
25 | MT 2 2 d 542000
26 | NE 4 3 r 1265000
27 | NV 3 1 d 156000
28 | NH 1 10 r 520000
29 | NJ 3 8 r 4774000
30 | NM 5 2 d 604000
31 | NY 2 8 r 14497000
32 | NC 5 7 d 3837000
33 | ND 2 3 r 580000
34 | OH 3 6 d 7876000
35 | OK 6 3 d 2089000
36 | OR 3 0 r 1405000
37 | PA 3 7 r 10287000
38 | RI 3 10 d 787000
39 | SC 5 6 i 1996000
40 | SD 3 3 r 612000
41 | TN 5 5 d 3216000
42 | TX 7 3 d 7626000
43 | UT 4 1 d 653000
44 | VT 1 9 r 359000
45 | VA 4 7 d 3207000
46 | WA 2 0 d 2255000
47 | WV 4 6 d 1899000
48 | WI 1 5 d 3314000
49 | WY 3 2 d 269000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1952.d:
--------------------------------------------------------------------------------
1 | # 1952 Stevenson Eisenhower
2 | AL 6 6 d 3068000
3 | AZ 5 1 r 842000
4 | AR 5 4 d 1838000
5 | CA 4 0 r 11635000
6 | CO 4 2 r 1365000
7 | CT 3 9 r 2081000
8 | DE 4 9 r 341000
9 | FL 7 8 r 3157000
10 | GA 6 7 d 3584000
11 | ID 2 1 r 587000
12 | IL 2 5 r 8956000
13 | IN 3 5 r 4148000
14 | IA 3 4 r 2626000
15 | KS 5 3 r 1977000
16 | KY 4 5 d 2920000
17 | LA 6 4 d 2842000
18 | ME 0 10 r 915000
19 | MD 4 8 r 2500000
20 | MA 2 9 r 4650000
21 | MI 2 6 r 6650000
22 | MN 2 4 r 3030000
23 | MS 6 5 d 2152000
24 | MO 4 4 r 3972000
25 | MT 2 2 r 602000
26 | NE 4 3 r 1311000
27 | NV 3 1 r 181000
28 | NH 1 10 r 535000
29 | NJ 3 8 r 5125000
30 | NM 5 2 r 735000
31 | NY 2 8 r 15192000
32 | NC 5 7 d 4109000
33 | ND 2 3 r 608000
34 | OH 3 6 r 8275000
35 | OK 6 3 r 2219000
36 | OR 3 0 r 1582000
37 | PA 3 7 r 10503000
38 | RI 3 10 r 802000
39 | SC 5 6 d 2178000
40 | SD 3 3 r 651000
41 | TN 5 5 r 3352000
42 | TX 7 3 r 8314000
43 | UT 4 1 r 724000
44 | VT 1 9 r 375000
45 | VA 4 7 r 3504000
46 | WA 2 0 r 2448000
47 | WV 4 6 d 1957000
48 | WI 1 5 r 3469000
49 | WY 3 2 r 293000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1956.d:
--------------------------------------------------------------------------------
1 | # 1956 Stevenson Eisenhower
2 | AL 6 6 d 3071000
3 | AZ 5 1 r 1053000
4 | AR 5 4 d 1704000
5 | CA 4 0 r 13713000
6 | CO 4 2 r 1625000
7 | CT 3 9 r 2316000
8 | DE 4 9 r 408000
9 | FL 7 8 r 4047000
10 | GA 6 7 d 3701000
11 | ID 2 1 r 628000
12 | IL 2 5 r 9530000
13 | IN 3 5 r 4458000
14 | IA 3 4 r 2703000
15 | KS 5 3 r 2119000
16 | KY 4 5 r 2898000
17 | LA 6 4 r 3032000
18 | ME 0 10 r 938000
19 | MD 4 8 r 2811000
20 | MA 2 9 r 4891000
21 | MI 2 6 r 7467000
22 | MN 2 4 r 3240000
23 | MS 6 5 d 2086000
24 | MO 4 4 d 4163000
25 | MT 2 2 r 656000
26 | NE 4 3 r 1397000
27 | NV 3 1 r 250000
28 | NH 1 10 r 566000
29 | NJ 3 8 r 5615000
30 | NM 5 2 r 806000
31 | NY 2 8 r 16112000
32 | NC 5 7 d 4309000
33 | ND 2 3 r 613000
34 | OH 3 6 r 9207000
35 | OK 6 3 r 2273000
36 | OR 3 0 r 1698000
37 | PA 3 7 r 10972000
38 | RI 3 10 r 840000
39 | SC 5 6 d 2229000
40 | SD 3 3 r 670000
41 | TN 5 5 r 3415000
42 | TX 7 3 r 8830000
43 | UT 4 1 r 809000
44 | VT 1 9 r 377000
45 | VA 4 7 r 3722000
46 | WA 2 0 r 2668000
47 | WV 4 6 r 1857000
48 | WI 1 5 r 3742000
49 | WY 3 2 r 312000
50 |
--------------------------------------------------------------------------------
/elections/nyt-1960.d:
--------------------------------------------------------------------------------
1 | # 1960 Kennedy Nixon
2 | AL 6 6 d 3267000
3 | AK 0 0 r 226000
4 | AZ 5 1 r 1302000
5 | AR 5 4 d 1786000
6 | CA 4 0 r 15717000
7 | CO 4 2 r 1754000
8 | CT 3 9 d 2535000
9 | DE 4 9 d 446000
10 | DC 5 8 d 764000
11 | FL 7 8 r 4952000
12 | GA 6 7 d 3943000
13 | HI 7 0 r 633000
14 | ID 2 1 r 667000
15 | IL 2 5 d 10081000
16 | IN 3 5 r 4662000
17 | IA 3 4 r 2758000
18 | KS 5 3 r 2179000
19 | KY 4 5 r 3038000
20 | LA 6 4 d 3257000
21 | ME 0 10 r 969000
22 | MD 4 8 r 3101000
23 | MA 2 9 d 5149000
24 | MI 2 6 d 7823000
25 | MN 2 4 d 3414000
26 | MS 6 5 d 2178000
27 | MO 4 4 d 4320000
28 | MT 2 2 r 675000
29 | NE 4 3 r 1411000
30 | NV 3 1 d 285000
31 | NH 1 10 r 607000
32 | NJ 3 8 d 6067000
33 | NM 5 2 d 951000
34 | NY 2 8 d 16782000
35 | NC 5 7 d 4556000
36 | ND 2 3 r 632000
37 | OH 3 6 r 9706000
38 | OK 6 3 r 2328000
39 | OR 3 0 r 1769000
40 | PA 3 7 d 11319000
41 | RI 3 10 d 859000
42 | SC 5 6 d 2383000
43 | SD 3 3 r 681000
44 | TN 5 5 r 3567000
45 | TX 7 3 d 9580000
46 | UT 4 1 r 891000
47 | VT 1 9 r 390000
48 | VA 4 7 r 3967000
49 | WA 2 0 r 2853000
50 | WV 4 6 d 1860000
51 | WI 1 5 r 3952000
52 | WY 3 2 r 330000
53 |
--------------------------------------------------------------------------------
/elections/nyt-1964.d:
--------------------------------------------------------------------------------
1 | # 1964 Johnson Goldwater
2 | AL 6 6 r 3395000
3 | AK 0 0 d 263000
4 | AZ 5 1 r 1556000
5 | AR 5 4 d 1897000
6 | CA 4 0 d 18151000
7 | CO 4 2 d 1970000
8 | CT 3 9 d 2798000
9 | DE 4 9 d 497000
10 | DC 5 8 d 798000
11 | FL 7 8 d 5781000
12 | GA 6 7 r 4258000
13 | HI 7 0 d 700000
14 | ID 2 1 d 680000
15 | IL 2 5 d 10580000
16 | IN 3 5 d 4856000
17 | IA 3 4 d 2746000
18 | KS 5 3 d 2209000
19 | KY 4 5 d 3129000
20 | LA 6 4 r 3446000
21 | ME 0 10 d 993000
22 | MD 4 8 d 3492000
23 | MA 2 9 d 5448000
24 | MI 2 6 d 8187000
25 | MN 2 4 d 3558000
26 | MS 6 5 r 2241000
27 | MO 4 4 d 4442000
28 | MT 2 2 d 706000
29 | NE 4 3 d 1482000
30 | NV 3 1 d 426000
31 | NH 1 10 d 663000
32 | NJ 3 8 d 6660000
33 | NM 5 2 d 1006000
34 | NY 2 8 d 17589000
35 | NC 5 7 d 4802000
36 | ND 2 3 d 649000
37 | OH 3 6 d 10080000
38 | OK 6 3 d 2446000
39 | OR 3 0 d 1888000
40 | PA 3 7 d 11519000
41 | RI 3 10 d 885000
42 | SC 5 6 r 2475000
43 | SD 3 3 d 701000
44 | TN 5 5 d 3771000
45 | TX 7 3 d 10270000
46 | UT 4 1 d 978000
47 | VT 1 9 d 399000
48 | VA 4 7 d 4357000
49 | WA 2 0 d 2961000
50 | WV 4 6 d 1797000
51 | WI 1 5 d 4165000
52 | WY 3 2 d 339000
53 |
--------------------------------------------------------------------------------
/elections/nyt-1968.d:
--------------------------------------------------------------------------------
1 | # 1968 Humphrey Nixon Wallace
2 | AL 6 6 i 3446000
3 | AK 0 0 r 285000
4 | AZ 5 1 r 1682000
5 | AR 5 4 i 1902000
6 | CA 4 0 r 19394000
7 | CO 4 2 r 2120000
8 | CT 3 9 d 2964000
9 | DE 4 9 r 534000
10 | DC 5 8 d 778000
11 | FL 7 8 r 6433000
12 | GA 6 7 i 4482000
13 | HI 7 0 d 734000
14 | ID 2 1 r 695000
15 | IL 2 5 r 10995000
16 | IN 3 5 r 5093000
17 | IA 3 4 r 2803000
18 | KS 5 3 r 2216000
19 | KY 4 5 r 3195000
20 | LA 6 4 i 3603000
21 | ME 0 10 d 994000
22 | MD 4 8 d 3815000
23 | MA 2 9 d 5618000
24 | MI 2 6 d 8696000
25 | MN 2 4 d 3703000
26 | MS 6 5 i 2219000
27 | MO 4 4 r 4568000
28 | MT 2 2 r 700000
29 | NE 4 3 r 1467000
30 | NV 3 1 r 464000
31 | NH 1 10 r 709000
32 | NJ 3 8 r 7005000
33 | NM 5 2 r 994000
34 | NY 2 8 d 18051000
35 | NC 5 7 r 5004000
36 | ND 2 3 r 621000
37 | OH 3 6 r 10516000
38 | OK 6 3 r 2503000
39 | OR 3 0 r 2004000
40 | PA 3 7 d 11741000
41 | RI 3 10 d 922000
42 | SC 5 6 r 2559000
43 | SD 3 3 r 669000
44 | TN 5 5 r 3878000
45 | TX 7 3 d 10819000
46 | UT 4 1 r 1029000
47 | VT 1 9 r 430000
48 | VA 4 7 r 4558000
49 | WA 2 0 d 3270000
50 | WV 4 6 d 1763000
51 | WI 1 5 r 4345000
52 | WY 3 2 r 324000
53 |
--------------------------------------------------------------------------------
/elections/nyt-1972.d:
--------------------------------------------------------------------------------
1 | # 1972 McGovern Nixon
2 | AL 6 6 r 3539400
3 | AK 0 0 r 324464
4 | AZ 5 1 r 2008291
5 | AR 5 4 r 2018638
6 | CA 4 0 r 20585469
7 | CO 4 2 r 2404619
8 | CT 3 9 r 3068699
9 | DE 4 9 r 572913
10 | DC 5 8 d 742241
11 | FL 7 8 r 7511463
12 | GA 6 7 r 4809490
13 | HI 7 0 r 828331
14 | ID 2 1 r 763237
15 | IL 2 5 r 11251948
16 | IN 3 5 r 5302435
17 | IA 3 4 r 2860287
18 | KS 5 3 r 2256375
19 | KY 4 5 r 3335728
20 | LA 6 4 r 3761646
21 | ME 0 10 r 1034292
22 | MD 4 8 r 4073499
23 | MA 2 9 d 5760302
24 | MI 2 6 r 9028944
25 | MN 2 4 r 3869747
26 | MS 6 5 r 2307117
27 | MO 4 4 r 4758780
28 | MT 2 2 r 718732
29 | NE 4 3 r 1519013
30 | NV 3 1 r 546789
31 | NH 1 10 r 781107
32 | NJ 3 8 r 7335042
33 | NM 5 2 r 1078697
34 | NY 2 8 r 18339400
35 | NC 5 7 r 5301150
36 | ND 2 3 r 631119
37 | OH 3 6 r 10746993
38 | OK 6 3 r 2658646
39 | OR 3 0 r 2197297
40 | PA 3 7 r 11908233
41 | RI 3 10 r 974790
42 | SC 5 6 r 2719197
43 | SD 3 3 r 677234
44 | TN 5 5 r 4094611
45 | TX 7 3 r 11759148
46 | UT 4 1 r 1135449
47 | VT 1 9 r 463143
48 | VA 4 7 r 4824472
49 | WA 2 0 r 3447885
50 | WV 4 6 r 1797648
51 | WI 1 5 r 4502412
52 | WY 3 2 r 347345
53 |
--------------------------------------------------------------------------------
/elections/nyt-1976.d:
--------------------------------------------------------------------------------
1 | # 1976 Carter Ford
2 | AL 6 6 d 3735139
3 | AK 0 0 r 400969
4 | AZ 5 1 r 2346157
5 | AR 5 4 d 2170161
6 | CA 4 0 r 21935909
7 | CO 4 2 r 2632306
8 | CT 3 9 r 3083335
9 | DE 4 9 d 590166
10 | DC 5 8 r 692295
11 | FL 7 8 d 8667379
12 | GA 6 7 d 5132812
13 | HI 7 0 d 904191
14 | ID 2 1 r 856983
15 | IL 2 5 r 11342853
16 | IN 3 5 r 5389088
17 | IA 3 4 r 2903082
18 | KS 5 3 r 2301001
19 | KY 4 5 d 3529257
20 | LA 6 4 d 3950605
21 | ME 0 10 r 1088412
22 | MD 4 8 d 4150539
23 | MA 2 9 d 5743672
24 | MI 2 6 d 9129205
25 | MN 2 4 d 3964680
26 | MS 6 5 d 2429756
27 | MO 4 4 d 4839029
28 | MT 2 2 r 757317
29 | NE 4 3 r 1550911
30 | NV 3 1 r 646975
31 | NH 1 10 r 845248
32 | NJ 3 8 r 7339745
33 | NM 5 2 r 1189295
34 | NY 2 8 d 17940541
35 | NC 5 7 d 5607964
36 | ND 2 3 r 645797
37 | OH 3 6 d 10752662
38 | OK 6 3 r 2826815
39 | OR 3 0 r 2378262
40 | PA 3 7 d 11897378
41 | RI 3 10 d 946089
42 | SC 5 6 d 2943657
43 | SD 3 3 r 686390
44 | TN 5 5 d 4346928
45 | TX 7 3 d 12904089
46 | UT 4 1 r 1274928
47 | VT 1 9 r 484928
48 | VA 4 7 r 5121863
49 | WA 2 0 r 3693610
50 | WV 4 6 d 1879503
51 | WI 1 5 d 4595904
52 | WY 3 2 r 396952
53 |
--------------------------------------------------------------------------------
/elections/nyt-1980.d:
--------------------------------------------------------------------------------
1 | # 1980 Carter Reagan
2 | AL 6 6 r 3893888
3 | AK 0 0 r 401851
4 | AZ 5 1 r 2718215
5 | AR 5 4 r 2286435
6 | CA 4 0 r 23667902
7 | CO 4 2 r 2889964
8 | CT 3 9 r 3107576
9 | DE 4 9 r 594338
10 | DC 5 8 r 638333
11 | FL 7 8 r 9746324
12 | GA 6 7 d 5463105
13 | HI 7 0 d 964691
14 | ID 2 1 r 943935
15 | IL 2 5 r 11426518
16 | IN 3 5 r 5490224
17 | IA 3 4 r 2913808
18 | KS 5 3 r 2363679
19 | KY 4 5 r 3660777
20 | LA 6 4 r 4205900
21 | ME 0 10 r 1124660
22 | MD 4 8 d 4216975
23 | MA 2 9 r 5737037
24 | MI 2 6 r 9262078
25 | MN 2 4 d 4075970
26 | MS 6 5 r 2520638
27 | MO 4 4 r 4916686
28 | MT 2 2 r 786690
29 | NE 4 3 r 1569825
30 | NV 3 1 r 800493
31 | NH 1 10 r 920610
32 | NJ 3 8 r 7364823
33 | NM 5 2 r 1302894
34 | NY 2 8 r 17558072
35 | NC 5 7 r 5881766
36 | ND 2 3 r 652717
37 | OH 3 6 r 10797630
38 | OK 6 3 r 3025290
39 | OR 3 0 r 2633105
40 | PA 3 7 r 11863895
41 | RI 3 10 d 947154
42 | SC 5 6 r 3121820
43 | SD 3 3 r 690768
44 | TN 5 5 r 4591120
45 | TX 7 3 r 14229191
46 | UT 4 1 r 1461037
47 | VT 1 9 r 511456
48 | VA 4 7 r 5346818
49 | WA 2 0 r 4132156
50 | WV 4 6 d 1949644
51 | WI 1 5 r 4705767
52 | WY 3 2 r 469557
53 |
--------------------------------------------------------------------------------
/elections/nyt-1984.d:
--------------------------------------------------------------------------------
1 | # 1984 Mondale Reagan
2 | AL 6 6 r 3951820
3 | AK 0 0 r 513702
4 | AZ 5 1 r 3067135
5 | AR 5 4 r 2319768
6 | CA 4 0 r 25844393
7 | CO 4 2 r 3169992
8 | CT 3 9 r 3180014
9 | DE 4 9 r 611565
10 | DC 5 8 d 633382
11 | FL 7 8 r 11039925
12 | GA 6 7 r 5834954
13 | HI 7 0 r 1027922
14 | ID 2 1 r 990839
15 | IL 2 5 r 11412132
16 | IN 3 5 r 5458322
17 | IA 3 4 r 2858618
18 | KS 5 3 r 2424086
19 | KY 4 5 r 3695453
20 | LA 6 4 r 4400477
21 | ME 0 10 r 1155635
22 | MD 4 8 r 4365243
23 | MA 2 9 r 5840773
24 | MI 2 6 r 9049452
25 | MN 2 4 d 4157706
26 | MS 6 5 r 2578051
27 | MO 4 4 r 4975278
28 | MT 2 2 r 820905
29 | NE 4 3 r 1588639
30 | NV 3 1 r 924922
31 | NH 1 10 r 976864
32 | NJ 3 8 r 7515473
33 | NM 5 2 r 1416717
34 | NY 2 8 r 17745684
35 | NC 5 7 r 6164006
36 | ND 2 3 r 680497
37 | OH 3 6 r 10737746
38 | OK 6 3 r 3285533
39 | OR 3 0 r 2666588
40 | PA 3 7 r 11815172
41 | RI 3 10 r 961894
42 | SC 5 6 r 3271868
43 | SD 3 3 r 697249
44 | TN 5 5 r 4686737
45 | TX 7 3 r 16007086
46 | UT 4 1 r 1622342
47 | VT 1 9 r 526660
48 | VA 4 7 r 5643870
49 | WA 2 0 r 4343656
50 | WV 4 6 r 1927697
51 | WI 1 5 r 4735563
52 | WY 3 2 r 504896
53 |
--------------------------------------------------------------------------------
/elections/nyt-1988.d:
--------------------------------------------------------------------------------
1 | # 1988 Dukakis Bush
2 | AL 6 6 r 4023844
3 | AK 0 0 r 541983
4 | AZ 5 1 r 3535183
5 | AR 5 4 r 2342656
6 | CA 4 0 r 28464249
7 | CO 4 2 r 3262281
8 | CT 3 9 r 3271953
9 | DE 4 9 r 647622
10 | DC 5 8 d 630432
11 | FL 7 8 r 12306395
12 | GA 6 7 r 6316142
13 | HI 7 0 d 1079828
14 | ID 2 1 r 985664
15 | IL 2 5 r 11390183
16 | IN 3 5 r 5491735
17 | IA 3 4 d 2768388
18 | KS 5 3 r 2461996
19 | KY 4 5 r 3679999
20 | LA 6 4 r 4288863
21 | ME 0 10 r 1203840
22 | MD 4 8 r 4657904
23 | MA 2 9 d 5979982
24 | MI 2 6 r 9217998
25 | MN 2 4 d 4296166
26 | MS 6 5 r 2580352
27 | MO 4 4 r 5081736
28 | MT 2 2 r 800202
29 | NE 4 3 r 1571477
30 | NV 3 1 r 1075022
31 | NH 1 10 r 1082577
32 | NJ 3 8 r 7712333
33 | NM 5 2 r 1490337
34 | NY 2 8 d 17941309
35 | NC 5 7 r 6480594
36 | ND 2 3 r 655331
37 | OH 3 6 r 10798552
38 | OK 6 3 r 3167057
39 | OR 3 0 d 2741297
40 | PA 3 7 r 11845752
41 | RI 3 10 d 996408
42 | SC 5 6 r 3412096
43 | SD 3 3 r 698165
44 | TN 5 5 r 4822437
45 | TX 7 3 r 16667022
46 | UT 4 1 r 1689372
47 | VT 1 9 r 549763
48 | VA 4 7 r 6036909
49 | WA 2 0 d 4639893
50 | WV 4 6 d 1830215
51 | WI 1 5 d 4822388
52 | WY 3 2 r 465101
53 |
--------------------------------------------------------------------------------
/elections/nyt-1992.d:
--------------------------------------------------------------------------------
1 | # 1992 Clinton Bush
2 | AL 6 6 r 4131068
3 | AK 0 0 r 587324
4 | AZ 5 1 r 3835485
5 | AR 5 4 d 2395446
6 | CA 4 0 d 30909406
7 | CO 4 2 d 3463145
8 | CT 3 9 d 3279272
9 | DE 4 9 d 689726
10 | DC 5 8 d 585813
11 | FL 7 8 r 13510073
12 | GA 6 7 d 6764524
13 | HI 7 0 d 1153020
14 | ID 2 1 r 1066203
15 | IL 2 5 d 11610447
16 | IN 3 5 r 5652211
17 | IA 3 4 d 2807782
18 | KS 5 3 r 2517791
19 | KY 4 5 d 3752639
20 | LA 6 4 d 4273036
21 | ME 0 10 d 1237103
22 | MD 4 8 d 4913625
23 | MA 2 9 d 5999148
24 | MI 2 6 d 9423247
25 | MN 2 4 d 4473959
26 | MS 6 5 r 2612726
27 | MO 4 4 d 5192748
28 | MT 2 2 d 823080
29 | NE 4 3 r 1603940
30 | NV 3 1 d 1331274
31 | NH 1 10 d 1113919
32 | NJ 3 8 d 7812654
33 | NM 5 2 d 1580966
34 | NY 2 8 d 18094825
35 | NC 5 7 r 6838230
36 | ND 2 3 r 635340
37 | OH 3 6 d 11004556
38 | OK 6 3 r 3206168
39 | OR 3 0 d 2974652
40 | PA 3 7 d 11989828
41 | RI 3 10 d 1002406
42 | SC 5 6 r 3595400
43 | SD 3 3 r 709462
44 | TN 5 5 d 5020680
45 | TX 7 3 r 17666863
46 | UT 4 1 r 1811373
47 | VT 1 9 d 571340
48 | VA 4 7 r 6389390
49 | WA 2 0 d 5146044
50 | WV 4 6 d 807171
51 | WI 1 5 d 4996925
52 | WY 3 2 r 464079
53 |
--------------------------------------------------------------------------------
/elections/nyt-1996.d:
--------------------------------------------------------------------------------
1 | # 1996 Clinton Dole
2 | AL 6 6 r 4273084
3 | AK 0 0 r 607007
4 | AZ 5 1 d 4428068
5 | AR 5 4 d 2509793
6 | CA 4 0 d 31878234
7 | CO 4 2 r 3822676
8 | CT 3 9 d 3274238
9 | DE 4 9 d 724842
10 | DC 5 8 d 543213
11 | FL 7 8 d 14399985
12 | GA 6 7 r 7353225
13 | HI 7 0 d 1183723
14 | ID 2 1 r 1189251
15 | IL 2 5 d 11846544
16 | IN 3 5 r 5840528
17 | IA 3 4 d 2851792
18 | KS 5 3 r 2572150
19 | KY 4 5 d 3883723
20 | LA 6 4 d 4350579
21 | ME 0 10 d 1243316
22 | MD 4 8 d 5071604
23 | MA 2 9 d 6092352
24 | MI 2 6 d 9594350
25 | MN 2 4 d 4657758
26 | MS 6 5 r 2716115
27 | MO 4 4 d 5358692
28 | MT 2 2 r 879372
29 | NE 4 3 r 1652093
30 | NV 3 1 d 1603163
31 | NH 1 10 d 1162481
32 | NJ 3 8 d 7987933
33 | NM 5 2 d 1713407
34 | NY 2 8 d 18184774
35 | NC 5 7 r 7322870
36 | ND 2 3 r 643539
37 | OH 3 6 d 11172782
38 | OK 6 3 r 3300902
39 | OR 3 0 d 3203735
40 | PA 3 7 d 12056112
41 | RI 3 10 d 990225
42 | SC 5 6 r 3698746
43 | SD 3 3 r 732405
44 | TN 5 5 d 5319654
45 | TX 7 3 r 19128261
46 | UT 4 1 r 2000494
47 | VT 1 9 d 588654
48 | VA 4 7 r 6675451
49 | WA 2 0 d 5532939
50 | WV 4 6 d 1825754
51 | WI 1 5 d 5159795
52 | WY 3 2 r 481400
53 |
--------------------------------------------------------------------------------
/elections/nyt-2000.d:
--------------------------------------------------------------------------------
1 | # 2000 Gore Bush
2 | AL 6 6 r 4452173
3 | AK 0 0 r 627963
4 | AZ 5 1 r 5160586
5 | AR 5 4 r 2678588
6 | CA 4 0 d 33987977
7 | CO 4 2 r 4326921
8 | CT 3 9 d 3411777
9 | DE 4 9 d 786373
10 | DC 5 8 d 572046
11 | FL 7 8 r 16047515
12 | GA 6 7 r 8227303
13 | HI 7 0 d 1213519
14 | ID 2 1 r 1299430
15 | IL 2 5 d 12434161
16 | IN 3 5 r 6091866
17 | IA 3 4 d 2929067
18 | KS 5 3 r 2693681
19 | KY 4 5 r 4049021
20 | LA 6 4 r 4471885
21 | ME 0 10 d 1277072
22 | MD 4 8 d 5311034
23 | MA 2 9 d 6361104
24 | MI 2 6 d 9952450
25 | MN 2 4 d 4933692
26 | MS 6 5 r 2848353
27 | MO 4 4 r 5607285
28 | MT 2 2 r 903773
29 | NE 4 3 r 1713820
30 | NV 3 1 r 2018741
31 | NH 1 10 r 1239882
32 | NJ 3 8 d 8430621
33 | NM 5 2 d 1821204
34 | NY 2 8 d 19001780
35 | NC 5 7 r 8081614
36 | ND 2 3 r 642023
37 | OH 3 6 r 11363543
38 | OK 6 3 r 3454365
39 | OR 3 0 d 3429708
40 | PA 3 7 d 12284173
41 | RI 3 10 d 1050268
42 | SC 5 6 r 4024223
43 | SD 3 3 r 755844
44 | TN 5 5 r 5703719
45 | TX 7 3 r 20944499
46 | UT 4 1 r 2244502
47 | VT 1 9 d 609618
48 | VA 4 7 r 7105817
49 | WA 2 0 d 5910512
50 | WV 4 6 r 1807021
51 | WI 1 5 d 5373999
52 | WY 3 2 r 494300
53 |
--------------------------------------------------------------------------------
/elections/nyt-2004.d:
--------------------------------------------------------------------------------
1 | # 2004 Kerry Bush
2 | AL 6 6 r 4530729
3 | AK 0 0 r 659286
4 | AZ 5 1 r 5652404
5 | AR 5 4 r 2749686
6 | CA 4 0 d 35574576
7 | CO 4 2 r 4575013
8 | CT 3 9 d 3496094
9 | DE 4 9 d 830803
10 | DC 5 8 d 567754
11 | FL 7 8 r 17415318
12 | GA 6 7 r 8769252
13 | HI 7 0 d 1273569
14 | ID 2 1 r 1391802
15 | IL 2 5 d 12589773
16 | IN 3 5 r 6233007
17 | IA 3 4 r 2953635
18 | KS 5 3 r 2734373
19 | KY 4 5 r 4146101
20 | LA 6 4 r 4552238
21 | ME 0 10 d 1313688
22 | MD 4 8 d 5546935
23 | MA 2 9 d 6412281
24 | MI 2 6 d 10055315
25 | MN 2 4 d 5087713
26 | MS 6 5 r 2889010
27 | MO 4 4 r 5747741
28 | MT 2 2 r 930009
29 | NE 4 3 r 1749370
30 | NV 3 1 r 2346222
31 | NH 1 10 d 1290121
32 | NJ 3 8 d 8634561
33 | NM 5 2 r 1903808
34 | NY 2 8 d 19171567
35 | NC 5 7 r 8553152
36 | ND 2 3 r 644705
37 | OH 3 6 r 11452251
38 | OK 6 3 r 3525233
39 | OR 3 0 d 3569463
40 | PA 3 7 d 12410722
41 | RI 3 10 d 1074579
42 | SC 5 6 r 4210921
43 | SD 3 3 r 770396
44 | TN 5 5 r 5910809
45 | TX 7 3 r 22394023
46 | UT 4 1 r 2401580
47 | VT 1 9 d 619920
48 | VA 4 7 r 7475575
49 | WA 2 0 d 6178645
50 | WV 4 6 r 1816438
51 | WI 1 5 d 5514026
52 | WY 3 2 r 509106
53 |
--------------------------------------------------------------------------------
/elections/nyt-2008.d:
--------------------------------------------------------------------------------
1 | # 2008 Obama McCain
2 | AL 6 6 r 4718206
3 | AK 0 0 r 687455
4 | AZ 5 1 r 6280362
5 | AR 5 4 r 2874554
6 | CA 4 0 d 36604337
7 | CO 4 2 d 4889730
8 | CT 3 9 d 3545579
9 | DE 4 9 d 883874
10 | DC 5 8 d 580236
11 | FL 7 8 d 18527305
12 | GA 6 7 r 9504843
13 | HI 7 0 d 1332213
14 | ID 2 1 r 1534320
15 | IL 2 5 d 12747038
16 | IN 3 5 d 6424806
17 | IA 3 4 d 3016734
18 | KS 5 3 r 2808076
19 | KY 4 5 r 4289878
20 | LA 6 4 r 4435586
21 | ME 0 10 d 1330509
22 | MD 4 8 d 5684965
23 | MA 2 9 d 6468967
24 | MI 2 6 d 9946889
25 | MN 2 4 d 5247018
26 | MS 6 5 r 2947806
27 | MO 4 4 r 5923916
28 | MT 2 2 r 976415
29 | NE 4 3 r 1796378
30 | NV 3 1 d 2653630
31 | NH 1 10 d 1315906
32 | NJ 3 8 d 8711090
33 | NM 5 2 d 2010662
34 | NY 2 8 d 19212436
35 | NC 5 7 d 9309449
36 | ND 2 3 r 657569
37 | OH 3 6 d 11515391
38 | OK 6 3 r 3668976
39 | OR 3 0 d 3768748
40 | PA 3 7 d 12612285
41 | RI 3 10 d 1055003
42 | SC 5 6 r 4528996
43 | SD 3 3 r 799124
44 | TN 5 5 r 6247411
45 | TX 7 3 r 24309039
46 | UT 4 1 r 2663029
47 | VT 1 9 d 624151
48 | VA 4 7 d 7833496
49 | WA 2 0 d 6562231
50 | WV 4 6 r 1840310
51 | WI 1 5 d 5640996
52 | WY 3 2 r 546043
53 |
--------------------------------------------------------------------------------
/elections/nyt-2012.d:
--------------------------------------------------------------------------------
1 | # 2012 Obama Romney
2 | AL 6 6 r 4815588
3 | AK 0 0 r 730443
4 | AZ 5 1 d 6554978
5 | AR 5 4 r 2952164
6 | CA 4 0 d 37948800
7 | CO 4 2 d 5192647
8 | CT 3 9 d 3594547
9 | DE 4 9 d 915179
10 | DC 5 8 d 634924
11 | FL 7 8 d 19297822
12 | GA 6 7 r 9901430
13 | HI 7 0 d 1394804
14 | ID 2 1 r 1595324
15 | IL 2 5 d 12882510
16 | IN 3 5 r 6537703
17 | IA 3 4 r 3076190
18 | KS 5 3 r 2885257
19 | KY 4 5 r 4386346
20 | LA 6 4 r 4600972
21 | ME 0 10 d 1327729
22 | MD 4 8 d 5886992
23 | MA 2 9 d 6663005
24 | MI 2 6 d 9897145
25 | MN 2 4 d 5376643
26 | MS 6 5 r 2983816
27 | MO 4 4 r 6024367
28 | MT 2 2 r 1003783
29 | NE 4 3 r 1853303
30 | NV 3 1 d 2743996
31 | NH 1 10 d 1324232
32 | NJ 3 8 d 8844942
33 | NM 5 2 d 2087309
34 | NY 2 8 d 19572932
35 | NC 5 7 r 9749476
36 | ND 2 3 r 701176
37 | OH 3 6 d 11548923
38 | OK 6 3 r 3818814
39 | OR 3 0 d 3899001
40 | PA 3 7 d 12767118
41 | RI 3 10 d 1054621
42 | SC 5 6 r 4717354
43 | SD 3 3 r 833566
44 | TN 5 5 r 6453898
45 | TX 7 3 r 26084481
46 | UT 4 1 r 2853375
47 | VT 1 9 d 626090
48 | VA 4 7 d 8185080
49 | WA 2 0 d 6897058
50 | WV 4 6 r 1856872
51 | WI 1 5 d 5719960
52 | WY 3 2 r 576305
53 |
--------------------------------------------------------------------------------
/elections/nyt-2016.d:
--------------------------------------------------------------------------------
1 | # 2016 Clinton Trump
2 | AL 6 6 r 4863525
3 | AK 0 0 r 741456
4 | AZ 5 1 r 6941072
5 | AR 5 4 r 2989918
6 | CA 4 0 d 39167117
7 | CO 4 2 r 5539215
8 | CT 3 9 d 3578141
9 | DE 4 9 d 948921
10 | DC 5 8 d 685815
11 | FL 7 8 r 20613477
12 | GA 6 7 r 10301890
13 | HI 7 0 d 1427559
14 | ID 2 1 r 1682380
15 | IL 2 5 d 12820527
16 | IN 3 5 r 6634304
17 | IA 3 4 r 3131371
18 | KS 5 3 r 2910844
19 | KY 4 5 r 4438182
20 | LA 6 4 r 4678135
21 | ME 0 10 d 1331317
22 | MD 4 8 d 6003323
23 | MA 2 9 d 6823608
24 | MI 2 6 r 9950571
25 | MN 2 4 d 5522744
26 | MS 6 5 r 2987938
27 | MO 4 4 r 6087135
28 | MT 2 2 d 1040859
29 | NE 4 3 r 1905616
30 | NV 3 1 d 2917563
31 | NH 1 10 d 1342307
32 | NJ 3 8 d 8870827
33 | NM 5 2 d 2091630
34 | NY 2 8 d 19633428
35 | NC 5 7 r 10154788
36 | ND 2 3 r 754434
37 | OH 3 6 r 11634370
38 | OK 6 3 r 3926331
39 | OR 3 0 d 4089976
40 | PA 3 7 r 12782275
41 | RI 3 10 d 1056770
42 | SC 5 6 r 4957968
43 | SD 3 3 r 862996
44 | TN 5 5 r 6646010
45 | TX 7 3 r 27914410
46 | UT 4 1 r 3041868
47 | VT 1 9 d 623657
48 | VA 4 7 d 8410106
49 | WA 2 0 d 7294771
50 | WV 4 6 r 1831023
51 | WI 1 5 r 5772628
52 | WY 3 2 r 584215
53 |
--------------------------------------------------------------------------------
/elections/nyt-2020.d:
--------------------------------------------------------------------------------
1 | # 2020 Biden Trump
2 | AL 6 6 r 4903185
3 | AK 0 0 r 731545
4 | AZ 5 1 d 7278717
5 | AR 5 4 r 3017804
6 | CA 4 0 d 39512223
7 | CO 4 2 d 5758736
8 | CT 3 9 d 3565287
9 | DE 4 9 d 973764
10 | DC 5 8 d 705749
11 | FL 7 8 r 21477737
12 | GA 6 7 d 10617423
13 | HI 7 0 d 1415872
14 | ID 2 1 r 1787065
15 | IL 2 5 d 12671821
16 | IN 3 5 r 6732219
17 | IA 3 4 r 3155070
18 | KS 5 3 r 2913314
19 | KY 4 5 r 4467673
20 | LA 6 4 r 4648794
21 | ME 0 10 d 1344212
22 | MD 4 8 d 6045680
23 | MA 2 9 d 6892503
24 | MI 2 6 d 9986857
25 | MN 2 4 d 5639632
26 | MS 6 5 r 2976149
27 | MO 4 4 r 6137428
28 | MT 2 2 r 1068778
29 | NE 4 3 r 1934408
30 | NV 3 1 d 3080156
31 | NH 1 10 d 1359711
32 | NJ 3 8 d 8882190
33 | NM 5 2 d 2096829
34 | NY 2 8 d 19453561
35 | NC 5 7 r 10488084
36 | ND 2 3 r 762062
37 | OH 3 6 r 11689100
38 | OK 6 3 r 3956971
39 | OR 3 0 d 4217737
40 | PA 3 7 d 12801989
41 | RI 3 10 d 1059361
42 | SC 5 6 r 5148714
43 | SD 3 3 r 884659
44 | TN 5 5 r 6829174
45 | TX 7 3 r 28995881
46 | UT 4 1 r 3205958
47 | VT 1 9 d 623989
48 | VA 4 7 d 8535519
49 | WA 2 0 d 7614893
50 | WV 4 6 r 1792147
51 | WI 1 5 d 5822434
52 | WY 3 2 r 578759
53 |
--------------------------------------------------------------------------------
/elections/nyt-2024.d:
--------------------------------------------------------------------------------
1 | # 2024 Harris Trump
2 | AL 6 6 r 4903185
3 | AK 0 0 r 731545
4 | AZ 5 1 r 7278717
5 | AR 5 4 r 3017804
6 | CA 4 0 d 39512223
7 | CO 4 2 d 5758736
8 | CT 3 9 d 3565287
9 | DE 4 9 d 973764
10 | DC 5 8 d 705749
11 | FL 7 8 r 21477737
12 | GA 6 7 r 10617423
13 | HI 7 0 d 1415872
14 | ID 2 1 r 1787065
15 | IL 2 5 d 12671821
16 | IN 3 5 r 6732219
17 | IA 3 4 r 3155070
18 | KS 5 3 r 2913314
19 | KY 4 5 r 4467673
20 | LA 6 4 r 4648794
21 | ME 0 10 d 1344212
22 | MD 4 8 d 6045680
23 | MA 2 9 d 6892503
24 | MI 2 6 r 9986857
25 | MN 2 4 d 5639632
26 | MS 6 5 r 2976149
27 | MO 4 4 r 6137428
28 | MT 2 2 r 1068778
29 | NE 4 3 r 1934408
30 | NV 3 1 r 3080156
31 | NH 1 10 d 1359711
32 | NJ 3 8 d 8882190
33 | NM 5 2 d 2096829
34 | NY 2 8 d 19453561
35 | NC 5 7 r 10488084
36 | ND 2 3 r 762062
37 | OH 3 6 r 11689100
38 | OK 6 3 r 3956971
39 | OR 3 0 d 4217737
40 | PA 3 7 r 12801989
41 | RI 3 10 d 1059361
42 | SC 5 6 r 5148714
43 | SD 3 3 r 884659
44 | TN 5 5 r 6829174
45 | TX 7 3 r 28995881
46 | UT 4 1 r 3205958
47 | VT 1 9 d 623989
48 | VA 4 7 d 8535519
49 | WA 2 0 d 7614893
50 | WV 4 6 r 1792147
51 | WI 1 5 r 5822434
52 | WY 3 2 r 578759
53 |
--------------------------------------------------------------------------------
/elections/nyt-layout.d:
--------------------------------------------------------------------------------
1 | # NYT Layout
2 | AL 6 6 i
3 | AK 0 0 i
4 | AZ 5 1 i
5 | AR 5 4 i
6 | CA 4 0 i
7 | CO 4 2 i
8 | CT 3 9 i
9 | DE 4 9 i
10 | DC 5 8 i
11 | FL 7 8 i
12 | GA 6 7 i
13 | HI 7 0 i
14 | ID 2 1 i
15 | IL 2 5 i
16 | IN 3 5 i
17 | IA 3 4 i
18 | KS 5 3 i
19 | KY 4 5 i
20 | LA 6 4 i
21 | ME 0 10 i
22 | MD 4 8 i
23 | MA 2 9 i
24 | MI 2 6 i
25 | MN 2 4 i
26 | MS 6 5 i
27 | MO 4 4 i
28 | MT 2 2 i
29 | NE 4 3 i
30 | NV 3 1 i
31 | NH 1 10 i
32 | NJ 3 8 i
33 | NM 5 2 i
34 | NY 2 8 i
35 | NC 5 7 i
36 | ND 2 3 i
37 | OH 3 6 i
38 | OK 6 3 i
39 | OR 3 0 i
40 | PA 3 7 i
41 | RI 3 10 i
42 | SC 5 6 i
43 | SD 3 3 i
44 | TN 5 5 i
45 | TX 7 3 i
46 | UT 4 1 i
47 | VT 1 9 i
48 | VA 4 7 i
49 | WA 2 0 i
50 | WV 4 6 i
51 | WI 1 5 i
52 | WY 3 2 i
53 |
--------------------------------------------------------------------------------
/elections/stateface.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/elections/stateface.ttf
--------------------------------------------------------------------------------
/flowers/README.md:
--------------------------------------------------------------------------------
1 | # flowers (transformation test)
2 | 
3 |
--------------------------------------------------------------------------------
/flowers/flowers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/flowers/flowers.png
--------------------------------------------------------------------------------
/flowers/main.go:
--------------------------------------------------------------------------------
1 | // flowers demonstrated transforms with "flowers"
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "math"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func petals(canvas *giocanvas.Canvas, x, y, w, h float32, fill color.NRGBA) {
16 | var a float32
17 | for a = 0; a < math.Pi*2; a += math.Pi / 9 {
18 | stack := canvas.Rotate(x, y, a)
19 | canvas.Ellipse(x, y, w, h, fill)
20 | giocanvas.EndTransform(stack)
21 | }
22 | }
23 |
24 | func flower(width, height float32) {
25 | red := color.NRGBA{128, 0, 0, 100}
26 | blue := color.NRGBA{0, 0, 128, 100}
27 | green := color.NRGBA{0, 128, 0, 100}
28 | orange := giocanvas.ColorLookup("orange")
29 | bgcolor := giocanvas.ColorLookup("linen")
30 | w := new(app.Window)
31 | w.Option(app.Title("flowers"), app.Size(unit.Dp(width), unit.Dp(height)))
32 | for {
33 | e := w.Event()
34 | switch e := e.(type) {
35 | case app.FrameEvent:
36 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
37 | canvas.Background(bgcolor)
38 | petals(canvas, 10, 90, 5, 1, red)
39 | petals(canvas, 25, 75, 10, 1.5, green)
40 | petals(canvas, 50, 50, 15, 3.0, blue)
41 | petals(canvas, 80, 20, 20, 4.5, orange)
42 | e.Frame(canvas.Context.Ops)
43 | case app.DestroyEvent:
44 | os.Exit(0)
45 | }
46 | }
47 | }
48 |
49 | func main() {
50 | var cw, ch int
51 | flag.IntVar(&cw, "width", 1000, "canvas width")
52 | flag.IntVar(&ch, "height", 1000, "canvas height")
53 | flag.Parse()
54 | go flower(float32(cw), float32(ch))
55 | app.Main()
56 | }
57 |
--------------------------------------------------------------------------------
/fox/ajs.pal:
--------------------------------------------------------------------------------
1 | ajstarks #aa0000 #aaaaaa #000000 #ffffff
2 | autumn-decay #313638 #574729 #975330 #c57938 #ffad3b #ffe596
3 | rainbow #ff0000 #ffa500 #ffff00 #008000 #0000ff #4b0082 #ee82ee
4 | polished-gold #000000 #361c1b #754232 #cd894a #e6b983 #fff8bc #ffffff #2d2433 #4f4254 #b092a7
5 | funk-it-up #e4ffff #e63410 #a23737 #ffec40 #81913b #26f675 #4c714e #40ebda #394e4e #0a0a0a
6 | grayscale #111111 #222222 #333333 #444444 #555555 #666666 #777777 #888888 #999999 #aaaaaa #bbbbbb #cccccc #dddddd #eeeeee
7 |
--------------------------------------------------------------------------------
/fox/ajstarks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/fox/ajstarks.png
--------------------------------------------------------------------------------
/fox/default.pal:
--------------------------------------------------------------------------------
1 | kirokaze-gameboy #332c50 #46878f #94e344 #e2f3e4
2 | ice-cream-gb #7c3f58 #eb6b6f #f9a875 #fff6d3
3 | 2-bit-demichrome #211e20 #555568 #a0a08b #e9efec
4 | mist-gb #2d1b00 #1e606e #5ab9a8 #c4f0c2
5 | rustic-gb #2c2137 #764462 #edb4a1 #a96868
6 | 2-bit-grayscale #000000 #676767 #b6b6b6 #ffffff
7 | hollow #0f0f1b #565a75 #c6b7be #fafbf6
8 | ayy4 #00303b #ff7777 #ffce96 #f1f2da
9 | nintendo-gameboy-bgb #081820 #346856 #88c070 #e0f8d0
10 | red-brick #eff9d6 #ba5044 #7a1c4b #1b0326
11 | nostalgia #d0d058 #a0a840 #708028 #405010
12 | spacehaze #f8e3c4 #cc3495 #6b1fb1 #0b0630
13 | moonlight-gb #0f052d #203671 #36868f #5fc75d
14 | links-awakening-sgb #5a3921 #6b8c42 #7bc67b #ffffb5
15 | arq4 #ffffff #6772a9 #3a3277 #000000
16 | blk-aqu4 #002b59 #005f8c #00b9be #9ff4e5
17 | pokemon-sgb #181010 #84739c #f7b58c #ffefff
18 | nintendo-super-gameboy #331e50 #a63725 #d68e49 #f7e7c6
19 | blu-scribbles #051833 #0a4f66 #0f998e #12cc7f
20 | kankei4 #ffffff #f42e1f #2f256b #060608
21 | dark-mode #212121 #454545 #787878 #a8a5a5
22 | pen-n-paper #e4dbba #a4929a #4f3a54 #260d1c
23 |
--------------------------------------------------------------------------------
/fox/hot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/fox/hot.png
--------------------------------------------------------------------------------
/fox/pen-n-paper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/fox/pen-n-paper.png
--------------------------------------------------------------------------------
/fox/rainbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/fox/rainbox.png
--------------------------------------------------------------------------------
/gcdeck/README.md:
--------------------------------------------------------------------------------
1 | # gcdeck
2 |
3 | Interactive deck client.
4 |
5 | gcdeck shows slide decks formatted in the [```deck``` markup language](https://github.com/ajstarks/deck/blob/master/README.md).
6 |
7 | Markup is usually generated with the [```decksh``` command](https://github.com/ajstarks/decksh/blob/master/README.md)
8 |
9 |
10 | ```gcdeck t.xml``` makes:
11 |
12 |
13 | 
14 |
15 |
16 | ```decksh test.dsh | gcdeck - ```
17 |
18 |
19 | 
20 | 
21 |
22 | ## Keyboard commands
23 |
24 | | Command | Action |
25 | | -------------------------------------------- | --------------- |
26 | | A, Ctrl-A, ^, 1, Home | first slide |
27 | | E, Crtl-E, $, End | last slide |
28 | | K, F, Ctrl-F, Ctrl-N, Space, Enter | next slide |
29 | | J, B, Ctrl-B, Ctrl-P, Shift-Space, Shift-Enter| previous slide |
30 | | G | toggle a grid |
31 | | Q, ESC | Quit |
32 |
33 | ```gcdeck``` notices when the input file changes, and refreshes on the next interaction.
34 |
35 | ## Mouse interactions
36 |
37 | | Button | Action |
38 | | ------------- | --------------- |
39 | | Left | next slide |
40 | | Right | previous slide |
41 | | Middle | first slide |
42 | | Wheel-Forward | next slide |
43 | | Wheel-Back | previous slide |
44 |
45 | ## Options
46 |
47 | ```
48 | gcdeck [options] file ("-" for standard input)
49 |
50 | Options:
51 |
52 | -page int
53 | initial page (default 1)
54 | -pagesize string
55 | pagesize: w,h, or one of: Letter, Legal, Tabloid, A3, A4, A5, ArchA, 4R, Index, Widescreen (default "Letter")
56 | -title string
57 | slide title
58 | ```
--------------------------------------------------------------------------------
/gcdeck/cloudy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/cloudy.jpg
--------------------------------------------------------------------------------
/gcdeck/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/earth.jpg
--------------------------------------------------------------------------------
/gcdeck/follow.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/follow.jpg
--------------------------------------------------------------------------------
/gcdeck/gcdeck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/gcdeck.png
--------------------------------------------------------------------------------
/gcdeck/gcdeck0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/gcdeck0.png
--------------------------------------------------------------------------------
/gcdeck/gcdeck1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/gcdeck1.png
--------------------------------------------------------------------------------
/gcdeck/hw:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import "fmt"
4 |
5 | func main() {
6 | fmt.Println("hello, world")
7 | }
8 |
--------------------------------------------------------------------------------
/gcdeck/pct.d:
--------------------------------------------------------------------------------
1 | Male 50.4 blue
2 | Female 49.6 pink
3 |
--------------------------------------------------------------------------------
/gcdeck/qb.txt:
--------------------------------------------------------------------------------
1 | The quick brown fox
2 | jumped over the
3 | lazy dog.
4 |
--------------------------------------------------------------------------------
/gcdeck/rand.d:
--------------------------------------------------------------------------------
1 | 0 37
2 | 1 58
3 | 2 78
4 | 3 53
5 | 4 16
6 | 5 28
7 | 6 93
8 | 7 14
9 | 8 15
10 | 9 4
11 | 10 54
12 | 11 57
13 | 12 1
14 | 13 4
15 | 14 98
16 | 15 54
17 | 16 7
18 | 17 53
19 | 18 43
20 | 19 71
21 | 20 70
22 | 21 24
23 | 22 76
24 | 23 13
25 | 24 27
26 | 25 45
27 | 26 18
28 | 27 73
29 | 28 40
30 | 29 30
31 | 30 87
32 | 31 36
33 | 32 74
34 | 33 4
35 | 34 93
36 | 35 36
37 | 36 7
38 | 37 81
39 | 38 18
40 | 39 87
41 |
--------------------------------------------------------------------------------
/gcdeck/scale.dsh:
--------------------------------------------------------------------------------
1 | deck
2 | canvas 2000 2000
3 | slide
4 | image "earth.jpg" 50 50 1000 1000
5 | ctext "full" 50 20 2
6 | eslide
7 |
8 | slide
9 | image "earth.jpg" 50 50 100 100 10
10 | ctext "xy scale" 50 20 2
11 | eslide
12 |
13 | slide
14 | image "earth.jpg" 50 50 1000 1000 30
15 | ctext "full scale 30" 50 20 2
16 | eslide
17 | slide
18 | image "earth.jpg" 50 50 30 0
19 | ctext "autoscale 30" 50 20 2
20 | eslide
21 | slide
22 | image "earth.jpg" 50 50 40 0
23 | ctext "autoscale 40" 50 20 2
24 | eslide
25 | slide
26 | image "earth.jpg" 50 50 50 0
27 | ctext "autoscale 50" 50 20 2
28 | eslide
29 | edeck
--------------------------------------------------------------------------------
/gcdeck/scale.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | full
6 |
7 |
8 |
9 | xy scale
10 |
11 |
12 |
13 | full scale 30
14 |
15 |
16 |
17 | autoscale 30
18 |
19 |
20 |
21 | autoscale 40
22 |
23 |
24 |
25 | autoscale 50
26 |
27 |
28 |
--------------------------------------------------------------------------------
/gcdeck/t.dsh:
--------------------------------------------------------------------------------
1 | deck
2 | slide
3 | poem="For, lo, the winter is past the rain is over and gone. The flowers appear on the earth, the time for the singing of birds is come."
4 |
5 |
6 | include "include.dsh"
7 |
8 | square 25 90 10 "green"
9 | rect 50 90 30 10 "red"
10 | circle 75 90 10 "blue"
11 |
12 | textfile "qb.txt" 75 70 2
13 | textcode "hw" 35 75 25 1
14 |
15 |
16 | hline 80 50 10 1 "red"
17 | vline 80 40 10 1 "blue"
18 | line 80 40 90 30 1 "orange"
19 | vline 90 30 20 1 "green"
20 |
21 | cimage "cloudy.jpg" "Clouds" 35 30 640 480 25
22 | image "follow.jpg" 65 30 640 480 25
23 |
24 | bottom=5
25 | ctext "hello" 50 bottom 5
26 | text "hello" 20 bottom 5 "sans" "red"
27 | etext "hello" 80 bottom 5 "sans" "blue"
28 | textblock poem 30 55 40 2
29 |
30 |
31 | circle 50 bottom 3 "maroon" 20
32 | circle 20 bottom 3 "maroon" 20
33 | circle 80 bottom 3 "maroon" 20
34 |
35 | bx=10
36 | by=90
37 | bs=2
38 | vline 10 0 100 0.1 "red" 50
39 | list bx by bs
40 | li "one"
41 | li "two"
42 | li "three"
43 | li "four"
44 | elist
45 |
46 | by -=20
47 | blist bx by bs
48 | li "one"
49 | li "two"
50 | li "three"
51 | li "four"
52 | elist
53 |
54 | by -=20
55 | nlist bx by bs
56 | li "one"
57 | li "two"
58 | li "three"
59 | li "four"
60 | elist
61 |
62 | by -=20
63 | clist bx by bs
64 | li "one"
65 | li "two"
66 | li "three"
67 | li "four"
68 | elist
69 |
70 |
71 | eslide
72 | edeck
--------------------------------------------------------------------------------
/gcdeck/t.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | I am included
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | hello
16 | hello
17 | hello
18 | For, lo, the winter is past the rain is over and gone. The flowers appear on the earth, the time for the singing of birds is come.
19 |
20 |
21 |
22 |
23 |
24 | one
25 | two
26 | three
27 | four
28 |
29 |
30 | one
31 | two
32 | three
33 | four
34 |
35 |
36 | one
37 | two
38 | three
39 | four
40 |
41 |
42 | one
43 | two
44 | three
45 | four
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/gcdeck/test.dsh:
--------------------------------------------------------------------------------
1 | deck
2 | mx=50
3 | my=50
4 | ts=10
5 | slide
6 | ctext "First" mx 80 ts
7 | ctext "Serif" 20 40 5 "serif" "red"
8 | ctext "Sans" mx 40 5 "sans" "green"
9 | ctext "Mono" 80 40 5 "mono" "blue"
10 | eslide
11 | ts+=2
12 |
13 | slide "hsv(42,100,100)"
14 | ctext "Slide 2" mx my ts
15 | eslide
16 | ts+=2
17 |
18 | slide "hsv(35,100,100)"
19 | ctext "Slide 3" mx my ts
20 | eslide
21 | ts+=2
22 |
23 | slide "hsv(28,100,100)"
24 | ctext "Slide 4" mx my ts
25 | eslide
26 | ts+=2
27 |
28 | slide "hsv(21,100,100)"
29 | ctext "Slide 5" mx my ts
30 | eslide
31 |
32 | slide "hsv(14,100,100)"
33 | ctext "Slide 6" mx my ts
34 | eslide
35 | ts+=2
36 |
37 | slide "hsv(7,100,100)"
38 | ctext "Slide 7" mx my ts
39 | eslide
40 | ts+=2
41 |
42 | opts="-fulldeck=f -xlabel=5 -yaxis -line -yrange=0,100,20 -grid -val -bar -val=f -min=0 -max=100 -vcolor=maroon -datacond=20,50,orange"
43 | slide
44 | dchart opts rand.d
45 | etext "Slide 8" 95 5 2
46 | eslide
47 |
48 | slide
49 | for x=5 95 5
50 | circle x 50 4 "maroon" x
51 | efor
52 | for y=5 95 5
53 | circle 50 y 4 "darkblue" y
54 | efor
55 | etext "Slide 9" 95 5 2
56 | eslide
57 |
58 | slide
59 | dchart -val=f -pmap -top 50 -pwidth 10 pct.d
60 | etext "Slide 10" 95 5 2
61 | eslide
62 |
63 | slide "black" "white"
64 | image "earth.jpg" mx my 25 0
65 | line 50 80 50 70 0.1 "white"
66 | ctext "you are here" 50 82 4
67 | eslide
68 | edeck
69 |
--------------------------------------------------------------------------------
/gcdeck/test.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gcdeck/test.pdf
--------------------------------------------------------------------------------
/gchart/allcharts:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | opts="-zero=f -h=600 -xlabel=10 -yrange=-1,1,0.25 -yfmt=%0.2f -grid"
3 | ./gchart $opts -area sin.d &
4 | ./gchart $opts -bar sin.d &
5 | ./gchart $opts -line sin.d &
6 | ./gchart $opts -scatter sin.d &
7 | ./gchart $opts -area -line sin.d &
8 | ./gchart $opts -area -bar -line -scatter -frame 20 sin.d &
9 |
10 | ./gchart -xlabel=5 -scatter -vfmt=%.2f -yrange=0,100,10 -grid rand.d &
11 | ./gchart -textsize=2 -dot -dotsize=1 data.d &
12 |
13 | opts="-ls=5 -textsize=3 -yrange=0,100,20 -grid"
14 | ./gchart $opts -hbar -barwidth=2 data.d &
15 | ./gchart $opts -wbar data.d &
16 |
17 | ./gchart -ty 20 -top 75 -left 15 -piesize 30 -pie browser.d &
18 | ./gchart -left 30 -dotsize 5 -lego pop.d &
19 |
--------------------------------------------------------------------------------
/gchart/allcharts-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/allcharts-x.png
--------------------------------------------------------------------------------
/gchart/allcharts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/allcharts.png
--------------------------------------------------------------------------------
/gchart/area-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/area-x.png
--------------------------------------------------------------------------------
/gchart/area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/area.png
--------------------------------------------------------------------------------
/gchart/bar-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/bar-x.png
--------------------------------------------------------------------------------
/gchart/bar-z.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/bar-z.png
--------------------------------------------------------------------------------
/gchart/bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/bar.png
--------------------------------------------------------------------------------
/gchart/br.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share June 2020
2 | Chrome 66 rgb(211,57,53)
3 | Safari 18 rgb(13,107,202)
4 | Other 10 rgb(150,150,150)
5 | Firefox 4 rgb(228,158,21)
6 | IE/Edge 2 rgb(0,128,0)
7 |
--------------------------------------------------------------------------------
/gchart/browser.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share February 2025
2 | Chrome 66.63 rgb(211,57,53)
3 | Safari 17.73 rgb(13,107,202)
4 | Other 7.58 rgb(150,150,150)
5 | Edge 5.39 rgb(0,128,0)
6 | Firefox 2.67 rgb(228,158,21)
7 |
--------------------------------------------------------------------------------
/gchart/c19.d:
--------------------------------------------------------------------------------
1 | # COVID-19 Confirmed Cases
2 | Feb 4 23892
3 | Feb 5 27635
4 | Feb 6 30794
5 | Feb 7 34391
6 | Feb 8 37120
7 | Feb 9 40150
8 | Feb 10 42762
9 | Feb 11 44802
10 | Feb 12 45221
11 | Feb 13 60368
12 | Feb 14 66885
13 | Feb 15 69030
14 | Feb 16 71224
15 | Feb 17 73258
16 | Feb 18 75136
17 | Feb 19 75639
18 | Feb 20 76197
19 | Feb 21 76819
20 | Feb 22 78572
21 | Feb 23 78958
22 | Feb 24 79561
23 | Feb 25 80406
24 | Feb 26 81388
25 | Feb 27 82746
26 | Feb 28 84112
27 | Feb 29 86011
28 | Mar 1 88369
29 | Mar 2 90306
30 | Mar 3 92840
31 | Mar 4 95120
32 | Mar 5 97886
33 | Mar 6 101801
34 | Mar 7 105847
35 | Mar 8 109821
36 | Mar 9 113590
37 | Mar 10 118620
38 | Mar 11 125875
39 | Mar 12 128352
40 | Mar 13 145205
41 | Mar 14 156101
42 | Mar 15 167454
43 | Mar 16 181574
44 | Mar 17 197102
45 | Mar 18 214821
46 | Mar 19 242500
47 | Mar 20 272035
48 | Mar 21 304396
49 | Mar 22 336953
50 | Mar 23 378235
51 | Mar 24 418045
52 | Mar 25 467653
53 | Mar 26 529591
54 | Mar 27 593291
55 | Mar 28 660706
56 | Mar 29 720117
57 | Mar 30 739010
58 |
--------------------------------------------------------------------------------
/gchart/combo-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/combo-x.png
--------------------------------------------------------------------------------
/gchart/combo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/combo.png
--------------------------------------------------------------------------------
/gchart/cos.d:
--------------------------------------------------------------------------------
1 | # y=cos(x)
2 | 0.00 1.0000
3 | 0.10 0.9950
4 | 0.20 0.9801
5 | 0.30 0.9553
6 | 0.40 0.9211
7 | 0.50 0.8776
8 | 0.60 0.8253
9 | 0.70 0.7648
10 | 0.80 0.6967
11 | 0.90 0.6216
12 | 1.00 0.5403
13 | 1.10 0.4536
14 | 1.20 0.3624
15 | 1.30 0.2675
16 | 1.40 0.1700
17 | 1.50 0.0707
18 | 1.60 -0.0292
19 | 1.70 -0.1288
20 | 1.80 -0.2272
21 | 1.90 -0.3233
22 | 2.00 -0.4161
23 | 2.10 -0.5048
24 | 2.20 -0.5885
25 | 2.30 -0.6663
26 | 2.40 -0.7374
27 | 2.50 -0.8011
28 | 2.60 -0.8569
29 | 2.70 -0.9041
30 | 2.80 -0.9422
31 | 2.90 -0.9710
32 | 3.00 -0.9900
33 | 3.10 -0.9991
34 | 3.20 -0.9983
35 | 3.30 -0.9875
36 | 3.40 -0.9668
37 | 3.50 -0.9365
38 | 3.60 -0.8968
39 | 3.70 -0.8481
40 | 3.80 -0.7910
41 | 3.90 -0.7259
42 | 4.00 -0.6536
43 | 4.10 -0.5748
44 | 4.20 -0.4903
45 | 4.30 -0.4008
46 | 4.40 -0.3073
47 | 4.50 -0.2108
48 | 4.60 -0.1122
49 | 4.70 -0.0124
50 | 4.80 0.0875
51 | 4.90 0.1865
52 | 5.00 0.2837
53 | 5.10 0.3780
54 | 5.20 0.4685
55 | 5.30 0.5544
56 | 5.40 0.6347
57 | 5.50 0.7087
58 | 5.60 0.7756
59 | 5.70 0.8347
60 | 5.80 0.8855
61 | 5.90 0.9275
62 | 6.00 0.9602
63 | 6.10 0.9833
64 | 6.20 0.9965
65 |
--------------------------------------------------------------------------------
/gchart/data.d:
--------------------------------------------------------------------------------
1 | # Sample Data
2 | one 10
3 | two 20
4 | three 30
5 | four 40
6 | five 50
7 | six 60
8 | seven 70
9 | eight 80
10 | nine 90
11 | ten 100
12 |
--------------------------------------------------------------------------------
/gchart/dotchart-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/dotchart-x.png
--------------------------------------------------------------------------------
/gchart/gchart-sine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/gchart-sine.png
--------------------------------------------------------------------------------
/gchart/hbar-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/hbar-x.png
--------------------------------------------------------------------------------
/gchart/lego-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/lego-x.png
--------------------------------------------------------------------------------
/gchart/lego.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/lego.png
--------------------------------------------------------------------------------
/gchart/line-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/line-x.png
--------------------------------------------------------------------------------
/gchart/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/line.png
--------------------------------------------------------------------------------
/gchart/pie-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/pie-x.png
--------------------------------------------------------------------------------
/gchart/pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/pie.png
--------------------------------------------------------------------------------
/gchart/pop.d:
--------------------------------------------------------------------------------
1 | # Racial makeup of the US Population (2010 Census)
2 | White 64 rgb(160,82,45,120)
3 | Hispanic 16 rgb(160,82,45,180)
4 | Black 13 rgb(160,82,45)
5 | Other 7 rgb(160,82,45,220)
6 |
--------------------------------------------------------------------------------
/gchart/rand.d:
--------------------------------------------------------------------------------
1 | 0 37.411
2 | 1 33.764
3 | 2 14.116
4 | 3 85.015
5 | 4 77.917
6 | 5 24.856
7 | 6 21.491
8 | 7 80.987
9 | 8 70.885
10 | 9 74.214
11 | 10 46.08
12 | 11 29.15
13 | 12 23.507
14 | 13 47.007
15 | 14 66.651
16 | 15 69.598
17 | 16 32.116
18 | 17 60.527
19 | 18 20.084
20 | 19 90.143
21 | 20 99.339
22 | 21 39.176
23 | 22 72.569
24 | 23 88.779
25 | 24 59.57
26 | 25 7.915
27 | 26 30.718
28 | 27 14.209
29 | 28 58.138
30 | 29 77.191
31 | 30 29.363
32 |
--------------------------------------------------------------------------------
/gchart/scatter-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/scatter-x.png
--------------------------------------------------------------------------------
/gchart/scatter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/scatter.png
--------------------------------------------------------------------------------
/gchart/sin.d:
--------------------------------------------------------------------------------
1 | # y=sin(x)
2 | 0.00 0.0000
3 | 0.10 0.0998
4 | 0.20 0.1987
5 | 0.30 0.2955
6 | 0.40 0.3894
7 | 0.50 0.4794
8 | 0.60 0.5646
9 | 0.70 0.6442
10 | 0.80 0.7174
11 | 0.90 0.7833
12 | 1.00 0.8415
13 | 1.10 0.8912
14 | 1.20 0.9320
15 | 1.30 0.9636
16 | 1.40 0.9854
17 | 1.50 0.9975
18 | 1.60 0.9996
19 | 1.70 0.9917
20 | 1.80 0.9738
21 | 1.90 0.9463
22 | 2.00 0.9093
23 | 2.10 0.8632
24 | 2.20 0.8085
25 | 2.30 0.7457
26 | 2.40 0.6755
27 | 2.50 0.5985
28 | 2.60 0.5155
29 | 2.70 0.4274
30 | 2.80 0.3350
31 | 2.90 0.2392
32 | 3.00 0.1411
33 | 3.10 0.0416
34 | 3.20 -0.0584
35 | 3.30 -0.1577
36 | 3.40 -0.2555
37 | 3.50 -0.3508
38 | 3.60 -0.4425
39 | 3.70 -0.5298
40 | 3.80 -0.6119
41 | 3.90 -0.6878
42 | 4.00 -0.7568
43 | 4.10 -0.8183
44 | 4.20 -0.8716
45 | 4.30 -0.9162
46 | 4.40 -0.9516
47 | 4.50 -0.9775
48 | 4.60 -0.9937
49 | 4.70 -0.9999
50 | 4.80 -0.9962
51 | 4.90 -0.9825
52 | 5.00 -0.9589
53 | 5.10 -0.9258
54 | 5.20 -0.8835
55 | 5.30 -0.8323
56 | 5.40 -0.7728
57 | 5.50 -0.7055
58 | 5.60 -0.6313
59 | 5.70 -0.5507
60 | 5.80 -0.4646
61 | 5.90 -0.3739
62 | 6.00 -0.2794
63 | 6.10 -0.1822
64 | 6.20 -0.0831
65 |
--------------------------------------------------------------------------------
/gchart/sincon.d:
--------------------------------------------------------------------------------
1 | # y=sin(x)
2 | 0.00 0.0000
3 | 0.10 0.0998
4 | 0.20 0.1987
5 | 0.30 0.2955
6 | 0.40 0.3894
7 | 0.50 0.4794
8 | 0.60 0.5646
9 | 0.70 0.6442
10 | 0.80 0.7174
11 | 0.90 0.7833
12 | 1.00 0.8415
13 | 1.10 0.8912
14 | 1.20 0.9320
15 | 1.30 0.9636
16 | 1.40 0.9854
17 | 1.50 0.9975
18 | 1.60 0.9996
19 | 1.70 0.9917
20 | 1.80 0.9738
21 | 1.90 0.9463
22 | 2.00 0.9093
23 | 2.10 0.8632
24 | 2.20 0.8085
25 | 2.30 0.7457
26 | 2.40 0.6755
27 | 2.50 0.5985
28 | 2.60 0.5155
29 | 2.70 0.4274
30 | 2.80 0.3350
31 | 2.90 0.2392
32 | 3.00 0.1411
33 | 3.10 0.0416
34 | 3.20 -0.0584
35 | 3.30 -0.1577
36 | 3.40 -0.2555
37 | 3.50 -0.3508
38 | 3.60 -0.4425
39 | 3.70 -0.5298
40 | 3.80 -0.6119
41 | 3.90 -0.6878
42 | 4.00 -0.7568
43 | 4.10 -0.8183
44 | 4.20 -0.8716
45 | 4.30 -0.9162
46 | 4.40 -0.9516
47 | 4.50 -0.9775
48 | 4.60 -0.9937
49 | 4.70 -0.9999
50 | 4.80 -0.9962
51 | 4.90 -0.9825
52 | 5.00 -0.9589
53 | 5.10 -0.9258
54 | 5.20 -0.8835
55 | 5.30 -0.8323
56 | 5.40 -0.7728
57 | 5.50 -0.7055
58 | 5.60 -0.6313
59 | 5.70 -0.5507
60 | 5.80 -0.4646
61 | 5.90 -0.3739
62 | 6.00 -0.2794
63 | 6.10 -0.1822
64 | 6.20 -0.0831
65 | # y=cos(x)
66 | 0.00 1.0000
67 | 0.10 0.9950
68 | 0.20 0.9801
69 | 0.30 0.9553
70 | 0.40 0.9211
71 | 0.50 0.8776
72 | 0.60 0.8253
73 | 0.70 0.7648
74 | 0.80 0.6967
75 | 0.90 0.6216
76 | 1.00 0.5403
77 | 1.10 0.4536
78 | 1.20 0.3624
79 | 1.30 0.2675
80 | 1.40 0.1700
81 | 1.50 0.0707
82 | 1.60 -0.0292
83 | 1.70 -0.1288
84 | 1.80 -0.2272
85 | 1.90 -0.3233
86 | 2.00 -0.4161
87 | 2.10 -0.5048
88 | 2.20 -0.5885
89 | 2.30 -0.6663
90 | 2.40 -0.7374
91 | 2.50 -0.8011
92 | 2.60 -0.8569
93 | 2.70 -0.9041
94 | 2.80 -0.9422
95 | 2.90 -0.9710
96 | 3.00 -0.9900
97 | 3.10 -0.9991
98 | 3.20 -0.9983
99 | 3.30 -0.9875
100 | 3.40 -0.9668
101 | 3.50 -0.9365
102 | 3.60 -0.8968
103 | 3.70 -0.8481
104 | 3.80 -0.7910
105 | 3.90 -0.7259
106 | 4.00 -0.6536
107 | 4.10 -0.5748
108 | 4.20 -0.4903
109 | 4.30 -0.4008
110 | 4.40 -0.3073
111 | 4.50 -0.2108
112 | 4.60 -0.1122
113 | 4.70 -0.0124
114 | 4.80 0.0875
115 | 4.90 0.1865
116 | 5.00 0.2837
117 | 5.10 0.3780
118 | 5.20 0.4685
119 | 5.30 0.5544
120 | 5.40 0.6347
121 | 5.50 0.7087
122 | 5.60 0.7756
123 | 5.70 0.8347
124 | 5.80 0.8855
125 | 5.90 0.9275
126 | 6.00 0.9602
127 | 6.10 0.9833
128 | 6.20 0.9965
129 |
--------------------------------------------------------------------------------
/gchart/wbar-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/gchart/wbar-x.png
--------------------------------------------------------------------------------
/giocanvas-grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/giocanvas-grid.png
--------------------------------------------------------------------------------
/giocanvas.go:
--------------------------------------------------------------------------------
1 | // Package giocanvas is a 2D canvas API built on gio
2 | package giocanvas
3 |
4 | import (
5 | "image/color"
6 |
7 | "gioui.org/app"
8 | "gioui.org/font"
9 | "gioui.org/font/gofont"
10 | "gioui.org/layout"
11 | "gioui.org/op"
12 | "gioui.org/text"
13 | "gioui.org/widget/material"
14 | )
15 |
16 | // Canvas defines the Gio canvas
17 | type Canvas struct {
18 | Width, Height float32
19 | Theme *material.Theme
20 | TextColor color.NRGBA
21 | Context layout.Context
22 | }
23 |
24 | // setupCanvas sets up common canvas items
25 | func setupCanvas(width, height float32, e app.FrameEvent, f []font.FontFace) *Canvas {
26 | canvas := new(Canvas)
27 | canvas.Width = width
28 | canvas.Height = height
29 | canvas.TextColor = color.NRGBA{0, 0, 0, 255}
30 | theme := material.NewTheme()
31 | theme.Shaper = text.NewShaper(text.NoSystemFonts(), text.WithCollection(f))
32 | canvas.Theme = theme
33 | canvas.Context = app.NewContext(new(op.Ops), e)
34 | iw, ih := int(width), int(height)
35 | canvas.Context.Constraints.Min.X = iw
36 | canvas.Context.Constraints.Min.Y = ih
37 | canvas.Context.Constraints.Max.X = iw
38 | canvas.Context.Constraints.Max.Y = ih
39 | return canvas
40 | }
41 |
42 | // NewCanvas initializes a Canvas using the default font set
43 | func NewCanvas(width, height float32, e app.FrameEvent) *Canvas {
44 | return setupCanvas(width, height, e, gofont.Regular())
45 | }
46 |
47 | // NewCanvasFonts initializes a canvas with a specified set of set of fonts
48 | func NewCanvasFonts(width, height float32, fonts []font.FontFace, e app.FrameEvent) *Canvas {
49 | return setupCanvas(width, height, e, fonts)
50 | }
51 |
--------------------------------------------------------------------------------
/giocanvas_test.go:
--------------------------------------------------------------------------------
1 | package giocanvas
2 |
3 | import (
4 | "testing"
5 | )
6 |
7 | func BenchmarkC0(b *testing.B) {
8 | for n := 0; n < b.N; n++ {
9 | ColorLookup("red")
10 | }
11 | }
12 |
13 | func BenchmarkC1(b *testing.B) {
14 | for n := 0; n < b.N; n++ {
15 | ColorLookup("rgb(100)")
16 | }
17 | }
18 |
19 | func BenchmarkC2(b *testing.B) {
20 | for n := 0; n < b.N; n++ {
21 | ColorLookup("rgb(100,100)")
22 | }
23 | }
24 |
25 | func BenchmarkC3(b *testing.B) {
26 | for n := 0; n < b.N; n++ {
27 | ColorLookup("rgb(100,100,100)")
28 | }
29 | }
30 |
31 | func BenchmarkC4(b *testing.B) {
32 | for n := 0; n < b.N; n++ {
33 | ColorLookup("rgb(100,100,100,100)")
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/ajstarks/giocanvas
2 |
3 | go 1.21
4 |
5 | toolchain go1.22.2
6 |
7 | require (
8 | gioui.org v0.8.0
9 | github.com/ajstarks/deck v0.0.0-20230623153652-ebe7b794a4b1
10 | github.com/disintegration/gift v1.2.1
11 | )
12 |
13 | require (
14 | gioui.org/shader v1.0.8 // indirect
15 | github.com/go-text/typesetting v0.2.1 // indirect
16 | golang.org/x/exp v0.0.0-20240707233637-46b078467d37 // indirect
17 | golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37 // indirect
18 | golang.org/x/image v0.18.0 // indirect
19 | golang.org/x/sys v0.22.0 // indirect
20 | golang.org/x/text v0.16.0 // indirect
21 | )
22 |
--------------------------------------------------------------------------------
/grid/README.md:
--------------------------------------------------------------------------------
1 | # grid
2 |
3 | 
4 |
5 | ## options
6 | ```
7 | -color string
8 | color (default "black")
9 | -height int
10 | canvas height (default 1000)
11 | -lw float
12 | line width (default 0.2)
13 | -width int
14 | canvas width (default 1000)
15 | -x1 float
16 | x begin
17 | -x2 float
18 | x end (default 100)
19 | -xincr float
20 | x increment (default 10)
21 | -y1 float
22 | y begin
23 | -y2 float
24 | y end (default 100)
25 | -yincr float
26 | y increment (default 10)
27 |
28 | ```
29 |
--------------------------------------------------------------------------------
/grid/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/grid/grid.png
--------------------------------------------------------------------------------
/hello/README.md:
--------------------------------------------------------------------------------
1 | # gio canvas hello, world
2 | 
3 |
--------------------------------------------------------------------------------
/hello/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/hello/earth.jpg
--------------------------------------------------------------------------------
/hello/hello.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/hello/hello.png
--------------------------------------------------------------------------------
/hello/main.go:
--------------------------------------------------------------------------------
1 | // hello is the giocanvas hello, world
2 | package main
3 |
4 | import (
5 | "os"
6 |
7 | "gioui.org/app"
8 | "github.com/ajstarks/giocanvas"
9 | )
10 |
11 | func main() {
12 | go hello()
13 | app.Main()
14 | }
15 |
16 | func hello() {
17 | black := giocanvas.ColorLookup("black")
18 | white := giocanvas.ColorLookup("white")
19 | w := new(app.Window)
20 | w.Option(app.Title("hello"))
21 | for {
22 | switch e := w.Event().(type) {
23 | case app.FrameEvent:
24 | w, h := float32(e.Size.X), float32(e.Size.Y)
25 | canvas := giocanvas.NewCanvas(w, h, app.FrameEvent{})
26 | canvas.Background(black)
27 | canvas.Image("earth.jpg", 100, 0, 1000, 1000, 100)
28 | canvas.Text(10, 70, 10, "hello, world", white)
29 | e.Frame(canvas.Context.Ops)
30 | case app.DestroyEvent:
31 | os.Exit(0)
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/images/README.md:
--------------------------------------------------------------------------------
1 | # images
2 | 
3 |
--------------------------------------------------------------------------------
/images/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/images/earth.jpg
--------------------------------------------------------------------------------
/images/images.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/images/images.png
--------------------------------------------------------------------------------
/images/main.go:
--------------------------------------------------------------------------------
1 | // hello is the giocanvas hello, world
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image"
7 | "image/color"
8 | "io"
9 | "os"
10 |
11 | "gioui.org/app"
12 | "gioui.org/unit"
13 | "github.com/ajstarks/giocanvas"
14 | )
15 |
16 | func getimage(s string) (image.Image, error) {
17 | i, err := os.Open(s)
18 | if err != nil {
19 | return nil, err
20 | }
21 | im, _, err := image.Decode(i)
22 | if err != nil {
23 | return nil, err
24 | }
25 | i.Close()
26 | return im, nil
27 | }
28 |
29 | func images(w *app.Window) error {
30 | im, err := getimage("earth.jpg")
31 | if err != nil {
32 | return err
33 | }
34 | bgcolor := color.NRGBA{0, 0, 0, 255}
35 | for {
36 | e := w.Event()
37 | switch e := e.(type) {
38 | case app.DestroyEvent:
39 | return e.Err
40 | case app.FrameEvent:
41 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
42 | var x, y, scale float32
43 | scale = 2.0
44 | canvas.Background(bgcolor)
45 | canvas.Grid(0, 0, 100, 100, 0.1, 10, color.NRGBA{128, 128, 128, 255})
46 | for x = 20; x <= 80; x += 10 {
47 | y = x
48 | canvas.Img(im, x, y, 1000, 1000, scale)
49 | scale += 2.0
50 | }
51 | e.Frame(canvas.Context.Ops)
52 | }
53 | }
54 | }
55 |
56 | func main() {
57 | var cw, ch int
58 | flag.IntVar(&cw, "width", 1000, "canvas width")
59 | flag.IntVar(&ch, "height", 1000, "canvas height")
60 | flag.Parse()
61 | width, height := float32(cw), float32(ch)
62 |
63 | go func() {
64 | w := &app.Window{}
65 | w.Option(app.Title("images"), app.Size(unit.Dp(width), unit.Dp(height)))
66 | if err := images(w); err != nil {
67 | io.WriteString(os.Stderr, "Cannot create the window\n")
68 | os.Exit(1)
69 | }
70 | os.Exit(0)
71 | }()
72 | app.Main()
73 | }
74 |
--------------------------------------------------------------------------------
/lego/README.md:
--------------------------------------------------------------------------------
1 | # lego chart
2 | 
3 |
--------------------------------------------------------------------------------
/lego/lego.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/lego/lego.png
--------------------------------------------------------------------------------
/lines/README.md:
--------------------------------------------------------------------------------
1 | # line test
2 | 
3 |
--------------------------------------------------------------------------------
/lines/lines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/lines/lines.png
--------------------------------------------------------------------------------
/lines/main.go:
--------------------------------------------------------------------------------
1 | // lines tests line drawing
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func linetest(w *app.Window) error {
16 | for {
17 | e := w.Event()
18 | switch e := e.(type) {
19 | case app.DestroyEvent:
20 | os.Exit(0)
21 | case app.FrameEvent:
22 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
23 | var x, y, lw, ls float32
24 | lw = 0.1
25 | ls = 1
26 | for y = 5; y <= 95; y += 5 {
27 | canvas.Line(50, 50, 95, y, lw, color.NRGBA{128, 0, 0, 128})
28 | canvas.Line(50, 50, 5, y, lw, color.NRGBA{0, 0, 128, 128})
29 | canvas.Coord(95, y, ls, "", color.NRGBA{0, 0, 0, 255})
30 | canvas.Coord(5, y, ls, "", color.NRGBA{0, 0, 0, 255})
31 | lw += 0.1
32 | }
33 |
34 | lw = 0.1
35 | for x = 5; x <= 95; x += 5 {
36 | canvas.Line(50, 50, x, 95, lw, color.NRGBA{0, 128, 0, 128})
37 | canvas.Line(50, 50, x, 5, lw, color.NRGBA{0, 0, 0, 128})
38 | canvas.Coord(x, 95, ls, "", color.NRGBA{0, 0, 0, 255})
39 | canvas.Coord(x, 5, ls, "", color.NRGBA{0, 0, 0, 255})
40 | lw += 0.1
41 | }
42 | e.Frame(canvas.Context.Ops)
43 | }
44 | }
45 | }
46 |
47 | func main() {
48 | var cw, ch int
49 | flag.IntVar(&cw, "width", 1000, "canvas width")
50 | flag.IntVar(&ch, "height", 1000, "canvas height")
51 | flag.Parse()
52 | width := float32(cw)
53 | height := float32(ch)
54 |
55 | go func() {
56 | w := &app.Window{}
57 | w.Option(app.Title("lines"), app.Size(unit.Dp(width), unit.Dp(height)))
58 | if err := linetest(w); err != nil {
59 | io.WriteString(os.Stderr, "Cannot create the window\n")
60 | os.Exit(1)
61 | }
62 | os.Exit(0)
63 | }()
64 | app.Main()
65 | }
66 |
--------------------------------------------------------------------------------
/misc/b1m.d:
--------------------------------------------------------------------------------
1 | play 6.91553
2 | hello 6.86238
3 | chart 6.85622
4 | lines 6.82271
5 | rl 4.60692
6 | confetti 4.59443
7 | eclipse 4.56734
8 | concentric 4.56731
9 | sunearth 4.5673
10 | mondrian 4.50354
11 |
--------------------------------------------------------------------------------
/misc/b2m.d:
--------------------------------------------------------------------------------
1 | play 5.40438
2 | hello 5.36722
3 | chart 5.36345
4 | lines 5.33884
5 | rl 3.22403
6 | confetti 3.21555
7 | sunearth 3.19424
8 | eclipse 3.19424
9 | concentric 3.19424
10 | mondrian 3.14518
11 |
--------------------------------------------------------------------------------
/misc/bdiff.dsh:
--------------------------------------------------------------------------------
1 | deck
2 | opts="-textsize=1.8 -dot -bar=f -line -fulldeck=f -linewidth=0.3 -left=20 -right=80 -min=0 -max=7 -val=f"
3 | slide
4 | ctext "Binary size difference for gio programs:" 50 90 3
5 | text "Regular build" 81 62 2 "sans" "red"
6 | text "-ldflags='-s -w'" 81 52 2 "sans" "steelblue"
7 | etext "Binary size (bytes x 1 million)" 20 85 1.5
8 |
9 | dchart opts -yrange=0,7,1 -grid -yaxis -color=red -hline 2.085304,hello.go b1m.d
10 | dchart opts -xlabel=0 b2m.d
11 | eslide
12 | edeck
--------------------------------------------------------------------------------
/misc/gio.dsh:
--------------------------------------------------------------------------------
1 | deck
2 | cw=1200
3 | ch=1900
4 | canvas cw ch
5 | slide
6 | labelsize = 1.5
7 | titlesize = labelsize * 4
8 | subsize = labelsize * 0.7
9 | tcolor = "maroon"
10 | fcolor = "rgb(0,0,128)"
11 | col1x = 20
12 | lw = 0.2
13 | op = 50
14 |
15 | ctext "Gio Canvas API" 50 90 titlesize
16 |
17 | // Lines
18 | ctext "Line" col1x 80 labelsize
19 | line 10 75 col1x 65 lw tcolor
20 | line col1x 70 35 75 lw fcolor
21 |
22 | // Circle
23 | ctext "Circle" col1x 55 labelsize
24 | circle col1x 45 10 fcolor op
25 |
26 | // Ellipse
27 | ctext "Ellipse" col1x 30 labelsize
28 | ellipse col1x 15 5 10 tcolor op
29 | ellipse col1x 15 10 5 fcolor op
30 |
31 | // Curve
32 | ctext "Quadratic Bezier Curve" 60 80 labelsize
33 | curve 45 65 70 85 70 65 0.5 tcolor op
34 |
35 | // Polygon
36 | ctext "Polygon" 60 30 labelsize
37 | polygon "45 60 70 70 60 45" "25 20 25 5 10 5" fcolor op
38 |
39 | ctext "Rectangle" 90 80 labelsize
40 | rect 90 70 5 15 fcolor op
41 |
42 | ctext "Square" 90 55 labelsize
43 | square 90 45 10 tcolor op
44 |
45 | imw=cw*0.15
46 | imh=imw
47 | image "earth.jpg" 90 15 imw imh
48 | eslide
49 | edeck
--------------------------------------------------------------------------------
/mondrian/README.md:
--------------------------------------------------------------------------------
1 | # mondrian
2 | 
3 |
--------------------------------------------------------------------------------
/mondrian/mondrian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/mondrian/mondrian.png
--------------------------------------------------------------------------------
/pie/2009-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2010-01
2 | Chrome 1.38 #2171b5
3 | IE 65.41 #4292c6
4 | Firefox 27.03 #6baed6
5 | Safari 2.57 #9ecae1
6 | Other 3.61 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2010-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2010-01
2 | Chrome 6.04 #2171b5
3 | IE 55.25 #4292c6
4 | Firefox 31.64 #6baed6
5 | Safari 3.76 #9ecae1
6 | Other 3.31 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2011-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2011-01
2 | Chrome 15.68 #2171b5
3 | IE 46.00 #4292c6
4 | Firefox 30.68 #6baed6
5 | Safari 5.09 #9ecae1
6 | Other 2.55 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2012-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2012-01
2 | Chrome 28.40 #2171b5
3 | IE 37.45 #4292c6
4 | Firefox 24.78 #6baed6
5 | Safari 6.62 #9ecae1
6 | Other 2.75 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2013-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2013-01
2 | Chrome 38.08 #2171b5
3 | IE 32.25 #4292c6
4 | Firefox 22.47 #6baed6
5 | Safari 5.12 #9ecae1
6 | Other 2.08 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2014-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2014-01
2 | Chrome 46.60 #2171b5
3 | IE 24.65 #4292c6
4 | Firefox 20.39 #6baed6
5 | Safari 5.09 #9ecae1
6 | Other 3.37 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2015-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2015-01
2 | Chrome 51.72 #2171b5
3 | IE 21.16 #4292c6
4 | Firefox 18.70 #6baed6
5 | Safari 4.94 #9ecae1
6 | Other 3.48 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2016-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2016-01
2 | Chrome 57.75 #2171b5
3 | IE 16.00 #4292c6
4 | Firefox 15.95 #6baed6
5 | Safari 4.60 #9ecae1
6 | Other 5.70 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2017-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2017-01
2 | Chrome 62.09 #2171b5
3 | IE/Edge 14.07 #4292c6
4 | Firefox 14.85 #6baed6
5 | Safari 5.28 #9ecae1
6 | Other 3.71 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2018-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2018-01
2 | Chrome 65.98 #2171b5
3 | IE/Edge 11.39 #4292c6
4 | Firefox 11.87 #6baed6
5 | Safari 5.87 #9ecae1
6 | Other 4.89 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2019-01.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2019-01
2 | Chrome 70.88 #2171b5
3 | IE/Edge 10.15 #4292c6
4 | Firefox 9.50 #6baed6
5 | Safari 5.15 #9ecae1
6 | Other 4.32 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2020-06.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2020-06
2 | Chrome 65.47 #2171b5
3 | IE/Edge 2.06 #4292c6
4 | Firefox 4.25 #6baed6
5 | Safari 16.97 #9ecae1
6 | Other 11.25 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/2021-09.d:
--------------------------------------------------------------------------------
1 | # Browser Market Share 2021-09
2 | Chrome 67.17 #2171b5
3 | Edge 9.33 #4292c6
4 | Firefox 7.87 #6baed6
5 | Safari 9.63 #9ecae1
6 | Other 5.99 #c6dbef
7 |
--------------------------------------------------------------------------------
/pie/README.md:
--------------------------------------------------------------------------------
1 | # pie chart
2 |
3 | Makes pie charts reading from files in this format:
4 | one line per item, fields (name, value, color; tab-separated)
5 | lines beginning with '#' are the title.
6 |
7 | For example:
8 |
9 | ```
10 | # Desktop Browser Market Share 2021-09
11 | Chrome 67.17 red
12 | Edge 9.33 green
13 | Firefox 7.87 orange
14 | Safari 9.63 blue
15 | Other 5.99 gray
16 | ```
17 |
18 | If no files a specified, embedded data is shown. The command line options:
19 |
20 | ```
21 | -height int
22 | canvas height (default 1000)
23 | -width int
24 | canvas width (default 1000)
25 | ```
26 |
27 | ## Keyboard commands
28 |
29 | | Command | Action |
30 | | -------------------------------------------- | --------------- |
31 | | A, Ctrl-A, ^, 1, Home | first slide |
32 | | E, Crtl-E, $, End | last slide |
33 | | K, F, Ctrl-F, Ctrl-N, Space, Enter | next slide |
34 | | J, B, Ctrl-B, Ctrl-P, Shift-Space, Shift-Enter| previous slide |
35 | | G | toggle a grid |
36 | | Q, ESC | Quit |
37 |
38 | ## Mouse interactions
39 |
40 | | Button | Action |
41 | | ------------- | --------------- |
42 | | Left | next slide |
43 | | Right | previous slide |
44 | | Middle | first slide |
45 | | Wheel-Forward | next slide |
46 | | Wheel-Back | previous slide |
47 |
48 |
49 |
50 |
51 |
52 | 
53 |
--------------------------------------------------------------------------------
/pie/pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/pie/pie.png
--------------------------------------------------------------------------------
/play/README.md:
--------------------------------------------------------------------------------
1 | # gio playground
2 |
3 | ## testing the API
4 |
5 | 
--------------------------------------------------------------------------------
/play/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/play/earth.jpg
--------------------------------------------------------------------------------
/play/follow.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/play/follow.jpg
--------------------------------------------------------------------------------
/play/giocanvas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/play/giocanvas.png
--------------------------------------------------------------------------------
/play/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/play/logo.png
--------------------------------------------------------------------------------
/play/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/play/play.png
--------------------------------------------------------------------------------
/polar/README.md:
--------------------------------------------------------------------------------
1 | # polar coordinates
2 |
3 |
4 | 
--------------------------------------------------------------------------------
/polar/main.go:
--------------------------------------------------------------------------------
1 | // polar demos polar coordinates
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "math"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func polar(title string, width, height int) {
16 | // init app window
17 | w := &app.Window{}
18 | w.Option(app.Title(title), app.Size(unit.Dp(float32(width)), unit.Dp(float32(height))))
19 | // set colors
20 | topcolor := color.NRGBA{255, 0, 0, 100}
21 | botcolor := color.NRGBA{0, 0, 255, 100}
22 | bgcolor := color.NRGBA{0, 0, 0, 255}
23 | // app loop
24 | for {
25 | e := w.Event()
26 | switch e := e.(type) {
27 | case app.DestroyEvent:
28 | os.Exit(0)
29 | case app.FrameEvent:
30 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
31 | canvas.Background(bgcolor)
32 | var theta, radius float32
33 | for radius = 2; radius < 50; radius += 2 {
34 | for theta = 180; theta <= 360; theta += 15 { // degrees
35 | x, y := canvas.PolarDegrees(50, 50, radius, theta)
36 | canvas.Circle(x, y, radius/12, topcolor)
37 | }
38 | for theta = math.Pi / 16; theta < math.Pi; theta += math.Pi / 16 { // radians
39 | x, y := canvas.Polar(50, 50, radius, theta)
40 | canvas.Circle(x, y, radius/12, botcolor)
41 | }
42 | }
43 | e.Frame(canvas.Context.Ops)
44 | }
45 | }
46 | }
47 |
48 | func main() {
49 | cw := flag.Int("width", 1000, "canvas width")
50 | ch := flag.Int("height", 1000, "canvas height")
51 | flag.Parse()
52 | go polar("polar coordinates", *cw, *ch)
53 | app.Main()
54 | }
55 |
--------------------------------------------------------------------------------
/polar/polar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/polar/polar.png
--------------------------------------------------------------------------------
/presentation/clients.dsh:
--------------------------------------------------------------------------------
1 | imscale=10
2 | image "images/hello.png" x y 1020 1046 imscale
3 | image "images/concentric.png" x y 1020 1046 imscale
4 | image "images/compchart.png" x y 1020 1046 imscale
5 | image "images/confetti.png" x y 1020 1046 imscale
6 | image "images/eclipse.png" x y 1020 1046 imscale
7 | image "images/flowers.png" x y 1020 1046 imscale
8 | image "images/lines.png" x y 1020 1046 imscale
9 | image "images/mondrian.png" x y 1020 1046 imscale
10 | image "images/polar.png" x y 1020 1046 imscale
11 | image "images/sunearth.png" x y 1020 1046 imscale
12 | image "images/transform.png" x y 1020 1046 imscale
13 | image "images/twrap.png" x y 1020 1046 imscale
14 |
--------------------------------------------------------------------------------
/presentation/code/chartbox.go:
--------------------------------------------------------------------------------
1 | // NameValue is a name,value pair
2 | type NameValue struct {
3 | label string
4 | note string
5 | value float64
6 | }
7 |
8 | // ChartBox holds the essential data for making a chart
9 | type ChartBox struct {
10 | Title string
11 | Data []NameValue
12 | Color color.RGBA
13 | Top, Bottom, Left, Right float64
14 | Minvalue, Maxvalue float64
15 | Zerobased bool
16 | }
17 |
--------------------------------------------------------------------------------
/presentation/code/chartread.go:
--------------------------------------------------------------------------------
1 | sr, err := os.Open("sin.d")
2 | if err != nil {
3 | return err
4 | }
5 | cr, err := os.Open("cos.d")
6 | if err != nil {
7 | return err
8 | }
9 | sine, err := chart.DataRead(sr)
10 | if err != nil {
11 | return err
12 | }
13 | cosine, err := chart.DataRead(cr)
14 | if err != nil {
15 | return err
16 | }
17 |
--------------------------------------------------------------------------------
/presentation/code/composite.go:
--------------------------------------------------------------------------------
1 | cosine.Zerobased = false
2 | sine.Zerobased = false
3 | cosine.Frame(canvas, 5)
4 | sine.Label(canvas, 1.5, 10)
5 | cosine.YAxis(canvas, 1.2, -1.0, 1.0, 1.0, "%0.2f", true)
6 | cosine.Color = color.RGBA{0, 128, 0, 255}
7 | sine.Color = color.RGBA{128, 0, 0, 255}
8 | cosine.Scatter(canvas, 0.5)
9 | sine.Scatter(canvas, 0.5)
10 |
--------------------------------------------------------------------------------
/presentation/code/cos.d:
--------------------------------------------------------------------------------
1 | # y=cos(x)
2 | 0.00 1.0000
3 | 0.10 0.9950
4 | 0.20 0.9801
5 | 0.30 0.9553
6 | 0.40 0.9211
7 | 0.50 0.8776
8 | 0.60 0.8253
9 | 0.70 0.7648
10 | 0.80 0.6967
11 | 0.90 0.6216
12 | 1.00 0.5403
13 | ...
14 | 6.00 0.9602
15 | 6.10 0.9833
16 | 6.20 0.9965
17 |
--------------------------------------------------------------------------------
/presentation/code/cosine.d:
--------------------------------------------------------------------------------
1 | # y=cos(x)
2 | 0.00 1.0000
3 | 0.10 0.9950
4 | 0.20 0.9801
5 | 0.30 0.9553
6 | 0.40 0.9211
7 | 0.50 0.8776
8 | 0.60 0.8253
9 | 0.70 0.7648
10 | 0.80 0.6967
11 | 0.90 0.6216
12 | 1.00 0.5403
13 | 1.10 0.4536
14 | 1.20 0.3624
15 | 1.30 0.2675
16 | 1.40 0.1700
17 | 1.50 0.0707
18 | 1.60 -0.0292
19 | 1.70 -0.1288
20 | 1.80 -0.2272
21 | 1.90 -0.3233
22 | 2.00 -0.4161
23 | 2.10 -0.5048
24 | 2.20 -0.5885
25 | 2.30 -0.6663
26 | 2.40 -0.7374
27 | 2.50 -0.8011
28 | 2.60 -0.8569
29 | 2.70 -0.9041
30 | 2.80 -0.9422
31 | 2.90 -0.9710
32 | 3.00 -0.9900
33 | 3.10 -0.9991
34 | 3.20 -0.9983
35 | 3.30 -0.9875
36 | 3.40 -0.9668
37 | 3.50 -0.9365
38 | 3.60 -0.8968
39 | 3.70 -0.8481
40 | 3.80 -0.7910
41 | 3.90 -0.7259
42 | 4.00 -0.6536
43 | 4.10 -0.5748
44 | 4.20 -0.4903
45 | 4.30 -0.4008
46 | 4.40 -0.3073
47 | 4.50 -0.2108
48 | 4.60 -0.1122
49 | 4.70 -0.0124
50 | 4.80 0.0875
51 | 4.90 0.1865
52 | 5.00 0.2837
53 | 5.10 0.3780
54 | 5.20 0.4685
55 | 5.30 0.5544
56 | 5.40 0.6347
57 | 5.50 0.7087
58 | 5.60 0.7756
59 | 5.70 0.8347
60 | 5.80 0.8855
61 | 5.90 0.9275
62 | 6.00 0.9602
63 | 6.10 0.9833
64 | 6.20 0.9965
65 |
--------------------------------------------------------------------------------
/presentation/code/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/code/earth.jpg
--------------------------------------------------------------------------------
/presentation/code/hello.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "gioui.org/app"
5 | "gioui.org/io/system"
6 | "gioui.org/unit"
7 | gc "github.com/ajstarks/giocanvas"
8 | )
9 |
10 | func hello(title string, width, height float32) {
11 | win := app.NewWindow(app.Title(title), app.Size(unit.Px(width), unit.Px(height)))
12 | for e := range win.Events() {
13 | switch e := e.(type) {
14 | case system.FrameEvent:
15 | canvas := gc.NewCanvas(width, height, e)
16 | canvas.Background(gc.ColorLookup("black"))
17 | canvas.Circle(50, 0, 50, gc.ColorLookup("blue"))
18 | canvas.TextMid(50, 20, 10, "hello, world", gc.ColorLookup("white"))
19 | canvas.CenterImage("earth.jpg", 50, 70, 1000, 1000, 30)
20 | e.Frame(canvas.Context.Ops)
21 | }
22 | }
23 | }
24 |
25 | func main() {
26 | go hello("hello", 1000, 1000)
27 | app.Main()
28 | }
29 |
--------------------------------------------------------------------------------
/presentation/code/side-by-side.go:
--------------------------------------------------------------------------------
1 | sine.Left = 10
2 | sine.Right = sine.Left + 40
3 | sine.Top, cosine.Top = 30, 30
4 | sine.Bottom, cosine.Bottom = 10, 10
5 |
6 | sine.CTitle(canvas, 2, 2)
7 | sine.Frame(canvas, 10)
8 | sine.Scatter(canvas, 0.25)
9 |
10 | offset := 45.0
11 | cosine.Left = sine.Left + offset
12 | cosine.Right = sine.Right + offset
13 |
14 | cosine.CTitle(canvas, 2, 2)
15 | cosine.Frame(canvas, 10)
16 | cosine.Scatter(canvas, 0.25)
17 |
--------------------------------------------------------------------------------
/presentation/code/sin.d:
--------------------------------------------------------------------------------
1 | # y=sin(x)
2 | 0.00 0.0000
3 | 0.10 0.0998
4 | 0.20 0.1987
5 | 0.30 0.2955
6 | 0.40 0.3894
7 | 0.50 0.4794
8 | 0.60 0.5646
9 | 0.70 0.6442
10 | 0.80 0.7174
11 | 0.90 0.7833
12 | 1.00 0.8415
13 | ...
14 | 6.00 -0.2794
15 | 6.10 -0.1822
16 | 6.20 -0.0831
17 |
--------------------------------------------------------------------------------
/presentation/code/sine.d:
--------------------------------------------------------------------------------
1 | # y=sin(x)
2 | 0.00 0.0000
3 | 0.10 0.0998
4 | 0.20 0.1987
5 | 0.30 0.2955
6 | 0.40 0.3894
7 | 0.50 0.4794
8 | 0.60 0.5646
9 | 0.70 0.6442
10 | 0.80 0.7174
11 | 0.90 0.7833
12 | 1.00 0.8415
13 | 1.10 0.8912
14 | 1.20 0.9320
15 | 1.30 0.9636
16 | 1.40 0.9854
17 | 1.50 0.9975
18 | 1.60 0.9996
19 | 1.70 0.9917
20 | 1.80 0.9738
21 | 1.90 0.9463
22 | 2.00 0.9093
23 | 2.10 0.8632
24 | 2.20 0.8085
25 | 2.30 0.7457
26 | 2.40 0.6755
27 | 2.50 0.5985
28 | 2.60 0.5155
29 | 2.70 0.4274
30 | 2.80 0.3350
31 | 2.90 0.2392
32 | 3.00 0.1411
33 | 3.10 0.0416
34 | 3.20 -0.0584
35 | 3.30 -0.1577
36 | 3.40 -0.2555
37 | 3.50 -0.3508
38 | 3.60 -0.4425
39 | 3.70 -0.5298
40 | 3.80 -0.6119
41 | 3.90 -0.6878
42 | 4.00 -0.7568
43 | 4.10 -0.8183
44 | 4.20 -0.8716
45 | 4.30 -0.9162
46 | 4.40 -0.9516
47 | 4.50 -0.9775
48 | 4.60 -0.9937
49 | 4.70 -0.9999
50 | 4.80 -0.9962
51 | 4.90 -0.9825
52 | 5.00 -0.9589
53 | 5.10 -0.9258
54 | 5.20 -0.8835
55 | 5.30 -0.8323
56 | 5.40 -0.7728
57 | 5.50 -0.7055
58 | 5.60 -0.6313
59 | 5.70 -0.5507
60 | 5.80 -0.4646
61 | 5.90 -0.3739
62 | 6.00 -0.2794
63 | 6.10 -0.1822
64 | 6.20 -0.0831
65 |
--------------------------------------------------------------------------------
/presentation/gc.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/gc.pdf
--------------------------------------------------------------------------------
/presentation/images/c19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/c19.png
--------------------------------------------------------------------------------
/presentation/images/client-api.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/client-api.png
--------------------------------------------------------------------------------
/presentation/images/clients.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/clients.png
--------------------------------------------------------------------------------
/presentation/images/comp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/comp.png
--------------------------------------------------------------------------------
/presentation/images/compchart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/compchart.png
--------------------------------------------------------------------------------
/presentation/images/concentric.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/concentric.png
--------------------------------------------------------------------------------
/presentation/images/confetti.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/confetti.png
--------------------------------------------------------------------------------
/presentation/images/eclipse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/eclipse.png
--------------------------------------------------------------------------------
/presentation/images/flowers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/flowers.png
--------------------------------------------------------------------------------
/presentation/images/gc0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/gc0.png
--------------------------------------------------------------------------------
/presentation/images/gc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/gc1.png
--------------------------------------------------------------------------------
/presentation/images/gchart-sine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/gchart-sine.png
--------------------------------------------------------------------------------
/presentation/images/gchart1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/gchart1.png
--------------------------------------------------------------------------------
/presentation/images/hello.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/hello.png
--------------------------------------------------------------------------------
/presentation/images/lines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/lines.png
--------------------------------------------------------------------------------
/presentation/images/mondrian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/mondrian.png
--------------------------------------------------------------------------------
/presentation/images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/play.png
--------------------------------------------------------------------------------
/presentation/images/polar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/polar.png
--------------------------------------------------------------------------------
/presentation/images/side-by-side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/side-by-side.png
--------------------------------------------------------------------------------
/presentation/images/sine+cosine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/sine+cosine.png
--------------------------------------------------------------------------------
/presentation/images/sunearth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/sunearth.png
--------------------------------------------------------------------------------
/presentation/images/tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/tile.png
--------------------------------------------------------------------------------
/presentation/images/transform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/transform.png
--------------------------------------------------------------------------------
/presentation/images/twrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/presentation/images/twrap.png
--------------------------------------------------------------------------------
/presentation/mkdeck:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | decksh gc.dsh | pdfdeck -pagesize 1920,1080 -sans Go-Medium -mono Inconsolata-Regular $* -stdout - > gc.pdf
3 |
--------------------------------------------------------------------------------
/presentation/showgrid.dsh:
--------------------------------------------------------------------------------
1 | gx=15
2 | gridlen=50
3 | egx=gx+gridlen
4 | gstep=5
5 |
6 | rect 40 45 50 50 bgcolor
7 |
8 | gy=20
9 | egy=gy+gridlen
10 | for x=gx egx gstep
11 | vline x gy 50 0.1 fgcolor 60
12 | efor
13 |
14 |
15 | for y=gy egy gstep
16 | hline gx y 50 0.1 fgcolor 60
17 | efor
18 |
19 | lgs=ls*0.75
20 | lgx=gx-3
21 | lgy=gy-3
22 |
23 | ctext "0" 15 lgy lgs
24 | ctext "10" 20 lgy lgs
25 | ctext "20" 25 lgy lgs
26 | ctext "30" 30 lgy lgs
27 | ctext "40" 35 lgy lgs
28 | ctext "50" 40 lgy lgs
29 | ctext "60" 45 lgy lgs
30 | ctext "70" 50 lgy lgs
31 | ctext "80" 55 lgy lgs
32 | ctext "90" 60 lgy lgs
33 | ctext "100" 65 lgy lgs
34 |
35 |
36 | ctext "0" lgx 20 lgs
37 | ctext "10" lgx 25 lgs
38 | ctext "20" lgx 30 lgs
39 | ctext "30" lgx 35 lgs
40 | ctext "40" lgx 40 lgs
41 | ctext "50" lgx 45 lgs
42 | ctext "60" lgx 50 lgs
43 | ctext "70" lgx 55 lgs
44 | ctext "80" lgx 60 lgs
45 | ctext "90" lgx 65 lgs
46 | ctext "100" lgx 70 lgs
47 |
48 |
49 | ctext "x" gx 10 2
50 | arrow 20 10 65 10 0.1 1 2
51 | ctext "y" 5 20 2
52 | arrow 5 25 5 70 0.1 2 1
53 |
--------------------------------------------------------------------------------
/rc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | for i in $(cat cl)
3 | do
4 | cd $i
5 | echo -n "$i "
6 | case $i in
7 | showfonts)
8 | ./showfonts -text 'Hello Gio' OpenSans*.ttf &
9 | ;;
10 | showimage)
11 | ./showimage showimage.png &
12 | ;;
13 | elections)
14 | ./elections nyt-????.d &
15 | ./elections -shape h nyt-19??.d &
16 | ./elections -shape s nyt-19??.d &
17 | ./elections -bgcolor linen -textcolor black -shape l nyt-19??.d &
18 | ./elections -bgcolor linen -textcolor black -shape p nyt-19??.d &
19 | ./elections -bgcolor linen -textcolor black -shape g nyt-19??.d &
20 | ;;
21 | gcdeck)
22 | ./gcdeck -pagesize 800x500 test.xml &
23 | ;;
24 | gchart)
25 | ./allcharts
26 | ;;
27 | *)
28 | ./$i &
29 | ;;
30 | esac
31 | cd ..
32 | done
33 | echo
34 |
--------------------------------------------------------------------------------
/rgb/README.md:
--------------------------------------------------------------------------------
1 | # color lookup test
2 | 
3 |
--------------------------------------------------------------------------------
/rgb/main.go:
--------------------------------------------------------------------------------
1 | // rgb shows RGB values
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func main() {
16 | var cw, ch int
17 | flag.IntVar(&cw, "width", 1000, "canvas width")
18 | flag.IntVar(&ch, "height", 1000, "canvas height")
19 | flag.Parse()
20 |
21 | width := float32(cw)
22 | height := float32(ch)
23 |
24 | go func() {
25 | w := &app.Window{}
26 | w.Option(app.Title("rgb"), app.Size(unit.Dp(width), unit.Dp(height)))
27 | if err := rgb(w); err != nil {
28 | io.WriteString(os.Stderr, "Cannot create the window\n")
29 | os.Exit(1)
30 | }
31 | os.Exit(0)
32 | }()
33 | app.Main()
34 |
35 | }
36 |
37 | func rgb(w *app.Window) error {
38 | colortab := []string{
39 | "orange",
40 | "rgb(100)",
41 | "rgb(100,50)",
42 | "rgb(100,50,2)",
43 | "rgb(100,50,2,100)",
44 | "hsv(0,70,50)",
45 | "hsv(0,70,50,50)",
46 | "#aa",
47 | "#aabb",
48 | "#aabbcc",
49 | "#aabbcc64",
50 | "rgb()",
51 | "hsv()",
52 | "#",
53 | "#error",
54 | "nonsense",
55 | }
56 | var x, y float32
57 | for {
58 | ev := w.Event()
59 | switch e := ev.(type) {
60 | case app.DestroyEvent:
61 | return e.Err
62 | case app.FrameEvent:
63 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
64 | x, y = 50, 95
65 | for _, c := range colortab {
66 | canvas.EText(x-10, y, 3, c, color.NRGBA{0, 0, 0, 255})
67 | canvas.Circle(x, y+1, 2, giocanvas.ColorLookup(c))
68 | y -= 6
69 | }
70 | e.Frame(canvas.Context.Ops)
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/rgb/rgb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/rgb/rgb.png
--------------------------------------------------------------------------------
/rl/README.md:
--------------------------------------------------------------------------------
1 | # RL - Random Lines
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/rl/main.go:
--------------------------------------------------------------------------------
1 | // rl makes random lines
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "math/rand"
8 | "os"
9 | "time"
10 |
11 | "gioui.org/app"
12 | "gioui.org/io/system"
13 | "gioui.org/unit"
14 | gc "github.com/ajstarks/giocanvas"
15 | )
16 |
17 | func rn(n int) float32 {
18 | return float32(rand.Intn(n))
19 | }
20 |
21 | func rl(title string, w, h, nlines int, thickness float32) {
22 | width, height := float32(w), float32(h)
23 | win := app.NewWindow(app.Title(title), app.Size(unit.Px(width), unit.Px(height)))
24 | for {
25 | e := <-win.Events()
26 | switch e := e.(type) {
27 | case system.DestroyEvent:
28 | os.Exit(0)
29 |
30 | case system.FrameEvent:
31 | canvas := gc.NewCanvas(width, height, e)
32 | canvas.Background(gc.ColorLookup("black"))
33 | for i := 0; i < nlines; i++ {
34 | r := uint8(rand.Intn(230))
35 | c := color.NRGBA{r, r, r, 150}
36 | canvas.Line(rn(100), 0, rn(100), 100, thickness, c)
37 | }
38 | e.Frame(canvas.Context.Ops)
39 | }
40 | }
41 | }
42 |
43 | func main() {
44 | var w, h, n int
45 | var size float64
46 | flag.IntVar(&w, "width", 1000, "canvas width")
47 | flag.IntVar(&h, "height", 1000, "canvas height")
48 | flag.IntVar(&n, "n", 500, "number of lines")
49 | flag.Float64Var(&size, "size", 2, "line thickness (%)")
50 |
51 | flag.Parse()
52 | rand.Seed(time.Now().Unix())
53 | go rl("Random Lines", w, h, n, float32(size))
54 | app.Main()
55 | }
56 |
--------------------------------------------------------------------------------
/rl/rl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/rl/rl.png
--------------------------------------------------------------------------------
/run-cpu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | for i in $(cat cl)
3 | do
4 | echo $i
5 | cd $i
6 | GIORENDERER=forcecompute go run .
7 | cd ..
8 | done
9 |
--------------------------------------------------------------------------------
/scim/README.md:
--------------------------------------------------------------------------------
1 | # scim - scalable image
2 |
3 | 
4 |
5 | 
6 |
7 | ## options
8 | ```
9 | sciam [options] file
10 |
11 | -height int
12 | canvas height (default 1000)
13 | -width int
14 | canvas width (default 1000)
15 | ```
16 |
--------------------------------------------------------------------------------
/scim/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/scim/earth.jpg
--------------------------------------------------------------------------------
/scim/main.go:
--------------------------------------------------------------------------------
1 | // scalable image
2 | package main
3 |
4 | import (
5 | "flag"
6 | "fmt"
7 | "image"
8 | "image/color"
9 | "os"
10 |
11 | "gioui.org/app"
12 | "gioui.org/unit"
13 | "github.com/ajstarks/giocanvas"
14 | )
15 |
16 | func getimage(s string) (image.Image, error) {
17 | i, err := os.Open(s)
18 | if err != nil {
19 | return nil, err
20 | }
21 | im, _, err := image.Decode(i)
22 | if err != nil {
23 | return nil, err
24 | }
25 | i.Close()
26 | return im, nil
27 | }
28 |
29 | func scimage(w *app.Window, filename string) error {
30 | im, err := getimage(filename)
31 | if err != nil {
32 | return err
33 | }
34 | imw := im.Bounds().Dx()
35 | imh := im.Bounds().Dy()
36 | bgcolor := color.NRGBA{0, 0, 0, 255}
37 | fgcolor := color.NRGBA{255, 255, 255, 255}
38 | gridcolor := fgcolor
39 | gridcolor.A = 75
40 | for {
41 | e := w.Event()
42 | switch e := e.(type) {
43 | case app.DestroyEvent:
44 | return e.Err
45 | case app.FrameEvent:
46 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
47 | scale := (float32(e.Size.X) / float32(imw)) * 100
48 | canvas.Background(bgcolor)
49 | canvas.Img(im, 50, 50, imw, imh, scale)
50 | canvas.CText(50, 50, 5, "Scaled Image", fgcolor)
51 | canvas.Grid(0, 0, 100, 100, 0.1, 10, gridcolor)
52 | e.Frame(canvas.Context.Ops)
53 | }
54 | }
55 | }
56 |
57 | func main() {
58 | var cw, ch int
59 | flag.IntVar(&cw, "width", 1000, "canvas width")
60 | flag.IntVar(&ch, "height", 1000, "canvas height")
61 | flag.Parse()
62 | filenames := flag.Args()
63 | var imfile string
64 | if len(filenames) == 0 {
65 | imfile = "earth.jpg"
66 | } else {
67 | imfile = filenames[0]
68 | }
69 | width, height := float32(cw), float32(ch)
70 |
71 | go func() {
72 | w := &app.Window{}
73 | w.Option(app.Title("Scaled Image"), app.Size(unit.Dp(width), unit.Dp(height)))
74 | if err := scimage(w, imfile); err != nil {
75 | fmt.Fprintf(os.Stderr, "Cannot create the window: %v\n", err)
76 | os.Exit(1)
77 | }
78 | os.Exit(0)
79 | }()
80 | app.Main()
81 | }
82 |
--------------------------------------------------------------------------------
/scim/scim01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/scim/scim01.png
--------------------------------------------------------------------------------
/scim/scim02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/scim/scim02.png
--------------------------------------------------------------------------------
/shapesketch/README.md:
--------------------------------------------------------------------------------
1 | # shapesketch
2 |
3 | 
4 | 
5 |
6 | 
7 | 
8 | 
9 | 
10 | 
11 | 
12 | 
13 |
14 | ## Pointer controls
15 |
16 | * Primary pointer press: define begin point
17 | * Secondary pointer press: define ending point
18 | * Tertiary pointer press: show the decksh spec
19 | * Move: define current point
20 |
21 | ## Keyboard controls
22 |
23 | ### Adjustments
24 |
25 | * left, right, up, down arrow keys: adjust begin point
26 | * Ctrl + left, up, down, arrow keys: adjust end point
27 |
28 | ### Shapes
29 |
30 | * A: arc
31 | * B: quadradic Bezier
32 | * C: circle
33 | * E: ellipse
34 | * L: line
35 | * R: rectangle
36 | * S: square
37 |
38 | ### Info
39 |
40 | * D: show the decksh spec
41 | * G: toggle coordinate grid
42 | * Q, ESC: quit
43 |
44 |
45 |
46 | ## Command-line options
47 | ```
48 | -begincolor string
49 | begin coordinate color (default "green")
50 | -bgcolor string
51 | background color (default "white")
52 | -csize float
53 | coordinate size (default 1.25)
54 | -currentcolor string
55 | current coordinate color (default "gray")
56 | -endcolor string
57 | end coordinate color (default "red")
58 | -height int
59 | canvas height (default 1000)
60 | -lsize float
61 | line size (default 1)
62 | -precision int
63 | coordinate precision
64 | -shapecolor string
65 | curve color (default "#22222255")
66 | -ssize float
67 | step size for coordinate nudging (default 0.5)
68 | -textcolor string
69 | text color (default "black")
70 | -tsize float
71 | text size (default 2.5)
72 | -width int
73 | canvas width (default 1000)
74 | ```
75 |
--------------------------------------------------------------------------------
/shapesketch/arc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/arc.png
--------------------------------------------------------------------------------
/shapesketch/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/circle.png
--------------------------------------------------------------------------------
/shapesketch/curve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/curve.png
--------------------------------------------------------------------------------
/shapesketch/dark-curve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/dark-curve.png
--------------------------------------------------------------------------------
/shapesketch/default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/default.png
--------------------------------------------------------------------------------
/shapesketch/ellipse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/ellipse.png
--------------------------------------------------------------------------------
/shapesketch/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/line.png
--------------------------------------------------------------------------------
/shapesketch/rect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/rect.png
--------------------------------------------------------------------------------
/shapesketch/square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/shapesketch/square.png
--------------------------------------------------------------------------------
/showfonts/Go-Bold-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Bold-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Bold.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Medium-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Medium-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Medium.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Mono-Bold-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Mono-Bold-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Mono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Mono-Bold.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Mono-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Mono-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Mono.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Mono.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Regular.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Smallcaps-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Smallcaps-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/Go-Smallcaps.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/Go-Smallcaps.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-BoldItalic.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-ExtraBold.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-Italic.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-Light.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-LightItalic.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/showfonts/OpenSans-SemiboldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/OpenSans-SemiboldItalic.ttf
--------------------------------------------------------------------------------
/showfonts/README.md:
--------------------------------------------------------------------------------
1 | # showfonts
2 |
3 | Show fonts
4 |
5 | 
6 |
7 | ```showfonts Go*.ttf```
8 |
9 | 
10 |
11 | ```showfonts -text Hello -bgcolor black -txcolor white Go*.ttf```
12 |
13 | 
14 |
15 | ```showfonts -text hello,world /usr/share/fonts/open-sans/*.ttf```
16 |
17 |
18 | ## options
19 | ```showfonts [options] files...```
20 |
21 | ```
22 | -bgcolor string
23 | background color (default "white")
24 | -height int
25 | canvas height (default 1000)
26 | -ls float
27 | line spacing (default 1.5)
28 | -text string
29 | text to show
30 | -ts float
31 | text size (0 for autoscale)
32 | -txcolor string
33 | text color (default "black")
34 | -width int
35 | canvas width (default 1000)
36 | ```
37 |
--------------------------------------------------------------------------------
/showfonts/gofonts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/gofonts.png
--------------------------------------------------------------------------------
/showfonts/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/message.png
--------------------------------------------------------------------------------
/showfonts/other.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showfonts/other.png
--------------------------------------------------------------------------------
/showimage/README.md:
--------------------------------------------------------------------------------
1 | # showimage -- show an image (JPEG, PNG or GIF)
2 |
3 | $ showimage -scale 25 ~/Pictures/follow.jpg
4 |
5 | 
6 |
7 | options
8 | ```
9 | -height int
10 | canvas height
11 | -scale float
12 | scale (0-100) (default 100)
13 | -width int
14 | canvas width
15 | ```
16 |
--------------------------------------------------------------------------------
/showimage/main.go:
--------------------------------------------------------------------------------
1 | // showimage shows an image
2 | package main
3 |
4 | import (
5 | "flag"
6 | "fmt"
7 | "image"
8 | _ "image/gif"
9 | _ "image/jpeg"
10 | _ "image/png"
11 | "os"
12 |
13 | "gioui.org/app"
14 | "gioui.org/unit"
15 | "github.com/ajstarks/giocanvas"
16 | )
17 |
18 | // imageinfo opens an image file, returning an image.Image, with dimensions
19 | func imageinfo(imagefile string) (image.Image, int, int, error) {
20 | f, err := os.Open(imagefile)
21 | if err != nil {
22 | return nil, 0, 0, err
23 | }
24 | im, _, err := image.Decode(f)
25 | if err != nil {
26 | return nil, 0, 0, err
27 | }
28 | f.Close()
29 | return im, im.Bounds().Dx(), im.Bounds().Dy(), nil
30 | }
31 |
32 | // showimage shows an image, centered on the canvas at the specified scale and size
33 | func showimage(w *app.Window, im image.Image, width, height int, scale float32) error {
34 | for {
35 | e := w.Event()
36 | switch e := e.(type) {
37 | case app.DestroyEvent:
38 | return e.Err
39 | case app.FrameEvent:
40 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
41 | scale = (float32(e.Size.X) / float32(width)) * 100
42 | canvas.Img(im, 50, 50, width, height, scale)
43 | e.Frame(canvas.Context.Ops)
44 | }
45 | }
46 | }
47 |
48 | func main() {
49 | var (
50 | width, height int
51 | scale float64
52 | err error
53 | im image.Image
54 | )
55 | flag.Float64Var(&scale, "scale", 100, "scale (0-100)")
56 | flag.Parse()
57 | args := flag.Args()
58 | if len(args) == 0 {
59 | fmt.Fprintln(os.Stderr, "specify an image file (JPEG, PNG, or GIF)")
60 | os.Exit(1)
61 | }
62 | for _, imagefile := range args {
63 | im, width, height, err = imageinfo(imagefile)
64 | if err != nil {
65 | fmt.Fprintf(os.Stderr, "%v\n", err)
66 | continue
67 | }
68 |
69 | sc, sw, sh := float32(scale), float32(width), float32(height)
70 | if scale != 100 {
71 | sw *= sc / 100
72 | sh *= sc / 100
73 | }
74 | w := &app.Window{}
75 | w.Option(app.Title(imagefile), app.Size(unit.Dp(sw), unit.Dp(sh)))
76 | if err := showimage(w, im, width, height, sc); err != nil {
77 | fmt.Fprintf(os.Stderr, "%v\n", err)
78 | os.Exit(1)
79 | }
80 | }
81 | os.Exit(0)
82 | }
83 |
--------------------------------------------------------------------------------
/showimage/showimage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/showimage/showimage.png
--------------------------------------------------------------------------------
/spiral/README.md:
--------------------------------------------------------------------------------
1 | # Spiral
2 |
3 | 
4 |
5 | ## Options
6 | ```
7 | -a float
8 | a (default 1.5)
9 | -b float
10 | b (default 0.8)
11 | -color string
12 | dot color (default "gray")
13 | -dot float
14 | dotsize (default 0.75)
15 | -height int
16 | canvas height (default 1000)
17 | -incr float
18 | increment (default 0.01)
19 | -n float
20 | n (default 16)
21 | -width int
22 | canvas width (default 1000)
23 | ```
24 |
25 |
--------------------------------------------------------------------------------
/spiral/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "flag"
5 | "image/color"
6 | "math"
7 | "os"
8 |
9 | "gioui.org/app"
10 | "gioui.org/unit"
11 | "github.com/ajstarks/giocanvas"
12 | )
13 |
14 | func spiral(canvas *giocanvas.Canvas, cx, cy, dotsize float32, a, b, n, incr float64, color color.NRGBA) {
15 | for t := 0.0; t <= n*math.Pi; t += incr {
16 | sint, cost := math.Sincos(t)
17 | r := a + (b * t)
18 | x := cx + float32(r*cost)
19 | y := cy + float32(r*sint)
20 | canvas.Circle(x, y, dotsize, color)
21 | }
22 | }
23 |
24 | func work(title string, width, height float32, a, b, n, incr, dotsize float64, color string) {
25 | w := &app.Window{}
26 | w.Option(app.Title(title), app.Size(unit.Dp(width), unit.Dp(height)))
27 | var cx, cy float32 = 50, 50
28 | spcolor := giocanvas.ColorLookup(color)
29 | for {
30 | e := w.Event()
31 | switch e := e.(type) {
32 | case app.DestroyEvent:
33 | os.Exit(0)
34 | case app.FrameEvent:
35 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), e)
36 | spiral(canvas, cx, cy, float32(dotsize), a, b, n, incr, spcolor)
37 | e.Frame(canvas.Context.Ops)
38 | }
39 | }
40 | }
41 |
42 | func main() {
43 | var w, h int
44 | var a, b, n, incr, dotsize float64
45 | var dotcolor string
46 | flag.IntVar(&w, "width", 1000, "canvas width")
47 | flag.IntVar(&h, "height", 1000, "canvas height")
48 | flag.Float64Var(&a, "a", 1.5, "a")
49 | flag.Float64Var(&b, "b", 0.8, "b")
50 | flag.Float64Var(&n, "n", 16.0, "n")
51 | flag.Float64Var(&incr, "incr", 0.01, "increment")
52 | flag.Float64Var(&dotsize, "dot", 0.75, "dotsize")
53 | flag.StringVar(&dotcolor, "color", "gray", "dot color")
54 | flag.Parse()
55 | work("spiral", float32(w), float32(h), a, b, n, incr, dotsize, dotcolor)
56 | }
57 |
--------------------------------------------------------------------------------
/spiral/spiral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/spiral/spiral.png
--------------------------------------------------------------------------------
/sunearth/README.md:
--------------------------------------------------------------------------------
1 | # sunearth
2 | 
3 |
--------------------------------------------------------------------------------
/sunearth/earth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/sunearth/earth.jpg
--------------------------------------------------------------------------------
/sunearth/main.go:
--------------------------------------------------------------------------------
1 | // sunearth shows the relative size of the Sun and Earth
2 | package main
3 |
4 | import (
5 | "flag"
6 | "image/color"
7 | "io"
8 | "os"
9 |
10 | "gioui.org/app"
11 | "gioui.org/unit"
12 | "github.com/ajstarks/giocanvas"
13 | )
14 |
15 | func sunearth(w *app.Window) error {
16 |
17 | yellow := color.NRGBA{255, 248, 231, 255}
18 | blue := color.NRGBA{44, 77, 232, 255}
19 | black := color.NRGBA{0, 0, 0, 255}
20 |
21 | var earthsize float32 = 0.8
22 | sunsize := earthsize * 109
23 |
24 | for {
25 | e := w.Event()
26 | switch e := e.(type) {
27 | case app.DestroyEvent:
28 | return e.Err
29 | case app.FrameEvent:
30 | canvas := giocanvas.NewCanvas(float32(e.Size.X), float32(e.Size.Y), app.FrameEvent{})
31 | canvas.CenterRect(50, 50, 100, 100, black)
32 | canvas.Circle(100, 0, sunsize, yellow)
33 | canvas.Circle(30, 90, earthsize, blue)
34 | e.Frame(canvas.Context.Ops)
35 | }
36 | }
37 | }
38 |
39 | func main() {
40 | var cw, ch int
41 | flag.IntVar(&cw, "width", 1000, "canvas width")
42 | flag.IntVar(&ch, "height", 1000, "canvas height")
43 | flag.Parse()
44 | width := float32(cw)
45 | height := float32(ch)
46 |
47 | go func() {
48 | w := &app.Window{}
49 | w.Option(app.Title("sun+earth"), app.Size(unit.Dp(width), unit.Dp(height)))
50 | if err := sunearth(w); err != nil {
51 | io.WriteString(os.Stderr, "Cannot create the window\n")
52 | os.Exit(1)
53 | }
54 | os.Exit(0)
55 | }()
56 | app.Main()
57 | }
58 |
--------------------------------------------------------------------------------
/sunearth/sunearth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/sunearth/sunearth.png
--------------------------------------------------------------------------------
/template:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "flag"
5 | "os"
6 |
7 | "gioui.org/app"
8 | "gioui.org/io/key"
9 | "gioui.org/io/system"
10 | "gioui.org/unit"
11 | "github.com/ajstarks/giocanvas"
12 | )
13 |
14 | func work(title string, width, height float32) {
15 | defer os.Exit(0)
16 | win := app.NewWindow(app.Title(title), app.Size(unit.Px(width), unit.Px(height)))
17 | for e := range win.Events() {
18 | switch e := e.(type) {
19 | case system.FrameEvent:
20 | canvas := giocanvas.NewCanvas(width, height, e)
21 | // your code here
22 | e.Frame(canvas.Context.Ops)
23 | case key.Event:
24 | switch e.Name {
25 | case "Q", key.NameEscape:
26 | os.Exit(0)
27 | }
28 | }
29 | }
30 | }
31 |
32 | func main() {
33 | var w, h int
34 | flag.IntVar(&w, "width", 1000, "canvas width")
35 | flag.IntVar(&h, "height", 1000, "canvas height")
36 | flag.Parse()
37 | go work("work", float32(w), float32(h))
38 | app.Main()
39 | }
40 |
--------------------------------------------------------------------------------
/tile/README.md:
--------------------------------------------------------------------------------
1 | # tile
2 | 
3 |
--------------------------------------------------------------------------------
/tile/tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/tile/tile.png
--------------------------------------------------------------------------------
/transform/README.md:
--------------------------------------------------------------------------------
1 | # Transformations
2 | 
3 |
--------------------------------------------------------------------------------
/transform/transform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/transform/transform.png
--------------------------------------------------------------------------------
/transform/transforms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/transform/transforms.png
--------------------------------------------------------------------------------
/transforms.go:
--------------------------------------------------------------------------------
1 | package giocanvas
2 |
3 | import "gioui.org/op"
4 |
5 | // Transformations
6 |
7 | // Translate moves current location by (x,y) using percentage-based measures
8 | func (c *Canvas) Translate(x, y float32) op.TransformStack {
9 | x, y = dimen(x, y, c.Width, c.Height)
10 | return c.AbsTranslate(x, y)
11 | }
12 |
13 | // Rotate around (x,y) by angle (radians) using percentage-based measures
14 | func (c *Canvas) Rotate(x, y, angle float32) op.TransformStack {
15 | x, y = dimen(x, y, c.Width, c.Height)
16 | return c.AbsRotate(x, y, angle)
17 | }
18 |
19 | // Scale centered at (x,y) by factor using percentage-based measures
20 | func (c *Canvas) Scale(x, y, factor float32) op.TransformStack {
21 | x, y = dimen(x, y, c.Width, c.Height)
22 | return c.AbsScale(x, y, factor)
23 | }
24 |
25 | // Shear the object centered at (x,y) using x-angle and y-angle (radians) using percentage-based measures
26 | func (c *Canvas) Shear(x, y, ax, ay float32) op.TransformStack {
27 | x, y = dimen(x, y, c.Width, c.Height)
28 | return c.AbsShear(x, y, ax, ay)
29 | }
30 |
31 | // EndTransform ends a transformation
32 | func EndTransform(stack op.TransformStack) {
33 | stack.Pop()
34 | }
35 |
--------------------------------------------------------------------------------
/twrap/README.md:
--------------------------------------------------------------------------------
1 | # gio canvas text wrap
2 | 
3 |
--------------------------------------------------------------------------------
/twrap/twrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajstarks/giocanvas/01a7ed1cd3322cf255fadb79fb4ff1446f43d47f/twrap/twrap.png
--------------------------------------------------------------------------------
/update:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | go get gioui.org@main &&
3 | go mod tidy -compat=1.17 &&
4 | ./bc.sh &&
5 | ./rc.sh
6 |
--------------------------------------------------------------------------------