Knatterton
Anmeldungsdatum: 19.10.2019 Beiträge: 1
|
Verfasst am: 19.10.2019, 17:08 Titel: Fltk, GUI der Superlative |
|
|
Hallo Freunde,
Ihr kennt mich sicher schon aus dem englischsprachigen Forum. Ich möchte hier nun auch meine Machwerke zur Diskussion stellen, in der Hoffnung, dass einige der Erfahreneren Verbesserungsvorschläge haben. Hier ist gleich mal ein Beispiel für animierte Buttons in Fltk:
Code: | ' Fltk_Pixmaps_Anim.bas
#include once "fltk-c.bi"
dim as zstring ptr icon_eye_open_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #0B0B0C",@"+ c #00162D",@"@ c #2D2F30",@"# c #1C3254", _
@"$ c #0F4386",@"% c #004FAE",@"& c #4A4A4A",@"* c #0960D6",@"= c #2E60A5", _
@"- c #3D6088",@"; c #6B6B6C",@"> c #468EE1",@", c #878786",@"' c #648DC0", _
@") c #8BA8C7",@"! c #81A9E0",@"~ c #A7A9AA",@"{ c #96C7F9",@"] c #C6C8C8", _
@"^ c #BDD5EB",@"/ c #DDE7F1",@"( c #F3F9FF",@"_ c #F8F9F5", _
@" ", _
@" ] ", _
@" / ~/ ], , ] ", _
@" ~ ,~ ~;/ ;/ ], ", _
@" ] ,] ,; ,;~];] ;~ ~ ", _
@" ], ,, ,;~;;;,&,~&~ ~; ", _
@" ;~ ,;,;&&@.......,~@, /] ", _
@" ]] ,;,,;;,~/(((/~;&.@..~~& ", _
@" ,~ ,;,~]//^)---)^//];@.&., ,] ", _
@" ,,,,,]__/)-''!!'-)/(/];..;.& ", _
@" ~;,]__(()'!!{^^)!=!(__/)@.. ", _
@"],~,](__()')//^{{{{!=)(_((~&.&~ ", _
@" ;,]_(__/-!^(_^'''>>>-^__((~@@ ", _
@"_,]__(_()'!^((]@+$%%%=)(_(((~& ", _
@"]~_____(-'{{^~&..+%**%-(_((//;~ ", _
@"~]____((#!{'=.....$**%#(__((/], ", _
@"~,___(_(-'>>%+...+=**%-__(((/,~ ", _
@" ;]__(__)=**%#+..$**%%!(_((/^, ", _
@" ~;]___(/-=***%$%%**%#^((_(];] ", _
@" ,&/__(()$%*******%%)(((_];. ", _
@" ;.&](((('$=*****%$'(/(/]&;;, ", _
@" @@&@,]((()-%%%%%$)((/],@., ", _
@" ~ &..&,]//^'=#-)^//],&@~&, ", _
@" _&]~..@;,~///(]],&@&.& ", _
@" ;.,..........&.. ~; ", _
@" , .;].~&.;,./;; ", _
@" ; /& ~. & ~ ", _
@" ~ ] ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr icon_eye_closed_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #150B05",@"+ c #322214",@"@ c #534A47",@"# c #795636", _
@"$ c #686969",@"% c #766B5D",@"& c #8E7B68",@"* c #A27954",@"= c #838484", _
@"- c #C68F56",@"; c #BA9268",@"> c #A2A4A3",@", c #BEA38D",@"' c #D9A46B", _
@") c #CBAC86",@"! c #D9AD79",@"~ c #E7BC84",@"{ c #E7BF92",@"] c #D8C2AA", _
@"^ c #C7C6C3",@"/ c #F2C890",@"( c #F4E0CB",@"_ c #EBE8E2", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" _((]);;;)]] _ ", _
@" (]{!!!~~~~!!;;)]( ", _
@" _()!~{{{/~~~~''';;,] ", _
@" ({!~/{/////~~~~!!!!'-- ", _
@" (]{~~////////~~~!!!!'--;( ", _
@" (])~~~////////~~~!!!!'--*;( ", _
@" {)!~~~////////~~~!!!!''--*, ", _
@" _!!~~~~////////~~~!!!'''---*, ", _
@"_^!!~~~~/{/////~~~~!!!'''---;&_ ", _
@"^%'!!!~~~{////~~~~!!!'''----*#^ ", _
@"_&;!!!~~~/~~~~~~~~!!''''----## ", _
@" =&;!''~!{~~~~~!!'!!!!----**+. ", _
@"^=>&;;!''!!~~~~!!!''''----*++%= ", _
@" >$%&;!''!~!!!!'''''---*#+..^ ", _
@" ===%&*;'''''''''----**#+.%.@ ", _
@" _=> =%%#*;--!''--;**#@..@.=_=^ ", _
@" ^^ =$==%#####**##@+.+..^>@ ", _
@" _=> =$=%@@++......>>@= _^ ", _
@" ^> == =$>$$$=$=>$> >$ ", _
@" _ =^ =$ =$>^$^ $> > ", _
@" > => =$_ $ ^> ", _
@" ^ >_ ^= > ^ ", _
@" _ ^ ", _
@" ", _
@" "}
dim as zstring ptr hand_point_left1_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #7D6146", _
@"$ c #70635A",@"% c #915F34",@"& c #9B6229",@"* c #A57345",@"= c #7B7891", _
@"- c #A57E62",@"; c #C17B42",@"> c #928C85",@", c #BE8847",@"' c #BD8B5B", _
@") c #D99B56",@"! c #DA9A68",@"~ c #D3A366",@"{ c #B1ADAA",@"] c #D4AA7C", _
@"^ c #CBAD8E",@"/ c #F6CD9C",@"( c #E5D6C9",@"_ c #F5D9B3", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" (( ( ", _
@" (^^^_^^^( ", _
@" (^--]]]]]]]]]]^^^/////^^( ", _
@"{-~)~////_____^/////////]^( ", _
@"{#'~~]^]___/]]_]/]'*''//_^]{((++", _
@">$#######-^]!]]]']]]*'']__/^^>++", _
@"({{>>>>>$$-'!!*']/_/'%']//_(^-@@", _
@" {$#*;;]//___]%*!]//___@@", _
@" $-!!!///__^%%*-'~~//_@@", _
@" >-~)!]//'^__%&*,,~]~^@@", _
@" $#~,;'']____*&&&*'-)]@@", _
@" >$#%;;//___-%%%&**,'~@@", _
@" $#%')~~/]'*%&%&*;,!~@@", _
@" {$#'!~,*]_]&&*;';)!!+@", _
@" >##*&'///]%*'!!;)!'@@", _
@" {$##!]]/'%%*,))))!,++", _
@" >$$'!~'&&&&,;,))!,++", _
@" >$###%%%%%%%##*-*++", _
@" {>$$$$$$$$$$$$$#++", _
@" ( {=..", _
@" {==", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr hand_point_left2_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #7D6146", _
@"$ c #70635A",@"% c #915F34",@"& c #9B6229",@"* c #A57345",@"= c #7B7891", _
@"- c #A57E62",@"; c #C17B42",@"> c #928C85",@", c #BE8847",@"' c #BD8B5B", _
@") c #D99B56",@"! c #DA9A68",@"~ c #D3A366",@"{ c #B1ADAA",@"] c #D4AA7C", _
@"^ c #CBAD8E",@"/ c #F6CD9C",@"( c #E5D6C9",@"_ c #F5D9B3", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ((((( ", _
@" (^^^_^^^(( ", _
@"(^--]]]]]]]]]]^^^/////^^(( ", _
@"-~)~////_____^/////////]^(( ", _
@"#'~~]^]___/]]_]/]'*''//_^]{((+++", _
@"$#######-^]!]]]']]]*'']__/^^>+++", _
@"{{>>>>>$$-'!!*']/_/'%']//_(^-@@@", _
@" {$#*;;]//___]%*!]//___@@@", _
@" $-!!!///__^%%*-'~~//_@@@", _
@" >-~)!]//'^__%&*,,~]~^@@@", _
@" $#~,;'']____*&&&*'-)]@@@", _
@" >$#%;;//___-%%%&**,'~@@@", _
@" $#%')~~/]'*%&%&*;,!~@@@", _
@" {$#'!~,*]_]&&*;';)!!+@@", _
@" >##*&'///]%*'!!;)!'@@@", _
@" {$##!]]/'%%*,))))!,+++", _
@" >$$'!~'&&&&,;,))!,+++", _
@" >$###%%%%%%%##*-*+++", _
@" {>$$$$$$$$$$$$$#+++", _
@" (({=...", _
@" {===", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr hand_point_left3_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #7D6146", _
@"$ c #70635A",@"% c #915F34",@"& c #9B6229",@"* c #A57345",@"= c #7B7891", _
@"- c #A57E62",@"; c #C17B42",@"> c #928C85",@", c #BE8847",@"' c #BD8B5B", _
@") c #D99B56",@"! c #DA9A68",@"~ c #D3A366",@"{ c #B1ADAA",@"] c #D4AA7C", _
@"^ c #CBAD8E",@"/ c #F6CD9C",@"( c #E5D6C9",@"_ c #F5D9B3", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" (((( ( ", _
@" (^^^_^^^(^( ", _
@"^--]]]]]]]]]]^^^/////^^(^( ", _
@"~)~////_____^/////////]^(^( ", _
@"'~~]^]___/]]_]/]'*''//_^]{((++++", _
@"#######-^]!]]]']]]*'']__/^^>++++", _
@"{>>>>>$$-'!!*']/_/'%']//_(^-@@@@", _
@" {$#*;;]//___]%*!]//___@@@@", _
@" $-!!!///__^%%*-'~~//_@@@@", _
@" >-~)!]//'^__%&*,,~]~^@@@@", _
@" $#~,;'']____*&&&*'-)]@@@@", _
@" >$#%;;//___-%%%&**,'~@@@@", _
@" $#%')~~/]'*%&%&*;,!~@@@@", _
@" {$#'!~,*]_]&&*;';)!!+@+@", _
@" >##*&'///]%*'!!;)!'@@@@", _
@" {$##!]]/'%%*,))))!,++++", _
@" >$$'!~'&&&&,;,))!,++++", _
@" >$###%%%%%%%##*-*++++", _
@" {>$$$$$$$$$$$$$#++++", _
@" ( {=....", _
@" {====", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr hand_point_right1_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #70635B", _
@"$ c #7E6247",@"% c #926136",@"& c #9F622B",@"* c #7B7891",@"= c #A77C4B", _
@"- c #BC7B4B",@"; c #AB8769",@"> c #9A9187",@", c #C88B48",@"' c #BF8E5D", _
@") c #DDA363",@"! c #DDA476",@"~ c #D4AD7F",@"{ c #B7B5B2",@"] c #D0B599", _
@"^ c #F7C887",@"/ c #F7D2A4",@"( c #F3D9B8",@"_ c #EBE0D5", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ____ ", _
@" _]]](];;]_ ", _
@" _]]/////~~;~~~~~~~~~';;]_ ", _
@" _ (;~^////////]////(///^^));{", _
@"++__]~](/~'==='/~/~~/(((~~~!'=$>", _
@"++>]]//(~'==~~~'!~~!!];$$$$$$$#>", _
@"@@;;_(//!'%'/(/~'=!!';##>>>>>>{ ", _
@"@@(((//~'-%~(((//!---$#{ _ ", _
@"@@(^/^~'--%%]((//!),!;# ", _
@"@@]^!)'=-&%//;;//!)));> ", _
@"@@~,;'=&&&%/(((~='-,)$# ", _
@"@@)'=&%&%%%;((//~,-%$#> ", _
@"@@)!,--&%&&='~/^))'%$#{ ", _
@"@+'!,,--=&&!/~=,)-'$#{ ", _
@"@@'!,,'-=%%~///'&%$$> ", _
@"++-!,,,,'=%%'/!!'$$#{ ", _
@"++,)),,,,&&&&-!!'##> ", _
@"++%;=$$%%%%%%%$$$#> ", _
@"++$##############{ ", _
@"..*{ _ { { {{ ", _
@"*** ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr hand_point_right2_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #70635B", _
@"$ c #7E6247",@"% c #926136",@"& c #9F622B",@"* c #7B7891",@"= c #A77C4B", _
@"- c #BC7B4B",@"; c #AB8769",@"> c #9A9187",@", c #C88B48",@"' c #BF8E5D", _
@") c #DDA363",@"! c #DDA476",@"~ c #D4AD7F",@"{ c #B7B5B2",@"] c #D0B599", _
@"^ c #F7C887",@"/ c #F7D2A4",@"( c #F3D9B8",@"_ c #EBE0D5", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" _____ ", _
@" __]]](];;]_ ", _
@" __]]/////~~;~~~~~~~~~';;]_", _
@" __ ((;~^////////]////(///^^));", _
@"+++__]~](/~'==='/~/~~/(((~~~!'=$", _
@"+++>]]//(~'==~~~'!~~!!];$$$$$$$#", _
@"@@@;;_(//!'%'/(/~'=!!';##>>>>>>{", _
@"@@@(((//~'-%~(((//!---$#{__ ", _
@"@@@(^/^~'--%%]((//!),!;# ", _
@"@@@]^!)'=-&%//;;//!)));> ", _
@"@@@~,;'=&&&%/(((~='-,)$# ", _
@"@@@)'=&%&%%%;((//~,-%$#> ", _
@"@@@)!,--&%&&='~/^))'%$#{ ", _
@"@@+'!,,--=&&!/~=,)-'$#{ ", _
@"@@@'!,,'-=%%~///'&%$$> ", _
@"+++-!,,,,'=%%'/!!'$$#{ ", _
@"+++,)),,,,&&&&-!!'##> ", _
@"+++%;=$$%%%%%%%$$$#> ", _
@"+++$##############{ ", _
@"...*{ __ {{{{ {{{ ", _
@"**** ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr hand_point_right3_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #221D45",@"+ c #1D2E90",@"@ c #3549B2",@"# c #70635B", _
@"$ c #7E6247",@"% c #926136",@"& c #9F622B",@"* c #7B7891",@"= c #A77C4B", _
@"- c #BC7B4B",@"; c #AB8769",@"> c #9A9187",@", c #C88B48",@"' c #BF8E5D", _
@") c #DDA363",@"! c #DDA476",@"~ c #D4AD7F",@"{ c #B7B5B2",@"] c #D0B599", _
@"^ c #F7C887",@"/ c #F7D2A4",@"( c #F3D9B8",@"_ c #EBE0D5", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" ______ ", _
@" _]_]]](];;]_ ", _
@" _]_]]/////~~;~~~~~~~~~';;]", _
@" _ _ (;(;~^////////]////(///^^))", _
@"++++__]~](/~'==='/~/~~/(((~~~!'=", _
@"++++>]]//(~'==~~~'!~~!!];$$$$$$$", _
@"@@@@;;_(//!'%'/(/~'=!!';##>>>>>>", _
@"@@@@(((//~'-%~(((//!---$#{ _ ", _
@"@@@@(^/^~'--%%]((//!),!;# ", _
@"@@@@]^!)'=-&%//;;//!)));> ", _
@"@@@@~,;'=&&&%/(((~='-,)$# ", _
@"@@@@)'=&%&%%%;((//~,-%$#> ", _
@"@@@@)!,--&%&&='~/^))'%$#{ ", _
@"@+@+'!,,--=&&!/~=,)-'$#{ ", _
@"@@@@'!,,'-=%%~///'&%$$> ", _
@"++++-!,,,,'=%%'/!!'$$#{ ", _
@"++++,)),,,,&&&&-!!'##> ", _
@"++++%;=$$%%%%%%%$$$#> ", _
@"++++$##############{ ", _
@"....*{_ _{ { {{{{{ ", _
@"***** ", _
@" ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr coffee_pot_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #2D0C01",@"+ c #360B00",@"@ c #2D160B",@"# c #452106", _
@"$ c #492721",@"% c #47342E",@"& c #583210",@"* c #69431F",@"= c #704716", _
@"- c #615551",@"; c #67593E",@"> c #8B5E25",@", c #855F37",@"' c #787470", _
@") c #A77244",@"! c #878785",@"~ c #959693",@"{ c #A6A7A4",@"] c #B6B6B5", _
@"^ c #C7C7C5",@"/ c #D6D7D5",@"( c #E7E7E5",@"_ c #F7F8F5", _
@" ", _
@" ", _
@" ", _
@" /]{~!!!!!~{ ", _
@" {~{]]^/(((((^]{~{ ", _
@" {]////(((((((___(/]{ ", _
@" ]/(]~--%@@@@@%-'{(__/{ ", _
@" ~^/!-$......++++++.$']_({ ", _
@"{]{-@@.+#&&****&&##@@@%!_^{ ", _
@"!]-@.+#*>>>>>===&###@.##~_! ", _
@"!~@.++&>>>>>===&####+#*,%(!^{^ ", _
@"!~%.++=>>>>>===&&&#++=)>%(~^(_] ", _
@"!{'%..#&>>>>===&&#&*,,,=^]{/_(_^", _
@"{{/~-%@@#&&******,,**;~^^!]^^((]", _
@"]~_(^]'--%$$..+$$%-~]^]]{!-'-//]", _
@"^!(___(/^^]]]]^^^//{~'!{]' ']^]", _
@"/!(________((///^^^~!'!{~ -]]^", _
@" !^_______((////^^]!!'!~~ {^~ ", _
@" ~~_____((((///^^^]~!!~~~~']]! ", _
@" /!^_(__((////^^^^]~!!~~'~]~! ", _
@" ~~___((///////^^{!!!~~~{!'~ ", _
@" ]!/_(//////////^{!!~~'!'' ", _
@" ~{(/^/////////^{!~{~''~{ ", _
@" (!{^^^//((((//^{{]~!~{] ", _
@" ]~{^^/((((((//^]{!~] ", _
@" ^~~^/((_((((^]{~~{ ", _
@" ]{]^(__//]~~~ ", _
@" /]{~!!!~~~ ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr coffee_pot_half_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #2D0C02",@"+ c #350A00",@"@ c #2C160B",@"# c #411E03", _
@"$ c #502E0E",@"% c #493028",@"& c #694621",@"* c #625652",@"= c #67593E", _
@"- c #825921",@"; c #787470",@"> c #878785",@", c #9A8C75",@"' c #959694", _
@") c #A6A6A4",@"! c #BBA696",@"~ c #B6B6B5",@"{ c #C7C7C5",@"] c #D2D4D1", _
@"^ c #DBDCD9",@"/ c #F2E4E5",@"( c #EAE8E6",@"_ c #F7F8F5", _
@" ", _
@" ", _
@" ", _
@" ]~)'>>>>>') ", _
@" )')~~{^((((/{~)') ", _
@" )~]^^^((((((//__(]~) ", _
@" ~^^((((((((((((_(((_]) ", _
@" '{]^((((((((((((((_(((/() ", _
@")~)^^(^((((!!!!!(((((((^_{) ", _
@">~^^^;((**%@@@@%%*;((]^^^_> ", _
@">'^>>*%.....+++++++.%;~^^(>{){ ", _
@">'>*@@.+#$&&&&&$$###@@%,;('{(_~ ", _
@">)*@..#$------&&$##$$#$$){)^((_{", _
@"))]'*%@@$$$&&&&&&&&&&=,{{>~{{((~", _
@"~'_({~;**%%@..++%%*,~{~~)>*;*]^~", _
@"{>(___(]{{~~~~{{{]])';>)~; ;~{~", _
@"^>^________(^^^^]{{'>;>)' *~~{", _
@" >{_______((^^]]{{~>>;>'' ){' ", _
@" ''_____(((^^^]{{{~'>>'''';~~> ", _
@" ]>{_(__(^^^^]{{{{~'>>'';'~'> ", _
@" ''___(^^^^^]]]{{)>>>''')>;' ", _
@" ~>]_^]^^^^^^]]]{)>>'';>;; ", _
@" ')^]{]]^^^^^^]{)>')';*') ", _
@" (>){{{]^^^(^^^{))~'>')~ ", _
@" ~'){{]((((((^]{~)>'~ ", _
@" {''{^((_((((]~)'') ", _
@" ~)~{(__^]~''' ", _
@" ]~)'>>>''' ", _
@" ", _
@" ", _
@" ", _
@" "}
dim as zstring ptr coffee_pot_empty_32x32_xpm(...) => {@"32 32 24 1", _
@" c None",@". c #2D0C02",@"+ c #350A00",@"@ c #2C160B",@"# c #411E03", _
@"$ c #502E0E",@"% c #493028",@"& c #694621",@"* c #625652",@"= c #67593E", _
@"- c #825921",@"; c #787470",@"> c #878785",@", c #9A8C75",@"' c #959694", _
@") c #A6A6A4",@"! c #BBA696",@"~ c #B6B6B5",@"{ c #C7C7C5",@"] c #D2D4D1", _
@"^ c #DBDCD9",@"/ c #F2E4E5",@"( c #EAE8E6",@"_ c #F7F8F5", _
@" ", _
@" ", _
@" ", _
@" ]~)'>>>>>') ", _
@" )')~~{^((((/{~)') ", _
@" )~]^^^_((__(//__(]~) ", _
@" ~^^(^_(_(_(___(_(((_]) ", _
@" '{]^(^_(_(((((_____(((/() ", _
@")~)^^^^__(_(_(_____((^(^_{) ", _
@">~^^_^_(_(((((((__^(^]^^^_> ", _
@">'^^^_^_((_(((((___^^^^^^(>{){ ", _
@">'>^_^_(_(((((((((^(^^^,;('{(_~ ", _
@">)>(^^__((_(((((((((^(>>){)^((_{", _
@"))]'>^(((((((((((((>>>,{{>~{{((~", _
@"~'_({~;>>>>>>>>>>>>,~{~~)>*;*]^~", _
@"{>(___(]_{~~~~{{{]])';>)~; ;~{~", _
@"^>^________(^^^^]{{'>;>)' *~~{", _
@" >{_______((^^]]{{~>>;>'' ){' ", _
@" ''_____(((^^^]{{{~'>>'''';~~> ", _
@" ]>{_(__(^^^^]{{{{~'>>'';'~'> ", _
@" ''___(^^^^^]]]{{)>>>''')>;' ", _
@" ~>]_^]^^^^^^]]]{)>>'';>;; ", _
@" ')^]{]]^^^^^^]{)>')';*') ", _
@" (>){{{]^^^(^^^{))~'>')~ ", _
@" ~'){{]((((((^]{~)>'~ ", _
@" {''{^((_((((]~)'') ", _
@" ~)~{(__^]~''' ", _
@" ]~)'>>>''' ", _
@" ", _
@" ", _
@" ", _
@" "}
dim shared as any ptr pot,pothalf,potempty,handleft1,handleft2,handleft3, _
handright1,handright2,handright3,eye,eyeclose
pot = Fl_PixmapNew(@coffee_pot_32x32_xpm(0))
pothalf = Fl_PixmapNew(@coffee_pot_half_32x32_xpm(0))
potempty = Fl_PixmapNew(@coffee_pot_empty_32x32_xpm(0))
handleft1 = Fl_PixmapNew(@hand_point_left1_32x32_xpm(0))
handleft2 = Fl_PixmapNew(@hand_point_left2_32x32_xpm(0))
handleft3 = Fl_PixmapNew(@hand_point_left3_32x32_xpm(0))
handright1 = Fl_PixmapNew(@hand_point_right1_32x32_xpm(0))
handright2 = Fl_PixmapNew(@hand_point_right2_32x32_xpm(0))
handright3 = Fl_PixmapNew(@hand_point_right3_32x32_xpm(0))
eye = Fl_PixmapNew(@icon_eye_open_32x32_xpm(0))
eyeclose = Fl_PixmapNew(@icon_eye_closed_32x32_xpm(0))
var win = Fl_Double_WindowNew(384,384,"Fltk Pixmaps Anim")
Fl_Background(238,109,218) ' redviolet
var box1 = Fl_BoxExNew(50,60,32,32)
Fl_WidgetSetImage box1,eye
var box2 = Fl_BoxExNew(50+44*1,60,32,32)
Fl_WidgetSetImage box2,eyeclose
var box8 = Fl_BoxExNew(50+44*0,160,32,32)
Fl_WidgetSetImage box8,handright1
var box9 = Fl_BoxExNew(50+44*1,160,32,32)
Fl_WidgetSetImage box9,handright2
var box10 = Fl_BoxExNew(50+44*2,160,32,32)
Fl_WidgetSetImage box10,handright3
var box11 = Fl_BoxExNew(50+44*3,160,32,32)
Fl_WidgetSetImage box11,handleft3
var box12 = Fl_BoxExNew(50+44*4,160,32,32)
Fl_WidgetSetImage box12,handleft2
var box13 = Fl_BoxExNew(50+44*5,160,32,32)
Fl_WidgetSetImage box13,handleft1
var box15 = Fl_BoxExNew(50+44*0,260,32,32)
Fl_WidgetSetImage box15,pot
var box16 = Fl_BoxExNew(50+44*1,260,32,32)
Fl_WidgetSetImage box16,pothalf
var box17 = Fl_BoxExNew(50+44*2,260,32,32)
Fl_WidgetSetImage box17,potempty
dim shared as byte signal1,signal2,signal3,signal4,signal5
dim shared as any ptr btn1
btn1 = Fl_ButtonNew( 42+45*0,100,40,40)
Fl_WidgetSetColor btn1,Fl_RGB_Color(223,169,33)
Fl_WidgetSetImage btn1,eye
dim shared as any ptr btn2
btn2 = Fl_ButtonNew( 42+45*1,100,40,40)
Fl_WidgetSetColor btn2,Fl_RGB_Color(223,169,33)
Fl_WidgetSetImage btn2,eye
dim shared as any ptr btn3
btn3 = Fl_ButtonNew( 42+45*0,200,40,40)
Fl_WidgetSetImage btn3,handright1
dim shared as any ptr btn6
btn6 = Fl_ButtonNew( 42+45*1,200,130,40,"Push me!")
Fl_WidgetSetLabelSize(btn6,24)
dim shared as any ptr btn4
btn4 = Fl_ButtonNew( 42+45*4,200,40,40)
Fl_WidgetSetImage btn4,handleft1
dim shared as any ptr btn5
btn5 = Fl_ButtonNew( 42+45*0,300,40,40)
Fl_WidgetSetImage btn4,potempty
sub ButtonCB cdecl (byval button as FL_WIDGET ptr)
? "Button pushed"
if button = btn1 then Fl_WidgetSetImage button, eyeclose
if button = btn2 then Fl_WidgetSetImage button, eyeclose
if button = btn5 then Fl_WidgetSetImage button, potempty
if button = btn1 then signal1 = -1
if button = btn2 then signal2 = -1
if button = btn3 then signal3 = -1
if button = btn4 then signal4 = -1
if button = btn5 then signal5 = -1
end sub
' connect callbacks
Fl_WidgetSetCallback0 btn1, @ButtonCB
Fl_WidgetSetCallback0 btn2, @ButtonCB
Fl_WidgetSetCallback0 btn3, @ButtonCB
Fl_WidgetSetCallback0 btn4, @ButtonCB
Fl_WidgetSetCallback0 btn5, @ButtonCB
Fl_WidgetSetCallback0 btn6, @ButtonCB
sub TimeoutHandler1 cdecl (byval btn as any ptr)
select case signal1
case 0
signal1 = 1
Fl_WidgetSetImage btn,eyeclose
case 1
signal1 = 0
Fl_WidgetSetImage btn,eye
end select
Fl_ReDraw()
' repeat the timer
Fl_RepeatTimeout(0.8, @TimeoutHandler1,btn)
end sub
sub TimeoutHandler2 cdecl (byval btn as any ptr)
select case signal2
case 0
signal2 = 1
Fl_WidgetSetImage btn,eyeclose
case 1
signal2 = 0
Fl_WidgetSetImage btn,eye
end select
Fl_ReDraw()
' repeat the timer
Fl_RepeatTimeout(0.8, @TimeoutHandler2,btn)
end sub
sub TimeoutHandler3 cdecl (byval btn as any ptr)
signal3 += 1
if signal3 > 2 then signal3 = 0
select case signal3
case 0
Fl_WidgetSetImage btn,handright1
case 1
Fl_WidgetSetImage btn,handright2
case 2
Fl_WidgetSetImage btn,handright3
end select
Fl_ReDraw()
' repeat the timer
Fl_RepeatTimeout(0.2, @TimeoutHandler3,btn)
end sub
sub TimeoutHandler4 cdecl (byval btn as any ptr)
signal4 += 1
if signal4 > 2 then signal4 = 0
select case signal4
case 0
Fl_WidgetSetImage btn,handleft1
case 1
Fl_WidgetSetImage btn,handleft2
case 2
Fl_WidgetSetImage btn,handleft3
end select
Fl_ReDraw()
' repeat the timer
Fl_RepeatTimeout(0.2, @TimeoutHandler4,btn)
end sub
sub TimeoutHandler5 cdecl (byval btn as any ptr)
if signal5 > -1 then signal5 += 1
if signal5 > 2 then signal5 = 0
select case signal5
case 0
Fl_WidgetSetImage btn,pot
case 1
Fl_WidgetSetImage btn,pothalf
case 2
Fl_WidgetSetImage btn,potempty
end select
Fl_ReDraw()
' repeat the timer
Fl_RepeatTimeout(0.5, @TimeoutHandler5,btn)
end sub
Fl_WindowShow win
Fl_AddTimeout 0, @TimeoutHandler1,btn1
Fl_AddTimeout 0, @TimeoutHandler2,btn2
Fl_AddTimeout 0, @TimeoutHandler3,btn3
Fl_AddTimeout 0, @TimeoutHandler4,btn4
Fl_AddTimeout 0, @TimeoutHandler5,btn5
Fl_Run |
|
|