Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## mouse-middle-double-click

Arguments: window buttons cursor-position

This generic function is called when the user presses the middle mouse button within double-click-time of another middle-click, while the mouse cursor is in the interior (client) area of a window, `dialog-item`, or `hotspot`. An application may add methods to this generic function to respond to mouse events in these objects.

object is the window, dialog-item, or hotspot in which the event occurred.

buttons is an integer indicating which mouse buttons and shift keys were down when the event occurred. The value is the result of applying logior to the values of the following bit-flag variables:

- `left-mouse-button`
- `middle-mouse-button`
- `right-mouse-button`
- `first-x-button` (see `*ignore-mouse-x-buttons*`)
- `second-x-button` (see `*ignore-mouse-x-buttons*`),
- `shift-key`
- `control-key`
- `alt-key`

Other bits might be turned on as well, so functions such as logtest should be used to determine whether a particular mouse button or shift key was down; for example,

    (logtest right-mouse-button buttons)

will return true if and only if the right mouse button was down. For "down" events, the value includes the button or key being pressed now; for "up" events, the value does not include the button or key being released.

cursor-position is a position object indicating the location of the mouse cursor when the event occurred. It is in "stream coordinates", which are relative to the origin of the possibly scrolled page (canvas) of the window; pixels are the unit of distance unless the window is a `scaling-stream`. (The origin of a stream is typcially left at 0,0, which indicates the top-left corner of the scrollable page; see stream-origin.)

See cg-events.htm for information about event handling in Common Graphics.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version