SkiaSharp icon indicating copy to clipboard operation
SkiaSharp copied to clipboard

Add an extension point to override native libraries loading

Open stepangovorko opened this issue 2 years ago • 0 comments

Description of Change

For NETFX, SkiaSharp uses delegates because there is no packaging system and there could be potentially load an arbitrary number of libSkiaSharp - as is the case with several VS extensions. SkiaSharp has their own folder structure that the internal library loader looks at. In our application we distribute native libraries for all possible platforms ("write once, run anywhere"), but since there is no standard, we have different folder structure for them (and it cannot be changed, because we use the single build infrastructure with other products).

So an extension point to override native libraries loading process is needed.

API Changes

Added:

  • static Func<string, IntPtr> LoadLibraryOverride { get; set; }

PR Checklist

  • [ ] Rebased on top of main at time of PR
  • [ ] Changes adhere to coding standard
  • [ ] Updated documentation

stepangovorko avatar Jan 10 '22 16:01 stepangovorko