Audacity 3.2.0
EditCursorOverlay.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5EditCursorOverlay.h
6
7Paul Licameli split from TrackPanel.cpp
8
9**********************************************************************/
10
11#ifndef __AUDACITY_EDIT_CURSOR_OVERLAY__
12#define __AUDACITY_EDIT_CURSOR_OVERLAY__
13
14#include <memory>
15#include "ClientData.h" // to inherit
16#include "../../widgets/Overlay.h" // to inherit
17
18class AudacityProject;
19
21 : public Overlay
22 , public ClientData::Base
23{
24public:
25 explicit
26 EditCursorOverlay(AudacityProject *project, bool isMaster = true);
27
28private:
29 unsigned SequenceNumber() const override;
30 std::pair<wxRect, bool> DoGetRectangle(wxSize size) override;
31 void Draw(OverlayPanel &panel, wxDC &dc) override;
32
35 std::shared_ptr<EditCursorOverlay> mPartner;
36
40};
41
42#endif
Utility ClientData::Site to register hooks into a host class that attach client data.
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
std::shared_ptr< EditCursorOverlay > mPartner
unsigned SequenceNumber() const override
This number determines an ordering of overlays, so that those with higher numbers overpaint those wit...
void Draw(OverlayPanel &panel, wxDC &dc) override
EditCursorOverlay(AudacityProject *project, bool isMaster=true)
std::pair< wxRect, bool > DoGetRectangle(wxSize size) override
AudacityProject * mProject
A convenient default parameter for class template Site.
Definition: ClientData.h:28