added eugtk examples
This commit is contained in:
64
eugtk/examples/test209.ex
Normal file
64
eugtk/examples/test209.ex
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
--# Widget opacity, blinking icons
|
||||
|
||||
include GtkEngine.e
|
||||
|
||||
requires("3.10","Widget Opacity")
|
||||
|
||||
constant docs = `
|
||||
Slide the slider bar to change the
|
||||
opacity of the top button...
|
||||
`
|
||||
constant win = create(GtkWindow,{
|
||||
{"title","Widget Opacity"},
|
||||
{"border width",10},
|
||||
{"connect","destroy","Quit"}})
|
||||
|
||||
if get(win,"is composited") = 0 then
|
||||
Warn(win,"Sorry",
|
||||
"This program requires",
|
||||
"a compositing window manager")
|
||||
end if
|
||||
|
||||
constant panel = create(GtkBox,VERTICAL)
|
||||
add(win,panel)
|
||||
|
||||
constant btn1 = create(GtkButton,"thumbnails/clown.png#Clown")
|
||||
set(btn1,"opacity",0.5)
|
||||
add(panel,btn1)
|
||||
|
||||
constant btn2 = create(GtkButton,"thumbnails/clown.png#Clown")
|
||||
add(panel,btn2)
|
||||
|
||||
constant btn2img = get(btn2,"image")
|
||||
|
||||
constant slider = create(GtkScale,0,0,1,.01)
|
||||
connect(slider,"value-changed","Update")
|
||||
set(slider,"value",0.5)
|
||||
add(panel,slider)
|
||||
|
||||
constant lbl = create(GtkLabel,docs)
|
||||
add(panel,lbl)
|
||||
|
||||
constant tick = create(GTimeout,100,call_back(routine_id("blink")))
|
||||
atom x = 1
|
||||
|
||||
show_all(win)
|
||||
|
||||
main()
|
||||
|
||||
------------------------
|
||||
global function Update()
|
||||
------------------------
|
||||
set(btn1,"opacity",get(slider,"value"))
|
||||
return 1
|
||||
end function
|
||||
|
||||
-------------------------
|
||||
global function blink() -- strictly for fun :)
|
||||
-------------------------
|
||||
set(btn2img,"opacity",x)
|
||||
x -= .1
|
||||
if x < 0 then x = 1 end if
|
||||
return 1
|
||||
end function
|
||||
Reference in New Issue
Block a user