mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.2 KiB
93 lines
2.2 KiB
#ifndef _AUDIOLEVEL_H
|
|
#define _AUDIOLEVEL_H
|
|
|
|
#include "AudioCtl.h"
|
|
#include "imsconf3.h"
|
|
|
|
#define SIGNAL_STATUS_TRANSMIT 0x01 // data is being received/sent
|
|
#define SIGNAL_STATUS_JAMMED 0x02 // wave dev failed to open
|
|
|
|
const int g_nAudLevelTotalHeight = 30;
|
|
const int g_nAudLevelMinWidth = 150;
|
|
|
|
// CAudioLevel encapsulates the rebar band for the "signal level"
|
|
// display (and mute buttons)
|
|
|
|
|
|
|
|
class CAudioLevel : public CAudioEvent
|
|
{
|
|
public:
|
|
CAudioLevel(CAudioControl *);
|
|
~CAudioLevel();
|
|
|
|
BOOL Create(HWND hwndParent);
|
|
BOOL OnTimer(WPARAM wTimerId);
|
|
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
|
|
BOOL ShiftFocus(HWND hwndCur, BOOL fForward);
|
|
BOOL IsChildWindow(HWND hwnd);
|
|
BOOL OnMuteChange(BOOL fSpeaker, BOOL fMute);
|
|
BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT *plRet);
|
|
BOOL OnScroll(WPARAM wParam, LPARAM lParam);
|
|
BOOL OnLevelChange(BOOL fSpeaker, DWORD dwVolume);
|
|
BOOL OnDeviceChanged(void);
|
|
BOOL OnDeviceStatusChanged(BOOL fSpeaker, UINT uEvent, UINT uSubCode);
|
|
|
|
|
|
BOOL OnPaint(PAINTSTRUCT *ps);
|
|
BOOL PaintChannel(BOOL fSpeaker, HDC hdc=NULL);
|
|
BOOL PaintIcons(HDC hdc);
|
|
|
|
BOOL Resize(int nLeft, int nTop, int nWidth, int nHeight);
|
|
BOOL Show(BOOL bVisible);
|
|
|
|
BOOL CreateBrushes();
|
|
BOOL ForwardSysChangeMsg(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
private:
|
|
|
|
HWND m_hwndParent;
|
|
HWND m_hwndParentParent; // m_hwndParent's parent (rebar frame)
|
|
|
|
HWND m_hwndMicTrack;
|
|
HWND m_hwndMicTrackTT;
|
|
HWND m_hwndSpkTrack;
|
|
HWND m_hwndSpkTrackTT;
|
|
|
|
HICON m_hIconSpkr;
|
|
UINT m_uIconSpkrID;
|
|
|
|
HICON m_hIconMic;
|
|
UINT m_uIconMicID;
|
|
|
|
HWND m_hwndChkbRecMute;
|
|
HWND m_hwndChkbSpkMute;
|
|
HWND m_hwndChkbRecMuteTT;
|
|
HWND m_hwndChkbSpkMuteTT;
|
|
|
|
CAudioControl *m_pAudioControl;
|
|
|
|
RECT m_rect;
|
|
BOOL m_fVisible;
|
|
BOOL m_fMicTrkVisible;
|
|
BOOL m_fSpkTrkVisible;
|
|
|
|
RECT m_rcChannelSpk; // window area of the signal level
|
|
RECT m_rcChannelMic; // window area of the signal level
|
|
|
|
DWORD m_dwMicTrackPos, m_dwSpkTrackPos; // trackbar thumb positions
|
|
DWORD m_dwMicLvl, m_dwSpkLvl; // signal level position
|
|
|
|
HBRUSH m_hGreyBrush; // background
|
|
HBRUSH m_hRedBrush, m_hYellowBrush, m_hGreenBrush, m_hBlackBrush;
|
|
HPEN m_hHiLitePen, m_hShadowPen, m_hDkShadowPen, m_hLitePen;
|
|
|
|
BOOL GetIconArea(BOOL fSpeaker, RECT *pRect);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|