This commit is contained in:
qtux 2018-06-05 21:12:38 +00:00 committed by GitHub
commit db37e31933
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 6 deletions

View file

@ -39,8 +39,8 @@ Creates an image button widget at position ``(x,y)``.
Unlike all other widgets, an ``ImageButton`` is not affected by the current
theme.
The argument ``normal`` defines the image of the normal state as well as the
area of the widget: The button activates when the mouse is over a pixel with
non-zero alpha value.
area of the widget: The button activates when the mouse is over a pixel of the
rectangular image area.
You can provide additional ``hovered`` and ``active`` images, but the widget area
is always computed from the ``normal`` image.

View file

@ -11,14 +11,11 @@ return function(core, normal, ...)
opt.id = opt.id or opt.normal
opt.state = core:registerMouseHit(opt.id, x,y, function(u,v)
local id = opt.normal:getData()
assert(id:typeOf("ImageData"), "Can only use uncompressed images")
u, v = math.floor(u+.5), math.floor(v+.5)
if u < 0 or u >= opt.normal:getWidth() or v < 0 or v >= opt.normal:getHeight() then
return false
end
local _,_,_,a = id:getPixel(u,v)
return a > 0
return true
end)
local img = opt.normal