Add Canvas alternative to Image

Kevin Harrison 2018-12-18 13:57:24 -05:00
parent ccd427bfe6
commit 870385bc63

@ -738,7 +738,7 @@ Draw the given string at the given screen bounds.
## Images
Any function that accepts a [LÖVE Image](https://love2d.org/wiki/Image) as an argument also accepts a two-item array `{Image, Quad}` where `Quad` is a [LÖVE Quad](https://love2d.org/wiki/Quad) determining what part of the image to draw.
Any function that accepts a [LÖVE Image](https://love2d.org/wiki/Image) as an argument also accepts a [LÖVE Canvas](https://love2d.org/wiki/Canvas). You can also specify a [LÖVE Quad](https://love2d.org/wiki/Quad) to use by passing a two-item array `{Image, Quad}` or `{Canvas, Quad}`, where `Quad` specifies which part of the image to draw.
See [skin.lua](https://github.com/keharriso/love-nuklear/blob/master/example/skin.lua) for an example of both methods.
@ -867,9 +867,9 @@ local style = {
['padding'] = {x = number, y = number}
},
['button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -883,9 +883,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['contextual button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -899,9 +899,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['menu button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -915,12 +915,12 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['option'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['text normal'] = color,
['text hover'] = color,
['text active'] = color,
@ -932,12 +932,12 @@ local style = {
['border'] = number
},
['checkbox'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['text normal'] = color,
['text hover'] = color,
['text active'] = color,
@ -949,12 +949,12 @@ local style = {
['border'] = number
},
['selectable'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['pressed'] = color or Image or {Image, Quad},
['normal active'] = color or Image or {Image, Quad},
['hover active'] = color or Image or {Image, Quad},
['pressed active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['pressed'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['normal active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['pressed active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['text normal'] = color,
['text hover'] = color,
['text pressed'] = color,
@ -969,16 +969,16 @@ local style = {
['image padding'] = {x = number, y = number}
},
['slider'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['bar normal'] = color,
['bar active'] = color,
['bar filled'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border'] = number,
['rounding'] = number,
['bar height'] = number,
@ -987,13 +987,13 @@ local style = {
['cursor size'] = {x = number, y = number}
},
['progress'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor border color'] = color,
['rounding'] = number,
['border'] = number,
@ -1002,9 +1002,9 @@ local style = {
['padding'] = {x = number, y = number}
},
['property'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['label normal'] = color,
['label hover'] = color,
@ -1013,18 +1013,18 @@ local style = {
['rounding'] = number,
['padding'] = {x = number, y = number},
['edit'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['scrollbar'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor border color'] = color,
['border'] = number,
['rounding'] = number,
@ -1051,9 +1051,9 @@ local style = {
['row padding'] = number
},
['inc button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1067,9 +1067,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['dec button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1084,18 +1084,18 @@ local style = {
}
},
['edit'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['scrollbar'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor border color'] = color,
['border'] = number,
['rounding'] = number,
@ -1122,7 +1122,7 @@ local style = {
['row padding'] = number
},
['chart'] = {
['background'] = color or Image or {Image, Quad},
['background'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['selected color'] = color,
['color'] = color,
@ -1131,13 +1131,13 @@ local style = {
['padding'] = {x = number, y = number}
},
['scrollh'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor border color'] = color,
['border'] = number,
['rounding'] = number,
@ -1146,13 +1146,13 @@ local style = {
['padding'] = {x = number, y = number}
},
['scrollv'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['cursor normal'] = color or Image or {Image, Quad},
['cursor hover'] = color or Image or {Image, Quad},
['cursor active'] = color or Image or {Image, Quad},
['cursor normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['cursor border color'] = color,
['border'] = number,
['rounding'] = number,
@ -1161,13 +1161,13 @@ local style = {
['padding'] = {x = number, y = number}
},
['tab'] = {
['background'] = color or Image or {Image, Quad},
['background'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text'] = color,
['tab maximize button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1181,9 +1181,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['tab minimize button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1197,9 +1197,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['node maximize button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1213,9 +1213,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['node minimize button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1235,9 +1235,9 @@ local style = {
['spacing'] = {x = number, y = number}
},
['combo'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['label normal'] = color,
['label hover'] = color,
@ -1246,9 +1246,9 @@ local style = {
['symbol hover'] = color,
['symbol active'] = color,
['button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1269,13 +1269,13 @@ local style = {
},
['window'] = {
['header'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['close button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1289,9 +1289,9 @@ local style = {
['touch padding'] = {x = number, y = number}
},
['minimize button'] = {
['normal'] = color or Image or {Image, Quad},
['hover'] = color or Image or {Image, Quad},
['active'] = color or Image or {Image, Quad},
['normal'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['hover'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['active'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border color'] = color,
['text background'] = color,
['text normal'] = color,
@ -1312,7 +1312,7 @@ local style = {
['spacing'] = {x = number, y = number},
},
['fixed background'] = color or Image or {Image, Quad},
['fixed background'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['background'] = color,
['border color'] = color,
['popup border color'] = color,
@ -1321,7 +1321,7 @@ local style = {
['menu border color'] = color,
['group border color'] = color,
['tooltip border color'] = color,
['scaler'] = color or Image or {Image, Quad},
['scaler'] = color or Image or Canvas or {Image, Quad} or {Canvas, Quad},
['border'] = number,
['combo border'] = number,
['contextual border'] = number,