PreviousUpNext

15.4.1473  src/lib/x-kit/xclient/pkg/window/hash-window.pkg

## hash-window.pkg
#
# A hashtable package for hashing on windows.

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



stipulate
    package dt =  draw_types;                           # draw_types            is from   src/lib/x-kit/xclient/pkg/window/draw-types.pkg
    package hx =  hash_xid;                             # hash_xid              is from   src/lib/x-kit/xclient/pkg/stuff/hash-xid.pkg
herein


    package   hash_window
    : (weak)  Hash_Window                               # Hash_Window           is from   src/lib/x-kit/xclient/pkg/window/hash-window.api
    {
        Window_Map(X) =  hx::Xid_Map(X);

        exception WINDOW_NOT_FOUND
            =
            hx::XID_NOT_FOUND;

        make_map =  hx::make_map;

        fun get m (dt::WINDOW { window_id, ... } )
            =
            hash_xid::get  m  window_id;

        get_window_id =  hx::get;

        fun set    m (dt::WINDOW { window_id, ... }, a) =  hx::set m (window_id, a);
        fun remove m (dt::WINDOW { window_id, ... }   ) =  hx::remove m window_id;

        fun list table
            =
            map #2 (hx::list table);

    };                                  # package hash_window
end;

## COPYRIGHT (c) 1990, 1991 by John H. Reppy.  See COPYRIGHT file for details.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext