mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-25 12:42:41 -06:00
87 lines
2.3 KiB
C++
87 lines
2.3 KiB
C++
// Filename: pandagl.cxx
|
|
// Created by: drose (15May00)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
#include "pandagl.h"
|
|
|
|
#include "config_glgsg.h"
|
|
|
|
#ifdef HAVE_WGL
|
|
#include "config_wgldisplay.h"
|
|
#include "wglGraphicsPipe.h"
|
|
#endif
|
|
|
|
#if defined(HAVE_COCOA)
|
|
#include "config_cocoadisplay.h"
|
|
#include "cocoaGraphicsPipe.h"
|
|
#elif defined(HAVE_CARBON)
|
|
#include "config_osxdisplay.h"
|
|
#include "osxGraphicsPipe.h"
|
|
#endif
|
|
|
|
#ifdef HAVE_GLX
|
|
#include "config_glxdisplay.h"
|
|
#include "glxGraphicsPipe.h"
|
|
#endif
|
|
|
|
#if !defined(HAVE_WGL) && !defined(HAVE_COCOA) && !defined(HAVE_CARBON) && !defined(HAVE_GLX)
|
|
#error One of HAVE_WGL, HAVE_COCOA, HAVE_CARBON or HAVE_GLX must be defined when compiling pandagl!
|
|
#endif
|
|
|
|
// By including checkPandaVersion.h, we guarantee that runtime
|
|
// attempts to load libpandagl.so/.dll will fail if they inadvertently
|
|
// link with the wrong version of libdtool.so/.dll.
|
|
|
|
#include "checkPandaVersion.h"
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: init_libpandagl
|
|
// Description: Initializes the library. This must be called at
|
|
// least once before any of the functions or classes in
|
|
// this library can be used. Normally it will be
|
|
// called by the static initializers and need not be
|
|
// called explicitly, but special cases exist.
|
|
////////////////////////////////////////////////////////////////////
|
|
void
|
|
init_libpandagl() {
|
|
init_libglgsg();
|
|
|
|
#ifdef HAVE_WGL
|
|
init_libwgldisplay();
|
|
#endif // HAVE_GL
|
|
|
|
#if defined(HAVE_COCOA)
|
|
init_libcocoadisplay();
|
|
#elif defined(HAVE_CARBON)
|
|
init_libosxdisplay();
|
|
#endif
|
|
|
|
#ifdef IS_LINUX
|
|
init_libglxdisplay();
|
|
#endif
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: get_pipe_type_pandagl
|
|
// Description: Returns the TypeHandle index of the recommended
|
|
// graphics pipe type defined by this module.
|
|
////////////////////////////////////////////////////////////////////
|
|
int
|
|
get_pipe_type_pandagl() {
|
|
#ifdef HAVE_WGL
|
|
return wglGraphicsPipe::get_class_type().get_index();
|
|
#endif
|
|
|
|
#if defined(HAVE_COCOA)
|
|
return CocoaGraphicsPipe::get_class_type().get_index();
|
|
#elif defined(HAVE_CARBON)
|
|
return osxGraphicsPipe::get_class_type().get_index();
|
|
#endif
|
|
|
|
#ifdef HAVE_GLX
|
|
return glxGraphicsPipe::get_class_type().get_index();
|
|
#endif
|
|
|
|
return 0;
|
|
}
|