root/juggler/branches/1.0/Kernel/vjAPI.h

Revision 8789, 2.5 kB (checked in by patrickh, 7 years ago)

Copyright update.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /*************** <auto-copyright.pl BEGIN do not edit this line> **************
2  *
3  * VR Juggler is (C) Copyright 1998, 1999, 2000, 2001, 2002
4  *   by Iowa State University
5  *
6  * Original Authors:
7  *   Allen Bierbaum, Christopher Just,
8  *   Patrick Hartling, Kevin Meinert,
9  *   Carolina Cruz-Neira, Albert Baker
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Library General Public
13  * License as published by the Free Software Foundation; either
14  * version 2 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19  * Library General Public License for more details.
20  *
21  * You should have received a copy of the GNU Library General Public
22  * License along with this library; if not, write to the
23  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24  * Boston, MA 02111-1307, USA.
25  *
26  * -----------------------------------------------------------------
27  * File:          $RCSfile$
28  * Date modified: $Date$
29  * Version:       $Revision$
30  * -----------------------------------------------------------------
31  *
32  *************** <auto-copyright.pl END do not edit this line> ***************/
33
34
35 #ifndef _VJ_API_
36 #define _VJ_API_
37 //#pragma once
38
39 #include <vjConfig.h>
40
41 //---------------------------------------------------------
42 // vjAPI: Encapulates interfaces to graphics APIs.
43 //
44 // PURPOSE:
45 //       This class is used for the application to tell the
46 //  Kernel what API it is using.
47 //
48 // @author Allen Bierbaum
49 //  Date: 9-7-97
50 //--------------------------------------------------------
51 class vjAPI
52 {
53 public:
54    enum
55    {UNKNOWN = 0, PERFORMER = 1, OPENGL = 2};
56
57    //: Constructor
58    //!ARGS: api - enum of the API to set too
59    vjAPI(int api = UNKNOWN)
60    { mApi = api;}
61
62    // ---  API QUERY  --- //
63 public:
64    //: Sets API to Performer
65    void setPerformer()
66    { mApi = PERFORMER;}
67
68    //: Sets API to OpenGL
69    void setOpenGL()
70    { mApi = OPENGL;}
71
72 public:
73    //: Test if API is Performer
74    //! RETURNS: True - API is Performer
75    //! RETURNS: False - API is not Performer
76    int Performer()
77    { return (mApi == PERFORMER);}
78
79    //: Test if API is OpenGL
80    //! RETURNS: True - API is OpenGL
81    //! RETURNS: False - API is not OpenGL
82    int OpenGL()
83    { return (mApi == OPENGL);}
84
85 private:
86    int mApi;    //: The API we are using.
87
88 };
89
90
91 #endif
Note: See TracBrowser for help on using the browser.