wine/include/windows.ui.composition.idl

220 lines
8.2 KiB
Text
Raw Normal View History

/*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* 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
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
import "inspectable.idl";
import "asyncinfo.idl";
import "eventtoken.idl";
import "windowscontracts.idl";
import "windows.foundation.idl";
import "windows.foundation.numerics.idl";
/* import "windows.graphics.idl"; */
import "windows.graphics.directx.idl";
import "windows.graphics.effects.idl";
import "windows.system.idl";
import "windows.ui.idl";
import "windows.ui.core.idl";
namespace Windows.UI.Composition {
typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;
typedef enum CompositionStretch CompositionStretch;
interface ICompositionBrush;
interface ICompositionBrushFactory;
interface ICompositionEasingFunction;
interface ICompositionEasingFunctionFactory;
interface ICompositionEasingFunctionStatics;
interface ICompositionSurface;
interface ICompositionSurfaceBrush;
interface ICompositionSurfaceBrush2;
interface ICompositionSurfaceBrush3;
interface ISpriteVisual;
interface ISpriteVisual2;
runtimeclass CompositionBrush;
runtimeclass CompositionEasingFunction;
runtimeclass CompositionObject;
runtimeclass CompositionSurfaceBrush;
runtimeclass ContainerVisual;
runtimeclass SpriteVisual;
declare {
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.UI.Composition.ICompositionSurface *>;
interface Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface *>;
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
enum CompositionBitmapInterpolationMode
{
NearestNeighbor = 0,
Linear = 1,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagLinearMinLinearMipLinear = 2,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagLinearMinLinearMipNearest = 3,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagLinearMinNearestMipLinear = 4,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagLinearMinNearestMipNearest = 5,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagNearestMinLinearMipLinear = 6,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagNearestMinLinearMipNearest = 7,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagNearestMinNearestMipLinear = 8,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
MagNearestMinNearestMipNearest = 9,
};
[
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
enum CompositionStretch
{
None = 0,
Fill = 1,
Uniform = 2,
UniformToFill = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.CompositionBrush),
uuid(ab0d7608-30c0-40e9-b568-b60a6bd1fb46)
]
interface ICompositionBrush : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.CompositionBrush),
uuid(da53fb4c-4650-47c4-ad76-765379607ed6)
]
interface ICompositionBrushFactory : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.CompositionEasingFunction),
uuid(5145e356-bf79-4ea8-8cc2-6b5b472e6c9a)
]
interface ICompositionEasingFunction : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.CompositionEasingFunction),
uuid(60840774-3da0-4949-8200-7206c00190a0)
]
interface ICompositionEasingFunctionFactory : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
uuid(1527540d-42c7-47a6-a408-668f79a90dfb)
]
interface ICompositionSurface : IInspectable
{
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.CompositionSurfaceBrush),
uuid(ad016d79-1e4c-4c0d-9c29-83338c87c162)
]
interface ICompositionSurfaceBrush : IInspectable
{
[propget] HRESULT BitmapInterpolationMode([out, retval] Windows.UI.Composition.CompositionBitmapInterpolationMode *value);
[propput] HRESULT BitmapInterpolationMode([in] Windows.UI.Composition.CompositionBitmapInterpolationMode value);
[propget] HRESULT HorizontalAlignmentRatio([out, retval] FLOAT *value);
[propput] HRESULT HorizontalAlignmentRatio([in] FLOAT value);
[propget] HRESULT Stretch([out, retval] Windows.UI.Composition.CompositionStretch *value);
[propput] HRESULT Stretch([in] Windows.UI.Composition.CompositionStretch value);
[propget] HRESULT Surface([out, retval] Windows.UI.Composition.ICompositionSurface **value);
[propput] HRESULT Surface([in] Windows.UI.Composition.ICompositionSurface *value);
[propget] HRESULT VerticalAlignmentRatio([out, retval] FLOAT *value);
[propput] HRESULT VerticalAlignmentRatio([in] FLOAT value);
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
exclusiveto(Windows.UI.Composition.SpriteVisual),
uuid(08e05581-1ad1-4f97-9757-402d76e4233b)
]
interface ISpriteVisual : IInspectable
{
[propget] HRESULT Brush([out, retval] Windows.UI.Composition.CompositionBrush **value);
[propput] HRESULT Brush([in] Windows.UI.Composition.CompositionBrush *value);
}
[
composable(Windows.UI.Composition.ICompositionBrushFactory, public, Windows.Foundation.UniversalApiContract, 2.0),
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass CompositionBrush : Windows.UI.Composition.CompositionObject
{
[default] interface Windows.UI.Composition.ICompositionBrush;
}
[
composable(Windows.UI.Composition.ICompositionEasingFunctionFactory, public, Windows.Foundation.UniversalApiContract, 2.0),
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
static(Windows.UI.Composition.ICompositionEasingFunctionStatics, Windows.Foundation.UniversalApiContract, 12.0),
threading(both)
]
runtimeclass CompositionEasingFunction : Windows.UI.Composition.CompositionObject
{
[default] interface Windows.UI.Composition.ICompositionEasingFunction;
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass CompositionSurfaceBrush : Windows.UI.Composition.CompositionBrush
{
[default] interface Windows.UI.Composition.ICompositionSurfaceBrush;
[contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionSurfaceBrush2;
[contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositionSurfaceBrush3;
}
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass SpriteVisual : Windows.UI.Composition.ContainerVisual
{
[default] interface Windows.UI.Composition.ISpriteVisual;
[contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ISpriteVisual2;
}
}