2023-01-30 04:05:42 +00:00
|
|
|
/*
|
|
|
|
* 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 {
|
2023-04-03 23:44:02 +00:00
|
|
|
typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;
|
|
|
|
typedef enum CompositionStretch CompositionStretch;
|
|
|
|
|
2023-04-03 23:36:59 +00:00
|
|
|
interface ICompositionBrush;
|
|
|
|
interface ICompositionBrushFactory;
|
2023-01-30 04:05:42 +00:00
|
|
|
interface ICompositionEasingFunction;
|
|
|
|
interface ICompositionEasingFunctionFactory;
|
|
|
|
interface ICompositionEasingFunctionStatics;
|
2023-04-03 23:40:58 +00:00
|
|
|
interface ICompositionSurface;
|
2023-04-03 23:44:02 +00:00
|
|
|
interface ICompositionSurfaceBrush;
|
|
|
|
interface ICompositionSurfaceBrush2;
|
|
|
|
interface ICompositionSurfaceBrush3;
|
2023-04-03 23:46:47 +00:00
|
|
|
interface ISpriteVisual;
|
|
|
|
interface ISpriteVisual2;
|
2023-01-30 04:05:42 +00:00
|
|
|
|
2023-04-03 23:36:59 +00:00
|
|
|
runtimeclass CompositionBrush;
|
2023-01-30 04:05:42 +00:00
|
|
|
runtimeclass CompositionEasingFunction;
|
|
|
|
runtimeclass CompositionObject;
|
2023-04-03 23:44:02 +00:00
|
|
|
runtimeclass CompositionSurfaceBrush;
|
2023-04-03 23:46:47 +00:00
|
|
|
runtimeclass ContainerVisual;
|
|
|
|
runtimeclass SpriteVisual;
|
2023-01-30 04:05:42 +00:00
|
|
|
|
2023-04-03 23:40:58 +00:00
|
|
|
declare {
|
|
|
|
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.UI.Composition.ICompositionSurface *>;
|
|
|
|
interface Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface *>;
|
|
|
|
}
|
|
|
|
|
2023-04-03 23:44:02 +00:00
|
|
|
[
|
|
|
|
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,
|
|
|
|
};
|
|
|
|
|
2023-04-03 23:36:59 +00:00
|
|
|
[
|
|
|
|
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
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-01-30 04:05:42 +00:00
|
|
|
[
|
|
|
|
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
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-04-03 23:40:58 +00:00
|
|
|
[
|
|
|
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
|
|
|
uuid(1527540d-42c7-47a6-a408-668f79a90dfb)
|
|
|
|
]
|
|
|
|
interface ICompositionSurface : IInspectable
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-04-03 23:44:02 +00:00
|
|
|
[
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2023-04-03 23:46:47 +00:00
|
|
|
[
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2023-04-03 23:36:59 +00:00
|
|
|
[
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2023-01-30 04:05:42 +00:00
|
|
|
[
|
|
|
|
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;
|
|
|
|
}
|
2023-04-03 23:44:02 +00:00
|
|
|
|
|
|
|
[
|
|
|
|
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;
|
|
|
|
}
|
2023-04-03 23:46:47 +00:00
|
|
|
|
|
|
|
[
|
|
|
|
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;
|
|
|
|
}
|
2023-01-30 04:05:42 +00:00
|
|
|
}
|