rem ' getWindowImage
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
window! = sysgui!.addWindow(250,250,250,300,"getWindowImage",$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_RESIZE,"resize")
child! = window!.addChildWindow(99,0,0,250,300,1)
child!.setBorderColor(BBjColor.GREEN)
windowImage! = child!.addButton(1,25,25,200,25,"getWindowImage",$$)
windowImage!.setCallback(windowImage!.ON_BUTTON_PUSH,"getWindowImage")
childImage! = child!.addButton(2,25,75,200,25,"getChildImage",$$)
childImage!.setCallback(windowImage!.ON_BUTTON_PUSH,"getChildImage")
outerBounds! = child!.addButton(3,25,125,200,25,"setOuterBounds",$$)
outerBounds!.setCallback(outerBounds!.ON_BUTTON_PUSH,"setOuterBounds")
screenImage! = child!.addButton(4,25,175,200,25,"getScreenImage(x,y,w,h)",$$)
screenImage!.setCallback(screenImage!.ON_BUTTON_PUSH,"getScreenImage")
child!.addStaticText(201,30,225,50,25,"X",$$)
child!.addStaticText(202,80,225,50,25,"Y",$$)
child!.addStaticText(203,130,225,50,25,"W",$$)
child!.addStaticText(204,180,225,50,25,"H",$$)
x! = child!.addInputN(101,25,250,50,25)
y! = child!.addInputN(102,75,250,50,25)
w! = child!.addInputN(103,125,250,50,25)
h! = child!.addInputN(104,175,250,50,25)
gosub setOuterBounds
process_events
eoj:
release
resize:
event! = sysgui!.getLastEvent()
child!.setSize(event!.getWidth(),event!.getHeight())
return
getWindowImage:
gosub getOuterBounds
image! = window!.getWindowImage()
image$ = image!.getBytes("png")
image = unt
filename$ = System.getProperty("user.home") + "/Desktop/getWindowImage.png"
open (image,mode="O_CREATE,O_TRUNC")filename$
writerecord (image)image$
close (image)
return
getChildImage:
gosub getOuterBounds
image! = child!.getWindowImage()
image$ = image!.getBytes("png")
image = unt
filename$ = System.getProperty("user.home") + "/Desktop/getChildImage.png"
open (image,mode="O_CREATE,O_TRUNC")filename$
writerecord (image)image$
close (image)
return
getScreenImage:
gosub getOuterBounds
x = x!.getValue()
y = y!.getValue()
w = w!.getValue()
h = h!.getValue()
if (x or y or w or h) then
image! = sysgui!.getSystemMetrics().getScreenImage(x,y,w,h)
else
image! = sysgui!.getSystemMetrics().getScreenImage()
endif
image$ = image!.getBytes("png")
image = unt
filename$ = System.getProperty("user.home") + "/Desktop/getScreenImage.png"
open (image,mode="O_CREATE,O_TRUNC")filename$
writerecord (image)image$
close (image)
return
getOuterBounds:
x = window!.getOuterX()
y = window!.getOuterY()
w = window!.getOuterWidth()
h = window!.getOuterHeight()
print "Outer bounds =",x,y,w,h
return
setOuterBounds:
x!.setValue(window!.getOuterX())
y!.setValue(window!.getOuterY())
w!.setValue(window!.getOuterWidth())
h!.setValue(window!.getOuterHeight())
return
|