/*************************************************************************/
/* Copyright (C) 1999 Microsoft Corporation                              */
/* File: MSMFCnt.idl                                                     */
/* Description: IDL source for MSMFCnt.dll                               */
/* Author: David Janecek                                                 */
/*************************************************************************/
// This file will be processed by the MIDL tool to
// produce the type library (MSMFCnt.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
#include "olectl.h"
	

	typedef enum {
		DISABLE = 0,
		TRANSPARENT_TOP_LEFT = 1,
		TRANSPARENT_BOTTOM_RIGHT = 2,
		TOP_LEFT_WINDOW_REGION = 3,
		BOTTOM_RIGHT_WINDOW_REGION = 4,
		TOP_LEFT_WITH_BACKCOLOR = 5,
		BOTTOM_RIGHT_WITH_BACKCOLOR = 6
	} TransparentBlitType;

    typedef enum {
        NORMAL = 0,
        CUSTOM_CONTAINER = 1,
        MAINTAIN_ASPECT_RATIO = 2
    } StretchType;


	[
		object,
		uuid(54B56DEC-639B-4D6C-9266-583A8E5BF7A4),
		dual,
		helpstring("IMSMFBar Interface"),
		pointer_default(unique)
	]
	interface IMSMFBar : IDispatch
	{
		[id(1), helpstring("method Load - loads up the script")] HRESULT Load();
		[id(2), helpstring("method Run - executes specific method")] HRESULT Run([in] BSTR strStatement);
		[id(3), helpstring("method About - displayes about box")] HRESULT About();
		[id(4), helpstring("method CreateObject")] HRESULT CreateObject([in]BSTR strObjectID, [in]BSTR strProgID, [in]long lx, [in]long ly, [in]long lWidth, [in]long lHeight, [in, defaultvalue("")] BSTR strPropBag, [in, defaultvalue(0)] VARIANT_BOOL fDisabled, [in, defaultvalue("")] BSTR strEventHookScript);
		[id(5), helpstring("method AddScriplet")] HRESULT AddScriptlet([in]BSTR strObjectID, [in]BSTR strEvent, [in]BSTR strEventCode);
		[id(6), helpstring("method AddObject")] HRESULT AddObject([in]BSTR strObjectID, [in]LPDISPATCH pDisp);
		[id(7), helpstring("method GetObjectUnknown")] HRESULT GetObjectUnknown([in]BSTR strObjectID, [out,retval] IUnknown** ppUnk);
		[id(8), helpstring("method EnableObject")] HRESULT EnableObject([in]BSTR strObjectID, [in]VARIANT_BOOL fEnable);
		[propget, id(9), helpstring("property ScriptLanguage")] HRESULT ScriptLanguage([out, retval]BSTR *pVal);
		[propput, id(9), helpstring("property ScriptLanguage")] HRESULT ScriptLanguage([in] BSTR newVal);
		[propget, id(10), helpstring("property ScriptFile")] HRESULT ScriptFile([out, retval] BSTR *pVal);
		[propput, id(10), helpstring("property ScriptFile")] HRESULT ScriptFile([in]BSTR newVal);
		[id(11), helpstring("method ObjectEnabled")] HRESULT ObjectEnabled([in]BSTR strObjectID, [out, retval]VARIANT_BOOL* pfEnabled);
		[id(12), helpstring("method SetupSelfSite")] HRESULT SetupSelfSite([in]long lx, [in]long ly, [in]long lWitdh, [in]long lHeight, [in]BSTR strPropBag, 
				[in, defaultvalue(0)] VARIANT_BOOL fDisabled, [in, defaultvalue(-1)] VARIANT_BOOL fHelpDisabled, [in, defaultvalue(0)] VARIANT_BOOL fWindowDisabled);
		[id(13), helpstring("method DestroyScriptEngine")] HRESULT DestroyScriptEngine();
		[id(14), helpstring("method HookScriptlet")] HRESULT HookScriptlet([in]BSTR strObjectID, [in]BSTR strEvent, [in]BSTR strEventCode);
		[id(15), helpstring("method SetObjectPosition")] HRESULT SetObjectPosition([in]BSTR strObjectID, [in]long xPos, [in]long yPos, [in]long lWidth, [in]long lHeight);
		[propget, id(16), helpstring("property MinWidth")] HRESULT MinWidth([out, retval] long *pVal);
		[propput, id(16), helpstring("property MinWidth")] HRESULT MinWidth([in] long newVal);
		[propget, id(17), helpstring("property MinHeight")] HRESULT MinHeight([out, retval] long *pVal);
		[propput, id(17), helpstring("property MinHeight")] HRESULT MinHeight([in] long newVal);
		[id(18), helpstring("method WinHelp")] HRESULT WinHelp([in]BSTR strHelpFile, [in]long lCommand, [in]long dwData);
		[propget, id(19), helpstring("property BackgroundImage")] HRESULT BackgroundImage([out, retval] BSTR *pVal);
		[propput, id(19), helpstring("property BackgroundImage")] HRESULT BackgroundImage([in] BSTR newVal);
		[propget, id(20), helpstring("property TransparentBlit")] HRESULT TransparentBlit([out, retval] TransparentBlitType *pVal);
		[propput, id(20), helpstring("property TransparentBlit")] HRESULT TransparentBlit([in] TransparentBlitType newVal);
		[id(21), helpstring("method ShowSelfSite")] HRESULT ShowSelfSite(long nCmd);
		[id(22), helpstring("method Close")] HRESULT Close();
		[id(23), helpstring("method SetPriority")] HRESULT SetPriority([in]long lPriority);
		[id(24), helpstring("method SetPriorityClass")] HRESULT SetPriorityClass([in]long lPriorityClass);	
		[propget, id(25), helpstring("property AutoLoad")] HRESULT AutoLoad([out, retval] VARIANT_BOOL *pVal);
		[propput, id(25), helpstring("property AutoLoad")] HRESULT AutoLoad([in] VARIANT_BOOL newVal);
		//[id(16), helpstring("method GetObjectPosition")] HRESULT GetObjectPosition([in]BSTR strObjectID, [out]long* xPos, [out]long* yPos, [out]long* lWidth, [out]long* lHeight);
		[id(26), helpstring("SetRoundRectRgn")] HRESULT SetRoundRectRgn([in]long x1, [in]long y1, [in]long x2, [in]long y2, [in]long width, [in]long height);
		[id(27), helpstring("SetRectRgn")] HRESULT SetRectRgn([in]long x1, [in]long y1, [in]long x2, [in]long y2);	
		[id(28), helpstring("method SetObjectFocus")] HRESULT SetObjectFocus([in]BSTR strObjectID, [in]VARIANT_BOOL fEnable);
		[id(29), helpstring("method ForceKey")]HRESULT ForceKey([in]LONG lVirtKey, [in]LONG lKeyData, [in, defaultvalue(0)] VARIANT_BOOL fEat);
		[id(30), helpstring("method MessageBox")] HRESULT MessageBox(BSTR strText, BSTR strCaption, [in, defaultvalue(0)]long lType);
		[id(31), helpstring("method SetObjectExtent")] HRESULT SetObjectExtent(BSTR strID, long lWidth, long lHeight);
		[propget, id(32), helpstring("property ResourceDLL")] HRESULT ResourceDLL([out, retval] BSTR *pVal);
		[propput, id(32), helpstring("property ResourceDLL")] HRESULT ResourceDLL([in] BSTR newVal);
		[propget, id(33), helpstring("property ActivityTimeout")] HRESULT ActivityTimeout([out, retval] long *pVal);
		[propput, id(33), helpstring("property ActivityTimeout")] HRESULT ActivityTimeout([in] long newVal);
		[id(34), helpstring("method SetTimeout")] HRESULT SetTimeout([in]long lMilliseconds, [in, defaultvalue(1)]long lId);
		[id(35), helpstring("method Sleep")] HRESULT Sleep([in]long lMiliseconds);
		[propget, id(36), helpstring("property CmdLine")] HRESULT CmdLine([out, retval] BSTR *pVal);
		[propput, id(36), helpstring("property CmdLine")] HRESULT CmdLine([in] BSTR newVal);
		[id(37), helpstring("method AddFocusObject")] HRESULT AddFocusObject(BSTR strObjectID);
		[id(38), helpstring("method ResetFocusArray")] HRESULT ResetFocusArray();
		[id(39), helpstring("method ResetFocusArray")] HRESULT GetUserLCID([out, retval]long* pLcid);
		[id(40), helpstring("method HasObjectFocus")] HRESULT HasObjectFocus([in]BSTR strObjectID,[out, retval] VARIANT_BOOL* pfFocus);
		[id(41), helpstring("method InvalidateObjectRect")] HRESULT InvalidateObjectRect([in]BSTR strObjectID);
		[id(42), helpstring("method Invalidate")] HRESULT Invalidate();
		[id(43), helpstring("method BitsPerPixel")] HRESULT BitsPerPixel([out, retval] long* plBits);
		[id(44), helpstring("method EnableObjectInput")] HRESULT EnableObjectInput([in]BSTR strObjectID, [in]VARIANT_BOOL fEnable);
		[id(45), helpstring("method ObjectInputEnabled")] HRESULT ObjectInputEnabled([in]BSTR strObjectID, [out, retval]VARIANT_BOOL* pfEnabled);
		[id(46), helpstring("method HasObjectCapture")] HRESULT HasObjectCapture([in]BSTR strObjectID, [out, retval] VARIANT_BOOL* pfEnable);
		[id(47), helpstring("method PopupSystemMenu")] HRESULT PopupSystemMenu([in, defaultvalue(-1)] long x, [in, defaultvalue(-1)] long y);
		[id(48), helpstring("method ProcessMessages")] HRESULT ProcessMessages();
		[id(49), helpstring("method SaveSelfHostState")] HRESULT SaveSelfHostState([in]BSTR strAppName);
		[id(50), helpstring("method RestoreSelfHostState")] HRESULT RestoreSelfHostState([in]BSTR strAppName);
		[id(51), helpstring("method SaveSelfHostUserData")] HRESULT SaveSelfHostUserData([in]BSTR strAppName, [in]long lData);
		[id(52), helpstring("method GetSelfHostUserData")] HRESULT GetSelfHostUserData([in]BSTR strAppName, [out, retval]long* lData);
        [id(53), helpstring("method HTMLHelp")] HRESULT HTMLHelp([in]BSTR strHelpFile, [in]long lCommand, [in]VARIANT vData);
		[propget, id(54), helpstring("property DoubleClickTime")] HRESULT DoubleClickTime([out, retval] long *pVal);
		[id(55), helpstring("SetCookie")] HRESULT SetCookie([in]BSTR strObjectID, [in]VARIANT vCookie);
		[id(56), helpstring("GetCookie")] HRESULT GetCookie([in]BSTR strObjectID, [out, retval] VARIANT *pvCookie);
		[propput, id(DISPID_BACKCOLOR)]	HRESULT BackColor([in]OLE_COLOR clr);
		[propget, id(DISPID_BACKCOLOR)] HRESULT BackColor([out,retval]OLE_COLOR* pclr);
		[propput, id(DISPID_HWND)]	HRESULT Window([in]long hwnd);
		//BUGBUG if we are to ship 64bit verion of the dll, we have to have a 
		//different GUID, since the interface is essentially different
#ifdef _WIN64
		[propget, id(DISPID_HWND)] HRESULT Window([out,retval]LONG_PTR* pHwnd);
#else
		[propget, id(DISPID_HWND)] HRESULT Window([out,retval]long* pHwnd);
#endif
		[propput, id(DISPID_CAPTION)]HRESULT Caption([in]BSTR strCaption);
		[propget, id(DISPID_CAPTION)]HRESULT Caption([out,retval]BSTR* pstrCaption);
		[propget, id(DISPID_READYSTATE)] HRESULT ReadyState([out, retval] LONG *pVal);
	};
	

	[
		object,
		uuid(A43B9418-A9BC-4888-97D5-48717A3D2FE0),
		dual,
		helpstring("IMSMFBBtn Interface"),
		pointer_default(unique)
	]
	interface IMSMFBBtn : IDispatch
	{
		[propget, id(1), helpstring("property ImageStatic")] HRESULT ImageStatic([out, retval] BSTR *pVal);
		[propput, id(1), helpstring("property ImageStatic")] HRESULT ImageStatic([in] BSTR newVal);
		[propget, id(2), helpstring("property ImageHover")] HRESULT ImageHover([out, retval] BSTR *pVal);
		[propput, id(2), helpstring("property ImageHover")] HRESULT ImageHover([in] BSTR newVal);
		[propget, id(3), helpstring("property ImagePush")] HRESULT ImagePush([out, retval] BSTR *pVal);
		[propput, id(3), helpstring("property ImagePush")] HRESULT ImagePush([in] BSTR newVal);
		[propget, id(4), helpstring("property TransparentBlit")] HRESULT TransparentBlit([out, retval] TransparentBlitType *pVal);
		[propput, id(4), helpstring("property TransparentBlit")] HRESULT TransparentBlit([in] TransparentBlitType newVal);
		[id(5), helpstring("method AboutBox")] HRESULT About();
		[propget, id(6), helpstring("property Disble")] HRESULT Disable([out, retval] VARIANT_BOOL *pVal);
		[propput, id(6), helpstring("property Disable")] HRESULT Disable([in] VARIANT_BOOL newVal);
		[propget, id(7), helpstring("property BtnState")] HRESULT BtnState([out, retval] long *pVal);
		[propput, id(7), helpstring("property BtnState")] HRESULT BtnState([in] long newVal);
		[propget, id(9), helpstring("property ToolTip")] HRESULT ToolTip([out, retval] BSTR *pVal);
		[propput, id(9), helpstring("property ToolTip")] HRESULT ToolTip([in] BSTR newVal);
		[id(10), helpstring("method GetDelayTime")] HRESULT GetDelayTime([in]long delayType, [out, retval] long *pVal);
		[id(11), helpstring("method SetDelayTime")] HRESULT SetDelayTime([in]long delayType, [in] long newVal);
		[propget, id(12), helpstring("property ToolTipMaxWidth")] HRESULT ToolTipMaxWidth([out, retval] long *pVal);
		[propput, id(12), helpstring("property ToolTipMaxWidth")] HRESULT ToolTipMaxWidth([in] long newVal);
		[propget, id(13), helpstring("property ResourceDLL")] HRESULT ResourceDLL([out, retval] BSTR *pVal);
		[propput, id(13), helpstring("property ResourceDLL")] HRESULT ResourceDLL([in] BSTR newVal);
		[propget, id(14), helpstring("property ImageDisabled")] HRESULT ImageDisabled([out, retval] BSTR *pVal);
		[propput, id(14), helpstring("property ImageDisabled")] HRESULT ImageDisabled([in] BSTR newVal);
		[propget, id(15), helpstring("property ImageActive")] HRESULT ImageActive([out, retval] BSTR *pVal);
		[propput, id(15), helpstring("property ImageActive")] HRESULT ImageActive([in] BSTR newVal);
		[propget, id(16), helpstring("property FontSize")] HRESULT FontSize([out, retval] long *pVal);
		[propput, id(16), helpstring("property FontSize")] HRESULT FontSize([in] long newVal);
		[propget, id(17), helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[propput, id(17), helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[propget, id(18), helpstring("property FontFace")] HRESULT FontFace([out, retval] BSTR *pVal);
		[propput, id(18), helpstring("property FontFace")] HRESULT FontFace([in] BSTR newVal);
		[propget, id(19), helpstring("property FontStyle")] HRESULT FontStyle([out, retval] BSTR *pVal);
		[propput, id(19), helpstring("property FontStyle")] HRESULT FontStyle([in] BSTR newVal);
		[propget, id(20), helpstring("property Windowless")] HRESULT Windowless([out, retval] VARIANT_BOOL *pVal);
		[propput, id(20), helpstring("property Windowless")] HRESULT Windowless([in] VARIANT_BOOL newVal);
		[propput, id(DISPID_BACKCOLOR)]	HRESULT BackColor([in]OLE_COLOR clr);
		[propget, id(DISPID_BACKCOLOR)] HRESULT BackColor([out,retval]OLE_COLOR* pclr);
		[propget, id(21), helpstring("property ColorPush")] HRESULT ColorPush([out, retval] OLE_COLOR *pVal);
		[propput, id(21), helpstring("property ColorPush")] HRESULT ColorPush([in] OLE_COLOR newVal);
		[propget, id(22), helpstring("property ColorHover")] HRESULT ColorHover([out, retval] OLE_COLOR *pVal);
		[propput, id(22), helpstring("property ColorHover")] HRESULT ColorHover([in] OLE_COLOR newVal);
		[propget, id(23), helpstring("property ColorStatic")] HRESULT ColorStatic([out, retval] OLE_COLOR *pVal);
		[propput, id(23), helpstring("property ColorStatic")] HRESULT ColorStatic([in] OLE_COLOR newVal);
		[propget, id(24), helpstring("property ColorDisable")] HRESULT ColorDisable([out, retval] OLE_COLOR *pVal);
		[propput, id(24), helpstring("property ColorDisable")] HRESULT ColorDisable([in] OLE_COLOR newVal);
		[propget, id(25), helpstring("property ColorActive")] HRESULT ColorActive([out, retval] OLE_COLOR *pVal);
		[propput, id(25), helpstring("property ColorActive")] HRESULT ColorActive([in] OLE_COLOR newVal);
		[propget, id(26), helpstring("property TextWidth")] HRESULT TextWidth([out, retval] long *pVal);
		[propget, id(27), helpstring("property TextHeight")] HRESULT TextHeight([out, retval] long *pVal);
		[propget, id(28), helpstring("property ToolTipTracking")] HRESULT ToolTipTracking([out, retval] VARIANT_BOOL *pVal);
		[propput, id(28), helpstring("property ToolTipTracking")] HRESULT ToolTipTracking([in] VARIANT_BOOL newVal);

	};
	

	[
		object,
		uuid(B0C2A59F-39FA-4D60-BB1E-EBE409E57BAC),
		dual,
		helpstring("IMSMFImg Interface"),
		pointer_default(unique)
	]
	interface IMSMFImg : IDispatch
	{
		[propput, id(DISPID_BACKCOLOR)]
		HRESULT BackColor([in]OLE_COLOR clr);
		[propget, id(DISPID_BACKCOLOR)]
		HRESULT BackColor([out,retval]OLE_COLOR* pclr);
		[propget, id(1), helpstring("property Image")] HRESULT Image([out, retval] BSTR *pVal);
		[propput, id(1), helpstring("property Image")] HRESULT Image([in] BSTR newVal);
		[propget, id(2), helpstring("property ResourceDLL")] HRESULT ResourceDLL([out, retval] BSTR *pVal);
		[propput, id(2), helpstring("property ResourceDLL")] HRESULT ResourceDLL([in] BSTR newVal);
		[propget, id(3), helpstring("property Windowless")] HRESULT Windowless([out, retval] VARIANT_BOOL *pVal);
		[propput, id(3), helpstring("property Windowless")] HRESULT Windowless([in] VARIANT_BOOL newVal);
		[propget, id(4), helpstring("property TransparentBlit")] HRESULT TransparentBlit([out, retval] TransparentBlitType *pVal);
		[propput, id(4), helpstring("property TransparentBlit")] HRESULT TransparentBlit([in] TransparentBlitType newVal);
	};
	

	[
		object,
		uuid(845F36EE-5C8D-418A-B4D7-7B5468AEDCCC),
		dual,
		helpstring("IMSMFSldr Interface"),
		pointer_default(unique)
	]
	interface IMSMFSldr : IDispatch
	{
		[propget, id(1), helpstring("property Value")] HRESULT Value([out, retval] float *pVal);
		[propput, id(1), helpstring("property Value")] HRESULT Value([in] float newVal);
		[propget, id(2), helpstring("property Min")] HRESULT Min([out, retval] float *pVal);
		[propput, id(2), helpstring("property Min")] HRESULT Min([in] float newVal);
		[propget, id(3), helpstring("property Max")] HRESULT Max([out, retval] float *pVal);
		[propput, id(3), helpstring("property Max")] HRESULT Max([in] float newVal);
		[propget, id(4), helpstring("property ThumbWidth")] HRESULT ThumbWidth([out, retval] long *pVal);
		[propput, id(4), helpstring("property ThumbWidth")] HRESULT ThumbWidth([in] long newVal);
		[propget, id(5), helpstring("property ThumbStatic")] HRESULT ThumbStatic([out, retval] BSTR *pVal);
		[propput, id(5), helpstring("property ThumbStatic")] HRESULT ThumbStatic([in] BSTR newVal);
		[propget, id(6), helpstring("property ThumbHover")] HRESULT ThumbHover([out, retval] BSTR *pVal);
		[propput, id(6), helpstring("property ThumbHover")] HRESULT ThumbHover([in] BSTR newVal);
		[propget, id(7), helpstring("property ThumbPush")] HRESULT ThumbPush([out, retval] BSTR *pVal);
		[propput, id(7), helpstring("property ThumbPush")] HRESULT ThumbPush([in] BSTR newVal);
		[propget, id(8), helpstring("property ThumbDisabled")] HRESULT ThumbDisabled([out, retval] BSTR *pVal);
		[propput, id(8), helpstring("property ThumbDisabled")] HRESULT ThumbDisabled([in] BSTR newVal);
		[propget, id(9), helpstring("property ThumbActive")] HRESULT ThumbActive([out, retval] BSTR *pVal);
		[propput, id(9), helpstring("property ThumbActive")] HRESULT ThumbActive([in] BSTR newVal);
		[propget, id(10), helpstring("property BackStatic")] HRESULT BackStatic([out, retval] BSTR *pVal);
		[propput, id(10), helpstring("property BackStatic")] HRESULT BackStatic([in] BSTR newVal);
		[propget, id(11), helpstring("property BackHover")] HRESULT BackHover([out, retval] BSTR *pVal);
		[propput, id(11), helpstring("property BackHover")] HRESULT BackHover([in] BSTR newVal);
		[propget, id(12), helpstring("property BackPush")] HRESULT BackPush([out, retval] BSTR *pVal);
		[propput, id(12), helpstring("property BackPush")] HRESULT BackPush([in] BSTR newVal);
		[propget, id(13), helpstring("property BackDisabled")] HRESULT BackDisabled([out, retval] BSTR *pVal);
		[propput, id(13), helpstring("property BackDisabled")] HRESULT BackDisabled([in] BSTR newVal);
		[propget, id(14), helpstring("property BackActive")] HRESULT BackActive([out, retval] BSTR *pVal);
		[propput, id(14), helpstring("property BackActive")] HRESULT BackActive([in] BSTR newVal);		
		[propget, id(15), helpstring("property SldrState")] HRESULT SldrState([out, retval] long *pVal);
		[propput, id(15), helpstring("property SldrState")] HRESULT SldrState([in] long newVal);
		[propget, id(16), helpstring("property Disable")] HRESULT Disable([out, retval] VARIANT_BOOL *pVal);
		[propput, id(16), helpstring("property Disable")] HRESULT Disable([in] VARIANT_BOOL newVal);
		[propget, id(17), helpstring("property XOffset")] HRESULT XOffset([out, retval] long *pVal);
		[propput, id(17), helpstring("property XOffset")] HRESULT XOffset([in] long newVal);
		[propget, id(18), helpstring("property YOffset")] HRESULT YOffset([out, retval] long *pVal);
		[propput, id(18), helpstring("property YOffset")] HRESULT YOffset([in] long newVal);		
		[propput, id(DISPID_BACKCOLOR)]	HRESULT BackColor([in]OLE_COLOR clr);
		[propget, id(DISPID_BACKCOLOR)] HRESULT BackColor([out,retval]OLE_COLOR* pclr);
		[propget, id(19), helpstring("property ResourceDLL")] HRESULT ResourceDLL([out, retval] BSTR *pVal);
		[propput, id(19), helpstring("property ResourceDLL")] HRESULT ResourceDLL([in] BSTR newVal);
		[propget, id(20), helpstring("property Windowless")] HRESULT Windowless([out, retval] VARIANT_BOOL *pVal);
		[propput, id(20), helpstring("property Windowless")] HRESULT Windowless([in] VARIANT_BOOL newVal);
		[propget, id(21), helpstring("property ArrowKeyIncrement")] HRESULT ArrowKeyIncrement([out, retval] FLOAT *pVal);
		[propput, id(21), helpstring("property ArrowKeyIncrement")] HRESULT ArrowKeyIncrement([in] FLOAT newVal);
		[propget, id(22), helpstring("property ArrowKeyDecrement")] HRESULT ArrowKeyDecrement([out, retval] float *pVal);
		[propput, id(22), helpstring("property ArrowKeyDecrement")] HRESULT ArrowKeyDecrement([in] float newVal);
		[propget, id(23), helpstring("property ToolTip")] HRESULT ToolTip([out, retval] BSTR *pVal);
		[propput, id(23), helpstring("property ToolTip")] HRESULT ToolTip([in] BSTR newVal);
		[id(24), helpstring("method GetDelayTime")] HRESULT GetDelayTime([in]long delayType, [out, retval] long *pVal);
		[id(25), helpstring("method SetDelayTime")] HRESULT SetDelayTime([in]long delayType, [in] long newVal);
		[propget, id(26), helpstring("property ToolTipMaxWidth")] HRESULT ToolTipMaxWidth([out, retval] long *pVal);
		[propput, id(26), helpstring("property ToolTipMaxWidth")] HRESULT ToolTipMaxWidth([in] long newVal);
		[propget, id(28), helpstring("property ToolTipTracking")] HRESULT ToolTipTracking([out, retval] VARIANT_BOOL *pVal);
		[propput, id(28), helpstring("property ToolTipTracking")] HRESULT ToolTipTracking([in] VARIANT_BOOL newVal);
	
	};
	

	[
		object,
		uuid(5DB6854E-5CA4-4756-BE2F-DD31CE5DF0ED),
		dual,
		helpstring("IMSMFText Interface"),
		pointer_default(unique)
	]
	interface IMSMFText : IDispatch
	{
	[propput, id(DISPID_BACKCOLOR)]
		HRESULT BackColor([in]OLE_COLOR clr);
		[propget, id(DISPID_BACKCOLOR)]
		HRESULT BackColor([out,retval]OLE_COLOR* pclr);
		[propget, id(1), helpstring("property FontSize")] HRESULT FontSize([out, retval] long *pVal);
		[propput, id(1), helpstring("property FontSize")] HRESULT FontSize([in] long newVal);
		[propget, id(2), helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[propput, id(2), helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[propget, id(3), helpstring("property FontFace")] HRESULT FontFace([out, retval] BSTR *pVal);
		[propput, id(3), helpstring("property FontFace")] HRESULT FontFace([in] BSTR newVal);
		[propget, id(4), helpstring("property FontStyle")] HRESULT FontStyle([out, retval] BSTR *pVal);
		[propput, id(4), helpstring("property FontStyle")] HRESULT FontStyle([in] BSTR newVal);
		[propget, id(5), helpstring("property ColorPush")] HRESULT ColorPush([out, retval] OLE_COLOR *pVal);
		[propput, id(5), helpstring("property ColorPush")] HRESULT ColorPush([in] OLE_COLOR newVal);
		[propget, id(6), helpstring("property ColorHover")] HRESULT ColorHover([out, retval] OLE_COLOR *pVal);
		[propput, id(6), helpstring("property ColorHover")] HRESULT ColorHover([in] OLE_COLOR newVal);
		[propget, id(7), helpstring("property ColorStatic")] HRESULT ColorStatic([out, retval] OLE_COLOR *pVal);
		[propput, id(7), helpstring("property ColorStatic")] HRESULT ColorStatic([in] OLE_COLOR newVal);
		[propget, id(8), helpstring("property ColorDisable")] HRESULT ColorDisable([out, retval] OLE_COLOR *pVal);
		[propput, id(8), helpstring("property ColorDisable")] HRESULT ColorDisable([in] OLE_COLOR newVal);
		[propget, id(9), helpstring("property ColorActive")] HRESULT ColorActive([out, retval] OLE_COLOR *pVal);
		[propput, id(9), helpstring("property ColorActive")] HRESULT ColorActive([in] OLE_COLOR newVal);
		[propget, id(10), helpstring("property TextState")] HRESULT TextState([out, retval] long *pVal);
		[propput, id(10), helpstring("property TextState")] HRESULT TextState([in] long newVal);
		[propget, id(11), helpstring("property Disable")] HRESULT Disable([out, retval] VARIANT_BOOL *pVal);
		[propput, id(11), helpstring("property Disable")] HRESULT Disable([in] VARIANT_BOOL newVal);
		[propget, id(12), helpstring("property ResourceDLL")] HRESULT ResourceDLL([out, retval] BSTR *pVal);
		[propput, id(12), helpstring("property ResourceDLL")] HRESULT ResourceDLL([in] BSTR newVal);
		[propget, id(13), helpstring("property TextAlignment")] HRESULT TextAlignment([out, retval] BSTR *pVal);
		[propput, id(13), helpstring("property TextAlignment")] HRESULT TextAlignment([in] BSTR newVal);
		[propget, id(14), helpstring("property EdgeStyle")] HRESULT EdgeStyle([out, retval] BSTR *pVal);
		[propput, id(14), helpstring("property EdgeStyle")] HRESULT EdgeStyle([in] BSTR newVal);
		[propget, id(15), helpstring("property TextWidth")] HRESULT TextWidth([out, retval] long *pVal);
		[propget, id(16), helpstring("property TextHeight")] HRESULT TextHeight([out, retval] long *pVal);
		[propget, id(17), helpstring("property TransparentText")] HRESULT TransparentText([out, retval] VARIANT_BOOL *pVal);
		[propput, id(17), helpstring("property TransparentText")] HRESULT TransparentText([in] VARIANT_BOOL newVal);
        [propget, id(18), helpstring("property Windowless")] HRESULT Windowless([out, retval] VARIANT_BOOL *pVal);
		[propput, id(18), helpstring("property Windowless")] HRESULT Windowless([in] VARIANT_BOOL newVal);		
	};

[
	uuid(A9AB5886-CF9C-43FD-8BF1-942F0CDA5BB5),
	version(1.0),
	helpstring("MSMFCnt 1.0 Type Library")
]
library MSMFCNTLib
{
	importlib("stdole2.tlb");

	[uuid(681537db-4c4e-434a-9bb9-df8083387731),
	helpstring("Event interface for MSMFBar control") ]
	dispinterface _IMSMFBar
	{
		properties:
		//  Event interface has no properties
		methods:
		[id(1), helpstring("OnClick")] void OnClick();	
		[id(2), helpstring("OnMouseDown")] void OnMouseDown();	
		[id(3), helpstring("OnMouseUp")] void OnMouseUp();	
		[id(0x10), helpstring("Notifies the client about resizing change")] void OnResize([in]long lWidth, [in]long lHeight, [in]long lCode);	
		[id(0x11), helpstring("OnHelp")] void OnHelp([in]BSTR strObjectID, [in, defaultvalue("")] BSTR strExtraInfo);
		[id(0x12), helpstring("OnKeyUp")] void OnKeyUp([in]LONG lVirtKey, [in]LONG lKeyData);
		[id(0x13), helpstring("OnKeyDown")] void OnKeyDown([in]LONG lVirtKey, [in]LONG lKeyData);
		[id(0x14), helpstring("ActivityDeclined")] void ActivityDeclined();	
		[id(0x15), helpstring("ActivityStarted")] void ActivityStarted();	
		[id(0x16), helpstring("Timeout")] void Timeout([in]LONG lTimerID);	
		[id(0x17), helpstring("OnDblClick")] void OnDblClick();	
		[id(0x18), helpstring("OnSysKeyUp")] void OnSysKeyUp([in]LONG lVirtKey, [in]LONG lKeyData);
		[id(0x19), helpstring("OnSysKeyDown")] void OnSysKeyDown([in]LONG lVirtKey, [in]LONG lKeyData);		
		[id(0x1A), helpstring("OnActivate")] void OnActivate(VARIANT_BOOL bActivated);	
		[id(DISPID_READYSTATECHANGE), helpstring("Reports that the ReadyState property of the ActiveMovie Control has changed")] void ReadyStateChange([in] LONG ReadyState); // Should be using READYSTATE but ATL does not like it much	
	};

	[
		uuid(13832181-50FD-4D8D-86C3-0139644E0706),
		helpstring("MSMFBar Class")
	]
	coclass MSMFBar
	{
		[default] interface IMSMFBar;
		[default, source] interface _IMSMFBar;

	};

	[
		uuid(a391ed89-b4a6-453b-8ea5-d529af4b5770),
		helpstring("Event interface for button control") 
	]
	dispinterface _IMSMFBBtn
	{
		properties:
		//  Event interface has no properties
		methods:
		[id(1), helpstring("OnClick")] void OnClick();	
		[id(2), helpstring("OnMouseDown")] void OnMouseDown();	
		[id(3), helpstring("OnMouseUp")] void OnMouseUp();	
		[id(4), helpstring("OnDblClick")] void OnDblClick();	
	};	
	[			
		uuid(7A136DD3-BEBE-47BE-B6D9-E2CC7F816D43),
		helpstring("MSMFBBtn Class")
	]
	coclass MSMFBBtn
	{
		[default] interface IMSMFBBtn;
		[default, source] interface _IMSMFBBtn;
	};

	[
		uuid(7bc2133b-34fb-4c4d-8177-0c966d1095c5),
		helpstring("_MSMFImg Event Interface")
	]
	dispinterface _MSMFImg
	{
		properties:
		methods:
		[id(1), helpstring("OnClick")] void OnClick();	
		[id(2), helpstring("OnMouseDown")] void OnMouseDown();	
		[id(3), helpstring("OnMouseUp")] void OnMouseUp();	
	};	
	[
		uuid(34734599-9B11-4456-A607-F906485C31D7),
		helpstring("MSMFImg Class")
	]
	coclass MSMFImg
	{
		[default] interface IMSMFImg;
		[default, source] interface _MSMFImg;
	};

	[
		uuid(823c1403-53dd-4e82-ba17-5c4afabc9026),
		helpstring("_IMSMFSldr Interface")
	]
	dispinterface _IMSMFSldr
	{
		properties:
		methods:
		[id(1), helpstring("OnClick")] void OnClick();	
		[id(2), helpstring("OnMouseDown")] void OnMouseDown();	
		[id(3), helpstring("OnMouseUp")] void OnMouseUp();	
		[id(4), helpstring("OnValueChange")] void  OnValueChange([in]FLOAT flNewVal);
	};	
	[
		uuid(E2909DE3-0EE0-46E6-9258-E1CFE5AC73F9),
		helpstring("MSMFSldr Class")
	]
	coclass MSMFSldr
	{
		[default] interface IMSMFSldr;
		[default, source] interface _IMSMFSldr;
	};

	[
		uuid(4981b0dd-5f02-41f0-acff-4617d9c25b45),
		helpstring("_IMSMFTextEvents Interface")
	]
	dispinterface _IMSMFText
	{
		properties:
		methods:
		[id(1), helpstring("OnClick")] void OnClick();	
		[id(2), helpstring("OnMouseDown")] void OnMouseDown();	
		[id(3), helpstring("OnMouseUp")] void OnMouseUp();	
	};	
	[
		uuid(F2A6C42D-5515-4013-85F4-1EC3D33950DA),
		helpstring("MSMFText Class")
	]
	coclass MSMFText
	{
		[default] interface IMSMFText;
		[default, source] dispinterface _IMSMFText;
	};
};
/*************************************************************************/
/* End of file: MSMFCnt.idl                                              */
/*************************************************************************/