diff options
Diffstat (limited to 'nx-X11/lib/Xaw/Repeater.c')
-rw-r--r-- | nx-X11/lib/Xaw/Repeater.c | 300 |
1 files changed, 0 insertions, 300 deletions
diff --git a/nx-X11/lib/Xaw/Repeater.c b/nx-X11/lib/Xaw/Repeater.c deleted file mode 100644 index 52ae2959e..000000000 --- a/nx-X11/lib/Xaw/Repeater.c +++ /dev/null @@ -1,300 +0,0 @@ -/* - * $Xorg: Repeater.c,v 1.4 2001/02/09 02:03:45 xorgcvs Exp $ - * -Copyright 1990, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - * - * Author: Jim Fulton, MIT X Consortium - * - * This widget is used for press-and-hold style buttons. - */ -/* $XFree86: xc/lib/Xaw/Repeater.c,v 1.6 2001/01/17 19:42:29 dawes Exp $ */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <X11/Xaw/RepeaterP.h> -#include <X11/Xaw/XawInit.h> - -#define DO_CALLBACK(rw) \ -XtCallCallbackList((Widget)rw, rw->command.callbacks, NULL) - -#define ADD_TIMEOUT(rw, delay) \ -XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)rw), \ - delay, tic, (XtPointer)rw) - -#define CLEAR_TIMEOUT(rw) \ -if ((rw)->repeater.timer) { \ - XtRemoveTimeOut((rw)->repeater.timer); \ - (rw)->repeater.timer = 0; \ -} - -/* - * Class Methods - */ -static void XawRepeaterInitialize(Widget, Widget, ArgList, Cardinal*); -static void XawRepeaterDestroy(Widget); -static Boolean XawRepeaterSetValues(Widget, Widget, Widget, - ArgList, Cardinal*); - -/* - * Prototypes - */ -static void tic(XtPointer, XtIntervalId*); - -/* - * Actions - */ -static void ActionStart(Widget, XEvent*, String*, Cardinal*); -static void ActionStop(Widget, XEvent*, String*, Cardinal*); - -/* - * Initialization - */ -static char defaultTranslations[] = -"<Enter>:" "highlight()\n" -"<Leave>:" "unhighlight()\n" -"<Btn1Down>:" "set() start()\n" -"<Btn1Up>:" "stop() unset()\n" -; - -static XtActionsRec actions[] = { - {"start", ActionStart}, - {"stop", ActionStop}, -}; - -#define offset(field) XtOffsetOf(RepeaterRec, repeater.field) -static XtResource resources[] = { - { - XtNdecay, - XtCDecay, - XtRInt, - sizeof(int), - offset(decay), - XtRImmediate, - (XtPointer)REP_DEF_DECAY - }, - { - XtNinitialDelay, - XtCDelay, - XtRInt, - sizeof(int), - offset(initial_delay), - XtRImmediate, - (XtPointer)REP_DEF_INITIAL_DELAY - }, - { - XtNminimumDelay, - XtCMinimumDelay, - XtRInt, - sizeof(int), - offset(minimum_delay), - XtRImmediate, - (XtPointer)REP_DEF_MINIMUM_DELAY - }, - { - XtNrepeatDelay, - XtCDelay, - XtRInt, - sizeof(int), - offset(repeat_delay), - XtRImmediate, - (XtPointer)REP_DEF_REPEAT_DELAY - }, - { - XtNflash, - XtCBoolean, - XtRBoolean, - sizeof(Boolean), - offset(flash), - XtRImmediate, - (XtPointer)False - }, - { - XtNstartCallback, - XtCStartCallback, - XtRCallback, - sizeof(XtPointer), - offset(start_callbacks), - XtRImmediate, - NULL - }, - { - XtNstopCallback, - XtCStopCallback, - XtRCallback, - sizeof(XtPointer), - offset(stop_callbacks), - XtRImmediate, - NULL - }, -}; -#undef offset - -#define Superclass (&commandClassRec) -RepeaterClassRec repeaterClassRec = { - /* core */ - { - (WidgetClass)Superclass, /* superclass */ - "Repeater", /* class_name */ - sizeof(RepeaterRec), /* widget_size */ - XawInitializeWidgetSet, /* class_initialize */ - NULL, /* class_part_initialize */ - False, /* class_inited */ - XawRepeaterInitialize, /* initialize */ - NULL, /* initialize_hook */ - XtInheritRealize, /* realize */ - actions, /* actions */ - XtNumber(actions), /* num_actions */ - resources, /* resources */ - XtNumber(resources), /* num_resources */ - NULLQUARK, /* xrm_class */ - True, /* compress_motion */ - True, /* compress_exposure */ - True, /* compress_enterleave */ - False, /* visible_interest */ - XawRepeaterDestroy, /* destroy */ - XtInheritResize, /* resize */ - XtInheritExpose, /* expose */ - XawRepeaterSetValues, /* set_values */ - NULL, /* set_values_hook */ - XtInheritSetValuesAlmost, /* set_values_almost */ - NULL, /* get_values_hook */ - NULL, /* accept_focus */ - XtVersion, /* version */ - NULL, /* callback_private */ - defaultTranslations, /* tm_table */ - XtInheritQueryGeometry, /* query_geometry */ - XtInheritDisplayAccelerator, /* display_accelerator */ - NULL, /* extension */ - }, - /* simple */ - { - XtInheritChangeSensitive, /* change_sensitive */ - }, - /* label */ - { - NULL, /* extension */ - }, - /* command */ - { - NULL, /* extension */ - }, - /* repeater */ - { - NULL, /* extension */ - }, -}; - -WidgetClass repeaterWidgetClass = (WidgetClass) &repeaterClassRec; - - -/* - * Implementation - */ -/*ARGSUSED*/ -static void -tic(XtPointer client_data, XtIntervalId *id) -{ - RepeaterWidget rw = (RepeaterWidget)client_data; - - rw->repeater.timer = 0; /* timer is removed */ - if (rw->repeater.flash) { - Widget w = (Widget)rw; - - XClearWindow(XtDisplay(w), XtWindow(w)); - XtCallActionProc(w, "reset", NULL, NULL, 0); - XClearWindow(XtDisplay(w), XtWindow(w)); - XtCallActionProc(w, "set", NULL, NULL, 0); - } - DO_CALLBACK(rw); - - rw->repeater.timer = ADD_TIMEOUT(rw, rw->repeater.next_delay); - - if (rw->repeater.decay) { - rw->repeater.next_delay -= rw->repeater.decay; - if (rw->repeater.next_delay < rw->repeater.minimum_delay) - rw->repeater.next_delay = rw->repeater.minimum_delay; - } -} - -/*ARGSUSED*/ -static void -XawRepeaterInitialize(Widget greq, Widget gnew, - ArgList args, Cardinal *num_args) -{ - RepeaterWidget cnew = (RepeaterWidget)gnew; - - if (cnew->repeater.minimum_delay < 0) - cnew->repeater.minimum_delay = 0; - cnew->repeater.timer = 0; -} - -static void -XawRepeaterDestroy(Widget gw) -{ - CLEAR_TIMEOUT((RepeaterWidget)gw); -} - -/*ARGSUSED*/ -static Boolean -XawRepeaterSetValues(Widget gcur, Widget greq, Widget gnew, - ArgList args, Cardinal *num_args) -{ - RepeaterWidget cur = (RepeaterWidget)gcur; - RepeaterWidget cnew = (RepeaterWidget)gnew; - - if (cur->repeater.minimum_delay != cnew->repeater.minimum_delay) { - if (cnew->repeater.next_delay < cnew->repeater.minimum_delay) - cnew->repeater.next_delay = cnew->repeater.minimum_delay; - } - - return (False); -} - -/*ARGSUSED*/ -static void -ActionStart(Widget gw, XEvent *event, String *params, Cardinal *num_params) -{ - RepeaterWidget rw = (RepeaterWidget)gw; - - CLEAR_TIMEOUT(rw); - if (rw->repeater.start_callbacks) - XtCallCallbackList(gw, rw->repeater.start_callbacks, NULL); - - DO_CALLBACK(rw); - rw->repeater.timer = ADD_TIMEOUT(rw, rw->repeater.initial_delay); - rw->repeater.next_delay = rw->repeater.repeat_delay; -} - -/*ARGSUSED*/ -static void -ActionStop(Widget gw, XEvent *event, String *params, Cardinal *num_params) -{ - RepeaterWidget rw = (RepeaterWidget)gw; - - CLEAR_TIMEOUT((RepeaterWidget)gw); - if (rw->repeater.stop_callbacks) - XtCallCallbackList(gw, rw->repeater.stop_callbacks, NULL); -} |