home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.1 (Developer) [x86] / NeXT Step 3.1 Intel dev.cdr.dmg / NextDeveloper / Headers / bsd / dev / i386 / IOFrameBufferDisplay.h < prev    next >
Encoding:
Text File  |  1993-04-30  |  3.2 KB  |  89 lines

  1. /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * IOFrameBufferDisplay.h - Standard frame buffer display driver class.
  4.  *
  5.  *
  6.  * HISTORY
  7.  * 01 Sep 92    Joe Pasqua
  8.  *      Created. 
  9.  */
  10.  
  11. // Notes:
  12. // * This module defines an abstract superclass for "standard"
  13. //   framebuffers. The class implements several methods for its subclasses.
  14. //   Namely, it implements the evScreen protocol.
  15.  
  16.  
  17. #import <bsd/dev/i386/IODisplay.h>
  18. #import    <bsd/dev/i386/StdFBShared.h>
  19.  
  20.  
  21. @interface IOFrameBufferDisplay:IODisplay
  22. {
  23. @private
  24.     void *priv;
  25.     // The next two fields are mapping tables used in cursor drawing
  26.     // to 5-5-5 displays
  27.     unsigned char *_bm34To35SampleTable;
  28.     unsigned char *_bm35To34SampleTable;
  29. }
  30.  
  31. - (void)enterLinearMode;
  32. // Description:    Put the display into linear framebuffer mode. This typically
  33. //        happens when the window server starts running. This method
  34. //        is implemented by subclasses in a device specific way.
  35.  
  36. - (void)revertToVGAMode;
  37. // Description:    Get the device out of whatever advanced linear mode it was
  38. //        using and back into a state where it can be used as a standard
  39. //        VGA device. This method is implemented by subclasses in a
  40. //        device specific way.
  41.  
  42. - (vm_address_t)mapFrameBufferAtPhysicalAddress:(unsigned int)addr
  43.     length:(int)length;
  44. // Description:    Look up the physical memory location for this device instance
  45. //        and map it into VM for use by the device driver. If problems
  46. //        occur, the method returns (vm_address_t)0. If addr is not 0,
  47. //        then it is used as the physical memory address and
  48. //        length is used as the length.
  49.  
  50. - (int)selectMode:(const IODisplayInfo *)modeList count:(int)count
  51.     valid:(const BOOL *)isValid;
  52. // Description: Choose a mode from the list `modeList' (containing `count'
  53. //        modes) based on the value of the `DisplayMode' key in the
  54. //            device's config table.  If `isValid' is nonzero, each
  55. //        element specifies whether or not the corresponding mode
  56. //        is valid.
  57.  
  58. - (int)selectMode:(const IODisplayInfo *)modeList count:(int)count;
  59. // Description: Equivalent to the above with `isValid' set to zero.
  60.  
  61.  
  62. // IODevice methods reimplemented by this class
  63. + (BOOL)probe : (id)deviceDescription;
  64. - initFromDeviceDescription : deviceDescription;
  65. - (IOReturn)getIntValues        : (unsigned *)parameterArray
  66.                forParameter : (IOParameterName)parameterName
  67.                       count : (unsigned *)count;    // in/out
  68. - (IOReturn)setIntValues        : (unsigned *)parameterArray
  69.                forParameter : (IOParameterName)parameterName
  70.                       count : (unsigned)count;
  71. - (IOReturn)setCharValues        : (unsigned char *)parameterArray
  72.                forParameter : (IOParameterName)parameterName
  73.                       count : (unsigned)count;
  74.  
  75. // IODisplay methods reimplemented by this class
  76. - (IOConsoleInfo *)allocateConsoleInfo;
  77. // Description:    Allocates a console support info structure based on this
  78. //        display. This structure, and the functions in it, are used
  79. //        to display alert and console windows.
  80.  
  81. // evScreen protocol methods reimplemented by this class
  82. - hideCursor: (int)token;
  83. - moveCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;
  84. - showCursor:(Point*)cursorLoc frame:(int)frame token:(int)t;
  85. - setBrightness:(int)level token:(int)t;
  86.   // NOTE: Subclasses must override setBrightness and implement appropriately.
  87.  
  88. @end
  89.