diff --git a/src/cg/03-ui-components.cg b/src/cg/03-ui-components.cg index cb51cb7..98fe541 100644 --- a/src/cg/03-ui-components.cg +++ b/src/cg/03-ui-components.cg @@ -34,7 +34,7 @@ button = config \ ui.rect { w = c.w, h = c.h, strokeColor = c.strokeColor, strokeWidth = c.strokeWidth }, ui.positioned { x = 10, y = 8, - child = ui.text { content = config.label, color = c.textColor } + child = renderText { content = config.label, color = c.textColor } } ] } @@ -42,11 +42,13 @@ button = config \ # inputButton (button that turns into an input) inputButton = config \ - textSize = ui.measureText config.label; + label = renderText { content = config.label }; + labelSize = ui.measure label; + labelWidth = labelSize.width; defaults = { h = 30, - w = textSize + 16, + w = labelWidth + 16, strokeWidth = 1, strokeColor = "#fff", textColor = "#fff", @@ -86,8 +88,8 @@ inputButton = config \ children = [ ui.rect { w = c.w, h = c.h, strokeColor = c.strokeColor, strokeWidth = c.strokeWidth }, ui.positioned { - x = 8, y = 8, - child = ui.text { content = config.label, color = c.textColor } + x = 8, y = 4, + child = label } ] } @@ -324,11 +326,39 @@ glyphView = config \ defaults = { scale = 1, color = "#fff" }; c = { ...defaults, ...config }; ui.stack { - children = map (pixel \ - ui.positioned { - x = pixel.x * c.scale, - y = pixel.y * c.scale, - child = ui.rect { w = c.scale, h = c.scale, color = c.color } - } - ) c.glyph.map + children = [ + ui.rect { w = c.glyph.w * c.scale, h = c.glyph.h * c.scale, color = "transparent" }, + ...map (pixel \ + ui.positioned { + x = pixel.x * c.scale, + y = pixel.y * c.scale, + child = ui.rect { w = c.scale, h = c.scale, color = c.color } + } + ) c.glyph.map + ] }; + +# renderText : TextConfig \ UI +renderText = config \ + # get these from system theme at some point + defaults = { content = "", scale = 2, color = "#fff" }; + c = { ...defaults, ...config }; + chars = split "" c.content; + _ = debug! "chars" chars; + ui.row { + children = map (char \ + # _ = debug! "here. char" char; + getAt ["myFontBackup", "glyphs", char] + | Some g \ glyphView { glyph = g, scale = c.scale } + | None \ ui.rect { w = 0, h = 0 } + ) chars, + gap = 4 + }; + + # fold (acc c \ + # { pos = acc.pos + 8, + # ui = [...ui, ui.positioned { x }] + # }) { pos = 0, ui = [] } chars; + +# text : String \ UI +text = content \ renderText { content = content }; diff --git a/src/cg/06-font.cg b/src/cg/06-font.cg index 2816baa..1e0035c 100644 --- a/src/cg/06-font.cg +++ b/src/cg/06-font.cg @@ -5835,3 +5835,5106 @@ myFontBackup = { glyphs = { map = [] } } }; + +myFont2Backup = { glyphs = { + "0" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 4 + } + ] + }, + "1" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + } + ] + }, + "2" = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 3 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 1, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + } + ] + }, + "3" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + } + ] + }, + "4" = { + w = 5, + h = 12, + map = [ + { + x = 3, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 5 + }, + { + x = 3, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 8 + }, + { + x = 3, + y = 7 + } + ] + }, + "5" = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + } + ] + }, + "6" = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 3 + }, + { + x = 3, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + } + ] + }, + "7" = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 3 + } + ] + }, + "8" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + } + ] + }, + "9" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + } + ] + }, + A = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 3 + }, + { + x = 1, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 6 + } + ] + }, + B = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 2 + } + ] + }, + C = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 3 + }, + { + x = 3, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + } + ] + }, + D = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + } + ] + }, + E = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + } + ] + }, + F = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + } + ] + }, + G = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 3 + }, + { + x = 3, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + } + ] + }, + H = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 2 + } + ] + }, + I = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 6 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 0, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 4, + y = 8 + }, + { + x = 0, + y = 8 + } + ] + }, + J = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + } + ] + }, + K = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 3 + }, + { + x = 4, + y = 2 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 7 + }, + { + x = 4, + y = 8 + } + ] + }, + L = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + } + ] + }, + M = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 2 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + } + ] + }, + N = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 2 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 5 + } + ] + }, + O = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + } + ] + }, + P = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + } + ] + }, + Q = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 2, + y = 7 + }, + { + x = 4, + y = 9 + } + ] + }, + R = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 0, + y = 9 + }, + { + x = 3, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 9 + }, + { + x = 3, + y = 6 + } + ] + }, + S = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + } + ] + }, + T = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + } + ] + }, + U = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 2 + } + ] + }, + V = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 6 + }, + { + x = 0, + y = 4 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 2 + } + ] + }, + W = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 7 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 2 + } + ] + }, + X = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 0, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 6 + }, + { + x = 1, + y = 6 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 5 + } + ] + }, + Y = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 3 + } + ] + }, + Z = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 2 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 3 + } + ] + }, + a = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 6 + }, + { + x = 0, + y = 4 + } + ] + }, + b = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 5 + } + ] + }, + c = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 8 + } + ] + }, + d = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + } + ] + }, + e = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 6 + } + ] + }, + f = { + w = 5, + h = 12, + map = [ + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 5 + }, + { + x = 3, + y = 5 + } + ] + }, + g = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 9 + }, + { + x = 4, + y = 10 + }, + { + x = 3, + y = 11 + }, + { + x = 2, + y = 11 + }, + { + x = 1, + y = 11 + }, + { + x = 0, + y = 10 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 4, + y = 7 + } + ] + }, + h = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 2, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + } + ] + }, + i = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 2 + } + ] + }, + j = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 2, + y = 9 + }, + { + x = 1, + y = 10 + }, + { + x = 2, + y = 2 + }, + { + x = 0, + y = 9 + } + ] + }, + k = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 4 + } + ] + }, + l = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 3, + y = 8 + } + ] + }, + m = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 0, + y = 4 + } + ] + }, + n = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 0, + y = 4 + } + ] + }, + o = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 5 + } + ] + }, + p = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 10 + }, + { + x = 0, + y = 11 + }, + { + x = 0, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 9 + } + ] + }, + q = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 9 + }, + { + x = 4, + y = 10 + }, + { + x = 4, + y = 11 + } + ] + }, + r = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 1, + y = 4 + } + ] + }, + s = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 8 + }, + { + x = 4, + y = 4 + } + ] + }, + t = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 2 + } + ] + }, + u = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 8 + } + ] + }, + v = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 8 + }, + { + x = 1, + y = 7 + }, + { + x = 1, + y = 6 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 7 + } + ] + }, + w = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 5 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 6 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 0, + y = 7 + } + ] + }, + x = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 3, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 7 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 4 + } + ] + }, + y = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 8 + }, + { + x = 4, + y = 9 + }, + { + x = 4, + y = 10 + }, + { + x = 3, + y = 11 + }, + { + x = 2, + y = 11 + }, + { + x = 1, + y = 11 + }, + { + x = 0, + y = 10 + } + ] + }, + z = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 1, + y = 7 + }, + { + x = 0, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + } + ] + }, + "!" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 8 + } + ] + }, + "@" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 0, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 5 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 3 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 8 + } + ] + }, + "#" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 3, + y = 3 + }, + { + x = 1, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 1, + y = 7 + }, + { + x = 1, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 3, + y = 7 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 0, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 4, + y = 4 + }, + { + x = 0, + y = 6 + }, + { + x = 2, + y = 6 + }, + { + x = 4, + y = 6 + } + ] + }, + "$" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 4, + y = 3 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 4, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 2, + y = 1 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 9 + } + ] + }, + "%" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 0, + y = 7 + }, + { + x = 3, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 7 + } + ] + }, + "^" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 3, + y = 3 + }, + { + x = 4, + y = 4 + } + ] + }, + "&" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 3, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 1, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 0, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 3, + y = 7 + }, + { + x = 4, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 6 + }, + { + x = 2, + y = 5 + }, + { + x = 4, + y = 6 + }, + { + x = 2, + y = 6 + } + ] + }, + "*" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 1, + y = 4 + }, + { + x = 0, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 5 + } + ] + }, + "(" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 1, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 1, + y = 7 + }, + { + x = 2, + y = 8 + } + ] + }, + ")" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 3, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 3, + y = 7 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 6 + } + ] + }, + "[" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 1, + y = 7 + }, + { + x = 1, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 2 + }, + { + x = 3, + y = 8 + } + ] + }, + "]" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 3, + y = 3 + }, + { + x = 3, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 3, + y = 6 + }, + { + x = 3, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + } + ] + }, + "{" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 1, + y = 7 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 3, + y = 2 + } + ] + }, + "}" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 4, + y = 5 + }, + { + x = 3, + y = 7 + }, + { + x = 3, + y = 6 + }, + { + x = 2, + y = 8 + }, + { + x = 1, + y = 8 + } + ] + }, + "~" = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 5 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 6 + }, + { + x = 4, + y = 5 + } + ] + }, + "`" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 3, + y = 3 + } + ] + }, + "'" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 2, + y = 3 + } + ] + }, + "\"" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 1, + y = 3 + }, + { + x = 3, + y = 2 + }, + { + x = 3, + y = 3 + } + ] + }, + "," = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 8 + }, + { + x = 1, + y = 9 + }, + { + x = 2, + y = 7 + } + ] + }, + "." = { + w = 5, + h = 12, + map = [{ + x = 2, + y = 8 + }] + }, + "<" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 3, + y = 8 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 3 + }, + { + x = 3, + y = 2 + } + ] + }, + ">" = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 5 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 3 + }, + { + x = 1, + y = 2 + }, + { + x = 3, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 1, + y = 8 + } + ] + }, + ":" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 2, + y = 7 + } + ] + }, + ";" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 9 + }, + { + x = 2, + y = 8 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 7 + } + ] + }, + "/" = { + w = 5, + h = 12, + map = [ + { + x = 4, + y = 3 + }, + { + x = 3, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 1, + y = 6 + }, + { + x = 0, + y = 7 + } + ] + }, + "\\" = { + w = 5, + h = 12, + map = [ + { + x = 0, + y = 3 + }, + { + x = 1, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 6 + }, + { + x = 4, + y = 7 + } + ] + }, + "?" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 2 + }, + { + x = 2, + y = 2 + }, + { + x = 3, + y = 2 + }, + { + x = 0, + y = 3 + }, + { + x = 4, + y = 3 + }, + { + x = 4, + y = 4 + }, + { + x = 3, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 8 + } + ] + }, + "=" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 4 + }, + { + x = 2, + y = 4 + }, + { + x = 3, + y = 4 + }, + { + x = 3, + y = 7 + }, + { + x = 2, + y = 7 + }, + { + x = 1, + y = 7 + }, + { + x = 4, + y = 4 + }, + { + x = 4, + y = 7 + }, + { + x = 0, + y = 7 + }, + { + x = 0, + y = 4 + } + ] + }, + "+" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 3 + }, + { + x = 0, + y = 5 + }, + { + x = 1, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 5 + } + ] + }, + "|" = { + w = 5, + h = 12, + map = [ + { + x = 2, + y = 2 + }, + { + x = 2, + y = 3 + }, + { + x = 2, + y = 4 + }, + { + x = 2, + y = 5 + }, + { + x = 2, + y = 6 + }, + { + x = 2, + y = 7 + }, + { + x = 2, + y = 8 + } + ] + }, + "-" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 5 + }, + { + x = 2, + y = 5 + }, + { + x = 3, + y = 5 + }, + { + x = 4, + y = 5 + }, + { + x = 0, + y = 5 + } + ] + }, + "_" = { + w = 5, + h = 12, + map = [ + { + x = 1, + y = 8 + }, + { + x = 2, + y = 8 + }, + { + x = 3, + y = 8 + }, + { + x = 4, + y = 8 + }, + { + x = 0, + y = 8 + } + ] + }, + " " = { + w = 5, + h = 12, + map = [] + } + } }; + diff --git a/src/cg/06-fontEditor.cg b/src/cg/06-fontEditor.cg index 84ebac7..6c4650f 100644 --- a/src/cg/06-fontEditor.cg +++ b/src/cg/06-fontEditor.cg @@ -84,7 +84,7 @@ fontEditor = config \ h = headerHeight, key = "new-glyph-button", label = "New Glyph", - onSubmit = key \ rebindAt [...c.path, "glyphs", key] { w = 7, h = 12, map = [] } + onSubmit = key \ rebindAt [...c.path, "glyphs", key] { w = 5, h = 12, map = [] } } ] }; @@ -103,6 +103,10 @@ fontEditor = config \ }) (entries state.glyphs) }; - ui.column { gap = 2, children = [ header, grid ] } + ui.column { gap = 2, children = [ + header, + grid, + text "testing" + ]} } }; diff --git a/src/cg/06-tree.cg b/src/cg/06-tree.cg index 504a059..871c496 100644 --- a/src/cg/06-tree.cg +++ b/src/cg/06-tree.cg @@ -54,7 +54,8 @@ treeNode = config \ simple = path content color onClick \ selected = (config.selectedPath | Some p \ p == path | None \ False); - inner = ui.text { content = content, color = (selected | True \ "white" | False \ color) }; + # inner = ui.text { content = content, color = (selected | True \ "white" | False \ color) }; + inner = renderText { scale = 1, content = content, color = (selected | True \ "white" | False \ color) }; wrapped = (onClick | Some handler \ ui.clickable { onClick = handler, child = inner } | None \ inner); diff --git a/src/cg/10-os.cg b/src/cg/10-os.cg index ff3ff79..ae417cf 100644 --- a/src/cg/10-os.cg +++ b/src/cg/10-os.cg @@ -82,7 +82,7 @@ os = | None \ openWindow title content width; renderWindow = window isActive \ - titleBarHeight = 30; + titleBarHeight = 36; ui.stack { children = [ @@ -107,14 +107,15 @@ os = ui.rect { w = titleBarHeight, h = titleBarHeight, color = "rgba(255,255,255,0.2)" }, # button text ui.positioned { - x = 9, y = 7, child = ui.text { content = "x" } + x = 10, y = 5, child = text "x" } ] } }, # title - ui.positioned { x = 8, y = 8, child = ui.text { content = window.title, color = "white" } }, + # ui.positioned { x = 8, y = 8, child = ui.text { content = window.title, color = "white" } }, + ui.positioned { x = 8, y = 8, child = renderText { content = window.title, color = "white" } }, ] } ] diff --git a/src/ui.ts b/src/ui.ts index 22b1f8b..d689bdf 100644 --- a/src/ui.ts +++ b/src/ui.ts @@ -228,8 +228,13 @@ export function _measure(ui: UIValue): { width: number, height: number } { } } - case 'positioned': - return measure(ui.child); + case 'positioned': { + const childSize = measure(ui.child); + return { + width: ui.x + childSize.width, + height: ui.y + childSize.height, + }; + } case 'stack': { let maxWidth = 0;