windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/conf/audiolvl.h

94 lines
2.2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
#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