Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page > Hide TOC

Graphics

The Graphics family provides support for frame buffers and display devices (monitors).

Bundle identifier:

Headers in:

Class hierarchy:


image: ../art/graphicsfamily.gif

Device interface:

Table A-5  Clients and providers of the Graphics family

Client of the nub

Provider for the nub

Action

Implements support for a frame buffer.

Example

Classes

Frame-buffer drivers must be subclasses of the IOFramebuffer class. The IONDRVFramebuffer class supports native Power PC Mac OS graphics drivers (known as “ndrv"s); this support is automatic, provided the drivers are written correctly to the specification.

Notes

Support for kernel-resident clients is limited. Because the Quartz layer owns the display, the kernel generally does not render graphics directly.

Apple provides generic support for displays and so displays should not generally require third-party drivers.

A Note on NDRV Compatibility

NDRV graphics drivers should function in OS X if they are correctly written. If they are not correctly written, the many differences in Mac OS X’s runtime environment could cause them to fail, be ignored, or even cause a crash. If you are writing an NDRV driver, follow these rules:

If you want to make runtime conditional changes to your NDRV code, the property AAPL,iokit-ndrv is set in the PCI device properties before OS X uses your driver.

Mac OS X supports 32 bits-per-pixel, alpha-blended cursors in hardware. If your device supports an alpha-blended direct color cursor, it should call VSLPrepareCursorForHardwareCursor with these fields set in the HardwareCursorDescriptor record:

bitDepth = 32 maskBitDepth = 0 numColors = 0colorEncodings = NULL

The hardwareCursorData buffer in the HardwareCursorInfo should point to a buffer of 32 bits per pixel, ARGB data. The data is not premultiplied by the alpha channel.



< Previous PageNext Page > Hide TOC


Last updated: 2007-05-17




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice