Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

10 Minutes to document your code

, 19 Jan 2003 CPOL
Setting up doxygen, a free tool to document your code, in a few simple steps.
// ========================================================================
//  SNAPINFO
// ------------------------------------------------------------------------
/// holds the data for calculating a modified window rect. Since it
/// only works on coordinate rects, it can be used without any actual Windows.
/// To use it:
///     - call Init, specifying the initial position
///     - call SnapHLine / SnapVLine for each (virtual) line to snap to
///     - call EndSnap to retrieve the final position
struct SNAPINFO
{
	enum { MAXDELTA = (1<<30) };

	DWORD	snapWidth;                          ///< distance over which snapping works

	RECT	rold;       ///< original rect
	RECT	rnew;       ///< post-move rect (if specified)
	RECT	rdelta;     

	RECT	rout;       ///< accumulates the final rect

    /// Initialize, specifying a pre-move and post-move rect
	void	Init(RECT const & oldRect, RECT const & newRect, DWORD snapwidth); 
    /// Initialize, specifying only one rectangle
	void	Init(RECT const & r, DWORD snapWidth, bool moveOnly = false);
	void	SnapHLine(long y);		///< snap to a horizontal line
	void	SnapVLine(long x);		///< snap to a vertical line

	RECT &	EndSnap();  ///< ends snapping sequence and returns final coords
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

peterchen
Klippel
Germany Germany
Peter is tired of being called "Mr. Chen", even so certain individuals insist on it. No, he's not chinese.
 
Peter has seen lots of boxes you youngsters wouldn't even accept as calculators. He is proud of having visited the insides of a 16 Bit Machine.
 
In his spare time he ponders new ways of turning groceries into biohazards, or tries to coax South American officials to add some stamps to his passport.
 
Beyond these trivialities Peter works for Klippel[^], a small german company that wants to make mankind happier by selling them novel loudspeaker measurement equipment.
 

Where are you from?[^]



Please, if you are using one of my articles for anything, just leave me a comment. Seeing that this stuff is actually useful to someone is what keeps me posting and updating them.
Should you happen to not like it, tell me, too

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.141223.1 | Last Updated 20 Jan 2003
Article Copyright 2003 by peterchen
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid