/*
 * Mesa 3-D graphics library
 * Version:  3.0
 * Copyright (C) 1995-1998  Brian Paul
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


#include "GL/glut.h"
#include "GL/amesa.h"
#include "internal.h"

GLenum       g_display_mode = 0;
GLuint       g_width        = DEFAULT_WIDTH;
GLuint       g_height       = DEFAULT_HEIGHT;
GLint        g_mouse        = GL_FALSE;
GLboolean    g_redisplay    = GL_FALSE;

void (GLUTCALLBACK *display_func)(void)                              = NULL;
void (GLUTCALLBACK *reshape_func)(int width, int height)             = NULL;
void (GLUTCALLBACK *keyboard_func)(unsigned char key, int x, int y)  = NULL;
void (GLUTCALLBACK *mouse_func)(int button, int state, int x, int y) = NULL;
void (GLUTCALLBACK *motion_func)(int x, int y)                       = NULL;
void (GLUTCALLBACK *passive_motion_func)(int x, int y)               = NULL;
void (GLUTCALLBACK *entry_func)(int state)                           = NULL;
void (GLUTCALLBACK *visibility_func)(int state)                      = NULL;
void (GLUTCALLBACK *idle_func)(void)                                 = NULL;
void (GLUTCALLBACK *menu_state_func)(int state)                      = NULL;
void (GLUTCALLBACK *special_func)(int key, int x, int y)             = NULL;
void (GLUTCALLBACK *spaceball_motion_func)(int x, int y, int z)      = NULL;
void (GLUTCALLBACK *spaceball_rotate_func)(int x, int y, int z)      = NULL;
void (GLUTCALLBACK *spaceball_button_func)(int button, int state)    = NULL;
void (GLUTCALLBACK *button_box_func)(int button, int state)          = NULL;
void (GLUTCALLBACK *dials_func)(int dial, int value)                 = NULL;
void (GLUTCALLBACK *tablet_motion_func)(int x, int y)                = NULL;
void (GLUTCALLBACK *tabled_button_func)(int button, int state, int x, int y) = NULL;
void (GLUTCALLBACK *menu_status_func)(int status, int x, int y)      = NULL;
void (GLUTCALLBACK *overlay_display_func)(void)                      = NULL;
void (GLUTCALLBACK *window_status_func)(int state)                   = NULL;

