All of the S3 video chips have 4 options when setting the color of a pixel in the hardware cursor, and they are:I think some cards support only 4 colors for the hardware cursor : transparent, XOR, and two adjustable ones. That's enough for drawing a cursor, but not for an icon. I think the S3 trio cards are done like that. So, any icon drawing would have to be done in software ways.
White Black Screen color (for transparent pixel) Reverse screen color to black or whiteThese are described in the comments in the Trio64_LoadCursorImage() function. However, it should be noted that the app server uses these four options when setting up the arrays of AND and XOR masks for the cursor image which are passed to the accelerant B_SET_CURSOR_SHAPE hook function.
BTW, the S3 hardware cursor functions were thoroughly tested under BeOS and Zeta, and function properly.
Best regards, Gerald