mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-23 17:30:17 +01:00
Distinguish TrackPanelMouseState from TrackPanelMouseEvent...
... Let cell hit tests, and handle preview, know states only, not transitions. Cell hit tests are passed a mouse state that does not always match the current, but anticipates the button click to come; usually left, but if the Control [sic] key on Mac is down, then right. Thus, pressing and releasing Mac Control in multi-tool switches in and out of the magnifier cursor.
This commit is contained in:
@@ -12,11 +12,30 @@ Paul Licameli
|
||||
#define __AUDACITY_TRACK_PANEL_MOUSE_EVENT__
|
||||
|
||||
class wxMouseEvent;
|
||||
class wxMouseState;
|
||||
class wxRect;
|
||||
class wxSize;
|
||||
class TrackPanelCell;
|
||||
#include "MemoryX.h"
|
||||
|
||||
// Augment a mouse state with information about which track panel cell and
|
||||
// sub-rectangle was hit.
|
||||
struct TrackPanelMouseState
|
||||
{
|
||||
TrackPanelMouseState
|
||||
( wxMouseState &state_, const wxRect &rect_,
|
||||
const std::shared_ptr<TrackPanelCell> &pCell_ )
|
||||
: state{ state_ }
|
||||
, rect{ rect_ }
|
||||
, pCell{ pCell_ }
|
||||
{
|
||||
}
|
||||
|
||||
wxMouseState &state;
|
||||
const wxRect ▭
|
||||
std::shared_ptr<TrackPanelCell> pCell; // may be NULL
|
||||
};
|
||||
|
||||
// Augment a mouse event with information about which track panel cell and
|
||||
// sub-rectangle was hit.
|
||||
struct TrackPanelMouseEvent
|
||||
|
||||
Reference in New Issue
Block a user