draw-context man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

DRAW-CONTEXT(2)						       DRAW-CONTEXT(2)

NAME
       Context - graphics environment

SYNOPSIS
       include "draw.m";
       draw := load Draw Draw->PATH;

       Context: adt
       {
	  display: ref Display;	     # frame buffer on which windows reside
	  wm:	   chan of (string,
		      chan of (string, ref Wmcontext)); # wmgr connection
       };

       # connection to window manager for one or more windows (as Images)
       Wmcontext: adt
       {
	  kbd:	   chan of int;		# incoming characters from keyboard
	  ptr:	   chan of ref Pointer; # incoming stream of mouse positions
	  ctl:	   chan of string;	# commands from wm to application
	  wctl:	   chan of string;	# commands from application to wm
	  images:  chan of ref Image;	# exchange of images
	  connfd:  ref Sys->FD;		# connection control
	  ctxt:	   ref Draw->Context;
       };

DESCRIPTION
       The  Context  type  encapsulates the data types and channels used by an
       interactive application, and establishes a context for graphics	output
       and  window  management.	  A  reference to the Context is passed as the
       first argument to an application when it begins execution:

       include "draw.m"

       Command: module
       {
	    init: fn(nil: ref Draw->Context; nil: list of string);
       };

       Most programs do not create Contexts but instead inherit one from their
       parent, typically a shell or window system.

   Context interface
       The following elements of Context are used by wm:

       display
	      The  Display  adt	 to which the application is connected; may be
	      nil.  See draw-display(2).

       wm     A shared channel through which a private channel can be  set  up
	      with  a window manager.  A client application sends a tuple con‐
	      taining a request string (of a format defined by the window man‐
	      ager) and a private reply channel.  It receives a tuple in reply
	      on that channel; the tuple contains a string  (eg,  an  acknowl‐
	      edgement	or  diagnostic)	 and  a reference to a Wmcontext value
	      containing channels by which the application can	interact  with
	      the window manager.

   Wmcontext interface
       The  Wmcontext  provides a set of channels and file descriptors through
       which the window manager and application interact.  The elements of the
       adt are used as follows:

       kbd    A channel of type int that delivers keystrokes from a keyboard.

       ptr    A channel of type ref Pointer that delivers events from a point‐
	      ing device such as a mouse.  See devpointer(2).

       ctl    A channel of type string that delivers control messages from the
	      window manager to the application.

       wctl   A	 channel  of  type string, which if initialised is used by the
	      application to send control messages to the window manager.   It
	      is not used by the current wm(1) or tkclient(2).

       images A	 channel  of type ref Image that allows the window manager and
	      application to exchange images (eg, when resizing, or to	supply
	      a cursor image).

       connfd A file descriptor that can be used to provide per-client connec‐
	      tion control.  For instance, a client can store a file  descrip‐
	      tor  open	 on a sys-file2chan(2) provided by the window manager,
	      and the window manager will shut down input to  the  application
	      when  the	 connection closes (eg, if the application exits unex‐
	      pectedly).  Connfd is also used to write requests to the	window
	      manager.	 Conventionally a request is a list of words formatted
	      as by quoted in string(2).  A request starting with an  exclama‐
	      tion  mark (!)  if successful will result in an image being sent
	      down the image channel; the rectangle of the image indicates the
	      rectangle	 that  has  been  allocated on the screen. If only the
	      origin is to be changed by the window manager, a	nil  image  is
	      sent  first  (giving  the application a chance to suspend opera‐
	      tions on the window), and then the original image, with its ori‐
	      gin set appropriately.

       image  This is used as described above.

       ctxt   Initialised  with	 the ctxt value that provided the initial con‐
	      nection on the wm channel.

SEE ALSO
       wm(1), wmlib(2), mux(1), draw-intro(2), ir(2), prefab-intro(2), tk(2)

							       DRAW-CONTEXT(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net