PreviousUpNext

15.3.779  src/lib/x-kit/xclient/src/window/selection-ximp.api

## selection-imp-old.api
#
# See also:
#     src/lib/x-kit/xclient/src/window/selection-old.api

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



# This is the lowest-level interface to the ICCCM selection protocol.
# There is one selection imp per display connection.

stipulate
    include package   threadkit;                                                                # threadkit             is from   src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg
    #
    package xet =  xevent_types;                                                                # xevent_types          is from   src/lib/x-kit/xclient/src/wire/xevent-types.pkg
    package xt  =  xtypes;                                                                      # xtypes                is from   src/lib/x-kit/xclient/src/wire/xtypes.pkg
#   package dy  =  display_old;                                                                 # display_old           is from   src/lib/x-kit/xclient/src/wire/display-old.pkg
    package sep =  client_to_selection;                                                         # client_to_selection   is from   src/lib/x-kit/xclient/src/window/client-to-selection.pkg
    package ts  =  xserver_timestamp;                                                           # xserver_timestamp     is from   src/lib/x-kit/xclient/src/wire/xserver-timestamp.pkg
    package xes =  xevent_sink;                                                                 # xevent_sink           is from   src/lib/x-kit/xclient/src/wire/xevent-sink.pkg
    package x2s =  xclient_to_sequencer;                                                        # xclient_to_sequencer  is from   src/lib/x-kit/xclient/src/wire/xclient-to-sequencer.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/x-kit/xclient/src/window/selection-ximp.pkg
    #
    api Selection_Ximp {
        #
        Exports   = {                                                                           # Ports we export for use by other imps.
                      client_to_selection:      sep::Client_To_Selection,                               # Requests from widget/application code.
                      selection_xevent_sink:    xes::Xevent_Sink                                # Selection X-events from X server.
                    };

        Imports   = {                                                                           # Ports we use which are exported by other imps.
                      xclient_to_sequencer:     x2s::Xclient_To_Sequencer
                    };

        Option = MICROTHREAD_NAME String;                                                       # 

        Selection_Egg =  Void -> (Exports,   (Imports, Run_Gun, End_Gun) -> Void);

        make_selection_egg:   List(Option) -> Selection_Egg;                                    #
    };
end;                                            # stipulate



## 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