Sussed it, code (uncommented yet!) & result below should anyone search in the future.
function wuline(handle,x1,y1,x2,y2,col)
dx#=x2-x1
dy#=y2-y1
if abs(dx#)>abs(dy#)
if x2<x1 then tmp=x1 : x1=x2 : x2=tmp : tmp=y1 : y1=y2 : y2=tmp
gradient#=dy#/dx#
y#=y1
for x=x1 to x2
pixel(handle,x,y#,col,255*(1-(y#-int(y#))))
pixel(handle,x,y#+1,col,255*(y#-int(y#)))
y#=y#+gradient#
next x
else
if y2<y1 then tmp=x1 : x1=x2 : x2=tmp : tmp=y1 : y1=y2 : y2=tmp
gradient#=dx#/dy#
x#=x1
for y=y1 to y2
pixel(handle,x#,y,col,255*(1-(x#-int(x#))))
pixel(handle,x#+1,y,col,255*(x#-int(x#)))
x#=x#+gradient#
next y
endif
endfunction
Function pixel(handle,x,y,col,alfa)
pix=getPoint(handle,x,y)
r=(rgbr(col)*alfa+rgbr(pix)*(255-alfa))/256
g=(rgbg(col)*alfa+rgbg(pix)*(255-alfa))/256
b=(rgbb(col)*alfa+rgbb(pix)*(255-alfa))/256
drawPoint handle,x,y,rgb(r,g,b)
EndFunction