added doxygen comments for undocumented features of Fl_Free

- converted some HTML tags tags to doxygen \commands



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
engelsman
2008-10-01 22:51:30 +00:00
parent 2b7fa0f60e
commit a95a1f01a9
2 changed files with 64 additions and 55 deletions
+31 -30
View File
@@ -35,32 +35,33 @@
#include "Fl_Widget.H" #include "Fl_Widget.H"
#endif #endif
#define FL_NORMAL_FREE 1 #define FL_NORMAL_FREE 1 /**< normal event handling */
#define FL_SLEEPING_FREE 2 #define FL_SLEEPING_FREE 2 /**< deactivate event handling */
#define FL_INPUT_FREE 3 #define FL_INPUT_FREE 3 /**< accepts FL_FOCUS events */
#define FL_CONTINUOUS_FREE 4 #define FL_CONTINUOUS_FREE 4 /**< repeated timeout handling */
#define FL_ALL_FREE 5 #define FL_ALL_FREE 5 /**< FL_INPUT_FREE and FL_CONTINOUS_FREE */
/** appropriate signature for handle function */
typedef int (*FL_HANDLEPTR)(Fl_Widget *, int , float, float, char); typedef int (*FL_HANDLEPTR)(Fl_Widget *, int , float, float, char);
/** /**
Emulation of the Forms "free" widget. This emulation allows the free Emulation of the Forms "free" widget.
demo to run, and appears to be useful for porting programs written in
Forms which use the free widget or make subclasses of the Forms This emulation allows the free demo to run, and appears to be useful for
widgets. porting programs written in Forms which use the free widget or make
<P>There are five types of free, which determine when the handle subclasses of the Forms widgets.
function is called: </P>
\code There are five types of free, which determine when the handle function
#define FL_NORMAL_FREE 1 is called:
#define FL_SLEEPING_FREE 2
#define FL_INPUT_FREE 3 \li \c FL_NORMAL_FREE normal event handling.
#define FL_CONTINUOUS_FREE 4 \li \c FL_SLEEPING_FREE deactivates event handling (widget is inactive).
#define FL_ALL_FREE 5 \li \c FL_INPUT_FREE accepts FL_FOCUS events.
\endcode \li \c FL_CONTINUOUS_FREE sets a timeout callback 100 times a second and
<P>An FL_INPUT_FREE accepts FL_FOCUS events. A FL_CONTINUOUS_FREE sets provides an FL_STEP event. This has obvious
a timeout callback 100 times a second and provides a FL_STEP event, detrimental effects on machine performance.
this has obvious detrimental effects on machine performance. \li \c FL_ALL_FREE same as FL_INPUT_FREE and FL_CONTINUOUS_FREE.
FL_ALL_FREE does both. FL_SLEEPING_FREE are deactivated.
*/ */
class FL_EXPORT Fl_Free : public Fl_Widget { class FL_EXPORT Fl_Free : public Fl_Widget {
FL_HANDLEPTR hfunc; FL_HANDLEPTR hfunc;
@@ -68,18 +69,18 @@ class FL_EXPORT Fl_Free : public Fl_Widget {
protected: protected:
void draw(); void draw();
public: public:
int handle(int); int handle(int e);
Fl_Free(uchar t,int x,int y,int w,int h,const char *l,FL_HANDLEPTR hdl); Fl_Free(uchar t,int X,int Y,int W,int H,const char *L,FL_HANDLEPTR hdl);
~Fl_Free(); ~Fl_Free();
}; };
// old event names for compatibility: // old event names for compatibility:
#define FL_MOUSE FL_DRAG #define FL_MOUSE FL_DRAG /**< for backward compatibility */
#define FL_DRAW 100 // NOT USED #define FL_DRAW 100 /**< for backward compatibility [UNUSED]*/
#define FL_STEP 101 #define FL_STEP 101 /**< for backward compatibility */
#define FL_FREEMEM 102 // NOT USED #define FL_FREEMEM 102 /**< for backward compatibility [UNUSED]*/
#define FL_FREEZE 103 // NOT USED #define FL_FREEZE 103 /**< for backward compatibility [UNUSED]*/
#define FL_THAW 104 // NOT USED #define FL_THAW 104 /**< for backward compatibility [UNUSED]*/
#endif #endif
+33 -25
View File
@@ -42,32 +42,38 @@ void Fl_Free::step(void *v) {
} }
/** /**
The constructor takes both the type and the handle Create a new Fl_Free widget with type, position, size, label and handler.
function. The handle function should be declared as follows: \param[in] t type
\code \param[in] X, Y, W, H position and size
int \param[in] L widget label
handle_function(Fl_Widget *w, \param[in] hdl handler function
int event,
float event_x, The constructor takes both the type and the handle function. The handle
float event_y, function should be declared as follows:
char key) \code
\endcode int handle_function(Fl_Widget *w,
This function is called from the the handle() method in int event,
response to most events, and is called by the draw() method. float event_x,
The event argument contains the event type: float event_y,
\code char key)
// old event names for compatibility: \endcode
#define FL_MOUSE FL_DRAG This function is called from the the handle() method in response to most
#define FL_DRAW 0 events, and is called by the draw() method.
#define FL_STEP 9
#define FL_FREEMEM 12 The event argument contains the event type:
#define FL_FREEZE FL_UNMAP \code
#define FL_THAW FL_MAP // old event names for compatibility:
\endcode #define FL_MOUSE FL_DRAG
#define FL_DRAW 0
#define FL_STEP 9
#define FL_FREEMEM 12
#define FL_FREEZE FL_UNMAP
#define FL_THAW FL_MAP
\endcode
*/ */
Fl_Free::Fl_Free(uchar t,int X, int Y, int W, int H,const char *l, Fl_Free::Fl_Free(uchar t,int X, int Y, int W, int H,const char *L,
FL_HANDLEPTR hdl) : FL_HANDLEPTR hdl) :
Fl_Widget(X,Y,W,H,l) { Fl_Widget(X,Y,W,H,L) {
type(t); type(t);
hfunc = hdl; hfunc = hdl;
if (t == FL_SLEEPING_FREE) set_flag(INACTIVE); if (t == FL_SLEEPING_FREE) set_flag(INACTIVE);
@@ -75,7 +81,9 @@ Fl_Widget(X,Y,W,H,l) {
Fl::add_timeout(.01,step,this); Fl::add_timeout(.01,step,this);
} }
/** The destructor will call the handle function with the event FL_FREE_MEM. */ /**
The destructor will call the handle function with the event FL_FREE_MEM.
*/
Fl_Free::~Fl_Free() { Fl_Free::~Fl_Free() {
Fl::remove_timeout(step,this); Fl::remove_timeout(step,this);
hfunc(this,FL_FREEMEM,0,0,0); hfunc(this,FL_FREEMEM,0,0,0);