home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright 1993, 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
-
-
- #include <aux.h>
- #include <auxPrivate.h>
-
- /**************************************************************************
- * auxKeyFunc() - set key callback functions
- **************************************************************************/
-
- GLvoid
- auxKeyFunc( GLint key, GLvoid (*_keyFunc)( GLvoid ) )
- {
- KeyFunc *tmp;
- KeyFunc *new;
-
- new = (KeyFunc *) malloc( sizeof( KeyFunc ) );
-
- new->key = key;
- new->keyFunc = _keyFunc;
- new->left = (KeyFunc *) NULL;
- new->right = (KeyFunc *) NULL;
-
- if ( !keyHead )
- keyHead = new;
- else {
- tmp = keyHead;
- while ( tmp )
- if ( key < tmp->key )
- if ( !tmp->right ) {
- tmp->right = new;
- break;
- } else
- tmp = tmp->right;
- else
- if ( !tmp->left ) {
- tmp->left = new;
- break;
- } else
- tmp = tmp->left;
- }
- }
-
-
- /**************************************************************************
- * auxDeleteKeyFunc() - set key callback functions
- **************************************************************************/
-
- GLvoid
- auxDeleteKeyFunc( GLint key, GLvoid (*_keyFunc)( GLvoid ) )
- {
- KeyFunc *tmp;
-
- if ( !keyHead )
- return;
-
- /* COMPLETE BINARY TREE NODE REMOVAL OPERATION */
- }
-