Opened 5 years ago
Closed 3 years ago
#15169 closed enhancement (fixed)
Setting cursors with custom size
Reported by: | pulkomandy | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta4 |
Component: | Kits/Application Kit | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
https://github.com/haikuports/haikuports/issues/3994
We need cursors larger than 16x16 px.
I suggest adding a new constructor to BCursor, taking a BBitmap as a parameter.
Note that when hardware cursor is used, on some devices we could be restricted to 1bpp and no alpha or transparency, so we have to handle this special case:
- Either restrict to a single pixel format (B_GRAY1)
- Or attempt ourselves to convert the cursor to something the hardware can handle
- Or add an InitCheck and let the app figure out an acceptable format
- Or automatically switch to software cursor when the driver tells us it can't handle what we need
Change History (4)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Implemented in hrev54622. I'm not sure an invalid bitmap format would come as an error ATM. Should this be closed anyway?
comment:3 by , 4 years ago
Yes, I think converting the cursor to a suitable format for old video cards where hardware cursor isn't 32bit RGB is a separate issue, to solve in the affected drivers?
I think it would be not so nice to let applications handle this with some kind of error code, you can expect that developers will test only on their own hardware and not see the problem, so it's better if the video driver takes care of this where needed.
comment:4 by , 3 years ago
Milestone: | Unscheduled → R1/beta4 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
proposed change: https://review.haiku-os.org/c/haiku/+/3292