home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / CMCD0704.ISO / Software / Freeware / Utilitare / VisualBoyAdvance-1.7.2 / src / win32 / Display.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-05-13  |  1.5 KB  |  45 lines

  1. // -*- C++ -*-
  2. // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
  3. // Copyright (C) 1999-2003 Forgotten
  4. // Copyright (C) 2004 Forgotten and the VBA development team
  5.  
  6. // This program is free software; you can redistribute it and/or modify
  7. // it under the terms of the GNU General Public License as published by
  8. // the Free Software Foundation; either version 2, or(at your option)
  9. // any later version.
  10. //
  11. // This program is distributed in the hope that it will be useful,
  12. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. // GNU General Public License for more details.
  15. //
  16. // You should have received a copy of the GNU General Public License
  17. // along with this program; if not, write to the Free Software Foundation,
  18. // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  19.  
  20. enum DISPLAY_TYPE {
  21.   GDI = 0,
  22.   DIRECT_DRAW = 1,
  23.   DIRECT_3D = 2,
  24.   OPENGL = 3
  25. };
  26.  
  27. class IDisplay {
  28.  public:
  29.   IDisplay() {};
  30.   virtual ~IDisplay() {};
  31.  
  32.   virtual bool initialize() = 0;
  33.   virtual void cleanup() = 0;
  34.   virtual void render() = 0;
  35.   virtual void checkFullScreen() { };
  36.   virtual void renderMenu() { };
  37.   virtual void clear()=0;
  38.   virtual bool changeRenderSize(int w, int h) { return true; };
  39.   virtual void resize(int w, int h) {};
  40.   virtual void setOption(const char *option, int value) = 0;
  41.   virtual DISPLAY_TYPE getType() = 0;
  42.   virtual bool isSkinSupported() { return false; }
  43.   virtual int selectFullScreenMode(GUID **) = 0;
  44. };
  45.