ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.I.b.tar.gz#/lib/gcc-lib/i386-next-nextstep3/2.7.2.2.f.2/include/driverkit/IOSVGADisplay.h

This is IOSVGADisplay.h in view mode; [Download] [Up]

/* 	Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
 *
 * IOSVGADisplay.h - SVGA display driver class.
 *
 *
 * HISTORY
 * 07 July 93	Scott Forstall
 *      Created.
 */

/*
 * Notes:
 * This module defines an abstract superclass for SVGA display
 * drivers.
 */

#import <driverkit/IODisplay.h>

@interface IOSVGADisplay:IODisplay
{
@private
    void *_priv;
}

/*
 * Select which 64K segment we intend to read from. This method is
 * implemented by subclasses in a device specific way.
 */
- (void)setReadSegment: (unsigned char)segmentNum;

/*
 * Select which 64K segment we intend to write to.  This method is
 * implemented by subclasses in a device specific way.
 */
- (void)setWriteSegment: (unsigned char)segmentNum;

/*
 * Select which of 4 bit planes to read from in planar modes.  This method
 * is implemented by subclasses in a device specific way.
 */
- (void)setReadPlane: (unsigned char)planeNum;

/*
 * Select which of 4 bit planes to write to in planar modes.  This method
 * is implemented by subclasses in a device specific way.
 */
- (void)setWritePlane: (unsigned char)planeNum;

/*
 * Save write plane, read plane, write segment, and read segment.
 * This method is implemented by subclasses in a device specific way.
 */
- (void)savePlaneAndSegmentSettings;

/*
 * Restore write plane, read plane, write segment, and read segment.
 * This method is implemented by subclasses in a device specific way.
 */
- (void)restorePlaneAndSegmentSettings;

/*
 * Put the display into SVGA mode. This typically happens
 * when the window server starts running. This method is implemented by
 * subclasses in a device specific way.
 */
- (void)enterSVGAMode;

/*
 * Get the device out of whatever advanced mode it was using and back
 * into a state where it can be used as a standard VGA device. This method
 * is implemented by subclasses in a device specific way.
 */
- (void)revertToVGAMode;

/*
 * Look up the physical memory location for this device instance and map
 * it into VM for use by the device driver. If problems occur, the method
 * returns (vm_address_t)0. If `addr' is not 0, then it is used as the
 * physical memory address and `length' is used as the length.
 */
- (vm_address_t)mapFrameBufferAtPhysicalAddress:(unsigned int)addr
 	length:(int)length;

/*
 * Choose a mode from the list `modeList' (containing `count' modes) based
 * on the value of the `DisplayMode' key in the device's config table.  If
 * `isValid' is nonzero, each element specifies whether or not the
 * corresponding mode is valid.
 */
- (int)selectMode:(const IODisplayInfo *)modeList count:(int)count
	valid:(const BOOL *)isValid;

/*
 * Equivalent to the above with `isValid' set to zero.
 */
- (int)selectMode:(const IODisplayInfo *)modeList count:(int)count;

/*
 * IODevice methods reimplemented by this class.
 */

+ (BOOL)probe:deviceDescription;

- initFromDeviceDescription:deviceDescription;

- (IOReturn)getIntValues		: (unsigned *)parameterArray
			   forParameter : (IOParameterName)parameterName
			          count : (unsigned *)count;	/* in/out*/

- (IOReturn)setIntValues		: (unsigned *)parameterArray
			   forParameter : (IOParameterName)parameterName
			          count : (unsigned)count;

/*
 * `evScreen' protocol methods reimplemented by this class.
 */

- hideCursor: (int)token;

- moveCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;

- showCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;

/*
 * NOTE: Subclasses must override setBrightness and implement appropriately.
 */
- setBrightness:(int)level token:(int)t;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.