home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / driverkit / IOSVGADisplay.h < prev    next >
Text File  |  1993-08-06  |  4KB  |  131 lines

  1. /*     Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * IOSVGADisplay.h - SVGA display driver class.
  4.  *
  5.  *
  6.  * HISTORY
  7.  * 07 July 93    Scott Forstall
  8.  *      Created.
  9.  */
  10.  
  11. /*
  12.  * Notes:
  13.  * This module defines an abstract superclass for SVGA display
  14.  * drivers.
  15.  */
  16.  
  17. #import <driverkit/IODisplay.h>
  18.  
  19. @interface IOSVGADisplay:IODisplay
  20. {
  21. @private
  22.     void *_priv;
  23. }
  24.  
  25. /*
  26.  * Select which 64K segment we intend to read from. This method is
  27.  * implemented by subclasses in a device specific way.
  28.  */
  29. - (void)setReadSegment: (unsigned char)segmentNum;
  30.  
  31. /*
  32.  * Select which 64K segment we intend to write to.  This method is
  33.  * implemented by subclasses in a device specific way.
  34.  */
  35. - (void)setWriteSegment: (unsigned char)segmentNum;
  36.  
  37. /*
  38.  * Select which of 4 bit planes to read from in planar modes.  This method
  39.  * is implemented by subclasses in a device specific way.
  40.  */
  41. - (void)setReadPlane: (unsigned char)planeNum;
  42.  
  43. /*
  44.  * Select which of 4 bit planes to write to in planar modes.  This method
  45.  * is implemented by subclasses in a device specific way.
  46.  */
  47. - (void)setWritePlane: (unsigned char)planeNum;
  48.  
  49. /*
  50.  * Save write plane, read plane, write segment, and read segment.
  51.  * This method is implemented by subclasses in a device specific way.
  52.  */
  53. - (void)savePlaneAndSegmentSettings;
  54.  
  55. /*
  56.  * Restore write plane, read plane, write segment, and read segment.
  57.  * This method is implemented by subclasses in a device specific way.
  58.  */
  59. - (void)restorePlaneAndSegmentSettings;
  60.  
  61. /*
  62.  * Put the display into SVGA mode. This typically happens
  63.  * when the window server starts running. This method is implemented by
  64.  * subclasses in a device specific way.
  65.  */
  66. - (void)enterSVGAMode;
  67.  
  68. /*
  69.  * Get the device out of whatever advanced mode it was using and back
  70.  * into a state where it can be used as a standard VGA device. This method
  71.  * is implemented by subclasses in a device specific way.
  72.  */
  73. - (void)revertToVGAMode;
  74.  
  75. /*
  76.  * Look up the physical memory location for this device instance and map
  77.  * it into VM for use by the device driver. If problems occur, the method
  78.  * returns (vm_address_t)0. If `addr' is not 0, then it is used as the
  79.  * physical memory address and `length' is used as the length.
  80.  */
  81. - (vm_address_t)mapFrameBufferAtPhysicalAddress:(unsigned int)addr
  82.      length:(int)length;
  83.  
  84. /*
  85.  * Choose a mode from the list `modeList' (containing `count' modes) based
  86.  * on the value of the `DisplayMode' key in the device's config table.  If
  87.  * `isValid' is nonzero, each element specifies whether or not the
  88.  * corresponding mode is valid.
  89.  */
  90. - (int)selectMode:(const IODisplayInfo *)modeList count:(int)count
  91.     valid:(const BOOL *)isValid;
  92.  
  93. /*
  94.  * Equivalent to the above with `isValid' set to zero.
  95.  */
  96. - (int)selectMode:(const IODisplayInfo *)modeList count:(int)count;
  97.  
  98. /*
  99.  * IODevice methods reimplemented by this class.
  100.  */
  101.  
  102. + (BOOL)probe:deviceDescription;
  103.  
  104. - initFromDeviceDescription:deviceDescription;
  105.  
  106. - (IOReturn)getIntValues        : (unsigned *)parameterArray
  107.                forParameter : (IOParameterName)parameterName
  108.                       count : (unsigned *)count;    // in/out
  109.  
  110. - (IOReturn)setIntValues        : (unsigned *)parameterArray
  111.                forParameter : (IOParameterName)parameterName
  112.                       count : (unsigned)count;
  113.  
  114. /*
  115.  * `evScreen' protocol methods reimplemented by this class.
  116.  */
  117.  
  118. - hideCursor: (int)token;
  119.  
  120. - moveCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;
  121.  
  122. - showCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;
  123.  
  124. /*
  125.  * NOTE: Subclasses must override setBrightness and implement appropriately.
  126.  */
  127. - setBrightness:(int)level token:(int)t;
  128.  
  129. @end
  130.  
  131.