GARGPROP.H

//==========================================================================; 
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (c) 1992 - 1997 Microsoft Corporation. All Rights Reserved.
//
//--------------------------------------------------------------------------;
//
// GargProp.h
//
// This file is entirely concerned with the implementation of the
// properties page. It uses the property page base class to minimise
// the implementation effort.

#ifndef __GARGPROP__
#define __GARGPROP__

#ifdef __cplusplus
extern "C" {
#endif


const int MaxGargleRate = 1000; // 1000Hz max rate
const int MinGargleRate = 1; // 1Hz min rate
const int DefaultGargleRate = 10; // 10 Hz default


class CGargleProperties : public CBasePropertyPage
{

public:

static CUnknown * WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT *phr);

// Overrides from CBasePropertyPage
HRESULT OnConnect(IUnknown * punk);
HRESULT OnDisconnect(void);

HRESULT OnDeactivate(void);

CGargleProperties(LPUNKNOWN lpunk, HRESULT *phr);

private:

BOOL OnReceiveMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

HWND CreateSlider(HWND hwndParent);
void OnSliderNotification(WPARAM wParam);

HWND m_hwndSlider; // handle of slider


IGargle *m_pGargle; // pointer to the IGargle interface of the
// gargle filter. Set up in OnConnect.

int m_iGargleRate; // Remember gargle rate between
// Deactivate / Activate calls.
int m_iGargleShape; // 0 = triangle (default), 1 = square wave.

}; // class CGargleProperties

#ifdef __cplusplus
}
#endif

#endif // __GARGPROP__