PreviousUpNext

15.3.701  src/lib/x-kit/xclient/pkg/window/ro-pixmap.api

## ro-pixmap.api
#
#   The three kinds of X server rectangular arrays of pixels
#   supported by x-kit are window, rw_pixmap and ro_pixmap.
#
#      o 'window': are on-screen  and on the X-server.
#      o 'rw_pixmap': are off-screen and on the X-server.
#      o 'ro_pixmap': offscreeen, immutable and on the X-server.
#
#   These all have 'depth' (bits per pixel) and
#   'size' (in pixel rows and cols) information.
#   Windows have in addition 'upperleft' position
#   (relative to parent window) and border width in pixels.
#
#   (A fourth kind of rectangular array of pixels is the
#   clientside 'cs_pixmap'.  These are not 'drawable', but
#   pixels can be bitblt-ed between them and server-side
#   windows and pixmaps.)
#
# See also:
#     src/lib/x-kit/xclient/pkg/window/window.api
#     src/lib/x-kit/xclient/pkg/window/cs-pixmap.pkg
#     src/lib/x-kit/xclient/pkg/window/rw-pixmap.pkg

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



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


stipulate
    package cw =  cs_pixmap;
    package dt =  draw_types;                                   # draw_types    is from   src/lib/x-kit/xclient/pkg/window/draw-types.pkg
herein

    api Ro_Pixmap {

        Ro_Pixmap;

        make_readonly_pixmap_from_readwrite_pixmap:     dt::Rw_Pixmap -> Ro_Pixmap;
            #
            # Make read-only window with pixel contents 
            # taken from given offscreen window.  Subsequent
            # changes to the input offscreen window will not
            # affect the resulting read-only window.

        make_readonly_pixmap_from_clientside_pixmap:  xsession::Screen -> cw::Cs_Pixmap -> Ro_Pixmap;
        make_readonly_pixmap_from_ascii:              xsession::Screen -> (Int, List(List(String))) -> Ro_Pixmap;
    };
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