draw-screen 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-SCREEN(2)							DRAW-SCREEN(2)

NAME
       Screen - windows and subwindows on a display

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

       Screen: adt
       {
	 id:	    int;
	 image:	    ref Image;
	 fill:	    ref Image;
	 display:   ref Display;

	 allocate:  fn(image, fill: ref Image, public: int): ref Screen;
	 newwindow: fn(screen: self ref Screen, r: Rect,
		       backing:int, rgba: int): ref Image;
	 top:	    fn(screen: self ref Screen, wins: array of ref Image);
       };

DESCRIPTION
       A Screen is the data structure representing a set of windows visible on
       a particular Image such as the display or a parent window.

       id	 When a Screen object is allocated (see allocate  below),  the
		 system	 assigns  it a unique integer, id.  It may be declared
		 ``public'' and accessible to arbitrary processes and machines
		 with  access  to  the	screen's Display.  The id value may be
		 used as an argument to	 Display.publicscreen;	see  draw-dis‐
		 play(2).

       fill	 When  windows	are deleted from a screen, the system uses the
		 fill image to repaint the screen's base image.

       image	 The image upon which the windows appear.

       display	 The display upon which the screen resides.

       allocate(image, fill, public)
		 Allocate makes a new Screen object.  The image argument  pro‐
		 vides	the base image on which the windows will be made.  The
		 fill argument provides the Screen.fill image.	Allocate  does
		 not  affect  the contents of image; it may be necessary after
		 allocation to paint the base image with fill.

		 Using a non-zero public argument allocates a  public  screen;
		 zero  requests	 a  private  screen.   Public  screens	may be
		 attached by any process on any machine	 with  access  to  the
		 Display  upon	which the screen is allocated, enabling remote
		 processes to create windows on the screen.  Knowing only  the
		 id  field of the original Screen, the remote process can call
		 the Display.publicscreen function to acquire a handle to  the
		 screen.   The image and fill fields of a Screen obtained this
		 way are nil, but they are not needed for ordinary window man‐
		 agement.

       screen.newwindow(r, backing, rgba)
		 Allocates  a window on the display at the specified rectangle
		 with the background colour rgba,  expressed  in  32-bit  RGBA
		 format;  the  return  value is an Image that may be used like
		 any other.  The backing  parameter  can  be  Draw->Refbackup,
		 which	provides  backing store to store obscured parts of the
		 window when necessary, and is used by the window manager  and
		 its clients; or Draw->Refnone, which provides no refresh, and
		 is used for windows that are transient, or are	 already  pro‐
		 tected by backing store.

       screen.top(wins)
		 Top organizes a group of windows on a screen.	Given wins, an
		 array of window images, it places the wins[0] element at  the
		 top, wins[1] behind that, and so on, with the last element of
		 wins in front of the all the windows on  the  screen  not  in
		 wins.	 Images	 in  the array must be on the specified screen
		 (nil elements are ignored).

								DRAW-SCREEN(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