Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First round of converting System.Drawing.Common to COMWrappers #54636

Merged
merged 13 commits into from
Jun 28, 2021

Commits on Jun 23, 2021

  1. First round of converting System.Drawing.Common to COMWrappers

    Using COM Wrappers makes the library trim compatible.
    eerhardt committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    df5df6c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b809c88 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dcf3cfd View commit details
    Browse the repository at this point in the history
  4. Respond to PR feedback

    * Use function pointers instead of delegates
    * Rename Guid to IID
    * Better interop to closely match the native side
    * Release any COM pointer that was QueryInterface
    * Use pointers instead of Marshal.PtrToStructure/StructureToPtr
    eerhardt committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    c3d76ba View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2021

  1. PR feedback

    eerhardt committed Jun 24, 2021
    Configuration menu
    Copy the full SHA
    e6cd213 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    84559f6 View commit details
    Browse the repository at this point in the history
  3. More PR feedback

    * No need for a VTable struct, just set each function pointer right into the table
    * Wrap all managed calls in try-catch and return HResult
    eerhardt committed Jun 24, 2021
    Configuration menu
    Copy the full SHA
    75a7ddd View commit details
    Browse the repository at this point in the history
  4. Revert unnecessary changes.

    eerhardt committed Jun 24, 2021
    Configuration menu
    Copy the full SHA
    12f52f8 View commit details
    Browse the repository at this point in the history
  5. More PR feedback

    * Rename methods
    * Use COM naming
    * Fix method signature to use pointer instead of out.
    * CheckStatus => ThrowExceptionForHR
    eerhardt committed Jun 24, 2021
    Configuration menu
    Copy the full SHA
    6cb2d99 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2021

  1. Fix tests

    * Pass -1 to Marshal.GetExceptionForHR so it doesn't query GetErrorInfo, and always returns the correct exception type
    * Create the PictureWrapper with UniqueInstance, so it doesn't get cached. Caching it causes lifetime issues.
    eerhardt committed Jun 26, 2021
    Configuration menu
    Copy the full SHA
    3c657bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    25cc9e7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    39e5fc6 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2021

  1. Configuration menu
    Copy the full SHA
    284da55 View commit details
    Browse the repository at this point in the history