Annotation of XNU/iokit/IOKit/graphics/IOAccelSurfaceConnect.h, revision 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.