From e9132f3f85485a583678ff7097ef992a5701fd20 Mon Sep 17 00:00:00 2001 From: mattleibow Date: Thu, 29 Feb 2024 23:36:12 +0000 Subject: [PATCH] deploy: f88d919ee56969527e1b76cb33d44bae49e6e77b --- index.json | 60 +++++++++++++++++++++++++-------------------------- manifest.json | 8 +++---- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/index.json b/index.json index 2dd0f758..c55d3033 100644 --- a/index.json +++ b/index.json @@ -1,48 +1,33 @@ { - "api/ui-forms/index.html": { - "href": "api/ui-forms/index.html", - "title": "Overview | SkiaSharp.Extended", - "keywords": "Overview SkiaSharp.Extended.UI.Forms is a collection some great Xamarin.Forms controls that may be useful to some apps. SKImageSourceExtensions Some useful extensions for the abstract ImageSource type. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... Preview SKLottieView The Lottie view is a animated view that can playback Lottie files. See more... Preview" - }, - "api/ui-forms/skconfettiview.html": { - "href": "api/ui-forms/skconfettiview.html", - "title": "SKConfettiView | SkiaSharp.Extended", - "keywords": "SKConfettiView The confetti view is a container for one or more systems of particles. Top + Stream Center + Burst Sides + Multiple Properties The main property of a confetti view is the Systems property: Property Type Description Systems SKConfettiSystemCollection The collection of systems in the view. IsAnimationEnabled bool Determines whether the control will play the animation provided. IsComplete bool A value that indicates whether all systems are complete. Parts In addition to the properties on the view and all the systems, there is the overall control template that can directly influence the visual appearance of the view. The default template is defined as: Part Description PART_DrawingSurface This part can either be a SKCanvasView or a SKGLView and describes the actual rendering surface for the confetti. System Every confetti view consists up one or more systems ( SKConfettiSystem ). Each system is a container for an emitter ( SKConfettiEmitter ) along with many properties on how the system runs. Property Type Description Emitter SKConfettiEmitter An emitter controls how the confetti particles are generated and at what rate for how long. EmitterBounds SKConfettiEmitterBounds The emitter bounds controls where in the view the particles appear. This can be from a side (left, right, top, bottom), a point or a rectangular region. Gravity Point The gravity is a acceleration vector that indicates the direction and strength of the gravity in the system. Colors SKConfettiColorCollection A collection of Color instances that determine the available colors for the confetti. Physics SKConfettiPhysicsCollection A collection of SKConfettiPhysics instances that determine the \"base\" mass and size of each confetti particle. Shapes SKConfettiShapeCollection A collection of SKConfettiShape instances that determine what each confetti particle looks like. StartAngle double The angle (in degrees) to form the start of the emission region. EndAngle double The angle (in degrees) to form the end of the emission region. MinimumInitialVelocity double The minimum initial velocity of the confetti particles. MaximumInitialVelocity double The maximum initial velocity of the confetti particles. MinimumRotationVelocity double The minimum initial rotation velocity of the confetti particles. MaximumRotationVelocity double The maximum initial rotation velocity of the confetti particles. MaximumVelocity double The maximum velocity the confetti particle can reach. FadeOut bool Whether or not the particle should fade out at the end of its life. Lifetime double The duration in seconds for how long the particle is allowed to live. IsAnimationEnabled bool Controls whether the system is running or not. IsComplete bool A value that indicates whether the system is complete and all systems and particles are also complete. Emitter Each system has an emitter instance that controls how the confetti particles are generated and at what rate for how long. Property Type Description ParticleRate int The number of particles to generate each second. MaxParticles int The maximum number of particles allowed by the emitter. A value of -1 indicates no limit. Duration double The duration in seconds of how long the emitter runs for. A value of 0 indicates that all particles are emitted instantly. IsComplete bool A value that indicates whether the emitter has generated all the particles and they have all disappeared. Helper Emitters To make creating emitters easier, there are a few static helper methods on the SKConfettiEmitter type: Property Description Burst Create an emitter that generates the specified number of the particles instantly. Infinite Create an emitter that releases the specified number of particles each second. Stream Create an emitter that releases the specified number of particles for the specified amount of time. Shapes There are several simple types of \"shapes\" that the confetti can come in: Name Type Description Circle SKConfettiCircleShape This is a simple circle shape. Square SKConfettiSquareShape This is a simple square with equal length sides. Oval SKConfettiOvalShape This is the stretched circle or ellipse shape. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Rectangle SKConfettiRectShape This is a rectangle. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Advanced Shapes In addition to those, there is also a way to have custom paths as a shape: Name Type Description Paths SKConfettiPathShape This is a generic shape that supports any SKPath instance Custom SKConfettiShape This is the base type for shapes. Custom drawing code can be used by deriving from this type and overriding the OnDraw method. When making a custom shape, the instance is re-used, so all state needs to be set before drawing. The provided SKPaint instance is reset, so any properties set needs to be re-set. Custom Shapes public class ConfettiStar : SKConfettiShape { private readonly int points; public ConfettiStar(int points) { this.points = points; } protected override void OnDraw(SKCanvas canvas, SKPaint paint, float size) { using var star = SKGeometry.CreateRegularStarPath(size, size / 2, points); canvas.DrawPath(star, paint); } } Physics Each particle can have a size and mass, and the emitter can select one of them randomly: Property Type Description Mass double The mass of the particle which resists the force of gravity. Size double The physical size of the particle rendered." - }, - "api/index.html": { - "href": "api/index.html", - "title": "Overview | SkiaSharp.Extended", - "keywords": "Overview SkiaSharp.Extended SkiaSharp.Extended is a collection some cool libraries that may be useful to some apps. There are several repositories that may have interesting projects. See more... SKBlurHash SKBlurHash is a compact representation of a placeholder for an image. See more... SKGeometry SKGeometry provides several helper methods that can be used to create common geometric shapes. See more... SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. See more... SkiaSharp.Extended.UI.Maui SkiaSharp.Extended.UI.Maui is a collection some great .NET MAUI controls that may be useful to some apps. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... SKLottieView The Lottie view is a animated view that can playback Lottie files. See more... SkiaSharp.Extended.UI.Forms SkiaSharp.Extended.UI.Forms is a collection some great Xamarin.Forms controls that may be useful to some apps. See more... SKImageSourceExtensions Some useful extensions for the abstract ImageSource type. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... SKLottieView The Lottie view is a animated view that can playback Lottie files. See more..." - }, "api/extended/skblurhash.html": { "href": "api/extended/skblurhash.html", "title": "SKBlurHash | SkiaSharp.Extended", "keywords": "SKBlurHash A BlurHash is a compact representation of a placeholder for an image. For example, the SkiaSharp logo can be reduced to a tiny string: LjPsbRxG%gx^aJxuM|W=?^X8Mxn$ Original (79.7 KB) BlurHash (36 bytes) Methods TODO" }, - "api/ui-maui/skconfettiview.html": { - "href": "api/ui-maui/skconfettiview.html", + "api/ui-forms/skimagesourceextensions.html": { + "href": "api/ui-forms/skimagesourceextensions.html", + "title": "SKImageSourceExtensions | SkiaSharp.Extended", + "keywords": "SKImageSourceExtensions Some useful extensions for the abstract ImageSource type for when working with Xamarin.Forms images and SkiaSharp paintings. Methods The main property of a confetti view is the Systems property: Methods Description ToSKImageAsync Convert any ImageSource into an SKImage instance." + }, + "api/ui-forms/skconfettiview.html": { + "href": "api/ui-forms/skconfettiview.html", "title": "SKConfettiView | SkiaSharp.Extended", "keywords": "SKConfettiView The confetti view is a container for one or more systems of particles. Top + Stream Center + Burst Sides + Multiple Properties The main property of a confetti view is the Systems property: Property Type Description Systems SKConfettiSystemCollection The collection of systems in the view. IsAnimationEnabled bool Determines whether the control will play the animation provided. IsComplete bool A value that indicates whether all systems are complete. Parts In addition to the properties on the view and all the systems, there is the overall control template that can directly influence the visual appearance of the view. The default template is defined as: Part Description PART_DrawingSurface This part can either be a SKCanvasView or a SKGLView and describes the actual rendering surface for the confetti. System Every confetti view consists up one or more systems ( SKConfettiSystem ). Each system is a container for an emitter ( SKConfettiEmitter ) along with many properties on how the system runs. Property Type Description Emitter SKConfettiEmitter An emitter controls how the confetti particles are generated and at what rate for how long. EmitterBounds SKConfettiEmitterBounds The emitter bounds controls where in the view the particles appear. This can be from a side (left, right, top, bottom), a point or a rectangular region. Gravity Point The gravity is a acceleration vector that indicates the direction and strength of the gravity in the system. Colors SKConfettiColorCollection A collection of Color instances that determine the available colors for the confetti. Physics SKConfettiPhysicsCollection A collection of SKConfettiPhysics instances that determine the \"base\" mass and size of each confetti particle. Shapes SKConfettiShapeCollection A collection of SKConfettiShape instances that determine what each confetti particle looks like. StartAngle double The angle (in degrees) to form the start of the emission region. EndAngle double The angle (in degrees) to form the end of the emission region. MinimumInitialVelocity double The minimum initial velocity of the confetti particles. MaximumInitialVelocity double The maximum initial velocity of the confetti particles. MinimumRotationVelocity double The minimum initial rotation velocity of the confetti particles. MaximumRotationVelocity double The maximum initial rotation velocity of the confetti particles. MaximumVelocity double The maximum velocity the confetti particle can reach. FadeOut bool Whether or not the particle should fade out at the end of its life. Lifetime double The duration in seconds for how long the particle is allowed to live. IsAnimationEnabled bool Controls whether the system is running or not. IsComplete bool A value that indicates whether the system is complete and all systems and particles are also complete. Emitter Each system has an emitter instance that controls how the confetti particles are generated and at what rate for how long. Property Type Description ParticleRate int The number of particles to generate each second. MaxParticles int The maximum number of particles allowed by the emitter. A value of -1 indicates no limit. Duration double The duration in seconds of how long the emitter runs for. A value of 0 indicates that all particles are emitted instantly. IsComplete bool A value that indicates whether the emitter has generated all the particles and they have all disappeared. Helper Emitters To make creating emitters easier, there are a few static helper methods on the SKConfettiEmitter type: Property Description Burst Create an emitter that generates the specified number of the particles instantly. Infinite Create an emitter that releases the specified number of particles each second. Stream Create an emitter that releases the specified number of particles for the specified amount of time. Shapes There are several simple types of \"shapes\" that the confetti can come in: Name Type Description Circle SKConfettiCircleShape This is a simple circle shape. Square SKConfettiSquareShape This is a simple square with equal length sides. Oval SKConfettiOvalShape This is the stretched circle or ellipse shape. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Rectangle SKConfettiRectShape This is a rectangle. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Advanced Shapes In addition to those, there is also a way to have custom paths as a shape: Name Type Description Paths SKConfettiPathShape This is a generic shape that supports any SKPath instance Custom SKConfettiShape This is the base type for shapes. Custom drawing code can be used by deriving from this type and overriding the OnDraw method. When making a custom shape, the instance is re-used, so all state needs to be set before drawing. The provided SKPaint instance is reset, so any properties set needs to be re-set. Custom Shapes public class ConfettiStar : SKConfettiShape { private readonly int points; public ConfettiStar(int points) { this.points = points; } protected override void OnDraw(SKCanvas canvas, SKPaint paint, float size) { using var star = SKGeometry.CreateRegularStarPath(size, size / 2, points); canvas.DrawPath(star, paint); } } Physics Each particle can have a size and mass, and the emitter can select one of them randomly: Property Type Description Mass double The mass of the particle which resists the force of gravity. Size double The physical size of the particle rendered." }, - "api/ui-forms/sklottieview.html": { - "href": "api/ui-forms/sklottieview.html", - "title": "SKLottieView | SkiaSharp.Extended", - "keywords": "SKLottieView The Lottie view is a animated view that can playback Lottie files. Preview Properties There are several properties that can be used to control th animation playback: Property Type Description Source SKLottieImageSource The Lottie image source to playback in the view. Duration TimeSpan A value indicating the total duration of the animation. Progress TimeSpan The current playback progress of the animation. RepeatCount int The number of times to repeat the animation. Default is 0 (no repeat). A negative (-1) value will repeat forever. RepeatMode SKLottieRepeatMode The way in which to repeat the animation. Default is Restart . IsAnimationEnabled bool Determines whether the control will play the animation provided. IsComplete bool A value that indicates whether all systems are complete. Events There are a few events that can be used to be notified of animation loading events: Event Type Description AnimationLoaded EventHandler Invoked when the animation has loaded successfully. AnimationFailed EventHandler Invoked when there was an error loading the animation. AnimationCompleted EventHandler Invoked when the animation is finished playing (after all the repeats). Infinite animations never complete so will not trigger the event. Parts In addition to the properties on the view, there is the overall control template that can directly influence the visual appearance of the view. The default template is defined as: Part Description PART_DrawingSurface This part can either be a SKCanvasView or a SKGLView and describes the actual rendering surface for the animation." + "api/extended/skpathinterpolation.html": { + "href": "api/extended/skpathinterpolation.html", + "title": "SKPathInterpolation | SkiaSharp.Extended", + "keywords": "SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. Path Interpolation The code is also very simple, just create a SKPathInterpolation instance and then ask for each step: var interpolation = new SKPathInterpolation(startPath, endPath); var halfWayPath = interpolation.Interpolate(0.5f); var almostTherePath = interpolation.Interpolate(0.9f); Methods There are a few helper methods that can be used to create geometric shapes in the SKGeometry type: Method Description Interpolate Creates a new path interpolated between the start and end paths." }, "index.html": { "href": "index.html", "title": "SkiaSharp.Extended | SkiaSharp.Extended", "keywords": "SkiaSharp.Extended SkiaSharp.Extended is a collection some cool libraries that may be useful to some apps. There are several repositories that may have interesting projects. See more... SKBlurHash SKBlurHash is a compact representation of a placeholder for an image. See more... SKGeometry SKGeometry provides several helper methods that can be used to create common geometric shapes. See more... SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. See more... SkiaSharp.Extended.UI.Maui SkiaSharp.Extended.UI.Maui is a collection some great .NET MAUI controls that may be useful to some apps. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... SkiaSharp.Extended.UI.Forms SkiaSharp.Extended.UI.Forms is a collection some great Xamarin.Forms controls that may be useful to some apps. See more... SKImageSourceExtensions Some useful extensions for the abstract ImageSource type. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more..." }, - "api/extended/skpathinterpolation.html": { - "href": "api/extended/skpathinterpolation.html", - "title": "SKPathInterpolation | SkiaSharp.Extended", - "keywords": "SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. Path Interpolation The code is also very simple, just create a SKPathInterpolation instance and then ask for each step: var interpolation = new SKPathInterpolation(startPath, endPath); var halfWayPath = interpolation.Interpolate(0.5f); var almostTherePath = interpolation.Interpolate(0.9f); Methods There are a few helper methods that can be used to create geometric shapes in the SKGeometry type: Method Description Interpolate Creates a new path interpolated between the start and end paths." - }, - "api/ui-forms/skimagesourceextensions.html": { - "href": "api/ui-forms/skimagesourceextensions.html", - "title": "SKImageSourceExtensions | SkiaSharp.Extended", - "keywords": "SKImageSourceExtensions Some useful extensions for the abstract ImageSource type for when working with Xamarin.Forms images and SkiaSharp paintings. Methods The main property of a confetti view is the Systems property: Methods Description ToSKImageAsync Convert any ImageSource into an SKImage instance." + "api/index.html": { + "href": "api/index.html", + "title": "Overview | SkiaSharp.Extended", + "keywords": "Overview SkiaSharp.Extended SkiaSharp.Extended is a collection some cool libraries that may be useful to some apps. There are several repositories that may have interesting projects. See more... SKBlurHash SKBlurHash is a compact representation of a placeholder for an image. See more... SKGeometry SKGeometry provides several helper methods that can be used to create common geometric shapes. See more... SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. See more... SkiaSharp.Extended.UI.Maui SkiaSharp.Extended.UI.Maui is a collection some great .NET MAUI controls that may be useful to some apps. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... SKLottieView The Lottie view is a animated view that can playback Lottie files. See more... SkiaSharp.Extended.UI.Forms SkiaSharp.Extended.UI.Forms is a collection some great Xamarin.Forms controls that may be useful to some apps. See more... SKImageSourceExtensions Some useful extensions for the abstract ImageSource type. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... SKLottieView The Lottie view is a animated view that can playback Lottie files. See more..." }, "api/extended/skgeometry.html": { "href": "api/extended/skgeometry.html", @@ -54,6 +39,11 @@ "title": "Overview | SkiaSharp.Extended", "keywords": "Overview SkiaSharp.Extended.UI.Maui is a collection some great .NET MAUI controls that may be useful to some apps. SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... Preview SKLottieView The Lottie view is a animated view that can playback Lottie files. See more... Preview" }, + "api/ui-forms/sklottieview.html": { + "href": "api/ui-forms/sklottieview.html", + "title": "SKLottieView | SkiaSharp.Extended", + "keywords": "SKLottieView The Lottie view is a animated view that can playback Lottie files. Preview Properties There are several properties that can be used to control th animation playback: Property Type Description Source SKLottieImageSource The Lottie image source to playback in the view. Duration TimeSpan A value indicating the total duration of the animation. Progress TimeSpan The current playback progress of the animation. RepeatCount int The number of times to repeat the animation. Default is 0 (no repeat). A negative (-1) value will repeat forever. RepeatMode SKLottieRepeatMode The way in which to repeat the animation. Default is Restart . IsAnimationEnabled bool Determines whether the control will play the animation provided. IsComplete bool A value that indicates whether all systems are complete. Events There are a few events that can be used to be notified of animation loading events: Event Type Description AnimationLoaded EventHandler Invoked when the animation has loaded successfully. AnimationFailed EventHandler Invoked when there was an error loading the animation. AnimationCompleted EventHandler Invoked when the animation is finished playing (after all the repeats). Infinite animations never complete so will not trigger the event. Parts In addition to the properties on the view, there is the overall control template that can directly influence the visual appearance of the view. The default template is defined as: Part Description PART_DrawingSurface This part can either be a SKCanvasView or a SKGLView and describes the actual rendering surface for the animation." + }, "api/ui-maui/sklottieview.html": { "href": "api/ui-maui/sklottieview.html", "title": "SKLottieView | SkiaSharp.Extended", @@ -63,5 +53,15 @@ "href": "api/extended/index.html", "title": "Overview | SkiaSharp.Extended", "keywords": "Overview SkiaSharp.Extended is a collection some cool functions that may be useful to some apps. SKBlurHash SKBlurHash is a compact representation of a placeholder for an image. See more... Preview SKGeometry SKGeometry provides several helper methods that can be used to create common geometric shapes. See more... SKPathInterpolation SKPathInterpolation can be used to create interpolated paths. This is awesome when creating animated shapes or transitions between two paths. See more... Preview" + }, + "api/ui-forms/index.html": { + "href": "api/ui-forms/index.html", + "title": "Overview | SkiaSharp.Extended", + "keywords": "Overview SkiaSharp.Extended.UI.Forms is a collection some great Xamarin.Forms controls that may be useful to some apps. SKImageSourceExtensions Some useful extensions for the abstract ImageSource type. See more... SKConfettiView The confetti view is a container for one or more systems of confetti particles. See more... Preview SKLottieView The Lottie view is a animated view that can playback Lottie files. See more... Preview" + }, + "api/ui-maui/skconfettiview.html": { + "href": "api/ui-maui/skconfettiview.html", + "title": "SKConfettiView | SkiaSharp.Extended", + "keywords": "SKConfettiView The confetti view is a container for one or more systems of particles. Top + Stream Center + Burst Sides + Multiple Properties The main property of a confetti view is the Systems property: Property Type Description Systems SKConfettiSystemCollection The collection of systems in the view. IsAnimationEnabled bool Determines whether the control will play the animation provided. IsComplete bool A value that indicates whether all systems are complete. Parts In addition to the properties on the view and all the systems, there is the overall control template that can directly influence the visual appearance of the view. The default template is defined as: Part Description PART_DrawingSurface This part can either be a SKCanvasView or a SKGLView and describes the actual rendering surface for the confetti. System Every confetti view consists up one or more systems ( SKConfettiSystem ). Each system is a container for an emitter ( SKConfettiEmitter ) along with many properties on how the system runs. Property Type Description Emitter SKConfettiEmitter An emitter controls how the confetti particles are generated and at what rate for how long. EmitterBounds SKConfettiEmitterBounds The emitter bounds controls where in the view the particles appear. This can be from a side (left, right, top, bottom), a point or a rectangular region. Gravity Point The gravity is a acceleration vector that indicates the direction and strength of the gravity in the system. Colors SKConfettiColorCollection A collection of Color instances that determine the available colors for the confetti. Physics SKConfettiPhysicsCollection A collection of SKConfettiPhysics instances that determine the \"base\" mass and size of each confetti particle. Shapes SKConfettiShapeCollection A collection of SKConfettiShape instances that determine what each confetti particle looks like. StartAngle double The angle (in degrees) to form the start of the emission region. EndAngle double The angle (in degrees) to form the end of the emission region. MinimumInitialVelocity double The minimum initial velocity of the confetti particles. MaximumInitialVelocity double The maximum initial velocity of the confetti particles. MinimumRotationVelocity double The minimum initial rotation velocity of the confetti particles. MaximumRotationVelocity double The maximum initial rotation velocity of the confetti particles. MaximumVelocity double The maximum velocity the confetti particle can reach. FadeOut bool Whether or not the particle should fade out at the end of its life. Lifetime double The duration in seconds for how long the particle is allowed to live. IsAnimationEnabled bool Controls whether the system is running or not. IsComplete bool A value that indicates whether the system is complete and all systems and particles are also complete. Emitter Each system has an emitter instance that controls how the confetti particles are generated and at what rate for how long. Property Type Description ParticleRate int The number of particles to generate each second. MaxParticles int The maximum number of particles allowed by the emitter. A value of -1 indicates no limit. Duration double The duration in seconds of how long the emitter runs for. A value of 0 indicates that all particles are emitted instantly. IsComplete bool A value that indicates whether the emitter has generated all the particles and they have all disappeared. Helper Emitters To make creating emitters easier, there are a few static helper methods on the SKConfettiEmitter type: Property Description Burst Create an emitter that generates the specified number of the particles instantly. Infinite Create an emitter that releases the specified number of particles each second. Stream Create an emitter that releases the specified number of particles for the specified amount of time. Shapes There are several simple types of \"shapes\" that the confetti can come in: Name Type Description Circle SKConfettiCircleShape This is a simple circle shape. Square SKConfettiSquareShape This is a simple square with equal length sides. Oval SKConfettiOvalShape This is the stretched circle or ellipse shape. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Rectangle SKConfettiRectShape This is a rectangle. This has a useful property HeightRatio that can be used to control the width/height ratio in the range of [0..1]. Advanced Shapes In addition to those, there is also a way to have custom paths as a shape: Name Type Description Paths SKConfettiPathShape This is a generic shape that supports any SKPath instance Custom SKConfettiShape This is the base type for shapes. Custom drawing code can be used by deriving from this type and overriding the OnDraw method. When making a custom shape, the instance is re-used, so all state needs to be set before drawing. The provided SKPaint instance is reset, so any properties set needs to be re-set. Custom Shapes public class ConfettiStar : SKConfettiShape { private readonly int points; public ConfettiStar(int points) { this.points = points; } protected override void OnDraw(SKCanvas canvas, SKPaint paint, float size) { using var star = SKGeometry.CreateRegularStarPath(size, size / 2, points); canvas.DrawPath(star, paint); } } Physics Each particle can have a size and mass, and the emitter can select one of them randomly: Property Type Description Mass double The mass of the particle which resists the force of gravity. Size double The physical size of the particle rendered." } } \ No newline at end of file diff --git a/manifest.json b/manifest.json index a4024bca..45dd47d9 100644 --- a/manifest.json +++ b/manifest.json @@ -340,16 +340,16 @@ "full_build_reason_code": "NoAvailableBuildCache" }, "processors": { - "ResourceDocumentProcessor": { + "TocDocumentProcessor": { "can_incremental": false, - "details": "Processor ResourceDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.", + "details": "Processor TocDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.", "incrementalPhase": "build", "total_file_count": 0, "skipped_file_count": 0 }, - "TocDocumentProcessor": { + "ResourceDocumentProcessor": { "can_incremental": false, - "details": "Processor TocDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.", + "details": "Processor ResourceDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.", "incrementalPhase": "build", "total_file_count": 0, "skipped_file_count": 0