Closed notgull closed 1 year ago
Looks like IntoBrush
is implemented in all the backends, not just piet-cairo
. So I guess the internal trait comment includes the backend crates in its definition of internal.
You say you're implementintg IntoBrush
already, so it's not clear to me what mechanism is missing.
The thing is, the make_brush
function is doc(hidden)
. While I can still implement it, it implies that the trait is semver-unstable. If this method were exposed publicly it would close this issue.
Docs like that are optimized for Piet users, not Piet backend developers.
As for semver compatability, we follow the general semver rules. Whichs means we might break absolutely anything, but we will increase the version number accordingly.
More practically speaking, Piet is in maintenance mode so that trait is unlikely to change.
Okay, I'll take that as "the doc(hidden)
has no intrinsic meaning". Thanks! I'll close this issue now.
Hello! Thanks for making this crate. So far, it's the most comprehensive graphics API that I've been able to find for Rust.
I'm currently working on a standalone Piet implementation. I have a
Brush
structure in this case that needs to implementIntoBrush
. According topiet
's docs, as well as the fact thatIntoBrush
's methods aredoc(hidden)
,IntoBrush
isn't meant to be implemented outside of this crate (althoughpiet-cairo
breaks this rule). Right now, I implementIntoBrush
in spite of this. However, it would be nice if there was a mechanism for implementingIntoBrush
on my crate's types.Using
PaintBrush
is not an option in this case. There are some resources that I need to cache in the brush handle for the sake of performance.