[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 30 Jul 2002 23:54:47 -0600 (MDT)
IIRC, the scroll bar callback is invoked with action information only,
Could you explain what "action information" means?
(I'm assuming you are the expert on this--wasn't it you who
wrote that code? If I should ask someone else instead, please
tell me who.)
See, for instance, the LessTif/Motif callback xm_scroll_callback in
xterm.c. AFAIK, the callback cannot tell which user actions caused
the action, i.e. up/down events etc.
I see one "action" is XmCR_DRAG. Can you find out, and tell me,
exactly when that is given? Is it for the down event on the slider,
or for an up event after sliding the slider, or what?
What does a callback with that code signify?
I noticed that xm_scroll_callback calls x_send_scroll_bar_event:
/* Send a client message with message type Xatom_Scrollbar for a
scroll action to the frame of WINDOW. PART is a value identifying
the part of the scroll bar that was clicked on. PORTION is the
amount to scroll of a whole of WHOLE. */
x_send_scroll_bar_event (window, part, portion, whole)
I don't understand the role of this function in the overall
implementation of toolkit scroll bars. Could you explain it?
It seems to be sending some sort of X event to Emacs's X window.
Why is that? What happens when that client message "arrives"
again? Which part of the code in Emacs handles it then?
And why not call it directly instead of sending a message
to the X server?