Audacity 3.2.0
ExportMixerPanel.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 ExportMixerPanel.h
6
7 Dominic Mazzoni
8
9**********************************************************************/
10
11#pragma once
12
13#include <memory>
14
15#include "wxPanelWrapper.h"
16
17#include "MemoryX.h"
18
19class wxMemoryDC;
20
21namespace MixerOptions { class Downmix; }
22
25class ExportMixerPanel final : public wxPanelWrapper
26{
27public:
28 ExportMixerPanel( wxWindow *parent, wxWindowID id,
29 MixerOptions::Downmix *mixerSpec, wxArrayString trackNames,
30 const wxPoint& pos = wxDefaultPosition,
31 const wxSize& size = wxDefaultSize);
32 virtual ~ExportMixerPanel();
33
34 void OnMouseEvent(wxMouseEvent & event);
35 void OnPaint(wxPaintEvent & event);
36
37private:
38 std::unique_ptr<wxBitmap> mBitmap;
39 wxRect mEnvRect;
40 int mWidth;
46 wxArrayString mTrackNames;
48
49 void SetFont( wxMemoryDC &memDC, const wxString &text, int width, int height );
50 double Distance( wxPoint &a, wxPoint &b );
51 bool IsOnLine( wxPoint p, wxPoint la, wxPoint lb );
52
53 DECLARE_EVENT_TABLE()
54};
Panel that displays mixing for advanced mixing option.
void OnMouseEvent(wxMouseEvent &event)
MixerOptions::Downmix * mMixerSpec
void SetFont(wxMemoryDC &memDC, const wxString &text, int width, int height)
std::unique_ptr< wxBitmap > mBitmap
ExportMixerPanel(wxWindow *parent, wxWindowID id, MixerOptions::Downmix *mixerSpec, wxArrayString trackNames, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
bool IsOnLine(wxPoint p, wxPoint la, wxPoint lb)
void OnPaint(wxPaintEvent &event)
double Distance(wxPoint &a, wxPoint &b)
ArrayOf< wxRect > mChannelRects
ArrayOf< wxRect > mTrackRects
virtual ~ExportMixerPanel()
wxArrayString mTrackNames
A matrix of booleans, one row per input channel, column per output.
Definition: MixerOptions.h:32