|
@@ -62,6 +62,28 @@ public:
|
|
|
|
|
|
|
|
return S_OK;
|
|
return S_OK;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ virtual HRESULT CreateCustomCursor (void* bitmapData, size_t length, AvnPixelSize hotPixel, IAvnCursor** retOut) override
|
|
|
|
|
+ {
|
|
|
|
|
+ if(bitmapData == nullptr || retOut == nullptr)
|
|
|
|
|
+ {
|
|
|
|
|
+ return E_POINTER;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ NSData *imageData = [NSData dataWithBytes:bitmapData length:length];
|
|
|
|
|
+ NSImage *image = [[NSImage alloc] initWithData:imageData];
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ NSPoint hotSpot;
|
|
|
|
|
+ hotSpot.x = hotPixel.Width;
|
|
|
|
|
+ hotSpot.y = hotPixel.Height;
|
|
|
|
|
+
|
|
|
|
|
+ *retOut = new Cursor([[NSCursor new] initWithImage: image hotSpot: hotSpot]);
|
|
|
|
|
+
|
|
|
|
|
+ (*retOut)->AddRef();
|
|
|
|
|
+
|
|
|
|
|
+ return S_OK;
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
extern IAvnCursorFactory* CreateCursorFactory()
|
|
extern IAvnCursorFactory* CreateCursorFactory()
|