leocb / MaterialSkin

Theming .NET WinForms, C# or VB.Net, to Google's Material Design Principles.
MIT License
446 stars 132 forks source link

Rework the Drawer implementation #244

Closed VolatilePulse closed 3 years ago

VolatilePulse commented 3 years ago

In general, this is a better approach. It allows the main material form to control the position and size of the drawer instead of having to relay sizing and position changes to separate forms.

So far, I managed to replicate the behavior of the old drawer system, but I am still working on the "fade" mechanism for when the drawer is open. This is apparently an incredibly had thing to implement according to the research I've looked into so far if you don't want to use forms. Currently, it relies upon bitmap buffering but causes a slow down when closing. I have not yet discovered a fix yet and there is other code I'd like to clean up before merging this into master.

VolatilePulse commented 3 years ago

I'm closing this so I can rebase off of the recent merge of my other PR. I will reopen with a clean commit history.