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

Add Outline API, and make structs derive more traits within reason #72

Merged
merged 6 commits into from
Jun 17, 2018
Merged

Add Outline API, and make structs derive more traits within reason #72

merged 6 commits into from
Jun 17, 2018

Conversation

yoanlcq
Copy link
Contributor

@yoanlcq yoanlcq commented Jun 16, 2018

Greetings,

The title says it all :) That part of the FreeType2 API is documented here.
I made sure to double-check the function signatures.

While I was at it, I allowed myself to make most structs a bit more interesting by making them derive more traits, while being careful not to derive Copy and Clone for structs that are purposefully marked as "uncopyable".
This part of the PR may be controversial, but I think that all structs should at least derive Debug, because otherwise it's a pain when making higher-level APIs.

Thanks in advance!

@bvssvni
Copy link
Member

bvssvni commented Jun 16, 2018

Looks good.

Appveyor is failing for some reason.

@yoanlcq
Copy link
Contributor Author

yoanlcq commented Jun 17, 2018

Trivial Google-fu suggests that there's a mismatch between two Mingw-w64 versions in the AppVeyor script. (issue here)

I suspect it's one (or both?) of these :

  • PATH is set to C:\msys64\mingw64\bin;C:\Rust\bin;
  • pacman mingw-w64-x86_64-freetype;

In either case, this could be because the mingw64 bundled with rust-CHANNEL-x86_64-pc-windows-gnu doesn't match some other that involved in the operation.
I'll try fixing for now.

@yoanlcq
Copy link
Contributor Author

yoanlcq commented Jun 17, 2018

There we go! I hope you don't mind that the AppVeyor build now uses the msvc target. I felt that the mingw64 issue would have been a nightmare to deal with, because we don't have much control over the mingw64 version used by msys64 AND the possibly different one used by the freetype DLL from pacman.

Either way, I'm not willing to spend any more time digging for a "real" solution for the gnu target.
A real fix would involve having precise control over the mingw64 version used in every part of the process, which I predict would be a time sink with negligible return on investment.

@bvssvni
Copy link
Member

bvssvni commented Jun 17, 2018

Nice! Merging.

@bvssvni bvssvni merged commit cf24026 into PistonDevelopers:master Jun 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants