diff --git a/src/pop/elements/element.moon b/src/pop/elements/element.moon index 806df58..37547ce 100644 --- a/src/pop/elements/element.moon +++ b/src/pop/elements/element.moon @@ -12,6 +12,7 @@ class element @horizontal = "left" @vertical = "top" + @margin = 0 debugDraw: => graphics.setLineWidth 0.5 @@ -120,16 +121,20 @@ class element @y = @parent.y switch @horizontal + when "left" + @x += @margin when "center" @x += (@parent.w - @w)/2 when "right" - @x += @parent.w - @w + @x += @parent.w - @w - @margin switch @vertical + when "top" + @y += @margin when "center" @y += (@parent.h - @h)/2 when "bottom" - @y += @parent.h - @h + @y += @parent.h - @h - @margin return @ diff --git a/src/pop/elements/text.moon b/src/pop/elements/text.moon index fe88329..53a3232 100644 --- a/src/pop/elements/text.moon +++ b/src/pop/elements/text.moon @@ -38,13 +38,13 @@ class text extends element when "center" @x -= (w - @w)/2 when "right" - @x -= w - @w + @x -= w - @w - @margin switch @vertical when "center" @y -= (h - @h)/2 when "right" - @y -= h - @h + @y -= h - @h - @margin @w = w @h = h diff --git a/src/pop/init.moon b/src/pop/init.moon index 80aaa56..7d1ce89 100644 --- a/src/pop/init.moon +++ b/src/pop/init.moon @@ -59,6 +59,8 @@ class Pop error "Unimplemented." skin: (element, skin, apply_to_children=false) => + element.margin = skin.margin + if element.background element.background = skin.background if element.color diff --git a/src/pop/skins/clear.moon b/src/pop/skins/clear.moon index b0ca85a..bd8e0da 100644 --- a/src/pop/skins/clear.moon +++ b/src/pop/skins/clear.moon @@ -1,7 +1,8 @@ import graphics from love -return { +skin = { color: {255, 255, 255, 255} background: false font: graphics.newFont(13) + margin: 2 }