[PATCH] include: Add filter.idl
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Mon Jul 29 18:07:37 CDT 2019
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/Makefile.in | 1 +
include/filter.idl | 101 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+)
create mode 100644 include/filter.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index 69135879a9f..7c841bc299a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -268,6 +268,7 @@ SOURCES = \
fci.h \
fdi.h \
fileapi.h \
+ filter.idl \
fltdefs.h \
fontsub.h \
fusion.idl \
diff --git a/include/filter.idl b/include/filter.idl
new file mode 100644
index 00000000000..f176ac3be5e
--- /dev/null
+++ b/include/filter.idl
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2019 Alistair Leslie-Hughes
+ *
+ * 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 "unknwn.idl";
+import "objidl.idl";
+import "propidl.idl";
+
+typedef struct tagFULLPROPSPEC
+{
+ GUID guidPropSet;
+ PROPSPEC psProperty;
+} FULLPROPSPEC;
+
+[
+ object,
+ uuid(89bcb740-6119-101a-bcb7-00dd010655af),
+ pointer_default(unique)
+]
+
+interface IFilter : IUnknown
+{
+ typedef enum tagIFILTER_INIT
+ {
+ IFILTER_INIT_CANON_PARAGRAPHS = 1,
+ IFILTER_INIT_HARD_LINE_BREAKS = 2,
+ IFILTER_INIT_CANON_HYPHENS = 4,
+ IFILTER_INIT_CANON_SPACES = 8,
+ IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
+ IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
+ IFILTER_INIT_INDEXING_ONLY = 64,
+ IFILTER_INIT_SEARCH_LINKS = 128,
+ IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 256,
+ IFILTER_INIT_FILTER_OWNED_VALUE_OK = 512,
+ IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 1024,
+ IFILTER_INIT_DISABLE_EMBEDDED = 2048,
+ IFILTER_INIT_EMIT_FORMATTING = 4096
+ } IFILTER_INIT;
+
+ typedef enum tagIFILTER_FLAGS
+ {
+ IFILTER_FLAGS_OLE_PROPERTIES = 1
+ } IFILTER_FLAGS;
+
+ typedef enum tagCHUNKSTATE
+ {
+ CHUNK_TEXT = 0x1,
+ CHUNK_VALUE = 0x2,
+ CHUNK_FILTER_OWNED_VALUE = 0x4
+ } CHUNKSTATE;
+
+ typedef enum tagCHUNK_BREAKTYPE
+ {
+ CHUNK_NO_BREAK = 0,
+ CHUNK_EOW = 1,
+ CHUNK_EOS = 2,
+ CHUNK_EOP = 3,
+ CHUNK_EOC = 4
+ } CHUNK_BREAKTYPE;
+
+ typedef struct tagFILTERREGION
+ {
+ ULONG idChunk;
+ ULONG cwcStart;
+ ULONG cwcExtent;
+ } FILTERREGION;
+
+ typedef struct tagSTAT_CHUNK
+ {
+ ULONG idChunk;
+ CHUNK_BREAKTYPE breakType;
+ CHUNKSTATE flags;
+ LCID locale;
+ FULLPROPSPEC attribute;
+ ULONG idChunkSource;
+ ULONG cwcStartSource;
+ ULONG cwcLenSource;
+ } STAT_CHUNK;
+
+ SCODE Init([in] ULONG flags, [in] ULONG cnt, [in, size_is(cnt), unique] FULLPROPSPEC const *attributes, [out] ULONG *out_flags);
+ SCODE GetChunk([out] STAT_CHUNK *stat);
+ SCODE GetText([in, out] ULONG *cnt, [out, size_is(*cnt)] WCHAR *buffer);
+ SCODE GetValue([out] PROPVARIANT **value);
+
+ [local]
+ SCODE BindRegion([in] FILTERREGION pos, [in] REFIID riid, [out] void **unk);
+}
--
2.17.1
More information about the wine-devel
mailing list