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
+17 -9
View File
@@ -42,18 +42,24 @@ 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
\param[in] X, Y, W, H position and size
\param[in] L widget label
\param[in] hdl handler function
The constructor takes both the type and the handle function. The handle
function should be declared as follows:
\code \code
int int handle_function(Fl_Widget *w,
handle_function(Fl_Widget *w,
int event, int event,
float event_x, float event_x,
float event_y, float event_y,
char key) char key)
\endcode \endcode
This function is called from the the handle() method in This function is called from the the handle() method in response to most
response to most events, and is called by the draw() method. events, and is called by the draw() method.
The event argument contains the event type: The event argument contains the event type:
\code \code
// old event names for compatibility: // old event names for compatibility:
@@ -65,9 +71,9 @@ void Fl_Free::step(void *v) {
#define FL_THAW FL_MAP #define FL_THAW FL_MAP
\endcode \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);