---
title: setCursorImage
framework: kernel
role: pseudoSymbol
path: kernel/ioframebuffer/1813692-setcursorimage
---

# setCursorImage

Set a new image for the hardware cursor.

## Declaration

```occ
virtual IOReturn setCursorImage(
 void *cursorImage ); 
```

## Parameters

- `cursorImage`: Opaque cursor description. This should be passed to the convertCursorImage() method to convert to a format specific to the hardware.

## Return Value

Return Value An IOReturn code.

## Overview

Overview IOFramebuffer subclasses may implement hardware cursor functionality, if so they should implement this method to change the hardware cursor image. The image should be passed to the convertCursorImage() method with each type of cursor format the hardware supports until success, if all fail the hardware cursor should be hidden and kIOReturnUnsupported returned.

## See Also

### Miscellaneous

- [connectFlags](kernel/ioframebuffer/1812972-connectflags.md)
- [convertCursorImage](kernel/ioframebuffer/1812983-convertcursorimage.md)
- [doI2CRequest](kernel/ioframebuffer/1812996-doi2crequest.md)
- [enableController](kernel/ioframebuffer/1813011-enablecontroller.md)
- [flushCursor](kernel/ioframebuffer/1813022-flushcursor.md)
- [getApertureRange](kernel/ioframebuffer/1813036-getaperturerange.md)
- [getAppleSense](kernel/ioframebuffer/1813053-getapplesense.md)
- [getAttribute](kernel/ioframebuffer/1813070-getattribute.md)
- [getAttributeForConnection](kernel/ioframebuffer/1813093-getattributeforconnection.md)
- [getConnectionCount](kernel/ioframebuffer/1813110-getconnectioncount.md)
- [getCurrentDisplayMode(IODisplayModeID *, IOIndex *)](kernel/ioframebuffer/1813145-getcurrentdisplaymode.md)
- [getDDCBlock](kernel/ioframebuffer/1813183-getddcblock.md)
- [getDisplayModeCount](kernel/ioframebuffer/1813210-getdisplaymodecount.md)
- [getDisplayModes](kernel/ioframebuffer/1813237-getdisplaymodes.md)
- [getInformationForDisplayMode](kernel/ioframebuffer/1813269-getinformationfordisplaymode.md)
- [getPixelFormats](kernel/ioframebuffer/1813303-getpixelformats.md)
- [getPixelFormatsForDisplayMode](kernel/ioframebuffer/1813329-getpixelformatsfordisplaymode.md)
- [getPixelInformation](kernel/ioframebuffer/1813353-getpixelinformation.md)
- [getStartupDisplayMode](kernel/ioframebuffer/1813382-getstartupdisplaymode.md)
- [getTimingInfoForDisplayMode](kernel/ioframebuffer/1813413-gettiminginfofordisplaymode.md)
- [getVRAMRange](kernel/ioframebuffer/1813443-getvramrange.md)
- [handleEvent](kernel/ioframebuffer/1813481-handleevent.md)
- [hasDDCConnect](kernel/ioframebuffer/1813510-hasddcconnect.md)
- [readDDCClock](kernel/ioframebuffer/1813550-readddcclock.md)
- [readDDCData](kernel/ioframebuffer/1813593-readddcdata.md)
- [registerForInterruptType](kernel/ioframebuffer/1813622-registerforinterrupttype.md)
- [setApertureEnable](kernel/ioframebuffer/1813646-setapertureenable.md)
- [setAttribute](kernel/ioframebuffer/1813661-setattribute.md)
- [setAttributeForConnection](kernel/ioframebuffer/1813672-setattributeforconnection.md)
- [setCLUTWithEntries](kernel/ioframebuffer/1813680-setclutwithentries.md)
- [setCurrentDisplayMode](kernel/ioframebuffer/1813685-setcurrentdisplaymode.md)
- [setCursorState](kernel/ioframebuffer/1813699-setcursorstate.md)
- [setDDCClock](kernel/ioframebuffer/1813707-setddcclock.md)
- [setDDCData](kernel/ioframebuffer/1813718-setddcdata.md)
- [setDetailedTimings](kernel/ioframebuffer/1813724-setdetailedtimings.md)
- [setDisplayMode](kernel/ioframebuffer/1813732-setdisplaymode.md)
- [setGammaTable](kernel/ioframebuffer/1813739-setgammatable.md)
- [setInterruptState](kernel/ioframebuffer/1813744-setinterruptstate.md)
- [setStartupDisplayMode](kernel/ioframebuffer/1813749-setstartupdisplaymode.md)
- [unregisterInterrupt(void *)](kernel/ioframebuffer/1813753-unregisterinterrupt.md)
- [unregisterInterrupt(void *, UInt32)](kernel/ioframebuffer/1813757-unregisterinterrupt.md)
- [validateDetailedTiming](kernel/ioframebuffer/1813761-validatedetailedtiming.md)
