## app-to-guishim-xspecific.pkg
#
# guiboss_imp interacts with guishim_imp_for_x via the portable interface # guiboss_imp is from
src/lib/x-kit/widget/gui/guiboss-imp.pkg# # guishim_imp_for_x is from
src/lib/x-kit/widget/xkit/app/guishim-imp-for-x.pkg#
src/lib/x-kit/widget/theme/guishim-imp.api#
# But it is also reasonable for an application to want to make
# purely X-specific calls on guishim_imp_for_x, say for example
# an X-server browser app specifically designed to provide access
# to X-server state.
#
# Supporting such X-specific calls to guishim_imp_for_x
# is our charter here.
#
# This interface is NOT used by guiboss_imp, which by design
# contains only portable code.
# Compiled by:
#
src/lib/x-kit/widget/xkit-widget.sublibstipulate
include package threadkit; # threadkit is from
src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg #
package a2r = windowsystem_to_xevent_router; # windowsystem_to_xevent_router is from
src/lib/x-kit/xclient/src/window/windowsystem-to-xevent-router.pkg package gd = gui_displaylist; # gui_displaylist is from
src/lib/x-kit/widget/theme/gui-displaylist.pkg package mtx = rw_matrix; # rw_matrix is from
src/lib/std/src/rw-matrix.pkg package r8 = rgb8; # rgb8 is from
src/lib/x-kit/xclient/src/color/rgb8.pkg package w2x = windowsystem_to_xserver; # windowsystem_to_xserver is from
src/lib/x-kit/xclient/src/window/windowsystem-to-xserver.pkg package g2d = geometry2d; # geometry2d is from
src/lib/std/2d/geometry2d.pkg package g2p = gadget_to_pixmap; # gadget_to_pixmap is from
src/lib/x-kit/widget/theme/gadget-to-pixmap.pkg #
package evt = gui_event_types; # gui_event_types is from
src/lib/x-kit/widget/gui/gui-event-types.pkgherein
# This port is implemented in:
#
#
src/lib/x-kit/widget/xkit/app/guishim-imp-for-x.pkg #
package app_to_guishim_xspecific {
#
App_To_Guishim_Xspecific # NB: I've made no attempt to make this exhaustive; I intend to add functionality a bit at a time as I find need for it. -- CrT 2015-02-19
=
{ id: Id, # Unique id to facilitate storing instances in indexed datastructures like red-black trees.
list_extensions: Void -> List(String), # The X ListExtensions call.
list_fonts: { max: Int, pattern: String } -> List(String) # The X ListFonts call. 'max' limits number of strings returned: My system has about 2500 fonts at the moment.
# Only fontnames matching 'pattern' are returned. "*" lists all fonts. More generally pattern includes "?" to match a single char and "*" to match any number of chars.
};
}; # package appwindow;
end;