15 #ifndef GRAPHICSPIPESELECTION_H 16 #define GRAPHICSPIPESELECTION_H 18 #include "pandabase.h" 20 #include "graphicsPipe.h" 21 #include "pointerTo.h" 22 #include "typeHandle.h" 23 #include "lightMutex.h" 24 #include "vector_string.h" 26 class HardwareChannel;
42 int get_num_pipe_types()
const;
44 MAKE_SEQ(get_pipe_types, get_num_pipe_types, get_pipe_type);
45 void print_pipe_types()
const;
48 const string &module_name =
string());
50 PT(
GraphicsPipe) make_module_pipe(
const string &module_name);
53 INLINE
int get_num_aux_modules()
const;
54 void load_aux_modules();
60 bool add_pipe_type(
TypeHandle type, PipeConstructorFunc *func);
63 INLINE
void load_default_module()
const;
64 void do_load_default_module();
65 TypeHandle load_named_module(
const string &name);
74 LoadedModules _loaded_modules;
79 INLINE PipeType(
TypeHandle type, PipeConstructorFunc *constructor);
81 PipeConstructorFunc *_constructor;
84 PipeTypes _pipe_types;
87 typedef vector_string DisplayModules;
88 DisplayModules _display_modules;
89 string _default_display_module;
90 string _default_pipe_name;
91 bool _default_module_loaded;
96 #include "graphicsPipeSelection.I"
A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive d...
This maintains a list of GraphicsPipes by type that are available for creation.
An object to create GraphicsOutputs that share a particular 3-D API.
TypeHandle is the identifier used to differentiate C++ class types.
This is a standard, non-reentrant mutex, similar to the Mutex class.