Files
react-native-svg/windows/RNSVG/Fabric.idl
Marlene Cota b80f102b09 feat(windows): add fabric support (#2321)
# Summary
This PR adds Fabric support and a FabricExample app for Windows.

Windows support for Fabric is experimental and as such APIs are subject
to change/break.

## Test Plan


https://github.com/software-mansion/react-native-svg/assets/1422161/2a7db119-44a8-4ee1-a837-41ca8320d8fa

## Compatibility

| OS      | Implemented |
| ------- | :---------: |
| iOS     |         |
| Android |         |
| Windows |         |

## Checklist
- [x] I have tested this on a device and a simulator
- [ ] I added documentation in `README.md`
- [ ] I updated the typed files (typescript)
- [ ] I added a test for the API in the `__tests__` folder
2024-08-19 08:18:45 +02:00

166 lines
4.1 KiB
Plaintext

import "Views.idl";
namespace RNSVG
{
[experimental]
interface IRenderableFabric
{
Microsoft.ReactNative.ComponentView SvgParent { get; };
void UpdateProperties(Microsoft.ReactNative.IComponentProps props, Microsoft.ReactNative.IComponentProps oldProps, Boolean forceUpdate, Boolean invalidate);
};
[experimental]
[default_interface]
runtimeclass SvgView : Microsoft.ReactNative.Composition.ViewComponentView,
Microsoft.ReactNative.Composition.Experimental.IInternalCreateVisual, IRenderable, IRenderableFabric, ISvgView
{
SvgView(Microsoft.ReactNative.Composition.CreateCompositionComponentViewArgs args);
GroupView Group;
Microsoft.ReactNative.Color CurrentColor{ get; };
};
[experimental]
[default_interface]
unsealed runtimeclass RenderableView : Microsoft.ReactNative.ComponentView, IRenderable, IRenderableFabric, IRenderableView
{
RenderableView(Microsoft.ReactNative.CreateComponentViewArgs args);
SvgView SvgRoot{ get; };
Microsoft.ReactNative.Color Fill{ get; };
Microsoft.ReactNative.Color Stroke{ get; };
};
[experimental]
[default_interface]
runtimeclass RectView : RenderableView
{
RectView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass CircleView : RenderableView
{
CircleView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass EllipseView : RenderableView
{
EllipseView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass LineView : RenderableView
{
LineView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass PathView : RenderableView
{
PathView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass UseView : RenderableView
{
UseView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass ImageView : RenderableView
{
ImageView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
unsealed runtimeclass GroupView : RenderableView, IGroupView
{
GroupView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
unsealed runtimeclass TextView : GroupView, ITextView
{
TextView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass TSpanView : TextView, ITSpanView
{
TSpanView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass DefsView : GroupView
{
DefsView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass SymbolView : GroupView, ISymbolView
{
SymbolView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass ClipPathView : GroupView
{
ClipPathView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass MarkerView : GroupView
{
MarkerView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass MaskView : GroupView
{
MaskView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
unsealed runtimeclass BrushView : GroupView, IBrushView
{
BrushView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass LinearGradientView : BrushView
{
LinearGradientView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass RadialGradientView : BrushView
{
RadialGradientView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
[experimental]
[default_interface]
runtimeclass PatternView : BrushView
{
PatternView(Microsoft.ReactNative.CreateComponentViewArgs args);
};
}