aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/world/output/video/resolution.lux
blob: 6e6bf1036cf2f49ec55901b478f02af41bb4d70c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(.using
 [library
  [lux "*"
   [abstract
    [equivalence {"+" Equivalence}]
    [hash {"+" Hash}]]
   [data
    ["[0]" product]]
   [math
    [number
     ["[0]" nat]]]]])

(type: .public Resolution
  (Record
   [#width Nat
    #height Nat]))

(def: .public hash
  (Hash Resolution)
  (product.hash nat.hash nat.hash))

(def: .public equivalence
  (Equivalence Resolution)
  (# ..hash &equivalence))

... https://en.wikipedia.org/wiki/Display_resolution#Common_display_resolutions
(template [<name> <width> <height>]
  [(def: .public <name>
     Resolution
     [#width <width>
      #height <height>])]

  [svga        800  600]
  [wsvga      1024  600]
  [xga        1024  768]
  [xga+       1152  864]
  [wxga_16:9  1280  720]
  [wxga_5:3   1280  768]
  [wxga_16:10 1280  800]
  [sxga       1280 1024]
  [wxga+      1440  900]
  [hd+        1600  900]
  [wsxga+     1680 1050]
  [fhd        1920 1080]
  [wuxga      1920 1200]
  [wqhd       2560 1440]
  [uhd_4k     3840 2160]
  )