+ When you are done, simply call CaptureAll(), then screenshots of all controls will be
+ automaticly generated.
+
+ @section tag_autoadjust Make Use of Auto Adjustments
+
+ First take a look at the document of RegisterControl(), enum AdjustFlags and
+ GlobalAdjustFlags.
+
+ And then, ScreenshotFrame::OnCaptureAllControls() is a good example of making use of
+ auto adjustment. Taking a look at it will get you started.
+
+ @section tag_developer_note Notes for Developers
+
+ @subsection tag_cnc CaptureAll() and Capture()
+
+ The implementation of Auto Adjustments is in CaptureAll() and Capture(), the code is
+ short, quite readable and well commented, please read the codes before any modification.
+
+ If you need the class to do something sepcial for you, consider introducing a new flag
+ and implement it in them. For an operation performed on multiple controls, implemente
+ its logic in CaptureAll(), otherwise in the private member Capture().
+
+ @subsection tag_yield_issue wxYield Issues
+
+ Not quite a good habit, but this class made a lot of use of wxYield()/wxYieldIfNeeded().
+ They are used to ensure the update of GUI(e.g. the page turn of wxNotebook) is done
+ before any further screenshot-taking, or to do the timing(in Delay()). Without their use,
+ there would be subtle bugs.
+
+ I've read documents about wxYield() and understand the down side of it before using it.
+ But I didn't find a better approach to do those things, and I used them carefully. So
+ please DO NOT remove any of these wxYield()s unless you're sure that it won't cause problems
+ on all of MS Windows XP/Vista, Linux(Ubuntu/Fedora), Mac OS Tiger/Leopard. And please
+ help me to find a better approach, thank you :)
+*/