// Inject.idl : IDL source for Inject.dll // // This file will be processed by the MIDL tool to // produce the type library (Inject.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "decal.idl"; import "unknwn.idl"; interface IBarManager; interface ILayerSite; interface IIconCache; interface IImageCache; interface IFontCache; interface ISimpleBar; interface ICanvas; interface IView; interface ILayer; interface IPanelSink; interface IInputBuffer; struct ClipParams { RECT window; POINT org; VARIANT_BOOL visible; }; enum eAlphaBlendOptions { eAlphaBlendSoftware = 0x01, eAlphaBlendGDIPlus = 0x02 }; enum eRenderOptions { eRenderClipped = 0x01, eRenderNext = 0x02, eRenderTransparent = 0x08, eRenderReformatNext = 0x20 }; enum eViewFlags { eTransparent = 0x01, }; enum eFontOptions { eFontBold = 0x01, eFontItalic = 0x02, eFontUnderline = 0x04 }; enum eFontJustify { eFontLeft, eFontRight, eFontCenter }; enum eDrawTextExFlags { eAA = 0x1, eOutlined = 0x2, }; enum eDefaultControlType { eCtlButton, eCtlPager }; enum ePositionType { ePositionByIndex, ePositionByID }; enum eMinMaxState { eStateMax = 0, eStateMin = 1 }; enum eCombatState { ePeace = 1, eMelee = 2, eMissile = 3, eMagic = 4 }; struct LayerParams { long ID; RECT pos; long render; }; struct ViewParams { long icon; long iconLibrary; BSTR label; long left; long top; long width; long height; long alpha; long state; }; struct MouseState { ILayer *over; POINT screen, client; VARIANT_BOOL ctrl; VARIANT_BOOL shift; }; struct KeyState { short vkey; VARIANT_BOOL ctrl; VARIANT_BOOL shift; }; enum eMouseInput { eMouseLeftClick, eMouseRightClick, eMouseLeftDoubleClick, eMouseRightDoubleClick }; enum eInputStatus { eInputIdle, eInputWaiting, eInputRunning, eInputPaused }; enum eManagerSinkCaps { eManagerSinkCapWindowMessage = 0x01, eManagerSinkCapPlugin = 0x02, eManagerSinkCapRender = 0x04, eManagerSinkCapRender3D = 0x08, }; [ object, uuid(702D3901-C13A-448e-8871-ECDC8BC8D079), helpstring("Interface passed to plugins for access to global services."), pointer_default(unique) ] interface IPluginSite : IUnknown { [helpstring("Unloads a plugin by ID - used by plugins that want to unload themselves")] HRESULT UnloadPlugin(long nID); [helpstring("The DirectDraw object used by AC")] HRESULT GetDirectDraw(REFIID iid, [iid_is(iid)] void **ppvItf); [helpstring("The current surface used for 3d drawing - the offscreen buff in windowed mode or the backbuffer in fullscreen mode")] HRESULT GetPrimarySurface([out, retval] ICanvas **ppPrimary); [helpstring("The Direct3DDevice used by AC")] HRESULT Get3DDevice(REFIID iid, [iid_is(iid)] void **ppvItf); [helpstring("Loads a bitmap into a surface from a file. Do not use of measure the bitmap until in a rendering pass.")] HRESULT LoadBitmapFile(BSTR strFilename, [out, retval] IImageCache **ppImage); [helpstring("Returns an icon cache for a particular size")] HRESULT GetIconCache(LPSIZE psz, [out, retval] IIconCache **ppCache); [helpstring("Loads a bitmap into a surface directly from portal.dat. Do not use of measure the bitmap until in a rendering pass.")] HRESULT LoadBitmapPortal(long nFile, IImageCache **); [helpstring("Create a cached font for drawing and measuring text")] HRESULT CreateFont(BSTR szFaceName, long nHeight, long dwFlags, [out, retval] IFontCache **ppFont); [helpstring("Returns the current resolution, in windowed mode it is the client area")] HRESULT GetScreenSize(LPSIZE sz); [helpstring("Creates an offscreen buffer for drawing. Drawing is not guaranteed to be successful outside of the rendering pass.")] HRESULT CreateCanvas(LPSIZE psz, [out, retval] ICanvas **ppCanvas); [helpstring("Creates a new view (icon and panel surface) using the control as the panel root")] HRESULT CreateView(struct ViewParams *pParams, ILayer *pLayer, [out, retval] IView **ppView); [helpstring("Creates a new view from a view schema, if the text is an XML document (beginning with ) it is loaded directly, otherwise it is interpretted as a moniker (file or URL source).")] HRESULT LoadView(BSTR strSchema, [out, retval] IView **ppView); [helpstring("method CreateBrushImage")] HRESULT CreateBrushImage(long nColor, [out, retval] IImageCache **ppImg); [helpstring("method LoadImageSchema")] HRESULT LoadImageSchema(IUnknown *pSchema, [out, retval] IImageCache **ppImg); [helpstring("method CreateFontSchema")] HRESULT CreateFontSchema(long nDefHeight, long nDefOptions, IUnknown *pSchema, [out, retval] IFontCache **ppCache); [helpstring("method LoadResourceModule")] HRESULT LoadResourceModule(BSTR strLibrary, [out, retval] long *pnModule); [propget, helpstring("property ResourcePath")] HRESULT ResourcePath([out, retval] BSTR *pVal); [propget, helpstring("property Plugin")] HRESULT Plugin(BSTR strProgID, [out, retval] LPDISPATCH *pVal); [propget, helpstring("property NetworkFilter")] HRESULT NetworkFilter(BSTR strProgID, [out, retval] LPDISPATCH *pVal); [helpstring("method LoadViewObject")] HRESULT LoadViewObject(IUnknown *pSchema, [out, retval] IView **ppView); [helpstring("method CreateInputBuffer")] HRESULT CreateInputBuffer([out, retval] IInputBuffer **ppInput); [propget, helpstring("property HWND")] HRESULT HWND([out, retval] long *pVal); [propget, helpstring("property Focus")] HRESULT Focus([out, retval] VARIANT_BOOL *pVal); [propget, helpstring("property OldWndProc")] HRESULT OldWndProc([out, retval] long *pOldWndProc); [propput, helpstring("property Current Selection")] HRESULT CurrentSelection([in] long nID); [propget, helpstring("property Current Selection")] HRESULT CurrentSelection([out, retval] long *nID); [propput, helpstring("property Previous Selection")] HRESULT PreviousSelection([in] long nID); [propget, helpstring("property Previous Selection")] HRESULT PreviousSelection([out, retval] long *nID); [helpstring("Writes text to AC's Chat Window")] HRESULT WriteToChatWindow(BSTR szText, [defaultvalue(0)] long lColor); [helpstring("Sets the Current Mouse Position")] HRESULT SetCursorPosition(long x, long y); [helpstring("Gets a key's binding from the current keymap")] HRESULT QueryKeyboardMap([in] BSTR bstrName, [out, retval] long *pAsciiVal); [helpstring("Gets known MemLocs from the xml.")] HRESULT QueryMemLoc([in] BSTR bstrName, [out, retval] long *pVal); [helpstring("Writes raw text to AC's Chat Window (Doesn't include a newline)")] HRESULT RawWriteToChatWindow(BSTR szText, [defaultvalue(0)] long lColor); [helpstring("Casts a specific Spell on the Object specified")] HRESULT CastSpell(long lSpellID, long lObjectID); [helpstring("Moves items within your inventory")] HRESULT MoveItem(long lObjectID, long lPackID, long lSlot, long lStack); [helpstring("Selects an item")] HRESULT SelectItem(long lObjectID); [helpstring("Uses an item")] HRESULT UseItem(long lObjectID, long lUseOnSelectedItem); [propget, helpstring("property CombatState")] HRESULT CombatState([out, retval] long *pVal); [propget, helpstring("property ChatState")] HRESULT ChatState([out, retval] VARIANT_BOOL *pVal); [helpstring("method UseItemEx")] HRESULT UseItemEx(long Use, long UseOn); [helpstring("Decal itself")] HRESULT get_Decal([out, retval] IDecal **pVal); [helpstring("Gets the vital stats of a member of your fellowship")] HRESULT GetFellowStats(long charID); [propget, helpstring("property Hooks")] HRESULT Hooks([out, retval] IACHooks **pVal); [helpstring("Force redraw of the Decal bar")] HRESULT RedrawBar(); [propget, helpstring("Fetch the font set in DenAgent")] HRESULT FontName([out, retval] BSTR *pFontName); }; [ object, uuid(BA3E677F-8E44-4829-982E-58BBBC5C5F9B), helpstring("IPlugin Interface - All plugin components are required to implement this interface"), pointer_default(unique) ] interface IPlugin : IUnknown { [helpstring("Create all objects and views within your plugin. The assigned ID can be used for self termiantion and the plugin site should be stored.")] HRESULT Initialize(IPluginSite *pSite, long nID); [helpstring("Release all your objects including the stored IPluginSite")] HRESULT Terminate(); [propget, helpstring("Return a short text string describing your plugin.")] HRESULT FriendlyName([out, retval] BSTR *pVal); }; [ object, uuid(D216BA6C-D328-4765-B40A-9BC57C96F75E), helpstring("IPluginSink Interface"), pointer_default(unique) ] interface IPluginSink : IUnknown { [helpstring("method ChatText")] HRESULT ChatText(BSTR bstrMsg, [out, retval] VARIANT_BOOL *pbEat); [helpstring("method ChatMessage")] HRESULT ChatMessage(BSTR bstrMsg, long *pColor, [out, retval] VARIANT_BOOL *pbEat); }; [ object, uuid(65C6CE3D-B66B-4B64-8EA3-18AB2328484E), helpstring("IRenderSink Interface"), pointer_default(unique) ] interface IRenderSink : IUnknown { [helpstring("method CustomDraw")] HRESULT CustomDraw(ICanvas* pCanvas); }; [ object, uuid(E4FBF228-D2AA-4298-96EC-6D89A1960731), helpstring("IRender3DSink Interface"), pointer_default(unique) ] interface IRender3DSink : IUnknown { [helpstring("method PreBeginScene")] HRESULT PreBeginScene(IUnknown* pD3D); [helpstring("method PostBeginScene")] HRESULT PostBeginScene(IUnknown* pD3D); [helpstring("method PreEndScene")] HRESULT PreEndScene(IUnknown* pD3D); [helpstring("method PostEndScene")] HRESULT PostEndScene(IUnknown* pD3D); }; [ object, uuid(996B377C-1953-4db1-AAC1-157F72592D3E), dual, helpstring("Base interface for all controls."), pointer_default(unique) ] interface IControl : IDispatch { [id(1), helpstring("Remove this control from the hierarchy.")] HRESULT DestroyChild(long nIndex, [defaultvalue(ePositionByIndex)] enum ePositionType posType); [id(2), propget, helpstring("Returns the numerical ID used by this control for events.")] HRESULT ID([out, retval] long *pVal); [id(3), propget, helpstring("The number of direct children.")] HRESULT ChildCount([out, retval] long *pVal); [id(4), propget, helpstring("Select a child by ID (ePositionByID) or index (ePositionByIndex).")] HRESULT Child(long nIndex, [defaultvalue(ePositionByIndex)] enum ePositionType posType, [out, retval] IControl* *pVal); //[id(5), propget, helpstring("property Position")] HRESULT Position([out, retval] RECT *pVal); //[id(5), propput, helpstring("property Position")] HRESULT Position([in] RECT *newVal); }; [ uuid(2FEBCBC3-488C-444f-AD08-5D3097D2D1ED), helpstring("Base events interface for all controls, copy these member(s) into the specific control interface.") ] dispinterface IControlEvents { properties: methods: [id(1), helpstring("This control is about to be destroyed, release any references to this object.")] void Destroy(long nID); }; [ object, uuid(0D63504F-DEEF-4a2d-9742-28DD1BADDA7C), helpstring("Base interface for Layers, all control must implement this interface."), pointer_default(unique) ] interface ILayer : IUnknown { [helpstring("Initialize your layer and you must store the ILayerSite.")] HRESULT LayerCreate(ILayerSite *pSite); [helpstring("Release all objects including the ILayerSite")] HRESULT LayerDestroy(); [propget, helpstring("property Position")] HRESULT Position([out, retval] RECT *pVal); [propput, helpstring("property Position")] HRESULT Position([in, out] RECT *newVal); [helpstring("Invalidate the layer through ILayerSite")] HRESULT Invalidate(); }; [ object, uuid(D1C71B85-62C2-42a3-AE2E-4BF5A6BE1784), helpstring("Layers that perform drawing should implement this interface."), pointer_default(unique) ] interface ILayerRender : IUnknown { [helpstring("Sent to every layer before the drawing cycle. It can use this opportunity to invalidate.")] HRESULT PreRender(); [helpstring("Draw your layer into the provided canvas.")] HRESULT Render(ICanvas *pDest); [helpstring("Perform any formatting before drawing.")] HRESULT Reformat(); [helpstring("Use either ICanvas::OffsetOrg or ICanvas::SetClipRect to adjust the clipping area before clipped child layers draw. The visibility return value from those commands should be returned from this function.")] HRESULT AdjustRenderArea(ICanvas *pDest, [out, retval] VARIANT_BOOL *pbVisible); [helpstring("For non-square layers - do a fine level of hit testing.")] HRESULT HitTest(LPPOINT pt, [out, retval] VARIANT_BOOL *pbHit); }; [ object, uuid(5B7E9D99-BB3A-475D-842D-43EBEA8284EA), helpstring("Base windowing interface. Through here, a layer can manipualte itself and it's children."), pointer_default(unique) ] interface ILayerSite : IUnknown { [helpstring("Destroy this layer, all of it's children and release the controls.")] HRESULT Destroy(); [helpstring("Append a child layer to the list and create an associated Layer Site.")] HRESULT CreateChild(struct LayerParams *params, ILayer *pSink); [helpstring("Returns a specific interface from the layer sink.")] HRESULT GetSink(REFIID iid, [iid_is(iid)] void **ppvItf); [helpstring("Redraw this layer for the next render pass. If the layer is transparent, the parent will be invalidated.")] HRESULT Invalidate(); [propget, helpstring("Returns the default PluginSite - this is used for loading bitmaps and fonts.")] HRESULT PluginSite([out, retval] IPluginSite **ppSite); [helpstring("Marks this layer for formatting, this function will also Invalidate.")] HRESULT Reformat(); [helpstring("Walks up the parent list until it find a parent that implements a particular interface.")] HRESULT GetParentSink(REFIID iid, [iid_is(iid)] void **ppvItf); [propget, helpstring("The layer render area, if clipped it is relative parent coordinates, if unclipped it's in screen coordinates.")] HRESULT Position([out, retval] LPRECT pVal); [propput, helpstring("The layer render area, if clipped it is relative parent coordinates, if unclipped it's in screen coordinates.")] HRESULT Position([in] LPRECT newVal); [propget, helpstring("The layer ID assigned at layer creation - this is used in callbacks.")] HRESULT ID([out, retval] long *pVal); [propget, helpstring("The number of direct child layers (clipped and unclipped).")] HRESULT ChildCount([out, retval] long *pVal); [propget, helpstring("Returns a direct child by ID or by index.")] HRESULT Child(long nIndex, [defaultvalue(ePositionByIndex)] enum ePositionType posType, [out, retval] ILayerSite* *pVal); [helpstring("Captures keyboard input from AC until an event happens. The layer must implement ILayerKeyboard to receive these events.")] HRESULT CaptureKeyboard(); [helpstring("Determines if a layer is either equal or a descendant of the current layer. If bTextUnclipped is false, the method will only test clipped layers.")] HRESULT IsChild(ILayerSite *pSite, [defaultvalue(0)] VARIANT_BOOL bTestUnclipped, [out, retval] VARIANT_BOOL *pbIsChild); [propput, helpstring("Sets the layer to receive notification when an action that cancels popups occurs. Layers that self-terminate popup mode should set this to False when complete. The layer must implement ILayerPopup to receive notifications.")] HRESULT Popup([in] VARIANT_BOOL newVal); [propget, helpstring("Returns the position of this layer in screen coordinates.")] HRESULT ScreenPosition([out, retval] LPRECT pVal); [helpstring("Begins a timer with a particular ID (first notification is in nInterval ms). The layer must implement ILayerTimer to receive these notifications.")] HRESULT StartTimer(long nID, long nInterval); [helpstring("Kill this timer.")] HRESULT EndTimer(long nID); [propget, helpstring("property Transparent")] HRESULT Transparent([out, retval] VARIANT_BOOL *pVal); [propput, helpstring("property Transparent")] HRESULT Transparent([in] VARIANT_BOOL newVal); [propput, helpstring("property Alpha")] HRESULT Alpha(long Alpha); [helpstring("Moves the view to the front of the list")] HRESULT moveToFront(); }; [ object, uuid(E4CCDC92-8658-4caa-8955-FB891D5BDCF7), helpstring("Internal interface for accessing the switch-bar at the top of the screen."), pointer_default(unique) ] interface IBarManager : IUnknown { [helpstring("Appends a bar on the bar maanger.")] HRESULT AddBar(long nViewID, struct ViewParams *pParams); [helpstring("Deletes a bar from the manager.")] HRESULT RemoveBar(long nViewID); [propget, helpstring("The properties of a particular bar.")] HRESULT Bar(long nViewID, [out, retval] struct ViewParams *pVal); [propput, helpstring("The properties of a particular bar.")] HRESULT Bar(long nViewID, [in] struct ViewParams *newVal); [helpstring("Force redraw of the Decal bar.")] HRESULT Reformat() ; }; [ object, uuid(DEDCD5AA-F6CA-4DA5-A657-E82F126ABBCD), helpstring("Icon cache, this object is a tileset for icon images"), pointer_default(unique) ] interface IIconCache : IUnknown { [helpstring("Renders an icon to a canvas. This function is only guarnateed to work in the rendering cycle.")] HRESULT DrawIcon(LPPOINT ppt, long nFile, long nModule, ICanvas *pTarget); [helpstring("Renders an icon to a canvas, Replacing any white pixels with the specified lColor. This function is only guarnateed to work in the rendering cycle.")] HRESULT DrawIconEx(LPPOINT ppt, long nFile, long nModule, ICanvas *pTarget, long lColor); }; [ object, uuid(F88548BC-D11E-4ac2-9A27-3607004D359F), dual, helpstring("Stores a bitmap loaded from a variety of sources"), pointer_default(unique) ] interface IImageCacheDisp : IDispatch { }; [ object, uuid(BE566CEC-6881-481C-A146-9F5A32576BE6), helpstring("Stores a bitmap loaded from a variety of sources"), pointer_default(unique) ] interface IImageCache : IImageCacheDisp { [helpstring("Uses the image to fill an area on the canvas. The origin is the offset of the image at the top/left corner of the fill area.")] HRESULT PatBlt(ICanvas *pDest, LPRECT prcDest, LPPOINT ptOrigin); [helpstring("Stretches an image to a particular width by drawing the head and tail, then pattern filling the middle area. nStartStretch and nEndStretch indicate the area to replicate.")] HRESULT StretchBlt(ICanvas *pDest, LPPOINT pptDest, long nWidth, long nStartStretch, long nEndStretch); [helpstring("Copies a portion of an image to a canvas.")] HRESULT Blt(LPRECT rcSrc, ICanvas *pDest, LPPOINT pptDest); [propget, helpstring("Returns the dimension of the currently loaded image.")] HRESULT Size([out, retval] SIZE *pVal); [helpstring("Copies a portion of an image to a canvas and stretches it.")] HRESULT StretchBltArea(LPRECT prcSrc, ICanvas *pDest, LPRECT prcDest); }; [ object, uuid(9394E96D-2B29-4c29-AF3E-DB5C476122DB), dual, helpstring("IFontCache Interface"), pointer_default(unique) ] interface IFontCacheDisp : IDispatch { }; [ object, uuid(12ECCB0F-36A6-451C-B086-1306B74AAEC2), helpstring("IFontCache Interface"), pointer_default(unique) ] interface IFontCache : IFontCacheDisp { [helpstring("Renders text to a canvas. Only guaranteed to work within the render cycle.")] HRESULT DrawText( LPPOINT pt, BSTR szText, long clr, ICanvas *pTarget ); [helpstring("Returns the width and height of a string of text.")] HRESULT MeasureText(BSTR szText, [out, retval] LPSIZE pszExt); [helpstring("method HitTest")] HRESULT HitTest(BSTR szText, long nPos, [out, retval] long *nIndex); [helpstring("Renders text to a canvas. Only guaranteed to work within the render cycle.")] HRESULT DrawTextEx( LPPOINT pt, BSTR szText, long clr1, long clr2, long flags, ICanvas *pTarget ); }; [ object, uuid(4A2D87CD-BFB4-4723-B959-FFF3FDD49278), helpstring("ISimpleBar Interface"), pointer_default(unique) ] interface ISimpleBar : IUnknown { [propget, helpstring("The horizontal area required by this tab.")] HRESULT RenderWidth([out, retval] long *nWidth); [propget, helpstring("The text and icon.")] HRESULT Params([out, retval] struct ViewParams *pVal); [propput, helpstring("The text and icon.")] HRESULT Params([in] struct ViewParams *newVal); }; [ object, uuid(5014E0B2-9156-412c-946D-9D4BAA9F4C51), helpstring("ILayerMouse Interface"), pointer_default(unique) ] interface ILayerMouse : IUnknown { [helpstring("The mouse has entered the control")] HRESULT MouseEnter(struct MouseState *pMouse); [helpstring("The mouse has left the control")] HRESULT MouseExit(struct MouseState *pMouse); [helpstring("The user pressed the mouse button within the control. This control will have capture until the button is released.")] HRESULT MouseDown(struct MouseState *pMouse); [helpstring("The user released the mouse button. Capture is also released.")] HRESULT MouseUp(struct MouseState *pMouse); [helpstring("The mouse moved within the area of the layer.")] HRESULT MouseMove(struct MouseState *pMouse); [helpstring("The user double clicked inside the layer.")] HRESULT MouseDblClk(struct MouseState *pMouse); [helpstring("Generic Mouse Message, parameters are uninterpretted.")] HRESULT MouseEvent(long nMsg, long wParam, long lParam); }; [ object, uuid(829E0FB2-D0B5-4814-BCF9-6ECFA06C9AED), helpstring("ILayerSchema Interface"), pointer_default(unique) ] interface ILayerSchema : IUnknown { [helpstring("Load schema from an XML DOM source. Query IXMLDOMElement from the IUnknown pointer.")] HRESULT SchemaLoad(IView *pView, IUnknown *pXMLSchema); }; [ object, uuid(0F5765A4-9F83-4077-8884-6CBDDCE348F7), dual, helpstring("IButton Interface"), pointer_default(unique) ] interface IButton : IControl { [id(101), helpstring("Set the pressed and released images.")] HRESULT SetImages(long nModule, long nReleased, long nPressed); [id(102), propget, helpstring("The background color for this button - usually black (#000000).")] HRESULT Matte([out, retval] long *pVal); [id(102), propput, helpstring("The background color for this button - usually black (#000000).")] HRESULT Matte([in] long newVal); }; [ uuid(F029D3A1-29AF-45ef-927E-729FEDD87403), helpstring("ICommandEvents Interface") ] dispinterface ICommandEvents { properties: methods: [id(1), helpstring("method Destroy")] void Destroy(long nID); [id(2), helpstring("method CommandHit")] void Hit(long nID); [id(3), helpstring("method CommandUnhit")] void Unhit(long nID); [id(4), helpstring("method CommandAccepted")] void Accepted(long nID); [id(5), helpstring("method CommandCanceled")] void Canceled(long nID); }; [ object, uuid(BD9FC464-C0D8-4823-8255-E818F8836B08), helpstring("IPager Interface"), pointer_default(unique) ] interface IPager : IControl { [helpstring("method FinishCommand")] HRESULT FinishCommand(); [helpstring("method ScrollTo")] HRESULT ScrollTo(LPPOINT ppt); [propget, helpstring("property Command")] HRESULT Command([out, retval] long *pVal); [propput, helpstring("property Command")] HRESULT Command([in] long newVal); [propget, helpstring("property Offset")] HRESULT Offset([out, retval] LPPOINT pVal); [propput, helpstring("property Offset")] HRESULT Offset([in] LPPOINT newVal); [helpstring("method CreateClient")] HRESULT CreateClient(ILayer *pLayer); }; [ uuid(7499EB61-6992-4e21-8A55-CF44D44C0A07), helpstring("IPagerEvents Interface") ] dispinterface IPagerEvents { properties: methods: [id(1), helpstring("method Destroy")] void Destroy(long nID); [id(6), helpstring("method PagerUpdatePosition")] void Change(long nID, long nCommand, long nX, long nY); [id(7), helpstring("method PagerGetNextPosition")] VARIANT_BOOL GetNextPosition(long nID, long nCommand, [in, out] long *nX, [in, out] long *nY); }; [ object, uuid(2B52B5CB-9E10-4238-8F62-A501406E3EAB), helpstring("IPanel Interface"), pointer_default(unique) ] interface IPanel : IUnknown { [helpstring("method AddView")] HRESULT AddView(long nViewID, ILayer *pLayer); [helpstring("method ActivateView")] HRESULT ActivateView(long nViewID, struct ViewParams *pParams, long *pVal); [helpstring("method RemoveView")] HRESULT RemoveView(long nViewID); [propget, helpstring("property ActiveView")] HRESULT ActiveView([out, retval] long *pVal); [helpstring("method LoadView")] HRESULT LoadView(long nViewID, IView *pView, IUnknown *pSchema); [helpstring("method Deactivate")] HRESULT Deactivate(); [propputref, helpstring("property Sink")] HRESULT Sink([in] IPanelSink* newVal); [helpstring("method LoadViewEx")] HRESULT LoadViewEx(long nViewID, IView *pView, IUnknown *pSchema, long lViewFlags); [propget, helpstring("property Transparent")] HRESULT Transparent([out, retval] VARIANT_BOOL* pVal); [propput, helpstring("property Transparent")] HRESULT Transparent([in] VARIANT_BOOL newVal); [propput, helpstring("property Params")] HRESULT Params([in] struct ViewParams *newVal); }; [ object, uuid(85D70924-917D-41bb-995D-C40E6AB21C71), helpstring("IPanelSink Interface"), pointer_default(unique) ] interface IPanelSink : IUnknown { [helpstring("method PanelDeactivate")] HRESULT PanelDeactivate( long nViewID ); }; [ object, uuid(9241862D-BA71-4317-8166-3A3E61CE3E5F), helpstring("ICanvas Interface"), pointer_default(unique) ] interface ICanvas : IUnknown { [helpstring("method PushClipRect")] HRESULT PushClipRect(LPRECT prc, [out, retval] VARIANT_BOOL *pbVisible); [helpstring("method PopClipRect")] HRESULT PopClipRect(); [helpstring("method GetDC")] HRESULT GetDC([out,retval] HDC *pdc); [helpstring("method ReleaseDC")] HRESULT ReleaseDC(); [helpstring("method GetSurface")] HRESULT GetSurface(REFIID iid, [out, retval, iid_is(iid)] void **ppvItf); [helpstring("method Fill")] HRESULT Fill(LPRECT prc, long nRGB); [helpstring("method Frame")] HRESULT Frame(LPRECT prc, long nRGB); [helpstring("method GetClipParams")] HRESULT GetClipParams([out, retval] struct ClipParams *pParams); [propget, helpstring("property WasLost")] HRESULT WasLost([out, retval] VARIANT_BOOL *pVal); [propget, helpstring("property Size")] HRESULT Size([out, retval] LPSIZE pVal); [propput, helpstring("property Size")] HRESULT Size([in] LPSIZE newVal); [helpstring("method Blt")] HRESULT Blt(LPRECT prcSrc, ICanvas *pSrc, LPPOINT pptDest); [helpstring("method HitTest")] HRESULT HitTest(LPPOINT ppt, [out, retval] VARIANT_BOOL *pbHit); [helpstring("method ToClient")] HRESULT ToClient([in, out] LPPOINT pt); [helpstring("method ToScreen")] HRESULT ToScreen([in, out] LPPOINT ppt); [helpstring("method OffsetOrg")] HRESULT OffsetOrg(LPPOINT ppt, [out, retval] VARIANT_BOOL *pbVisible); [helpstring("method SetClipRect")] HRESULT SetClipRect(LPRECT prcClip, [out, retval] VARIANT_BOOL *pbVisible); [propput, helpstring("method Alpha")] HRESULT Alpha(long Alpha); [helpstring("method DownMixRGB")] HRESULT DownMixRGB(WORD wRed, WORD wGreen, WORD wBlue, [out, retval] WORD *wDMRGB); [helpstring("method GetDCLong")] HRESULT GetDCLong([out, retval] long *DC); [helpstring("method SetTransparentColor")] HRESULT SetTransparentColor([in] long TransColor); [helpstring("method StretchBlt")] HRESULT StretchBlt(LPRECT prcSrc, ICanvas *pSrc, LPRECT prcDest); }; [ object, uuid(F3B54A0C-61B9-4B7A-9FD8-82B0477FB7D9), dual, helpstring("IView Interface"), pointer_default(unique) ] interface IViewDisp : IDispatch { [propget, helpstring("property Control")] HRESULT Control(BSTR strName, [out, retval] IControl * *pVal); [propputref, helpstring("property Control")] HRESULT Control(BSTR strName, [in] IControl * newVal); [propget, helpstring("property Title")] HRESULT Title([out, retval] BSTR *pVal); [propput, helpstring("property Title")] HRESULT Title([in] BSTR newVal); [helpstring("property Alert")] HRESULT Alert(); [helpstring("method SetIcon")] HRESULT SetIcon(long icon, [optional] VARIANT iconlibrary); [helpstring("method Activate")] HRESULT Activate(); [helpstring("method Deactivate")] HRESULT Deactivate(); [propput, helpstring("property Position")] HRESULT Position([in, out] RECT *newVal); [propget, helpstring("property Position")] HRESULT Position([out, retval] RECT *pVal); }; [ object, uuid(A2AE18B7-85C9-451c-8CC3-D0FFE6B86EEB), helpstring("IView Interface"), pointer_default(unique) ] interface IView : IViewDisp { [helpstring("method LoadControl")] HRESULT LoadControl(ILayerSite *pParent, long nID, IUnknown *pXMLSource, [out, retval] long *pAssignedID); [helpstring("method LoadSchema")] HRESULT LoadSchema(BSTR strXMLSchema); [propput, helpstring("property Alpha")] HRESULT Alpha(long Alpha); [propget, helpstring("property Activated")] HRESULT Activated([out, retval] VARIANT_BOOL* pVal); [propput, helpstring("property Activated")] HRESULT Activated([in] VARIANT_BOOL newVal); [propget, helpstring("property Transparent")] HRESULT Transparent([out, retval] VARIANT_BOOL* pVal); [propput, helpstring("property Transparent")] HRESULT Transparent([in] VARIANT_BOOL newVal); [propget, helpstring("property Alpha")] HRESULT Alpha([out, retval] long *pVal); }; [ uuid(4B7B19D5-61A2-4ab0-8B1B-381A303A937F), helpstring("IViewEvents Interface") ] dispinterface IViewEvents { properties: methods: [id(8), helpstring("method ViewActivate")] void Activate(); [id(9), helpstring("method ViewDeactivate")] void Deactivate(); [id(13), helpstring("method ViewSize")] VARIANT_BOOL Size(); [id(14), helpstring("method ViewSizing")] void Sizing([in] /*IView *pView*/ /*struct ViewParams *pViewParams RECT *pRect*/ long left, long top, long width, long height); }; [ object, uuid(D3006096-B293-47f5-9377-C12DEF5C1D34), helpstring("IRootLayer Interface"), pointer_default(unique) ] interface IRootLayer : IUnknown { [helpstring("method CreateView")] HRESULT CreateView(struct ViewParams *pParams, ILayer *pLayer, [out, retval] IView **ppView); [helpstring("method SelectBar")] HRESULT SelectBar(long nID); [helpstring("method LoadView")] HRESULT LoadView(BSTR strXML, [out, retval] IView **ppView); [helpstring("method LoadViewObject")] HRESULT LoadViewObject(IUnknown *pSchema, [out, retval] IView **ppView); }; [ object, uuid(7500929F-4251-4373-B978-286A8A8BECED), helpstring("ILayerKeyboard Interface"), pointer_default(unique) ] interface ILayerKeyboard : IUnknown { [helpstring("method KeyboardChar")] HRESULT KeyboardChar(struct KeyState *pKS); [helpstring("method KeyboardEndCapture")] HRESULT KeyboardEndCapture(VARIANT_BOOL bCancel); [helpstring("method KeyboardEvent")] HRESULT KeyboardEvent(long nMsg, long wParam, long lParam); }; [ object, uuid(22072A97-E5E6-4d91-A344-807235BFA5D8), helpstring("ILayerPopup Interface"), pointer_default(unique) ] interface ILayerPopup : IUnknown { [helpstring("method PopupCancel")] HRESULT PopupCancel(struct MouseState *pMouse, [out, retval] VARIANT_BOOL *pbContinue); }; [ object, uuid(5D6B8A1B-321A-479f-9347-55725BDA3DA9), helpstring("ILayerTimer Interface"), pointer_default(unique) ] interface ILayerTimer : IUnknown { [helpstring("method TimerTimeout")] HRESULT TimerTimeout(long nID, long nInterval, long nReps, [out, retval] VARIANT_BOOL *pbContinue); }; [ object, uuid(EDB7EE44-2368-4382-97A4-D4F55C63D818), helpstring("IDecalTimer Interface"), pointer_default(unique) ] interface IDecalTimer : IUnknown { [helpstring("method TimerTimeout")] HRESULT TimerTimeout(long nID, long nInterval, long nReps, [out, retval] VARIANT_BOOL *pbContinue); }; [ object, uuid(A68BE455-C241-49c5-9F8A-070E4CBE430F), helpstring("IWindowsMessageSink Interface"), pointer_default(unique) ] interface IWindowsMessageSink : IUnknown { [helpstring("method WindowsMessage")] HRESULT WindowMessage(long hWnd, short uMsg, long wParam, long lParam, [out, retval] VARIANT_BOOL *pbEat); [helpstring("method WindowsMessageEnd")] HRESULT WindowMessageEnd(); }; [ object, uuid(50CDFD25-4F3B-4412-96BE-947A6C7B93A2), helpstring("IBrushImage Interface"), pointer_default(unique) ] interface IBrushImage : IUnknown { [propget, helpstring("property Color")] HRESULT Color([out, retval] long *pVal); [propput, helpstring("property Color")] HRESULT Color([in] long newVal); }; [ object, uuid(634D74B8-AFED-4710-82C9-B530326E1AFA), dual, helpstring("IInputBuffer Interface"), pointer_default(unique) ] interface IInputBuffer : IDispatch { [id(1), helpstring("method Clear")] HRESULT Clear(); [id(2), helpstring("method Input")] HRESULT TypeText(BSTR strText); [id(3), helpstring("method Delay")] HRESULT Delay(long nMilliseconds, [defaultvalue( 0 )] VARIANT_BOOL bAllowInput ); [id(4), helpstring("method MouseClick")] HRESULT MouseClick(long nX, long nY, enum eMouseInput eAction); [propget, id(5), helpstring("property Status")] HRESULT Status([out, retval] enum eInputStatus *pVal); [id(6), helpstring("method Run")] HRESULT Run(); }; [ uuid(BD33BADC-F909-4eb6-AD15-B1569B58898B), helpstring("IInputEvents event interface") ] dispinterface IInputEvents { properties: methods: [id(10), helpstring("method Begin")] HRESULT Begin(); [id(11), helpstring("method End")] HRESULT End(); [id(12), helpstring("method Pause")] HRESULT Pause(); }; [ object, uuid(E288C465-2DD6-4fcd-95E2-5BBC1A1D2D32), dual, helpstring("IInputNotify Interface"), pointer_default(unique) ] interface IInputNotify : IDispatch { [id(1), helpstring("method NotifyBegin")] HRESULT NotifyBegin(); [id(2), helpstring("method NotifyEnd")] HRESULT NotifyEnd(); [id(3), helpstring("method SetMousePos")] HRESULT SetMousePos(long nX, long nY); [id(4), helpstring("method NotifyPause")] HRESULT NotifyPause(); }; [ object, uuid(47761792-2520-4802-8548-5CA580697614), helpstring("IInjectService Interface"), pointer_default(unique) ] interface IInjectService : IUnknown { [propget, id(1), helpstring("property Site")] HRESULT Site([out, retval] IPluginSite **pVal); [helpstring("method InitPlugin")] HRESULT InitPlugin(IUnknown *pUnk); }; [ object, uuid(93D72C31-CBC3-4471-AE4B-395FBB4D3B45), helpstring("IPluginAdapterV1 Interface"), pointer_default(unique) ] interface IPluginAdapterV1 : IUnknown { }; [ uuid(3559E08B-827E-4DFE-9D33-3567246849CC), version(1.0), helpstring("Decal Plugins Type Library") ] library DecalPlugins { importlib("stdole32.tlb"); importlib("stdole2.tlb"); interface IPlugin; interface IPluginSink; interface IRenderSink; interface IRender3DSink; interface ILayerSite; interface IControl; interface ILayer; interface ILayerRender; interface ILayerMouse; interface ILayerKeyboard; interface ILayerPopup; interface ILayerSchema; interface ILayerTimer; interface IControlEvents; interface IIconCache; interface IImageCache; interface IFontCache; interface IBarManager; interface ISimpleBar; interface IRootLayer; interface IPanelSink; interface IInputNotify; interface IWindowsMessageSink; dispinterface IControlEvents; dispinterface ICommandEvents; dispinterface IPagerEvents; dispinterface IViewEvents; dispinterface IInputEvents; interface IFontCacheDisp; interface IImageCacheDisp; interface IViewDisp; [ uuid(91892F16-31A3-4E23-9CFD-89A5A5174A59), helpstring("Canvas Class"), noncreatable ] coclass Canvas { [default] interface ICanvas; }; [ uuid(B2FBD583-B64C-4dfc-BAAA-34B8C21482F8), helpstring("PluginSite Class"), noncreatable ] coclass PluginSite { [default] interface IPluginSite; }; [ uuid(6FEA2219-7438-4f76-8165-C47AA060D811), helpstring("Layer Class"), noncreatable ] coclass Layer { [default] interface ILayerSite; }; [ uuid(19BF46E4-5CB8-4CFC-A17A-8E6673E60ABF), helpstring("View Class"), noncreatable ] coclass View { [default] interface IViewDisp; [default, source] interface IViewEvents; }; [ uuid(C22BF2FC-F144-4d17-9C12-A344F980BB17), helpstring("Button Class") ] coclass Button { [default] interface IButton; [default, source] interface ICommandEvents; }; [ uuid(C79E2F76-06F8-4cd0-A613-4829237D297D), helpstring("Pager Class") ] coclass Pager { [default] interface IControl; [default, source] interface IPagerEvents; }; [ uuid(918C0333-5714-4C8D-A95C-2C137B76D364), noncreatable, helpstring("SolidImage Class") ] coclass BrushImage { [default] interface IBrushImage; interface IImageCache; }; [ uuid(2F91FC21-4D89-4B64-94AE-A124D54563AE), helpstring("InputBuffer Class"), noncreatable ] coclass InputBuffer { [default] interface IInputBuffer; [default, source] interface IInputEvents; }; [ uuid(FEFE5CAB-10E4-404F-AD4D-184BCB506099), helpstring("DecalPlugins Inject Service Gateway") ] coclass InjectService { [default] interface IInjectService; }; [ uuid(3D837F6E-B5CA-4604-885F-7AB45FCFA62A), helpstring("Version 1 Plugin Surrogate") ] coclass PluginAdapterV1 { [default] interface IPluginAdapterV1; }; };