[comp.windows.x] Novice Question: How to make a cursor larger than 16x16 bitmap?

art@maccs.dcss.mcmaster.ca (Art Mulder) (06/15/90)

Hello,
I know how to use bitmap, and I know how to get twm to use as a cursor
(mouse pointer) a bitmap file.  However When I try to use a bitmap larger
than the default 16x16 grid, it gets chopped down to 16x16.

I checked the "Frequently Asked Questions" list and the twm man page.
I have also read the X user manual.
Both tell how to install custom designed bitmaps as cursors, but neither
say anything about a limit to the size of the bitmaps.

I am on a Sun 4, using X11R4, on a OptimaX 200 Graphon terminal.

Any help would be appreciated.  Please email and I will summarize to the
net (unless I get told how stupid a question this is :-)
-- 
-----------
Art Mulder,                                      art@maccs.DCSS.mcmaster.ca
                                             ...!uunet!utai!utgpu!maccs!art


-- 
-----------
Art Mulder,                                      art@maccs.DCSS.mcmaster.ca
                                             ...!uunet!utai!utgpu!maccs!art

mouse@LARRY.MCRCIM.MCGILL.EDU (der Mouse) (06/16/90)

> I know how to use bitmap, and I know how to get twm to use as a
> cursor (mouse pointer) a bitmap file.  However When I try to use a
> bitmap larger than the default 16x16 grid, it gets chopped down to
> 16x16.

> I checked the "Frequently Asked Questions" list and the twm man page.
> I have also read the X user manual.

You're doing better than most questions here....

> Both tell how to install custom designed bitmaps as cursors, but
> neither say anything about a limit to the size of the bitmaps.

> I am on a Sun 4, using X11R4, on a OptimaX 200 Graphon terminal.

The Xlib documentation for XQueryBestSize says, in the discussion of
CursorShape, that the returned values give the "largest size that can
be fully displayed".  The section on cursors (6.8) says that "There may
be limitations imposed by the hardware on cursors as to size and
whether a mask is implemented.".

Under XCreatePixmapCursor, I find a note that "The components of the
cursor can be transformed arbitrarily to meet display limitations.".

Under XQueryBestCursor, I find "Some displays allow larger cursors than
other displays.  [...]  Applications should be prepared to use smaller
cursors on displays that cannot support large ones."

I was quite shocked when I discovered that X does not require arbitrary
sizes of cursor to work.  (I encountered this when I tried to run my
shogi program - which uses cursors up to 96x96 - on a GraphOn and got
the same sort of junk you must be getting.)

What I would have liked to see would be a requirement that any size
work, though of course some may well be more efficient than others,
perhaps dramatically so.  I see no reason why the client should have to
handle cursor tracking with pixmaps when the cursor gets too big; the
server is in a better position to do so, and it centralizes the
relevant code.

In short, it's your GraphOn.  Use an MIT server on a Sun, for example,
and you will find that larger cursors work[%].

[%] Of course, I can't be certain about this in general, but I do know
    some sizes that work: my shogi program uses cursors of sizes 17x17,
    18x18, 61x78, 67x81, 70x83, 76x89, 80x92, 82x96, and 98x98.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

dce@smsc.sony.com (David Elliott) (06/16/90)

In article <2678D64B.924@maccs.dcss.mcmaster.ca> art@maccs.dcss.mcmaster.ca (Art Mulder) writes:
>I know how to use bitmap, and I know how to get twm to use as a cursor
>(mouse pointer) a bitmap file.  However When I try to use a bitmap larger
>than the default 16x16 grid, it gets chopped down to 16x16.

There is no requirement for X servers to handle arbitrarily sized
cursors.  All of the ones I know of will handle 16x16.

I know of at least one X accelerator board that has hardware cursor
support for a 16x16 cursor.  I talked to the people doing the server
for this, and found that they weren't planning to support anything
bigger than 16x16, even by handling it in software.  I was lucky to
find this out when I did, as I had been planning to use the cursor
to implement an area-selection box.

-- 
David Elliott
dce@smsc.sony.com | ...!{uunet,mips}!sonyusa!dce
(408)944-4073
"If I had a hat the size of Oklahoma, I'd be a happy person."