## get-mouse-selection.api
# Compiled by:
#
src/lib/x-kit/widget/xkit-widget.sublib# Various geometric utility routines.
# This assumes a mechanism for allowing only
# one thread at a time to grab the server.
# This api is implemented in:
#
src/lib/x-kit/widget/old/fancy/graphviz/get-mouse-selection.pkg
stipulate
include package threadkit; # threadkit is from
src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg #
package g2d= geometry2d; # geometry2d is from
src/lib/std/2d/geometry2d.pkg package xc = xclient; # xclient is from
src/lib/x-kit/xclient/xclient.pkgherein
api Get_Mouse_Selection {
get_pt
:
(xc::Window, Mailop( xc::Envelope( xc::Mouse_Mail )))
->
(xc::Mousebutton, xc::Mousebuttons_State)
->
Mailop( Null_Or( g2d::Point ) );
get_click_pt
:
(xc::Window, Mailop (xc::Envelope( xc::Mouse_Mail )))
->
(xc::Mousebutton, xc::Mousebuttons_State)
->
Mailop( Null_Or( g2d::Point ) );
get_box
:
(xc::Window, Mailop (xc::Envelope( xc::Mouse_Mail )))
->
xc::Mousebutton
->
Mailop( Null_Or( g2d::Box ) );
# my move_box: (xc::Window, Mailop( i::Envelope(i::Mouse_Mail)))
# -> (i::Mousebutton, i::Mousebutton_state, g2d::Box)
# -> Mailop( Null_Or (g2d::Box ));
}; # api Get_Mouse_Selection
end;