I'm finishing up one of the main controls, the layout container. This is the control which will hold all the card input values (title, description, etc), so since I started this control I wanted something optimized as possible. Instead of using windows within windows, it uses a class to perform the whole calculation of all items/groups. Currently only items (A window control may be attached to it) and groups are implemented.
You can see in the image above, the item 1 #22 has a button attached to it. In this example the button doesn't stretch and is both horizontally and vertically centered.
Scrollbars implementation is nearly done. I still need to optimize the bitmap creation (It uses double-buffering to avoid flickering, so a bitmap is created and released everytime the window needs to be repainted). The calculation is divided into 3 steps:
1- Minimum size calculation (When you add/remove items/groups);
2- Stretch calculation (When you resize the container);
3- Painting (When you scroll the container);
One step will trigger the next one. If you add/remove an item to/from a group then the entire layout will be recalculated/painted.
What next?
After finishing the Layout container control, I'll start the Image viewer one. I want to do a better (with zooming capabilities, proper image transparency handling) than the one in the current version.