Source code of Windows XP (NT5)
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.
|
|
#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
|