/*
	Asteroids
    Copyright (C) 2006  Darragh Coy.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program 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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/*##############################################################################

Header name: GLWin.hpp

##############################################################################*/

#ifndef GLWIN_HPP
#define GLWIN_HPP

   /****************************************************************************
   Defines
   ****************************************************************************/

   // Trim unnecssary stuff from windows library

   #define WIN32_LEAN_AND_MEAN

   // Window settings

   #define WINDOW_TITLE "Asteroids Version 1.02 : By Darragh Coy - press F1 for instructions"
   #define WINDOW_X  800
   #define WINDOW_Y  600
   #define CENTER_X  WINDOW_X / 2
   #define CENTER_Y  WINDOW_Y / 2

   /****************************************************************************
   Includes
   ****************************************************************************/

   #include <windows.h>         // windows functions
   #include <gl/gl.h>           // opengl functions
   #include <stdlib.h>          // useful memset command
   #include "Timer.h"           // Timer functions
   #include "Game.h"            // Needed to call gameloop function
   #include "GLDrawString.h"    // String drawing functions
   #include "Saves.h"           // Load/save score and game data

   /****************************************************************************
   Externs
   ****************************************************************************/

      // Allow rest of program access to the keys

      extern bool GLWin_Keydown[256];

      // Last key pressed

      extern char GLWin_LastKey;

   /****************************************************************************
   Structs and enums
   ****************************************************************************/

      //..

   /****************************************************************************
   Prototypes
   ****************************************************************************/

   void GLWin_Message (char * message, char * title );   // Show a message box
   bool GLWin_Prompt  (char * message, char * title );   // Ask a yes/no question with a message box
   void GLWin_Init();                                    // Window initialisation
   void GLWin_PauseProgram();                            // Pause the program
   void GLWin_ResumeProgram();                           // Resume the program

#endif
