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

Adding WIC (WindowsCodecs) support #1674

Merged
merged 7 commits into from
Sep 24, 2023
Merged

Adding WIC (WindowsCodecs) support #1674

merged 7 commits into from
Sep 24, 2023

Conversation

hez2010
Copy link
Contributor

@hez2010 hez2010 commented Sep 22, 2023

Summary of the PR

Adding support for WIC.

I would like to avoid introducing codegen dependency on IPropertyBag2, tagPROPVARIANT and tagPROPBAG2 as they are legacy types used by Internet Explorer, so I added type mappings for them:

  • IPropertyBag2 -> IUnknown
  • tagPROPVARIANT -> void
  • tagPROPBAG2 -> void

Related issues, Discord discussions, or proposals

Closes #813

Further Comments

Should we remove the Tag prefix for all tag{*} types?

@hez2010 hez2010 requested a review from a team as a code owner September 22, 2023 11:22
Copy link
Member

@Perksey Perksey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, you worked out BuildTools pretty quick! Just a few small comments, I went through 50 of the 200+ generated files and didn't see anything too objectionable, so no complaints there beyond the below.

Thank you so much in advance for your contribution!

generator.json Outdated Show resolved Hide resolved
src/Core/Silk.NET.Core.Win32Extras/Enums/TagADVF.gen.cs Outdated Show resolved Hide resolved
generator.json Show resolved Hide resolved
generator.json Show resolved Hide resolved
Copy link
Contributor Author

@hez2010 hez2010 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some notes about tag prefix removal.

@hez2010
Copy link
Contributor Author

hez2010 commented Sep 23, 2023

PTAL.

Copy link
Member

@Perksey Perksey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brill, thanks (and thank you for the helpfully small commit increments and the notes).

Just one more thing that you'll hate me for not pointing out the first time around :P

@Perksey Perksey merged commit b343d1a into dotnet:main Sep 24, 2023
4 checks passed
@hez2010
Copy link
Contributor Author

hez2010 commented Sep 30, 2023

It seems that we still need to introduce the support for IPropertyBag2, tagPROPVARIANT and tagPROPBAG2, otherwise it can be hard to use. For example, https://learn.microsoft.com/en-us/windows/win32/wic/-wic-creating-encoder#tiff-encoding-example

Those types are located in oaidl.h and ocidl.h.

Is there any way to only include the types we actually need without introducing the whole bunch of unnecessary dependencies?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Direct2D/DirectWrite/WIC support?
2 participants