diff --git a/library/bootstrap/boot-stage2.factor b/library/bootstrap/boot-stage2.factor index 8b9ae69ec7..d31a1673c4 100644 --- a/library/bootstrap/boot-stage2.factor +++ b/library/bootstrap/boot-stage2.factor @@ -157,9 +157,9 @@ cpu "x86" = [ "/library/ui/paint.factor" "/library/ui/gestures.factor" "/library/ui/hand.factor" + "/library/ui/layouts.factor" "/library/ui/world.factor" "/library/ui/labels.factor" - "/library/ui/layouts.factor" "/library/ui/events.factor" ] [ dup print diff --git a/library/sdl/sdl-event.factor b/library/sdl/sdl-event.factor index d1043f7b4b..a51c4613d4 100644 --- a/library/sdl/sdl-event.factor +++ b/library/sdl/sdl-event.factor @@ -234,8 +234,8 @@ BEGIN-UNION: event MEMBER: user-event END-UNION -: SDL_WaitEvent ( event -- ) - "int" "sdl" "SDL_WaitEvent" [ "event*" ] alien-invoke ; +: SDL_WaitEvent ( event -- ? ) + "bool" "sdl" "SDL_WaitEvent" [ "event*" ] alien-invoke ; : SDL_PollEvent ( event -- ? ) "bool" "sdl" "SDL_PollEvent" [ "event*" ] alien-invoke ; diff --git a/library/sdl/sdl-utils.factor b/library/sdl/sdl-utils.factor index 9c793e86de..6f462ffc91 100644 --- a/library/sdl/sdl-utils.factor +++ b/library/sdl/sdl-utils.factor @@ -59,7 +59,8 @@ SYMBOL: surface SDL_INIT_EVERYTHING SDL_Init drop TTF_Init [ >r init-screen r> call SDL_Quit ] with-scope ; inline -: rgb ( r g b -- n ) +: rgb ( [ r g b ] -- n ) + 3unlist 255 swap 8 shift bitor swap 16 shift bitor @@ -73,11 +74,11 @@ SYMBOL: surface swap 8 shift bitor swap bitor ; -: black 0 0 0 ; -: white 255 255 255 ; -: red 255 0 0 ; -: green 0 255 0 ; -: blue 0 0 255 ; +: black [ 0 0 0 ] ; +: white [ 255 255 255 ] ; +: red [ 255 0 0 ] ; +: green [ 0 255 0 ] ; +: blue [ 0 0 255 ] ; : clear-surface ( color -- ) >r surface get 0 0 width get height get r> boxColor ; diff --git a/library/ui/buttons.factor b/library/ui/buttons.factor new file mode 100644 index 0000000000..8a7dcf4dd0 --- /dev/null +++ b/library/ui/buttons.factor @@ -0,0 +1,17 @@ +! Copyright (C) 2005 Slava Pestov. +! See http://factor.sf.net/license.txt for BSD license. +IN: gadgets +USING: generic kernel lists math namespaces sdl ; + +: button-pressed ( button -- ) + dup f bevel-up? set-paint-property redraw ; + +: button-released ( button -- ) + dup t bevel-up? set-paint-property redraw ; + +: