You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

191 lines
4.8 KiB

import "Types.idl";
namespace RNSVG
{
interface IRenderable
{
Windows.UI.Xaml.FrameworkElement SvgParent;
Microsoft.Graphics.Canvas.Geometry.CanvasGeometry Geometry;
Boolean IsResponsible;
void CreateResources(
Microsoft.Graphics.Canvas.ICanvasResourceCreator resourceCreator,
Microsoft.Graphics.Canvas.UI.CanvasCreateResourcesEventArgs args);
void Render(
Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl canvas,
Microsoft.Graphics.Canvas.CanvasDrawingSession session);
void UpdateProperties(Microsoft.ReactNative.IJSValueReader reader, Boolean forceUpdate, Boolean invalidate);
void MergeProperties(RenderableView other);
void SaveDefinition();
void Unload();
void CreateGeometry(Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl canvas);
IRenderable HitTest(Windows.Foundation.Point point);
};
[default_interface]
runtimeclass SvgView : Windows.UI.Xaml.Controls.Panel, IRenderable
{
SvgView(Microsoft.ReactNative.IReactContext context);
Single SvgScale{ get; };
GroupView Group;
Windows.UI.Color CurrentColor{ get; };
Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl Canvas{ get; };
Windows.Foundation.Collections.IMap<String, IRenderable> Templates{ get; };
Windows.Foundation.Collections.IMap<String, BrushView> Brushes{ get; };
void InvalidateCanvas();
};
[default_interface]
unsealed runtimeclass RenderableView : Windows.UI.Xaml.FrameworkElement, IRenderable
{
RenderableView(Microsoft.ReactNative.IReactContext context);
SvgView SvgRoot{ get; };
String Id{ get; };
Windows.Foundation.Numerics.Matrix3x2 SvgTransform{ get; };
Windows.UI.Color Fill{ get; };
Single FillOpacity{ get; };
String FillBrushId{ get; };
Windows.UI.Color Stroke{ get; };
Single StrokeOpacity{ get; };
String StrokeBrushId{ get; };
SVGLength StrokeWidth{ get; };
Single StrokeMiterLimit{ get; };
Single StrokeDashOffset{ get; };
Windows.Foundation.Collections.IVector<SVGLength> StrokeDashArray{ get; };
Microsoft.Graphics.Canvas.Geometry.CanvasCapStyle StrokeLineCap{ get; };
Microsoft.Graphics.Canvas.Geometry.CanvasLineJoin StrokeLineJoin{ get; };
Microsoft.Graphics.Canvas.Geometry.CanvasFilledRegionDetermination FillRule{ get; };
Microsoft.Graphics.Canvas.Geometry.CanvasGeometry ClipPathGeometry { get; };
};
[default_interface]
runtimeclass RectView : RenderableView
{
RectView();
};
[default_interface]
runtimeclass CircleView : RenderableView
{
CircleView();
};
[default_interface]
runtimeclass EllipseView : RenderableView
{
EllipseView();
};
[default_interface]
runtimeclass LineView : RenderableView
{
LineView();
};
[default_interface]
runtimeclass PathView : RenderableView
{
PathView();
};
[default_interface]
runtimeclass UseView : RenderableView
{
UseView();
};
[default_interface]
runtimeclass ImageView : RenderableView
{
ImageView();
};
[default_interface]
unsealed runtimeclass GroupView : RenderableView
{
GroupView(Microsoft.ReactNative.IReactContext context);
Windows.Foundation.Collections.IVector<IRenderable> Children { get; };
Single FontSize;
String FontFamily;
String FontWeight;
void RenderGroup(
Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl canvas,
Microsoft.Graphics.Canvas.CanvasDrawingSession session);
};
[default_interface]
unsealed runtimeclass TextView : GroupView
{
TextView();
Windows.Foundation.Collections.IVector<SVGLength> X{ get; };
Windows.Foundation.Collections.IVector<SVGLength> Y{ get; };
Windows.Foundation.Collections.IVector<SVGLength> DX{ get; };
Windows.Foundation.Collections.IVector<SVGLength> DY{ get; };
};
[default_interface]
runtimeclass TSpanView : TextView
{
TSpanView();
Windows.Foundation.Collections.IVector<SVGLength> Rotate { get; };
};
[default_interface]
runtimeclass DefsView : GroupView
{
DefsView();
};
[default_interface]
runtimeclass SymbolView : GroupView
{
SymbolView();
Single MinX{ get; };
Single MinY{ get; };
Single VbWidth{ get; };
Single VbHeight{ get; };
String Align{ get; };
MeetOrSlice MeetOrSlice{ get; };
};
[default_interface]
runtimeclass ClipPathView : GroupView
{
ClipPathView();
};
[default_interface]
unsealed runtimeclass BrushView : GroupView
{
BrushView();
Microsoft.Graphics.Canvas.Brushes.ICanvasBrush Brush{ get; };
void CreateBrush();
void SetBounds(Windows.Foundation.Rect rect);
};
[default_interface]
runtimeclass LinearGradientView : BrushView
{
LinearGradientView();
};
[default_interface]
runtimeclass RadialGradientView : BrushView
{
RadialGradientView();
};
[default_interface]
runtimeclass PatternView : BrushView
{
PatternView();
};
}