|
|
// marscore.idl : IDL source for marscore.dll //
// This file will be processed by the MIDL tool to // produce the type library (marscore.tlb) and marshalling code.
import "oaidl.idl"; import "ocidl.idl"; import "mshtml.idl";
#ifdef USE_DOWNLOADMANAGER import "dlmgridl.idl"; #endif
#include "olectl.h"
cpp_quote("#define MTF_USE_DEFAULT_POS 0x00000001") cpp_quote("#define MTF_MANAGE_WINDOW_SIZE 0x00000002") cpp_quote("#define MTF_DONT_SHOW_WINDOW 0x00000004") cpp_quote("#define MTF_RESTORING_FROM_REGISTRY 0x00000008")
//// LEGACY CODE CHECK: //// LEGACY CODE CHECK: -----Original Message----- //// LEGACY CODE CHECK: From: Oleg Ovetchkine //// LEGACY CODE CHECK: Sent: Thursday, May 03, 2001 2:46 PM //// LEGACY CODE CHECK: To: Desktop Delta Mail Communications; IE Check-in Mail; IE Build Lab //// LEGACY CODE CHECK: Subject: Lab06: (G) Approved bug fix //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: 26693 HSS:UI:Bad redraw shifts navbar down and right a few pixels, leaving a transparent band top & left //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: We have legacy code that supposed to render UI active border around trident when it is hosted. //// LEGACY CODE CHECK: The bug happens due to two events. First, we set border flag to TRUE while processing CRootElement::BecomeUIActive(), //// LEGACY CODE CHECK: second because of the flag we inflate window region rectangle by 4 pixels each side, //// LEGACY CODE CHECK: which causes four pixels bands not to be rendering from left and top sides later. //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: We already have a bit flag that suppresses setting border flag in first place (CServer::_fMsoDocMode. //// LEGACY CODE CHECK: _fMsoDocMode == TRUE when client supports IID_IOleDocumentSite). //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: Taking into acount the stage we are now, my suggestion whould be to implement appHack fix for HSS //// LEGACY CODE CHECK: by introducing one more bit flag on CDoc object, set it to TRUE when Trident is hosted by HSS and //// LEGACY CODE CHECK: suppress border flag when appHack flag is TRUE. I have worked out the way to recognize HSS application with dmassare, //// LEGACY CODE CHECK: implemented the fix and verified it on HSS. //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: //// LEGACY CODE CHECK: !!NEVER!! change GUID for SID_SMarsPanel and IMarsPanel. //// LEGACY CODE CHECK:
typedef struct { UINT cbSize; HICON hIcon; int nCmdShow; DWORD dwFlags; LPCWSTR pwszTitle; LPCWSTR pwszPanelURL; LPCWSTR pwszFirstPlace; RECT rcDefaultPosition; } MARSTHREADPARAM;
[ uuid(88519F49-040A-11D3-9883-00C04FA35C89), version(1.0) ] library MARSCORELib { importlib("stdole32.tlb"); importlib("stdole2.tlb");
[ object, uuid(988934A0-064B-11D3-BB80-00104B35E7F9), dual, pointer_default(unique) ] interface IMarsPanel : IDispatch { [propget, id( 1)] HRESULT name ( [out, retval] BSTR *pVal ); [propget, id( 2)] HRESULT content ( [out, retval] IDispatch* *pVal ); [propget, id( 3)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal ); [propput, id( 3)] HRESULT visible ( [in ] VARIANT_BOOL newVal ); [propget, id( 4)] HRESULT startUrl ( [out, retval] BSTR *pVal ); [propput, id( 4)] HRESULT startUrl ( [in ] BSTR newVal ); [propget, id( 5)] HRESULT height ( [out, retval] long *pVal ); [propput, id( 5)] HRESULT height ( [in ] long newVal ); [propget, id( 6)] HRESULT width ( [out, retval] long *pVal ); [propput, id( 6)] HRESULT width ( [in ] long newVal ); [propget, id( 7)] HRESULT x ( [out, retval] long *pVal ); [propput, id( 7)] HRESULT x ( [in ] long newVal ); [propget, id( 8)] HRESULT y ( [out, retval] long *pVal ); [propput, id( 8)] HRESULT y ( [in ] long newVal ); [propget, id( 9)] HRESULT position ( [out, retval] VARIANT *pVal ); [propput, id( 9)] HRESULT position ( [in ] VARIANT newVal ); [propget, id(10)] HRESULT autoSize ( [out, retval] VARIANT_BOOL *pVal ); [propput, id(10)] HRESULT autoSize ( [in ] VARIANT_BOOL newVal ); [propget, id(11)] HRESULT contentInvalid ( [out, retval] VARIANT_BOOL *pVal ); [propput, id(11)] HRESULT contentInvalid ( [in ] VARIANT_BOOL newVal ); [propget, id(12)] HRESULT layoutIndex ( [out, retval] long *pVal ); [propget, id(13)] HRESULT isCurrentlyVisible( [out, retval] VARIANT_BOOL *pVal );
[id(20)] HRESULT moveto( [in] VARIANT lX, [in] VARIANT lY, [in] VARIANT lWidth, [in] VARIANT lHeight );
[id(21)] HRESULT restrictHeight( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker ); [id(22)] HRESULT restrictWidth ( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker );
[id(23)] HRESULT canResize( [in] long lDX, [in] long lDY, [out, retval] VARIANT_BOOL *pVal );
[id(24)] HRESULT navigate([in] VARIANT varTarget, [in, optional] VARIANT varForceLoad); [id(25)] HRESULT refresh();
[id(26)] HRESULT activate(); [id(27)] HRESULT insertBefore( [in] VARIANT varInsertBefore );
[id(28)] HRESULT execMshtml( [in ] DWORD nCmdID , [in ] DWORD nCmdExecOpt , [in, optional] VARIANTARG *pvaIn , [in, out, optional] VARIANTARG *pvaOut ); }
[ object, uuid(988934A1-064B-11D3-BB80-00104B35E7F9), dual, pointer_default(unique) ] interface IMarsPanelCollection : IDispatch { [propget, id(1000) ] HRESULT length ( [out, retval] LONG *plNumPanels ); [propget, id(DISPID_VALUE) ] HRESULT item ( [in] VARIANT varPanel, [out, retval] IMarsPanel* *ppPanel ); [propget, id(DISPID_NEWENUM), hidden, restricted] HRESULT _newEnum( [out, retval] IUnknown* *ppEnumPanels );
[propget, id(1)] HRESULT panel( [in] BSTR bstrName, [out, retval] IMarsPanel* *ppPanel );
[id(2)] HRESULT addPanel( [in ] BSTR bstrName , [in ] VARIANT varType , [in ] BSTR bstrStartUrl , [in ] VARIANT varCreate , [in ] long lFlags , [out, retval] IMarsPanel* *ppPanel );
[id(3)] HRESULT removePanel([in] BSTR bstrName);
[id(4)] HRESULT lockLayout (); [id(5)] HRESULT unlockLayout();
[propget, id(6)] HRESULT activePanel( [out, retval] IMarsPanel* *ppPanel ); };
[ object, uuid(988934A2-064B-11D3-BB80-00104B35E7F9), dual, pointer_default(unique) ] interface IMarsPlace : IDispatch { [propget, id(1)] HRESULT name( [out, retval] BSTR *pbstrName );
[id(2)] HRESULT transitionTo(); };
[ object, uuid(988934A3-064B-11D3-BB80-00104B35E7F9), dual, pointer_default(unique) ] interface IMarsPlaceCollection : IDispatch { [ id(1)] HRESULT place ( [in] BSTR bstrName, [out, retval] IMarsPlace* *ppMarsPlace ); [propget, id(2)] HRESULT currentPlace( [out, retval] IMarsPlace* *ppMarsPlace ); [ id(3)] HRESULT transitionTo( [in] BSTR bstrName ); };
[ object, uuid(E2984BA5-294A-4cc5-8CA9-82CDDEC72DD0), dual, pointer_default(unique) ] interface IMarsWindowOM : IDispatch { [propget, id( 1)] HRESULT active ( [out, retval] VARIANT_BOOL *pVal ); [propget, id( 2)] HRESULT minimized( [out, retval] VARIANT_BOOL *pVal ); [propput, id( 2)] HRESULT minimized( [in ] VARIANT_BOOL newVal ); [propget, id( 3)] HRESULT maximized( [out, retval] VARIANT_BOOL *pVal ); [propput, id( 3)] HRESULT maximized( [in ] VARIANT_BOOL newVal ); [propget, id( 4)] HRESULT title ( [out, retval] BSTR *pVal ); [propput, id( 4)] HRESULT title ( [in ] BSTR newVal ); [propget, id( 5)] HRESULT x ( [out, retval] long *pVal ); [propput, id( 5)] HRESULT x ( [in ] long newVal ); [propget, id( 6)] HRESULT y ( [out, retval] long *pVal ); [propput, id( 6)] HRESULT y ( [in ] long newVal ); [propget, id( 7)] HRESULT width ( [out, retval] long *pVal ); [propput, id( 7)] HRESULT width ( [in ] long newVal ); [propget, id( 8)] HRESULT height ( [out, retval] long *pVal ); [propput, id( 8)] HRESULT height ( [in ] long newVal ); [propget, id( 9)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal ); [propput, id( 9)] HRESULT visible ( [in ] VARIANT_BOOL newVal );
[propget, id(15)] HRESULT panels( [out, retval] IMarsPanelCollection* *ppPanels ); [propget, id(16)] HRESULT places( [out, retval] IMarsPlaceCollection* *ppPlaces );
[id(20)] HRESULT setWindowDimensions( [in] long lX, [in] long lY, [in] long lW, [in] long lH ); [id(21)] HRESULT close(); [id(22)] HRESULT refreshLayout(); }
[ uuid(6E204F82-E5AB-4567-B28E-57A5C8BFDDB6), ] coclass MarsExternal { [default] interface IMarsExternal; };
cpp_quote("#define MARS_E_BAD_FIREEVENT_ARGS 1000") cpp_quote("") cpp_quote("// {24EC0AE8-734E-4c18-B191-6D3BF1D9413B}") cpp_quote("DEFINE_GUID(SID_SMarsPanel, ") cpp_quote("0x24ec0ae8, 0x734e, 0x4c18, 0xb1, 0x91, 0x6d, 0x3b, 0xf1, 0xd9, 0x41, 0x3b);") cpp_quote("") cpp_quote("// {CECC5FD8-4FEF-448f-B5CB-59E44F9D7ED5}") cpp_quote("DEFINE_GUID(SID_SMarsWindow, ") cpp_quote("0xcecc5fd8, 0x4fef, 0x448f, 0xb5, 0xcb, 0x59, 0xe4, 0x4f, 0x9d, 0x7e, 0xd5);") cpp_quote("") cpp_quote("// {6A0DFD86-87FD-4722-A21B-31920DCECBFE}") cpp_quote("DEFINE_GUID(SID_SMarsDocument, ") cpp_quote("0x6a0dfd86, 0x87fd, 0x4722, 0xa2, 0x1b, 0x31, 0x92, 0xd, 0xce, 0xcb, 0xfe);") cpp_quote("") cpp_quote("// {847F06DF-970F-4535-883F-B780CB605A12}") cpp_quote("DEFINE_GUID(SID_SMarsHost, ") cpp_quote("0x847f06df, 0x970f, 0x4535, 0x88, 0x3f, 0xb7, 0x80, 0xcb, 0x60, 0x5a, 0x12);") cpp_quote("") cpp_quote("typedef HRESULT (STDMETHODCALLTYPE *PFNMARSTHREADPROC)(IMarsHost *pMarsHost, MARSTHREADPARAM *pThreadParam);") cpp_quote("#define ORD_MARSTHREADPROC 5") };
[ object, uuid(CC6FFEB0-E379-427a-9810-A16B7A826A89), pointer_default(unique) ] interface IMarsHost : IUnknown { typedef enum { // punk - a mars window // lParam - WINDOWPLACEMENT* MARSHOST_ON_WIN_SETPOS,
// punk - a mars window // lParam - unused MARSHOST_ON_WIN_INIT, MARSHOST_ON_WIN_READY, MARSHOST_ON_WIN_PASSIVATE,
// punk - a mars panel // lParam - unused MARSHOST_ON_PANEL_INIT, MARSHOST_ON_PANEL_PASSIVATE, MARSHOST_ON_PANEL_CONTROL_CREATE,
// punk - a mars place // lParam - unused MARSHOST_ON_PLACE_TRANSITION_DONE,
// punk - IUnknown of the faulting document // lParam - unused MARSHOST_ON_SCRIPT_ERROR, } MARSHOSTEVENT;
HRESULT OnHostNotify([in] MARSHOSTEVENT event, [in] IUnknown *punk, [in] LPARAM lParam);
HRESULT PreTranslateMessage( [in] MSG* msg ); };
[ object, uuid(B616B681-04D6-11D3-9883-00C04FA35C89), dual, pointer_default(unique) ] interface IMarsExternal : IDispatch { [propget, id(1)] HRESULT singleButtonMouse( [out, retval] VARIANT_BOOL *pVal ); [propput, id(1)] HRESULT singleButtonMouse( [in ] VARIANT_BOOL newVal ); [propget, id(2)] HRESULT panels ( [out, retval] IMarsPanelCollection* *pVal ); [propget, id(3)] HRESULT places ( [out, retval] IMarsPlaceCollection* *pVal ); [propget, id(4)] HRESULT window ( [out, retval] IMarsWindowOM* *pVal ); };
|