All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
960 lines
36 KiB
Text
960 lines
36 KiB
Text
// 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 <?xml version=\"1.0\"?>) 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;
|
|
};
|
|
};
|