Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Starbase Device Drivers Manual - Vol1: HP 9000 Series 700 Computers > Chapter 5 CRX-48Z Device Driver

X Windows

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The hpcrx48z is supported only with X Windows. There is no raw device support. The only X server mode supported is combined mode. For more information on X11, please refer to "Using Starbase with the X Window System" in the Starbase Graphics Techniques manual.

Overlay Planes/Image Planes

The CRX-48Z has 8 overlay planes and 48 image planes. Generally speaking, the overlay planes can be thought of as primarily used for the user-interface and the image planes for graphics (either generated by Starbase or Xlib). X window managers use the default visual, which is an 8 plane overlay visual. Graphics applications should request image plane visuals. The xwcreate command creates a depth 8 image plane visual by default. HP VMX is used as the exclusive Starbase driver for the overlay planes on the CRX-family of devices. Double-buffering, backing store and the CMAP_NORMAL color map modes are supported for overlay windows. CMAP_FULL and CMAP_MONOTONIC color map modes are not supported in overlay plane windows. For more information on Starbase overlay planes, read the section "HP VMX: The CRX-family Overlay Plane Driver" in the chapter "HP VMX Device Driver."

These two sets of planes exist with little interaction. For example, when a menu in the overlay planes occludes a window in the image planes, no expose event is generated when the menu is removed because the image frame buffer contents are not affected. Only other windows in the image planes generate expose events for image plane windows.

Color map index 255 for the overlay planes is the transparent color on the CRX-48Z. Any overlay pixels containing this index will allow the underlying image planes to be displayed.

Per-Window Double-Buffering and Color Maps

The CRX-48Z supports double-buffering on a per-window basis. The CRX-48Z supports 8/8 planes double-buffered for each of the Starbase color map modes (CMAP_NORMAL, CMAP_MONOTONIC, CMAP_FULL), and 24/24 planes double buffered for CMAP_FULL.

X11 always renders to the currently visible buffer when a window has double-buffering enabled.

Pixels in the image planes are not displayed unless the corresponding pixel in the overlay planes is set to 255.

Starbase Color Maps and X11 Read/Write Restrictions

The X color model defines read/write restrictions both on color maps and on individual entries in color maps. As of HP-UX 9.05, Starbase will no longer overwrite read-only color maps or color map entries as defined in the X color model. Starbase will generate a warning message if the application attempts to overwrite read-only color map entries. Attempts to write to color map entries in read-only color maps (color maps in StaticGray, StaticColor or TrueColor visuals) are silently ignored. For more information on this subject, read the section "Starbase Color Maps and X11 Read/Write Restrictions" in Chapter 1.

X11 Cursor and Starbase Echoes

On previous devices, Starbase echos were either a hardware cursor, or were software echos rendered in the overlay or image planes. The CRX-48Z device has a hardware cursor (similar to many other devices), but this cursor is always used by the X server, and is not available to Starbase programs. All Starbase echos are rendered in special cursor planes (these planes are available ONLY for Starbase echos). These special cursor planes are separate from the image and overlay planes, and do not interfere with the graphics in those planes.

The following list describes the behavior of Starbase echos on the CRX-48Z device, and decribes some differences from other devices.

  • Since the echos are not rendered in the image or overlay planes, they are "combined" with the image plane graphics simply by obscuring them, rather than by an XOR operation.

  • Although there may be multiple Starbase echos on the CRX-48Z device, there is only a single set of color registers (foreground and background) for those echos. All echos are displayed using those same color registers, so at any given time, all echos on the screen will be the same color. This may cause color "flickering" if multiple echos are defined with different colors. The color will be that of the echo most recently updated (moved).

  • Since there are only two color registers, full depth (i.e. 256 colors) Starbase raster echos are not available on the CRX-48Z device. When defining a raster echo (see define_raster_echo() in the Starbase Reference Manual), all source values of 0 will be treated as background, and all other values will be treated as foreground. (To change the default background value, see the R_ECHO_FG_BG_COLOR gescape). A transparency mask may be specified for Starbase echos as per the R_ECHO_MASK gescape.

  • Non-transparent graphics in the overlay planes (such as overlay plane windows, X applications, etc.) can obscure the Starbase echo (if the image plane window is obscured). However, transparent sections of overlay windows will NOT obscure the Starbase echo.

  • A common operation may be to have a window in the image planes with a transparent child window in the overlay planes. In this case, the Starbase echo should be associated with the image-plane file descriptor, rather than the overlay-plane child window. For device independent behavior in this situation, use the inquire_capabilities() Starbase entry point. If the IC_TRANS_WIN_IMAGE_CURSOR bit of the CONTROL_CAPABILITIES byte is set, put the echo in the image plane window. If this bit is not set, the echo should be rendered using the overlay plane window's file descriptor. For the CRX-48Z device, this bit will be set.

Supported X Windows Visuals

This section contains device specific information needed to run Starbase programs in X11 windows. If you need a general, device-independent explanation of using Starbase in X11 windows, refer to the "Using Starbase with the X Window System" chapter in the Starbase Graphics Techniques manual.

It is possible to allocate an 8-plane pseudocolor visual in either the overlay planes or image planes of this device. For details on how to select one or the other, see the example code in the file[18]

sb-utils〉/wsutils.c

The X11 SERVER_OVERLAY_VISUALS property indicates whether a given visual is in the overlay planes or not.

How to Read the Supported Visuals Table

The table of Supported Visuals contains information for programmers using either Xlib graphics or Starbase. The table lists what depths of windows and color map access modes are supported for the CRX-48Z. It also indicates whether or not backing store is available for a given visual. The table also lists the double-buffer configurations supported by Starbase for this device driver.

Table 5-3 CRX-48Z Supported Visuals

Device

Depth

Visual Class

Backing Store

Starbase Doublebuffer

Xlib

Starbase

CRX-48Z Overlay Planes [1]

8

PseudoColor

Yes

Yes [2]

8/8 [3]

CRX-48Z Image Planes

8 24

PseudoColorDirectColorTrueColor

Yes [4] Yes

Yes

Yes [5]

No No

8/8 [6]

24/24 24/24

[1] There are only 255 overlay colors (0 - 254). Color index 255 is reserved for transparency.

[2] Backing store is supported in depth 8 visuals only via the hpvmx driver.

[3] Double-buffering with less than 8 planes (4/4, 3/3, 2/2, 1/1) is supported for compatibility with previous devices, however, it is not recommended. The write_enable and display_enable masks are used to accomplish double-buffering with less than 8 planes. Flashing may occur, however, as this kind of double-buffering cannot be done on a per window basis. Note that double-buffering with less than 8 planes is only supported in CMAP_NORMAL.

[4] On 8 plane display devices, 8/8 double-buffering is not done in the display hardware. However, it is possible to do virtual memory 8/8 double-buffering. For more information on this, read the section "VM Double-Buffering on 8-plane Devices" in the chapter "HP VMX Device Driver" in this manual.

[5] Backing store is supported in depth 8 visuals only via the hpvmx driver.

[6] Double-buffering with less than 8 planes (4/4, 3/3, 2/2, 1/1) is supported for compatibility with previous devices, however, it is not recommended. The write_enable and display_enable masks are used to accomplish double-buffering with less than 8 planes. Flashing may occur, however, as this kind of double-buffering cannot be done on a per window basis. Note that double-buffering with less than 8 planes is only supported in CMAP_NORMAL.

 



[18] The actual path names of directories in angle brackets depend on the file system structure. See the Graphics Administration Guide for details.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1989 - 1995 Hewlett-Packard Development Company, L.P.