PreviousUpNext

15.3.778  src/lib/x-kit/xclient/src/window/selection-old.api

## selection-old.api
#
# A window-level view of the low-level selection operations.
#
# See also:
#     src/lib/x-kit/xclient/src/window/selection-imp-old.api

# Compiled by:
#     src/lib/x-kit/xclient/xclient-internals.sublib



stipulate
    include package   threadkit;        # threadkit     is from   src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg
    #
    package xt =  xtypes;               # xtypes        is from   src/lib/x-kit/xclient/src/wire/xtypes.pkg
    package ww =  window_old;           # window_old    is from   src/lib/x-kit/xclient/src/window/window-old.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/x-kit/xclient/src/window/selection-old.pkg

    api Selection_Old {

        Selection_Handle;
        Atom;                           #  = xtypes::Atom
        Xserver_Timestamp;              #  = xserver_timestamp::Xserver_Timestamp;

        # Selection owner operations.
        #
        acquire_selection
            :
            (ww::Window, Atom, Xserver_Timestamp)
            ->
            Null_Or( Selection_Handle );

        selection_of:  Selection_Handle -> Atom;
        timestamp_of:  Selection_Handle -> Xserver_Timestamp;

        selection_req_mailop
            :
            Selection_Handle
            ->
            Mailop
              {
                target:       Atom,
                timestamp:    Null_Or( Xserver_Timestamp ),
                reply:        Null_Or( xt::Property_Value ) -> Void
              }
            ; 
            #
            # This event is enabled once for each request for the selection.
            # The target field is the requested target type;
            # The time field is the server-time of the gesture that caused the request;
            # The reply field is a function for sending the reply.


        selection_rel_mailop
            :
            Selection_Handle
            ->
            Mailop( Void )
            ;
            #
            # This event becomes enabled when the
            # selection is lost, either by the owner
            # releasing it, or by some other client
            # acquiring ownership.


        release_selection:  Selection_Handle -> Void;
            #
            # Release ownership of the selection.


        # Selection requestor operations.
        #
        request_selection
            :
            {
              window:     ww::Window,
              #
              selection:  Atom,
              target:     Atom,
              property:   Atom,
              #
              timestamp:  Xserver_Timestamp
            }
            ->
            Mailop( Null_Or( xt::Property_Value ) );
                #
                # Request the value of the selection.
                #  The window field is the requesting window;
                #  the selection field is the requested selection,
                #  the target field is the requested target type, and
                #  the time field is the server-time of the gesture
                #  causing the request.
                # This returns a mailop that will become
                # enabled when the reply is received.
    };
end;

## COPYRIGHT (c) 1994 by AT&T Bell Laboratories.  See SMLNJ-COPYRIGHT file for details.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext