Annotation of XNU/iokit/IOKit/graphics/IOAccelSurfaceConnect.h, revision 1.1.1.1

1.1       root        1: 
                      2: #ifndef _IOACCEL_SURFACE_CONNECT_H
                      3: #define _IOACCEL_SURFACE_CONNECT_H
                      4: 
                      5: #include <IOKit/graphics/IOAccelTypes.h>
                      6: #include <IOKit/graphics/IOAccelClientConnect.h>
                      7: 
                      8: 
                      9: /*
                     10: ** Surface visible region in device coordinates.
                     11: **
                     12: ** num_rects:  The number of rectangles in the rect array.  If num_rects
                     13: **             is zero the bounds rectangle is used for the visible rectangle.
                     14: **             If num_rects is zero the surface must be completely contained
                     15: **             by the device.
                     16: **
                     17: ** bounds:     The unclipped surface rectangle in device coords.  Extends
                     18: **             beyond the device bounds if the surface is not totally on
                     19: **             the device.
                     20: **
                     21: ** rect[]:     An array of visible rectangles in device coords.  If num_rects
                     22: **             is non-zero only the region described by these rectangles is
                     23: **             copied to the frame buffer during a flush operation.
                     24: */
                     25: typedef struct
                     26: {
                     27:         UInt32        num_rects;
                     28:         IOAccelBounds bounds;
                     29:         IOAccelBounds rect[0];
                     30: } IOAccelDeviceRegion;
                     31: 
                     32: 
                     33: /*
                     34: ** Determine the size of a region.
                     35: */
                     36: #define IOACCEL_SIZEOF_DEVICE_REGION(_rgn_) (sizeof(IOAccelDeviceRegion) + (_rgn_)->num_rects * sizeof(IOAccelBounds))
                     37: 
                     38: 
                     39: /*
                     40: ** Surface client public memory types.  Private memory types start with
                     41: ** kIOAccelNumSurfaceMemoryTypes.
                     42: */
                     43: enum eIOAccelSurfaceMemoryTypes {
                     44:        kIOAccelNumSurfaceMemoryTypes,
                     45: };
                     46: 
                     47: 
                     48: /*
                     49: ** Surface client public methods.  Private methods start with
                     50: ** kIOAccelNumSurfaceMethods.
                     51: */
                     52: enum eIOAccelSurfaceMethods {
                     53:        kIOAccelSurfaceSetIDMode,
                     54:        kIOAccelSurfaceSetShape,
                     55:        kIOAccelSurfaceGetState,
                     56:        kIOAccelSurfaceLock,
                     57:        kIOAccelSurfaceUnlock,
                     58:        kIOAccelNumSurfaceMethods,
                     59: };
                     60: 
                     61: 
                     62: /*
                     63: ** Option bits for IOAccelCreateSurface and the kIOAccelSurfaceSetIDMode method.
                     64: ** The color depth field can take any value of the _CGSDepth enumeration.
                     65: */
                     66: typedef enum {
                     67:         kIOAccelSurfaceModeColorDepthBits = 0x0000000F,
                     68: } eIOAccelSurfaceModeBits;
                     69: 
                     70: 
                     71: /*
                     72: ** Options bits for IOAccelSetSurfaceShape and the kIOAccelSurfaceSetShape method.
                     73: */
                     74: typedef enum {
                     75:         kIOAccelSurfaceShapeNone         = 0x00000000,
                     76:         kIOAccelSurfaceShapeBlockingBit  = 0x00000001,
                     77:         kIOAccelSurfaceShapeNonSimpleBit = 0x00000002,
                     78: } eIOAccelSurfaceShapeBits;
                     79: 
                     80: 
                     81: /*
                     82: ** Return bits for the kIOAccelSurfaceGetState method.
                     83: */
                     84: typedef enum {
                     85:        kIOAccelSurfaceStateNone    = 0x00000000,
                     86:        kIOAccelSurfaceStateIdleBit = 0x00000001,
                     87: } eIOAccelSurfaceStateBits;
                     88: 
                     89: 
                     90: #endif /* _IOACCEL_SURFACE_CONNECT_H */
                     91: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.