Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
v3: Added default, source, and id attributes
---
include/Makefile.in | 2 +
include/dhtmldid.h | 67 +++++
include/dhtmled.idl | 716 ++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 785 insertions(+)
create mode 100644 include/dhtmldid.h
create mode 100644 include/dhtmled.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index fa1e42738b..430c4733af 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -58,6 +58,7 @@ IDL_SRCS = \
ddstream.idl \
devenum.idl \
devicetopology.idl \
+ dhtmled.idl \
dimm.idl \
dispex.idl \
docobj.idl \
@@ -342,6 +343,7 @@ HEADER_SRCS = \
devpkey.h \
devpropdef.h \
dhcpcsdk.h \
+ dhtmldid.h \
difxapi.h \
digitalv.h \
dinput.h \
diff --git a/include/dhtmldid.h b/include/dhtmldid.h
new file mode 100644
index 0000000000..85c286a102
--- /dev/null
+++ b/include/dhtmldid.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2017 Alex Henrie
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define DISPID_LOADDOCUMENT 1
+#define DISPID_EXECCOMMAND 2
+#define DISPID_QUERYSTATUS 3
+#define DISPID_SAVEDOCUMENT 4
+#define DISPID_SETCONTEXTMENU 5
+#define DISPID_DOCUMENT 6
+#define DISPID_ACTIVATEAPPLETS 7
+#define DISPID_ACTIVATEACTIVEXCONTROLS 8
+#define DISPID_ACTIVATEDTCS 9
+#define DISPID_SHOWDETAILS 11
+#define DISPID_SHOWBORDERS 12
+#define DISPID_DHTMLEDITAPPEARANCE 13
+#define DISPID_DHTMLEDITSCROLLBARS 14
+#define DISPID_SCROLLBARAPPEARANCE 15
+#define DISPID_SOURCECODEPRESERVATION 16
+#define DISPID_DOCUMENTHTML 17
+#define DISPID_ABSOLUTEDROPMODE 18
+#define DISPID_SNAPTOGRIDX 19
+#define DISPID_SNAPTOGRIDY 20
+#define DISPID_SNAPTOGRID 21
+#define DISPID_ISDIRTY 22
+#define DISPID_CURRENTDOCUMENTPATH 23
+#define DISPID_BASEURL 24
+#define DISPID_DOCUMENTTITLE 25
+#define DISPID_BROWSEMODE 26
+#define DISPID_NEWDOCUMENT 27
+#define DISPID_PRINT 28
+#define DISPID_LOADURL 29
+#define DISPID_USEDIVONCR 30
+#define DISPID_FILTERSRCCODE 31
+#define DISPID_REFRESHDOC 32
+#define DISPID_BUSY 33
+
+#define DISPID_DOCUMENTCOMPLETE 1
+#define DISPID_DISPLAYCHANGED 2
+#define DISPID_SHOWCONTEXTMENU 3
+#define DISPID_CONTEXTMENUACTION 4
+#define DISPID_ONMOUSEDOWN 5
+#define DISPID_ONMOUSEMOVE 6
+#define DISPID_ONMOUSEUP 7
+#define DISPID_ONMOUSEOUT 8
+#define DISPID_ONMOUSEOVER 9
+#define DISPID_ONCLICK 10
+#define DISPID_ONDBLCLICK 11
+#define DISPID_ONKEYDOWN 12
+#define DISPID_ONKEYPRESS 13
+#define DISPID_ONKEYUP 14
+#define DISPID_ONBLUR 15
+#define DISPID_ONREADYSTATECHANGE 16
diff --git a/include/dhtmled.idl b/include/dhtmled.idl
new file mode 100644
index 0000000000..25f3ea9432
--- /dev/null
+++ b/include/dhtmled.idl
@@ -0,0 +1,716 @@
+/*
+ * Copyright 2017 Alex Henrie
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+import "docobj.idl";
+import "mshtml.idl";
+
+#include "dhtmldid.h"
+
+[
+ uuid(683364a1-b37d-11d1-adc5-006008a5848c),
+ version(1.0)
+]
+library DHTMLEDLib
+{
+ importlib("stdole2.tlb");
+
+ typedef
+ [
+ uuid(7179FC44-B2E4-11d1-ADC5-006008A5848C)
+ ]
+ enum DHTMLEDITAPPEARANCE {
+ DEAPPEARANCE_FLAT,
+ DEAPPEARANCE_3D
+ } DHTMLEDITAPPEARANCE;
+
+ typedef
+ [
+ uuid(bf82426a-b961-11d1-adc5-006008a5848c)
+ ]
+ enum DHTMLEDITCMDF {
+ DECMDF_NOTSUPPORTED = 0,
+ DECMDF_DISABLED = 1,
+ DECMDF_ENABLED = 3,
+ DECMDF_LATCHED = 7,
+ DECMDF_NINCHED = 11
+ } DHTMLEDITCMDF;
+
+ typedef enum DHTMLEDITCMDID {
+ DECMD_BOLD = 5000,
+ DECMD_COPY = 5002,
+ DECMD_CUT,
+ DECMD_DELETE,
+ DECMD_DELETECELLS,
+ DECMD_DELETECOLS,
+ DECMD_DELETEROWS,
+ DECMD_FINDTEXT,
+ DECMD_FONT,
+ DECMD_GETBACKCOLOR,
+ DECMD_GETBLOCKFMT,
+ DECMD_GETBLOCKFMTNAMES,
+ DECMD_GETFONTNAME,
+ DECMD_GETFONTSIZE,
+ DECMD_GETFORECOLOR,
+ DECMD_HYPERLINK,
+ DECMD_IMAGE,
+ DECMD_INDENT,
+ DECMD_INSERTCELL,
+ DECMD_INSERTCOL,
+ DECMD_INSERTROW,
+ DECMD_INSERTTABLE,
+ DECMD_ITALIC,
+ DECMD_JUSTIFYCENTER,
+ DECMD_JUSTIFYLEFT,
+ DECMD_JUSTIFYRIGHT,
+ DECMD_LOCK_ELEMENT,
+ DECMD_MAKE_ABSOLUTE,
+ DECMD_MERGECELLS,
+ DECMD_ORDERLIST,
+ DECMD_OUTDENT,
+ DECMD_PASTE,
+ DECMD_REDO,
+ DECMD_REMOVEFORMAT,
+ DECMD_SELECTALL,
+ DECMD_SEND_BACKWARD,
+ DECMD_BRING_FORWARD,
+ DECMD_SEND_BELOW_TEXT,
+ DECMD_BRING_ABOVE_TEXT,
+ DECMD_SEND_TO_BACK,
+ DECMD_BRING_TO_FRONT,
+ DECMD_SETBACKCOLOR,
+ DECMD_SETBLOCKFMT,
+ DECMD_SETFONTNAME,
+ DECMD_SETFONTSIZE,
+ DECMD_SETFORECOLOR,
+ DECMD_SPLITCELL,
+ DECMD_UNDERLINE,
+ DECMD_UNDO,
+ DECMD_UNLINK,
+ DECMD_UNORDERLIST,
+ DECMD_PROPERTIES
+ } DHTMLEDITCMDID;
+
+ [
+ object,
+ uuid(ce04b590-2b1f-11d2-8d1e-00a0c959bc0a),
+ dual,
+ pointer_default(unique)
+ ]
+ interface IDHTMLSafe : IDispatch
+ {
+ [
+ id(DISPID_EXECCOMMAND)
+ ]
+ HRESULT ExecCommand(
+ [in] DHTMLEDITCMDID cmd_id,
+ [in, defaultvalue(OLECMDEXECOPT_DODEFAULT)] OLECMDEXECOPT options,
+ [in, optional] VARIANT *code_in,
+ [out, retval] VARIANT *code_out
+ );
+
+ [
+ id(DISPID_QUERYSTATUS)
+ ]
+ HRESULT QueryStatus(
+ [in] DHTMLEDITCMDID cmd_id,
+ [out, retval] DHTMLEDITCMDF *status
+ );
+
+ [
+ id(DISPID_SETCONTEXTMENU)
+ ]
+ HRESULT SetContextMenu(
+ [in] VARIANT *strings,
+ [in] VARIANT *states
+ );
+
+ [
+ id(DISPID_NEWDOCUMENT)
+ ]
+ HRESULT NewDocument();
+
+ [
+ id(DISPID_LOADURL)
+ ]
+ HRESULT LoadURL(
+ [in] BSTR url
+ );
+
+ [
+ id(DISPID_FILTERSRCCODE)
+ ]
+ HRESULT FilterSourceCode(
+ [in] BSTR in,
+ [out, retval] BSTR *out
+ );
+
+ [
+ id(DISPID_REFRESHDOC)
+ ]
+ HRESULT Refresh();
+
+ [
+ propget,
+ id(DISPID_DOCUMENT)
+ ]
+ HRESULT DOM(
+ [out, retval] IHTMLDocument2 **value
+ );
+
+ [
+ propget,
+ id(DISPID_DOCUMENTHTML)
+ ]
+ HRESULT DocumentHTML(
+ [out, retval] BSTR *value
+ );
+
+ [
+ propput,
+ id(DISPID_DOCUMENTHTML)
+ ]
+ HRESULT DocumentHTML(
+ [in] BSTR html
+ );
+
+ [
+ propget,
+ id(DISPID_ACTIVATEAPPLETS)
+ ]
+ HRESULT ActivateApplets(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_ACTIVATEAPPLETS)
+ ]
+ HRESULT ActivateApplets(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_ACTIVATEACTIVEXCONTROLS)
+ ]
+ HRESULT ActivateActiveXControls(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_ACTIVATEACTIVEXCONTROLS)
+ ]
+ HRESULT ActivateActiveXControls(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_ACTIVATEDTCS)
+ ]
+ HRESULT ActivateDTCs(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_ACTIVATEDTCS)
+ ]
+ HRESULT ActivateDTCs(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_SHOWDETAILS)
+ ]
+ HRESULT ShowDetails(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_SHOWDETAILS)
+ ]
+ HRESULT ShowDetails(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_SHOWBORDERS)
+ ]
+ HRESULT ShowBorders(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_SHOWBORDERS)
+ ]
+ HRESULT ShowBorders(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_DHTMLEDITAPPEARANCE)
+ ]
+ HRESULT Appearance(
+ [out, retval] DHTMLEDITAPPEARANCE *value
+ );
+
+ [
+ propput,
+ id(DISPID_DHTMLEDITAPPEARANCE)
+ ]
+ HRESULT Appearance(
+ [in] DHTMLEDITAPPEARANCE value
+ );
+
+ [
+ propget,
+ id(DISPID_DHTMLEDITSCROLLBARS)
+ ]
+ HRESULT Scrollbars(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_DHTMLEDITSCROLLBARS)
+ ]
+ HRESULT Scrollbars(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_SCROLLBARAPPEARANCE)
+ ]
+ HRESULT ScrollbarAppearance(
+ [out, retval] DHTMLEDITAPPEARANCE *value
+ );
+
+ [
+ propput,
+ id(DISPID_SCROLLBARAPPEARANCE)
+ ]
+ HRESULT ScrollbarAppearance(
+ [in] DHTMLEDITAPPEARANCE value
+ );
+
+ [
+ propget,
+ id(DISPID_SOURCECODEPRESERVATION)
+ ]
+ HRESULT SourceCodePreservation(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_SOURCECODEPRESERVATION)
+ ]
+ HRESULT SourceCodePreservation(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_ABSOLUTEDROPMODE)
+ ]
+ HRESULT AbsoluteDropMode(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_ABSOLUTEDROPMODE)
+ ]
+ HRESULT AbsoluteDropMode(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_SNAPTOGRIDX)
+ ]
+ HRESULT SnapToGridX(
+ [out, retval] long *value
+ );
+
+ [
+ propput,
+ id(DISPID_SNAPTOGRIDX)
+ ]
+ HRESULT SnapToGridX(
+ [in] long value
+ );
+
+ [
+ propget,
+ id(DISPID_SNAPTOGRIDY)
+ ]
+ HRESULT SnapToGridY(
+ [out, retval] long *value
+ );
+
+ [
+ propput,
+ id(DISPID_SNAPTOGRIDY)
+ ]
+ HRESULT SnapToGridY(
+ [in] long value
+ );
+
+ [
+ propget,
+ id(DISPID_SNAPTOGRID)
+ ]
+ HRESULT SnapToGrid(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_SNAPTOGRID)
+ ]
+ HRESULT SnapToGrid(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_ISDIRTY)
+ ]
+ HRESULT IsDirty(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propget,
+ id(DISPID_CURRENTDOCUMENTPATH)
+ ]
+ HRESULT CurrentDocumentPath(
+ [out, retval] BSTR *value
+ );
+
+ [
+ propget,
+ id(DISPID_BASEURL)
+ ]
+ HRESULT BaseURL(
+ [out, retval] BSTR *value
+ );
+
+ [
+ propput,
+ id(DISPID_BASEURL)
+ ]
+ HRESULT BaseURL(
+ [in] BSTR value
+ );
+
+ [
+ propget,
+ id(DISPID_DOCUMENTTITLE)
+ ]
+ HRESULT DocumentTitle(
+ [out, retval] BSTR *value
+ );
+
+ [
+ propget,
+ id(DISPID_USEDIVONCR)
+ ]
+ HRESULT UseDivOnCarriageReturn(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_USEDIVONCR)
+ ]
+ HRESULT UseDivOnCarriageReturn(
+ [in] VARIANT_BOOL value
+ );
+
+ [
+ propget,
+ id(DISPID_BUSY)
+ ]
+ HRESULT Busy(
+ [out, retval] VARIANT_BOOL *value
+ );
+ };
+
+ [
+ uuid(d1fc78e8-b380-11d1-adc5-006008a5848c)
+ ]
+ dispinterface _DHTMLSafeEvents
+ {
+ properties:
+ methods:
+ [
+ id(DISPID_DOCUMENTCOMPLETE)
+ ]
+ void DocumentComplete();
+
+ [
+ id(DISPID_DISPLAYCHANGED)
+ ]
+ void DisplayChanged();
+
+ [
+ id(DISPID_SHOWCONTEXTMENU)
+ ]
+ void ShowContextMenu(
+ [in] long x,
+ [in] long y
+ );
+
+ [
+ id(DISPID_CONTEXTMENUACTION)
+ ]
+ void ContextMenuAction(
+ [in] long index
+ );
+
+ [
+ id(DISPID_ONMOUSEDOWN)
+ ]
+ void onmousedown();
+
+ [
+ id(DISPID_ONMOUSEMOVE)
+ ]
+ void onmousemove();
+
+ [
+ id(DISPID_ONMOUSEUP)
+ ]
+ void onmouseup();
+
+ [
+ id(DISPID_ONMOUSEOUT)
+ ]
+ void onmouseout();
+
+ [
+ id(DISPID_ONMOUSEOVER)
+ ]
+ void onmouseover();
+
+ [
+ id(DISPID_ONCLICK)
+ ]
+ void onclick();
+
+ [
+ id(DISPID_ONDBLCLICK)
+ ]
+ void ondblclick();
+
+ [
+ id(DISPID_ONKEYDOWN)
+ ]
+ void onkeydown();
+
+ [
+ id(DISPID_ONKEYPRESS)
+ ]
+ void onkeypress();
+
+ [
+ id(DISPID_ONKEYUP)
+ ]
+ void onkeyup();
+
+ [
+ id(DISPID_ONBLUR)
+ ]
+ void onblur();
+
+ [
+ id(DISPID_ONREADYSTATECHANGE)
+ ]
+ void onreadystatechange();
+ };
+
+ [
+ uuid(2d360201-fff5-11d1-8d03-00a0c959bc0a)
+ ]
+ coclass DHTMLSafe
+ {
+ [default] interface IDHTMLSafe;
+ [default, source] interface _DHTMLSafeEvents;
+ };
+
+ [
+ uuid(ce04b591-2b1f-11d2-8d1e-00a0c959bc0a),
+ dual,
+ pointer_default(unique)
+ ]
+ interface IDHTMLEdit : IDHTMLSafe
+ {
+ [
+ id(DISPID_LOADDOCUMENT)
+ ]
+ HRESULT LoadDocument(
+ [in] VARIANT *path,
+ [in, optional] VARIANT *prompt
+ );
+
+ [
+ id(DISPID_SAVEDOCUMENT)
+ ]
+ HRESULT SaveDocument(
+ [in] VARIANT *path,
+ [in, optional] VARIANT *prompt
+ );
+
+ [
+ id(DISPID_PRINT)
+ ]
+ HRESULT PrintDocument(
+ [in, optional] VARIANT *prompt
+ );
+
+ [
+ propget,
+ id(DISPID_BROWSEMODE)
+ ]
+ HRESULT BrowseMode(
+ [out, retval] VARIANT_BOOL *value
+ );
+
+ [
+ propput,
+ id(DISPID_BROWSEMODE)
+ ]
+ HRESULT BrowseMode(
+ [in] VARIANT_BOOL value
+ );
+ };
+
+ [
+ uuid(588d5040-cf28-11d1-8cd3-00a0c959bc0a)
+ ]
+ dispinterface _DHTMLEditEvents
+ {
+ properties:
+ methods:
+ [
+ id(DISPID_DOCUMENTCOMPLETE)
+ ]
+ void DocumentComplete();
+
+ [
+ id(DISPID_DISPLAYCHANGED)
+ ]
+ void DisplayChanged();
+
+ [
+ id(DISPID_SHOWCONTEXTMENU)
+ ]
+ void ShowContextMenu(
+ [in] long x,
+ [in] long y
+ );
+
+ [
+ id(DISPID_CONTEXTMENUACTION)
+ ]
+ void ContextMenuAction(
+ [in] long index
+ );
+
+ [
+ id(DISPID_ONMOUSEDOWN)
+ ]
+ void onmousedown();
+
+ [
+ id(DISPID_ONMOUSEMOVE)
+ ]
+ void onmousemove();
+
+ [
+ id(DISPID_ONMOUSEUP)
+ ]
+ void onmouseup();
+
+ [
+ id(DISPID_ONMOUSEOUT)
+ ]
+ void onmouseout();
+
+ [
+ id(DISPID_ONMOUSEOVER)
+ ]
+ void onmouseover();
+
+ [
+ id(DISPID_ONCLICK)
+ ]
+ void onclick();
+
+ [
+ id(DISPID_ONDBLCLICK)
+ ]
+ void ondblclick();
+
+ [
+ id(DISPID_ONKEYDOWN)
+ ]
+ void onkeydown();
+
+ [
+ id(DISPID_ONKEYPRESS)
+ ]
+ void onkeypress();
+
+ [
+ id(DISPID_ONKEYUP)
+ ]
+ void onkeyup();
+
+ [
+ id(DISPID_ONBLUR)
+ ]
+ void onblur();
+
+ [
+ id(DISPID_ONREADYSTATECHANGE)
+ ]
+ void onreadystatechange();
+ };
+
+ [
+ uuid(2d360200-fff5-11d1-8d03-00a0c959bc0a)
+ ]
+ coclass DHTMLEdit
+ {
+ [default] interface IDHTMLEdit;
+ [default, source] interface _DHTMLEditEvents;
+ };
+}
--
2.15.1