Commit 00eff244 authored by Mohamad Al-Jaf's avatar Mohamad Al-Jaf Committed by Alexandre Julliard

include: Add Windows.UI.Composition.Visual definition.

Needed for mingw Firefox build.
parent 89c1dc71
...@@ -34,7 +34,10 @@ import "windows.ui.idl"; ...@@ -34,7 +34,10 @@ import "windows.ui.idl";
import "windows.ui.core.idl"; import "windows.ui.core.idl";
namespace Windows.UI.Composition { namespace Windows.UI.Composition {
typedef enum CompositionBackfaceVisibility CompositionBackfaceVisibility;
typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode; typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;
typedef enum CompositionBorderMode CompositionBorderMode;
typedef enum CompositionCompositeMode CompositionCompositeMode;
typedef enum CompositionStretch CompositionStretch; typedef enum CompositionStretch CompositionStretch;
interface ICompositionBrush; interface ICompositionBrush;
...@@ -49,8 +52,16 @@ namespace Windows.UI.Composition { ...@@ -49,8 +52,16 @@ namespace Windows.UI.Composition {
interface ICompositionSurfaceBrush; interface ICompositionSurfaceBrush;
interface ICompositionSurfaceBrush2; interface ICompositionSurfaceBrush2;
interface ICompositionSurfaceBrush3; interface ICompositionSurfaceBrush3;
interface IContainerVisual;
interface IContainerVisualFactory;
interface ISpriteVisual; interface ISpriteVisual;
interface ISpriteVisual2; interface ISpriteVisual2;
interface IVisual;
interface IVisual2;
interface IVisual3;
interface IVisual4;
interface IVisualCollection;
interface IVisualFactory;
runtimeclass CompositionBrush; runtimeclass CompositionBrush;
runtimeclass CompositionClip; runtimeclass CompositionClip;
...@@ -59,15 +70,29 @@ namespace Windows.UI.Composition { ...@@ -59,15 +70,29 @@ namespace Windows.UI.Composition {
runtimeclass CompositionSurfaceBrush; runtimeclass CompositionSurfaceBrush;
runtimeclass ContainerVisual; runtimeclass ContainerVisual;
runtimeclass SpriteVisual; runtimeclass SpriteVisual;
runtimeclass Visual;
runtimeclass VisualCollection;
declare { declare {
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.UI.Composition.ICompositionSurface *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.UI.Composition.ICompositionSurface *>;
interface Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface *>; interface Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface *>;
interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Visual *>;
interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Visual *>;
} }
[ [
contract(Windows.Foundation.UniversalApiContract, 2.0) contract(Windows.Foundation.UniversalApiContract, 2.0)
] ]
enum CompositionBackfaceVisibility
{
Inherit = 0,
Visible = 1,
Hidden = 2,
};
[
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
enum CompositionBitmapInterpolationMode enum CompositionBitmapInterpolationMode
{ {
NearestNeighbor = 0, NearestNeighbor = 0,
...@@ -93,6 +118,28 @@ namespace Windows.UI.Composition { ...@@ -93,6 +118,28 @@ namespace Windows.UI.Composition {
[ [
contract(Windows.Foundation.UniversalApiContract, 2.0) contract(Windows.Foundation.UniversalApiContract, 2.0)
] ]
enum CompositionBorderMode
{
Inherit = 0,
Soft = 1,
Hard = 2,
};
[
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
enum CompositionCompositeMode
{
Inherit = 0,
SourceOver = 1,
DestinationInvert = 2,
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
MinBlend = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
enum CompositionStretch enum CompositionStretch
{ {
None = 0, None = 0,
...@@ -184,6 +231,25 @@ namespace Windows.UI.Composition { ...@@ -184,6 +231,25 @@ namespace Windows.UI.Composition {
[ [
contract(Windows.Foundation.UniversalApiContract, 2.0), contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.ContainerVisual),
uuid(02f6bc74-ed20-4773-afe6-d49b4a93db32)
]
interface IContainerVisual : IInspectable
{
[propget] HRESULT Children([out, retval] Windows.UI.Composition.VisualCollection **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.ContainerVisual),
uuid(0363a65b-c7da-4d9a-95f4-69b5c8df670b)
]
interface IContainerVisualFactory : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.SpriteVisual), exclusiveto(Windows.UI.Composition.SpriteVisual),
uuid(08e05581-1ad1-4f97-9757-402d76e4233b) uuid(08e05581-1ad1-4f97-9757-402d76e4233b)
] ]
...@@ -194,6 +260,73 @@ namespace Windows.UI.Composition { ...@@ -194,6 +260,73 @@ namespace Windows.UI.Composition {
} }
[ [
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.Visual),
uuid(117e202d-a859-4c89-873b-c2aa566788e3)
]
interface IVisual : IInspectable
{
[propget] HRESULT AnchorPoint([out, retval] Windows.Foundation.Numerics.Vector2 *value);
[propput] HRESULT AnchorPoint([in] Windows.Foundation.Numerics.Vector2 value);
[propget] HRESULT BackfaceVisibility([out, retval] Windows.UI.Composition.CompositionBackfaceVisibility *value);
[propput] HRESULT BackfaceVisibility([in] Windows.UI.Composition.CompositionBackfaceVisibility value);
[propget] HRESULT BorderMode([out, retval] Windows.UI.Composition.CompositionBorderMode *value);
[propput] HRESULT BorderMode([in] Windows.UI.Composition.CompositionBorderMode value);
[propget] HRESULT CenterPoint([out, retval] Windows.Foundation.Numerics.Vector3 *value);
[propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector3 value);
[propget] HRESULT Clip([out, retval] Windows.UI.Composition.CompositionClip **value);
[propput] HRESULT Clip([in] Windows.UI.Composition.CompositionClip *value);
[propget] HRESULT CompositeMode([out, retval] Windows.UI.Composition.CompositionCompositeMode *value);
[propput] HRESULT CompositeMode([in] Windows.UI.Composition.CompositionCompositeMode value);
[propget] HRESULT IsVisible([out, retval] boolean *value);
[propput] HRESULT IsVisible([in] boolean value);
[propget] HRESULT Offset([out, retval] Windows.Foundation.Numerics.Vector3 *value);
[propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector3 value);
[propget] HRESULT Opacity([out, retval] FLOAT *value);
[propput] HRESULT Opacity([in] FLOAT value);
[propget] HRESULT Orientation([out, retval] Windows.Foundation.Numerics.Quaternion *value);
[propput] HRESULT Orientation([in] Windows.Foundation.Numerics.Quaternion value);
[propget] HRESULT Parent([out, retval] Windows.UI.Composition.ContainerVisual **value);
[propget] HRESULT RotationAngle([out, retval] FLOAT *value);
[propput] HRESULT RotationAngle([in] FLOAT value);
[propget] HRESULT RotationAngleInDegrees([out, retval] FLOAT *value);
[propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
[propget] HRESULT RotationAxis([out, retval] Windows.Foundation.Numerics.Vector3 *value);
[propput] HRESULT RotationAxis([in] Windows.Foundation.Numerics.Vector3 value);
[propget] HRESULT Scale([out, retval] Windows.Foundation.Numerics.Vector3 *value);
[propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector3 value);
[propget] HRESULT Size([out, retval] Windows.Foundation.Numerics.Vector2 *value);
[propput] HRESULT Size([in] Windows.Foundation.Numerics.Vector2 value);
[propget] HRESULT TransformMatrix([out, retval] Windows.Foundation.Numerics.Matrix4x4 *value);
[propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix4x4 value);
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.Visual),
uuid(ad0ff93e-b502-4eb5-87b4-9a38a71d0137)
]
interface IVisualFactory : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.VisualCollection),
uuid(8b745505-fd3e-4a98-84a8-e949468c6bcb)
]
interface IVisualCollection : IInspectable
{
[propget] HRESULT Count([out, retval] INT32 *value);
HRESULT InsertAbove([in] Windows.UI.Composition.Visual *child, [in] Windows.UI.Composition.Visual *sibling);
HRESULT InsertAtBottom([in] Windows.UI.Composition.Visual *child);
HRESULT InsertAtTop([in] Windows.UI.Composition.Visual *child);
HRESULT InsertBelow([in] Windows.UI.Composition.Visual *child, [in] Windows.UI.Composition.Visual *sibling);
HRESULT Remove([in] Windows.UI.Composition.Visual *child);
HRESULT RemoveAll();
}
[
composable(Windows.UI.Composition.ICompositionBrushFactory, public, Windows.Foundation.UniversalApiContract, 2.0), composable(Windows.UI.Composition.ICompositionBrushFactory, public, Windows.Foundation.UniversalApiContract, 2.0),
contract(Windows.Foundation.UniversalApiContract, 2.0), contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile), marshaling_behavior(agile),
...@@ -241,6 +374,17 @@ namespace Windows.UI.Composition { ...@@ -241,6 +374,17 @@ namespace Windows.UI.Composition {
} }
[ [
composable(Windows.UI.Composition.IContainerVisualFactory, public, Windows.Foundation.UniversalApiContract, 2.0),
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass ContainerVisual : Windows.UI.Composition.Visual
{
[default] interface Windows.UI.Composition.IContainerVisual;
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0), contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile), marshaling_behavior(agile),
threading(both) threading(both)
...@@ -250,4 +394,29 @@ namespace Windows.UI.Composition { ...@@ -250,4 +394,29 @@ namespace Windows.UI.Composition {
[default] interface Windows.UI.Composition.ISpriteVisual; [default] interface Windows.UI.Composition.ISpriteVisual;
[contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ISpriteVisual2; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ISpriteVisual2;
} }
[
composable(Windows.UI.Composition.IVisualFactory, public, Windows.Foundation.UniversalApiContract, 2.0),
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass Visual : Windows.UI.Composition.CompositionObject
{
[default] interface Windows.UI.Composition.IVisual;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.IVisual2;
[contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.UI.Composition.IVisual3;
[contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Composition.IVisual4;
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass VisualCollection : Windows.UI.Composition.CompositionObject
{
[default] interface Windows.UI.Composition.IVisualCollection;
interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Visual *>;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment