27 lines
606 B
Factor
27 lines
606 B
Factor
USING: kernel destructors alien.c-types alien.data strings sequences ;
|
|
USING: bemenu.ffi bemenu.ffi.private ;
|
|
USING: vocabs.parser ;
|
|
|
|
IN: bemenu
|
|
|
|
"bemenu.ffi" use-vocab
|
|
|
|
TUPLE: bemenu-renderer
|
|
ptr name priority ;
|
|
|
|
: get-text ( -- str )
|
|
[
|
|
f bm_menu_new &bm_menu_free
|
|
bm_menu_render
|
|
"hi"
|
|
] with-destructors ;
|
|
|
|
: bemenu-get-renderers ( -- renderers )
|
|
0 uint32_t <ref> [ bm_get_renderers ] keep uint32_t deref void* <c-direct-array>
|
|
[
|
|
dup
|
|
[ bm_renderer_get_name ]
|
|
[ bm_renderer_get_priorty ] bi
|
|
bemenu-renderer boa
|
|
] { } map-as ;
|