2007-07-31 07:53:43 +02:00
|
|
|
/* Copyright (C) 2007 C John Klehm
|
|
|
|
*
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
|
2007-10-12 09:30:14 +02:00
|
|
|
import "oaidl.idl";
|
2007-07-31 07:53:43 +02:00
|
|
|
import "ocidl.idl";
|
|
|
|
|
|
|
|
[
|
|
|
|
uuid(7D868ACD-1A5D-4A47-A247-F39741353012),
|
|
|
|
version(1.0)
|
|
|
|
]
|
|
|
|
library MSINKAUTLib
|
|
|
|
{
|
|
|
|
importlib("stdole2.tlb");
|
|
|
|
|
|
|
|
typedef float single;
|
2007-10-10 11:32:33 +02:00
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(DB489209-B7C3-411D-90F6-1548CFFF271E),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkExtendedProperty : IDispatch {
|
|
|
|
[id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid);
|
|
|
|
[id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data);
|
|
|
|
[id(0x00000002), propput] HRESULT Data([in] VARIANT Data);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkExtendedProperties : IDispatch {
|
|
|
|
HRESULT Count([out, retval] long* Count);
|
|
|
|
HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
|
|
|
|
HRESULT Item(
|
|
|
|
[in] VARIANT Identifier,
|
|
|
|
[out, retval] IInkExtendedProperty** Item);
|
|
|
|
HRESULT Add(
|
|
|
|
[in] BSTR Guid,
|
|
|
|
[in] VARIANT Data,
|
|
|
|
[out, retval] IInkExtendedProperty** InkExtendedProperty);
|
|
|
|
HRESULT Remove([in] VARIANT Identifier);
|
|
|
|
HRESULT Clear();
|
|
|
|
HRESULT DoesPropertyExist(
|
|
|
|
[in] BSTR Guid,
|
|
|
|
[out, retval] VARIANT_BOOL* DoesPropertyExist);
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
IRO_Black = 1,
|
|
|
|
IRO_NotMergePen,
|
|
|
|
IRO_MaskNotPen,
|
|
|
|
IRO_NotCopyPen,
|
|
|
|
IRO_MaskPenNot,
|
|
|
|
IRO_Not,
|
|
|
|
IRO_XOrPen,
|
|
|
|
IRO_NotMaskPen,
|
|
|
|
IRO_MaskPen,
|
|
|
|
IRO_NotXOrPen,
|
|
|
|
IRO_NoOperation,
|
|
|
|
IRO_MergeNotPen,
|
|
|
|
IRO_CopyPen,
|
|
|
|
IRO_MergePenNot,
|
|
|
|
IRO_MergePen,
|
|
|
|
IRO_White
|
|
|
|
} InkRasterOperation;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
IPT_Ball,
|
|
|
|
IPT_Rectangle
|
|
|
|
} InkPenTip;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(BF519B75-0A15-4623-ADC9-C00D436A8092),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkDrawingAttributes : IDispatch {
|
|
|
|
[id(0x00000002), propget] HRESULT Color(
|
|
|
|
[out, retval] long* CurrentColor);
|
|
|
|
[id(0x00000002), propput] HRESULT Color([in] long CurrentColor);
|
|
|
|
[id(0x00000003), propget] HRESULT Width(
|
|
|
|
[out, retval] single* CurrentWidth);
|
|
|
|
[id(0x00000003), propput] HRESULT Width([in] single CurrentWidth);
|
|
|
|
[id(0x00000001), propget] HRESULT Height(
|
|
|
|
[out, retval] single* CurrentHeight);
|
|
|
|
[id(0x00000001), propput] HRESULT Height([in] single CurrentHeight);
|
|
|
|
[id(0x00000004), propget] HRESULT FitToCurve(
|
|
|
|
[out, retval] VARIANT_BOOL* Flag);
|
|
|
|
[id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag);
|
|
|
|
[id(0x00000005), propget] HRESULT IgnorePressure(
|
|
|
|
[out, retval] VARIANT_BOOL* Flag);
|
|
|
|
[id(0x00000005), propput] HRESULT IgnorePressure(
|
|
|
|
[in] VARIANT_BOOL Flag);
|
|
|
|
[id(0x00000006), propget] HRESULT AntiAliased(
|
|
|
|
[out, retval] VARIANT_BOOL* Flag);
|
|
|
|
[id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag);
|
|
|
|
[id(0x00000007), propget] HRESULT Transparency(
|
|
|
|
[out, retval] long* CurrentTransparency);
|
|
|
|
[id(0x00000007), propput] HRESULT Transparency(
|
|
|
|
[in] long CurrentTransparency);
|
|
|
|
[id(0x00000008), propget] HRESULT RasterOperation(
|
|
|
|
[out, retval] InkRasterOperation* CurrentRasterOperation);
|
|
|
|
[id(0x00000008), propput] HRESULT RasterOperation(
|
|
|
|
[in] InkRasterOperation CurrentRasterOperation);
|
|
|
|
[id(0x00000009), propget] HRESULT PenTip(
|
|
|
|
[out, retval] InkPenTip* CurrentPenTip);
|
|
|
|
[id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip);
|
|
|
|
[id(0x0000000b), propget] HRESULT ExtendedProperties(
|
|
|
|
[out, retval] IInkExtendedProperties** Properties);
|
|
|
|
[id(0x0000000a)] HRESULT Clone(
|
|
|
|
[out, retval] IInkDrawingAttributes** DrawingAttributes);
|
|
|
|
};
|
|
|
|
|
|
|
|
cpp_quote("#ifndef _WINGDI_");
|
|
|
|
/* already defined in wingdi.h but needed for WIDL */
|
|
|
|
typedef struct tagXFORM {
|
|
|
|
single eM11;
|
|
|
|
single eM12;
|
|
|
|
single eM21;
|
|
|
|
single eM22;
|
|
|
|
single eDx;
|
|
|
|
single eDy;
|
|
|
|
} XFORM;
|
|
|
|
cpp_quote("#endif /* _WINGDI_ */");
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkTransform : IDispatch {
|
|
|
|
[id(0x00000001)] HRESULT Reset();
|
|
|
|
[id(0x00000002)] HRESULT Translate(
|
|
|
|
[in] single HorizontalComponent,
|
|
|
|
[in] single VerticalComponent);
|
|
|
|
[id(0x00000003)] HRESULT Rotate(
|
|
|
|
[in] single Degrees,
|
|
|
|
[in, optional, defaultvalue(0)] single x,
|
|
|
|
[in, optional, defaultvalue(0)] single y);
|
|
|
|
[id(0x00000004)] HRESULT Reflect(
|
|
|
|
[in] VARIANT_BOOL Horizontally,
|
|
|
|
[in] VARIANT_BOOL Vertically);
|
|
|
|
[id(0x00000005)] HRESULT Shear(
|
|
|
|
[in] single HorizontalComponent,
|
|
|
|
[in] single VerticalComponent);
|
|
|
|
[id(0x00000006)] HRESULT ScaleTransform(
|
|
|
|
[in] single HorizontalMultiplier,
|
|
|
|
[in] single VerticalMultiplier);
|
|
|
|
[id(0x0000000d)] HRESULT GetTransform(
|
|
|
|
[out] single* eM11,
|
|
|
|
[out] single* eM12,
|
|
|
|
[out] single* eM21,
|
|
|
|
[out] single* eM22,
|
|
|
|
[out] single* eDx,
|
|
|
|
[out] single* eDy);
|
|
|
|
[id(0x0000000e)] HRESULT SetTransform(
|
|
|
|
[in] single eM11,
|
|
|
|
[in] single eM12,
|
|
|
|
[in] single eM21,
|
|
|
|
[in] single eM22,
|
|
|
|
[in] single eDx,
|
|
|
|
[in] single eDy);
|
|
|
|
[id(0x00000007), propget, hidden] HRESULT eM11(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x00000007), propput, hidden] HRESULT eM11([in] single Value);
|
|
|
|
[id(0x00000008), propget, hidden] HRESULT eM12(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x00000008), propput, hidden] HRESULT eM12([in] single Value);
|
|
|
|
[id(0x00000009), propget, hidden] HRESULT eM21(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x00000009), propput, hidden] HRESULT eM21([in] single Value);
|
|
|
|
[id(0x0000000a), propget, hidden] HRESULT eM22(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value);
|
|
|
|
[id(0x0000000b), propget, hidden] HRESULT eDx(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value);
|
|
|
|
[id(0x0000000c), propget, hidden] HRESULT eDy(
|
|
|
|
[out, retval] single* Value);
|
|
|
|
[id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value);
|
|
|
|
[id(0x0000000f), propget, hidden] HRESULT Data(
|
|
|
|
[out, retval] XFORM* XFORM);
|
|
|
|
[id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM);
|
|
|
|
};
|
|
|
|
|
|
|
|
interface IInkDisp;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
IBBM_Default,
|
|
|
|
IBBM_NoCurveFit,
|
|
|
|
IBBM_CurveFit,
|
|
|
|
IBBM_PointsOnly,
|
|
|
|
IBBM_Union
|
|
|
|
} InkBoundingBoxMode;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkRectangle
|
|
|
|
{
|
|
|
|
[id(1), propget] HRESULT Top([out, retval] long* Units);
|
|
|
|
[id(1), propput] HRESULT Top([in] long Units);
|
|
|
|
[id(2), propget] HRESULT Left([out, retval] long* Units);
|
|
|
|
[id(2), propput] HRESULT Left([in] long Units);
|
|
|
|
[id(3), propget] HRESULT Bottom([out, retval] long* Units);
|
|
|
|
[id(3), propput] HRESULT Bottom([in] long Units);
|
|
|
|
[id(4), propget] HRESULT Right([out, retval] long* Units);
|
|
|
|
[id(4), propput] HRESULT Right([in] long Units);
|
|
|
|
[id(7), propget] HRESULT Data([out, retval] RECT* Rect);
|
|
|
|
[id(7), propput] HRESULT Data([in] RECT Rect);
|
|
|
|
[id(5)] HRESULT GetRectangle(
|
|
|
|
[out] long* Top,
|
|
|
|
[out] long* Left,
|
|
|
|
[out] long* Bottom,
|
|
|
|
[out] long* Right);
|
|
|
|
[id(6)] HRESULT SetRectangle(
|
|
|
|
[in] long Top,
|
|
|
|
[in] long Left,
|
|
|
|
[in] long Bottom,
|
|
|
|
[in] long Right);
|
|
|
|
};
|
|
|
|
|
|
|
|
interface IInkStrokes;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
TPMU_Default,
|
|
|
|
TPMU_Inches,
|
|
|
|
TPMU_Centimeters,
|
|
|
|
TPMU_Degrees,
|
|
|
|
TPMU_Radians,
|
|
|
|
TPMU_Seconds,
|
|
|
|
TPMU_Pounds,
|
|
|
|
TPMU_Grams
|
|
|
|
} TabletPropertyMetricUnit;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkStrokeDisp : IDispatch {
|
|
|
|
[id(0x00000002), propget] HRESULT Id([out, retval] long* Id);
|
|
|
|
[id(0x0000000d), propget] HRESULT BezierPoints(
|
|
|
|
[out, retval] VARIANT* Points);
|
|
|
|
[id(0x00000004), propget] HRESULT DrawingAttributes(
|
|
|
|
[out, retval] IInkDrawingAttributes** DrawAttrs);
|
|
|
|
[id(0x00000004), propputref] HRESULT DrawingAttributes(
|
|
|
|
[in] IInkDrawingAttributes* DrawAttrs);
|
|
|
|
[id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
|
|
|
|
[id(0x0000000b), propget] HRESULT ExtendedProperties(
|
|
|
|
[out, retval] IInkExtendedProperties** Properties);
|
|
|
|
[id(0x0000000e), propget] HRESULT PolylineCusps(
|
|
|
|
[out, retval] VARIANT* Cusps);
|
|
|
|
[id(0x0000000f), propget] HRESULT BezierCusps(
|
|
|
|
[out, retval] VARIANT* Cusps);
|
|
|
|
[id(0x00000010), propget] HRESULT SelfIntersections(
|
|
|
|
[out, retval] VARIANT* Intersections);
|
|
|
|
[id(0x00000011), propget] HRESULT PacketCount(
|
|
|
|
[out, retval] long* plCount);
|
|
|
|
[id(0x00000012), propget] HRESULT PacketSize(
|
|
|
|
[out, retval] long* plSize);
|
|
|
|
[id(0x00000013), propget] HRESULT PacketDescription(
|
|
|
|
[out, retval] VARIANT* PacketDescription);
|
|
|
|
[id(0x00000014), propget] HRESULT Deleted(
|
|
|
|
[out, retval] VARIANT_BOOL* Deleted);
|
|
|
|
[id(0x00000003)] HRESULT GetBoundingBox(
|
|
|
|
[in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode,
|
|
|
|
[out, retval] IInkRectangle** Rectangle);
|
|
|
|
[id(0x00000005)] HRESULT FindIntersections(
|
|
|
|
[in] IInkStrokes* Strokes,
|
|
|
|
[out, retval] VARIANT* Intersections);
|
|
|
|
[id(0x00000006)] HRESULT GetRectangleIntersections(
|
|
|
|
[in] IInkRectangle* Rectangle,
|
|
|
|
[out, retval] VARIANT* Intersections);
|
|
|
|
[id(0x00000007)] HRESULT Clip(
|
|
|
|
[in] IInkRectangle* Rectangle);
|
|
|
|
[id(0x00000008)] HRESULT HitTestCircle(
|
|
|
|
[in] long x,
|
|
|
|
[in] long y,
|
|
|
|
[in] single radius,
|
|
|
|
[out, retval] VARIANT_BOOL* Intersects);
|
|
|
|
[id(0x00000009)] HRESULT NearestPoint(
|
|
|
|
[in] long x,
|
|
|
|
[in] long y,
|
|
|
|
[in, out, optional, defaultvalue(0)] single* Distance,
|
|
|
|
[out, retval] single* Point);
|
|
|
|
[id(0x0000000a)] HRESULT Split(
|
|
|
|
[in] single SplitAt,
|
|
|
|
[out, retval] IInkStrokeDisp** NewStroke);
|
|
|
|
[id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics(
|
|
|
|
[in] BSTR propertyName,
|
|
|
|
[out] long* Minimum,
|
|
|
|
[out] long* Maximum,
|
|
|
|
[out] TabletPropertyMetricUnit* Units,
|
|
|
|
[out] single* Resolution);
|
|
|
|
[id(0x00000016)] HRESULT GetPoints(
|
|
|
|
[in, optional, defaultvalue(0)] long Index,
|
|
|
|
[in, optional, defaultvalue(-1)] long Count,
|
|
|
|
[out, retval] VARIANT* Points);
|
|
|
|
[id(0x00000017)] HRESULT SetPoints(
|
|
|
|
[in] VARIANT Points,
|
|
|
|
[in, optional, defaultvalue(0)] long Index,
|
|
|
|
[in, optional, defaultvalue(-1)] long Count,
|
|
|
|
[out, retval] long* NumberOfPointsSet);
|
|
|
|
[id(0x00000018)] HRESULT GetPacketData(
|
|
|
|
[in, optional, defaultvalue(0)] long Index,
|
|
|
|
[in, optional, defaultvalue(-1)] long Count,
|
|
|
|
[out, retval] VARIANT* PacketData);
|
|
|
|
[id(0x00000019)] HRESULT GetPacketValuesByProperty(
|
|
|
|
[in] BSTR propertyName,
|
|
|
|
[in, optional, defaultvalue(0)] long Index,
|
|
|
|
[in, optional, defaultvalue(-1)] long Count,
|
|
|
|
[out, retval] VARIANT* PacketValues);
|
|
|
|
[id(0x0000001a)] HRESULT SetPacketValuesByProperty(
|
|
|
|
[in] BSTR bstrPropertyName,
|
|
|
|
[in] VARIANT PacketValues,
|
|
|
|
[in, optional, defaultvalue(0)] long Index,
|
|
|
|
[in, optional, defaultvalue(-1)] long Count,
|
|
|
|
[out, retval] long* NumberOfPacketsSet);
|
|
|
|
[id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
|
|
|
|
[in, optional, defaultvalue(0)] long FittingError,
|
|
|
|
[out, retval] VARIANT* FlattenedBezierPoints);
|
|
|
|
[id(0x0000001d)] HRESULT Transform(
|
|
|
|
[in] IInkTransform* Transform,
|
|
|
|
[in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth);
|
|
|
|
[id(0x0000001c)] HRESULT ScaleToRectangle(
|
|
|
|
[in] IInkRectangle* Rectangle);
|
|
|
|
[id(0x0000001e)] HRESULT Move(
|
|
|
|
[in] single HorizontalComponent,
|
|
|
|
[in] single VerticalComponent);
|
|
|
|
[id(0x0000001f)] HRESULT Rotate(
|
|
|
|
[in] single Degrees,
|
|
|
|
[in, optional, defaultvalue(0)] single x,
|
|
|
|
[in, optional, defaultvalue(0)] single y);
|
|
|
|
[id(0x00000020)] HRESULT Shear(
|
|
|
|
[in] single HorizontalMultiplier,
|
|
|
|
[in] single VerticalMultiplier);
|
|
|
|
[id(0x00000021)] HRESULT ScaleTransform(
|
|
|
|
[in] single HorizontalMultiplier,
|
|
|
|
[in] single VerticalMultiplier);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkRenderer : IDispatch {
|
|
|
|
HRESULT GetViewTransform([in] IInkTransform* ViewTransform);
|
|
|
|
HRESULT SetViewTransform([in] IInkTransform* ViewTransform);
|
|
|
|
HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform);
|
|
|
|
HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform);
|
|
|
|
HRESULT Draw(
|
|
|
|
[in] long hDC,
|
|
|
|
[in] IInkStrokes* Strokes);
|
|
|
|
HRESULT DrawStroke(
|
|
|
|
[in] long hDC,
|
|
|
|
[in] IInkStrokeDisp* Stroke,
|
|
|
|
[in, optional, defaultvalue(0)]
|
|
|
|
IInkDrawingAttributes* DrawingAttributes);
|
|
|
|
HRESULT PixelToInkSpace(
|
|
|
|
[in] long hDC,
|
|
|
|
[in, out] long* x,
|
|
|
|
[in, out] long* y);
|
|
|
|
HRESULT InkSpaceToPixel(
|
|
|
|
[in] long hdcDisplay,
|
|
|
|
[in, out] long* x,
|
|
|
|
[in, out] long* y);
|
|
|
|
HRESULT PixelToInkSpaceFromPoints(
|
|
|
|
[in] long hDC,
|
|
|
|
[in, out] VARIANT* Points);
|
|
|
|
HRESULT InkSpaceToPixelFromPoints(
|
|
|
|
[in] long hDC,
|
|
|
|
[in, out] VARIANT* Points);
|
|
|
|
HRESULT Measure(
|
|
|
|
[in] IInkStrokes* Strokes,
|
|
|
|
[out, retval] IInkRectangle** Rectangle);
|
|
|
|
HRESULT MeasureStroke(
|
|
|
|
[in] IInkStrokeDisp* Stroke,
|
|
|
|
[in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
|
|
|
|
[out, retval] IInkRectangle** Rectangle);
|
|
|
|
HRESULT Move(
|
|
|
|
[in] single HorizontalComponent,
|
|
|
|
[in] single VerticalComponent);
|
|
|
|
HRESULT Rotate(
|
|
|
|
[in] single Degrees,
|
|
|
|
[in, optional, defaultvalue(0)] single x,
|
|
|
|
[in, optional, defaultvalue(0)] single y);
|
|
|
|
HRESULT ScaleTransform(
|
|
|
|
[in] single HorizontalMultiplier,
|
|
|
|
[in] single VerticalMultiplier,
|
|
|
|
[in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth);
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
ICM_InkOnly,
|
|
|
|
ICM_GestureOnly,
|
|
|
|
ICM_InkAndGesture
|
|
|
|
} InkCollectionMode;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
IMP_Default,
|
|
|
|
IMP_Arrow,
|
|
|
|
IMP_Crosshair,
|
|
|
|
IMP_Ibeam,
|
|
|
|
IMP_SizeNESW,
|
|
|
|
IMP_SizeNS,
|
|
|
|
IMP_SizeNWSE,
|
|
|
|
IMP_SizeWE,
|
|
|
|
IMP_UpArrow,
|
|
|
|
IMP_Hourglass,
|
|
|
|
IMP_NoDrop,
|
|
|
|
IMP_ArrowHourglass,
|
|
|
|
IMP_ArrowQuestion,
|
|
|
|
IMP_SizeAll,
|
|
|
|
IMP_Hand,
|
|
|
|
IMP_Custom = 99
|
|
|
|
} InkMousePointer;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
THWC_Integrated = 1,
|
|
|
|
THWC_CursorMustTouch = 2,
|
|
|
|
THWC_HardProximity = 4,
|
|
|
|
THWC_CursorsHavePhysicalIds = 8
|
|
|
|
} TabletHardwareCapabilities;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkTablet : IDispatch {
|
|
|
|
[propget] HRESULT Name([out, retval] BSTR* Name);
|
|
|
|
[propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id);
|
|
|
|
[propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle);
|
|
|
|
[propget] HRESULT HardwareCapabilities(
|
|
|
|
[out, retval] TabletHardwareCapabilities* Capabilities);
|
|
|
|
HRESULT IsPacketPropertySupported(
|
|
|
|
[in] BSTR packetPropertyName,
|
|
|
|
[out, retval] VARIANT_BOOL* Supported);
|
|
|
|
HRESULT GetPropertyMetrics(
|
|
|
|
[in] BSTR propertyName,
|
|
|
|
[out] long* Minimum,
|
|
|
|
[out] long* Maximum,
|
|
|
|
[out] TabletPropertyMetricUnit* Units,
|
|
|
|
[out] single* Resolution);
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
ICBS_Unavailable,
|
|
|
|
ICBS_Up,
|
|
|
|
ICBS_Down
|
|
|
|
} InkCursorButtonState;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(85EF9417-1D59-49B2-A13C-702C85430894),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkCursorButton : IDispatch {
|
|
|
|
[propget] HRESULT Name([out, retval] BSTR* Name);
|
|
|
|
[propget] HRESULT Id([out, retval] BSTR* Id);
|
|
|
|
[propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(3671CC40-B624-4671-9FA0-DB119D952D54),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkCursorButtons : IDispatch {
|
|
|
|
[propget] HRESULT Count([out, retval] long* Count);
|
|
|
|
[propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
|
|
|
|
HRESULT Item(
|
|
|
|
[in] VARIANT Identifier,
|
|
|
|
[out, retval] IInkCursorButton** Button);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(AD30C630-40C5-4350-8405-9C71012FC558),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkCursor : IDispatch {
|
|
|
|
[id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name);
|
|
|
|
[id(0x00000001), propget] HRESULT Id([out, retval] long* Id);
|
|
|
|
[id(0x00000004), propget] HRESULT Inverted(
|
|
|
|
[out, retval] VARIANT_BOOL* Status);
|
|
|
|
[id(0x00000002), propget] HRESULT DrawingAttributes(
|
|
|
|
[out, retval] IInkDrawingAttributes** Attributes);
|
|
|
|
[id(0x00000002), propputref] HRESULT DrawingAttributes(
|
|
|
|
[in] IInkDrawingAttributes* Attributes);
|
|
|
|
[id(0x00000005), propget] HRESULT Tablet(
|
|
|
|
[out, retval] IInkTablet** Tablet);
|
|
|
|
[id(0x00000003), propget] HRESULT Buttons(
|
|
|
|
[out, retval] IInkCursorButtons** Buttons);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkCursors : IDispatch {
|
|
|
|
[propget] HRESULT Count([out, retval] long* Count);
|
|
|
|
[propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
|
|
|
|
HRESULT Item(
|
|
|
|
[in] long Index,
|
|
|
|
[out, retval] IInkCursor** Cursor);
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
IAG_AllGestures = 0,
|
|
|
|
IAG_NoGesture = 61440,
|
|
|
|
IAG_Scratchout = 61441,
|
|
|
|
IAG_Triangle = 61442,
|
|
|
|
IAG_Square = 61443,
|
|
|
|
IAG_Star = 61444,
|
|
|
|
IAG_Check = 61445,
|
|
|
|
IAG_Curlicue = 61456,
|
|
|
|
IAG_DoubleCurlicue = 61457,
|
|
|
|
IAG_Circle = 61472,
|
|
|
|
IAG_DoubleCircle = 61473,
|
|
|
|
IAG_SemiCircleLeft = 61480,
|
|
|
|
IAG_SemiCircleRight = 61481,
|
|
|
|
IAG_ChevronUp = 61488,
|
|
|
|
IAG_ChevronDown = 61489,
|
|
|
|
IAG_ChevronLeft = 61490,
|
|
|
|
IAG_ChevronRight = 61491,
|
|
|
|
IAG_ArrowUp = 61496,
|
|
|
|
IAG_ArrowDown = 61497,
|
|
|
|
IAG_ArrowLeft = 61498,
|
|
|
|
IAG_ArrowRight = 61499,
|
|
|
|
IAG_Up = 61528,
|
|
|
|
IAG_Down = 61529,
|
|
|
|
IAG_Left = 61530,
|
|
|
|
IAG_Right = 61531,
|
|
|
|
IAG_UpDown = 61536,
|
|
|
|
IAG_DownUp = 61537,
|
|
|
|
IAG_LeftRight = 61538,
|
|
|
|
IAG_RightLeft = 61539,
|
|
|
|
IAG_UpLeftLong = 61540,
|
|
|
|
IAG_UpRightLong = 61541,
|
|
|
|
IAG_DownLeftLong = 61542,
|
|
|
|
IAG_DownRightLong = 61543,
|
|
|
|
IAG_UpLeft = 61544,
|
|
|
|
IAG_UpRight = 61545,
|
|
|
|
IAG_DownLeft = 61546,
|
|
|
|
IAG_DownRight = 61547,
|
|
|
|
IAG_LeftUp = 61548,
|
|
|
|
IAG_LeftDown = 61549,
|
|
|
|
IAG_RightUp = 61550,
|
|
|
|
IAG_RightDown = 61551,
|
|
|
|
IAG_Exclamation = 61604,
|
|
|
|
IAG_Tap = 61680,
|
|
|
|
IAG_DoubleTap = 61681
|
|
|
|
} InkApplicationGesture;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
ICEI_DefaultEvents = -1,
|
|
|
|
ICEI_CursorDown = 0,
|
|
|
|
ICEI_Stroke,
|
|
|
|
ICEI_NewPackets,
|
|
|
|
ICEI_NewInAirPackets,
|
|
|
|
ICEI_CursorButtonDown,
|
|
|
|
ICEI_CursorButtonUp,
|
|
|
|
ICEI_CursorInRange,
|
|
|
|
ICEI_CursorOutOfRange,
|
|
|
|
ICEI_SystemGesture,
|
|
|
|
ICEI_TabletAdded,
|
|
|
|
ICEI_TabletRemoved,
|
|
|
|
ICEI_MouseDown,
|
|
|
|
ICEI_MouseMove,
|
|
|
|
ICEI_MouseUp,
|
|
|
|
ICEI_MouseWheel,
|
|
|
|
ICEI_DblClick,
|
|
|
|
ICEI_AllEvents
|
|
|
|
} InkCollectorEventInterest;
|
|
|
|
|
|
|
|
[
|
|
|
|
odl,
|
|
|
|
uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F),
|
|
|
|
dual,
|
|
|
|
oleautomation
|
|
|
|
]
|
|
|
|
interface IInkCollector : IDispatch {
|
|
|
|
[id(0x00000002), propget] HRESULT hWnd(
|
|
|
|
[out, retval] long* CurrentWindow);
|
|
|
|
[id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow);
|
|
|
|
[id(0x00000001), propget] HRESULT Enabled(
|
|
|
|
[out, retval] VARIANT_BOOL* Collecting);
|
|
|
|
[id(0x00000001), propput] HRESULT Enabled(
|
|
|
|
[in] VARIANT_BOOL Collecting);
|
|
|
|
[id(0x00000005), propget] HRESULT DefaultDrawingAttributes(
|
|
|
|
[out, retval] IInkDrawingAttributes** CurrentAttributes);
|
|
|
|
[id(0x00000005), propputref] HRESULT DefaultDrawingAttributes(
|
|
|
|
[in] IInkDrawingAttributes* CurrentAttributes);
|
|
|
|
[id(0x00000006), propget] HRESULT Renderer(
|
|
|
|
[out, retval] IInkRenderer** CurrentInkRenderer);
|
|
|
|
[id(0x00000006), propputref] HRESULT Renderer(
|
|
|
|
[in] IInkRenderer* CurrentInkRenderer);
|
|
|
|
[id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
|
|
|
|
[id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink);
|
|
|
|
[id(0x00000008), propget] HRESULT AutoRedraw(
|
|
|
|
[out, retval] VARIANT_BOOL* AutoRedraw);
|
|
|
|
[id(0x00000008), propput] HRESULT AutoRedraw(
|
|
|
|
[in] VARIANT_BOOL AutoRedraw);
|
|
|
|
[id(0x00000009), propget] HRESULT CollectingInk(
|
|
|
|
[out, retval] VARIANT_BOOL* Collecting);
|
|
|
|
[id(0x0000001c), propget] HRESULT CollectionMode(
|
|
|
|
[out, retval] InkCollectionMode* Mode);
|
|
|
|
[id(0x0000001c), propput] HRESULT CollectionMode(
|
|
|
|
[in] InkCollectionMode Mode);
|
|
|
|
[id(0x0000001f), propget] HRESULT DynamicRendering(
|
|
|
|
[out, retval] VARIANT_BOOL* Enabled);
|
|
|
|
[id(0x0000001f), propput] HRESULT DynamicRendering(
|
|
|
|
[in] VARIANT_BOOL Enabled);
|
|
|
|
[id(0x00000020), propget] HRESULT DesiredPacketDescription(
|
|
|
|
[out, retval] VARIANT* PacketGuids);
|
|
|
|
[id(0x00000020), propput] HRESULT DesiredPacketDescription(
|
|
|
|
[in] VARIANT PacketGuids);
|
|
|
|
[id(0x00000023), propget] HRESULT MouseIcon(
|
|
|
|
[out, retval] IPictureDisp** MouseIcon);
|
|
|
|
[id(0x00000023), propput] HRESULT MouseIcon(
|
|
|
|
[in] IPictureDisp* MouseIcon);
|
|
|
|
[id(0x00000023), propputref] HRESULT MouseIcon(
|
|
|
|
[in] IPictureDisp* MouseIcon);
|
|
|
|
[id(0x00000024), propget] HRESULT MousePointer(
|
|
|
|
[out, retval] InkMousePointer* MousePointer);
|
|
|
|
[id(0x00000024), propput] HRESULT MousePointer(
|
|
|
|
[in] InkMousePointer MousePointer);
|
|
|
|
[id(0x00000014), propget] HRESULT Cursors(
|
|
|
|
[out, retval] IInkCursors** Cursors);
|
|
|
|
[id(0x00000015), propget] HRESULT MarginX(
|
|
|
|
[out, retval] long* MarginX);
|
|
|
|
[id(0x00000015), propput] HRESULT MarginX([in] long MarginX);
|
|
|
|
[id(0x00000016), propget] HRESULT MarginY(
|
|
|
|
[out, retval] long* MarginY);
|
|
|
|
[id(0x00000016), propput] HRESULT MarginY([in] long MarginY);
|
|
|
|
[id(0x00000019), propget] HRESULT Tablet(
|
|
|
|
[out, retval] IInkTablet** SingleTablet);
|
|
|
|
[id(0x00000026), propget] HRESULT SupportHighContrastInk(
|
|
|
|
[out, retval] VARIANT_BOOL* Support);
|
|
|
|
[id(0x00000026), propput] HRESULT SupportHighContrastInk(
|
|
|
|
[in] VARIANT_BOOL Support);
|
|
|
|
[id(0x0000001d)] HRESULT SetGestureStatus(
|
|
|
|
[in] InkApplicationGesture Gesture,
|
|
|
|
[in] VARIANT_BOOL Listen);
|
|
|
|
[id(0x0000001e)] HRESULT GetGestureStatus(
|
|
|
|
[in] InkApplicationGesture Gesture,
|
|
|
|
[out, retval] VARIANT_BOOL* Listening);
|
|
|
|
[id(0x00000018)] HRESULT GetWindowInputRectangle(
|
|
|
|
[in, out] IInkRectangle** WindowInputRectangle);
|
|
|
|
[id(0x00000017)] HRESULT SetWindowInputRectangle(
|
|
|
|
[in] IInkRectangle* WindowInputRectangle);
|
|
|
|
[id(0x0000001a)] HRESULT SetAllTabletsMode(
|
|
|
|
[in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput);
|
|
|
|
[id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode(
|
|
|
|
[in] IInkTablet* Tablet);
|
|
|
|
[id(0x0000000b)] HRESULT GetEventInterest(
|
|
|
|
[in] InkCollectorEventInterest EventId,
|
|
|
|
[out, retval] VARIANT_BOOL* Listen);
|
|
|
|
[id(0x0000000a)] HRESULT SetEventInterest(
|
|
|
|
[in] InkCollectorEventInterest EventId,
|
|
|
|
[in] VARIANT_BOOL Listen);
|
|
|
|
};
|
2007-07-31 07:53:43 +02:00
|
|
|
};
|