PreviousUpNext

15.4.1562  src/lib/x-kit/widget/theme/app-to-guishim-xspecific.pkg

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



stipulate
    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.pkg
herein

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




Comments and suggestions to: bugs@mythryl.org

PreviousUpNext