14 #ifndef GRAPHICSPIPE_H 15 #define GRAPHICSPIPE_H 63 OT_fullscreen_window = 0x0002,
65 OT_texture_buffer = 0x0008,
68 enum BufferCreationFlags {
70 BF_refuse_parasite = 0x0001,
71 BF_require_parasite = 0x0002,
72 BF_refuse_window = 0x0004,
73 BF_require_window = 0x0008,
74 BF_require_callback_window = 0x0010,
77 BF_can_bind_color = 0x0040,
78 BF_can_bind_every = 0x0080,
79 BF_resizeable = 0x0100,
80 BF_size_track_host = 0x0200,
81 BF_rtt_cumulative = 0x0400,
82 BF_fb_props_optional = 0x0800,
83 BF_size_square = 0x1000,
84 BF_size_power_2 = 0x2000,
85 BF_can_bind_layered = 0x4000,
88 INLINE
bool is_valid()
const;
89 INLINE
int get_supported_types()
const;
90 INLINE
bool supports_type(
int flags)
const;
92 INLINE
int get_display_width()
const;
93 INLINE
int get_display_height()
const;
94 MAKE_PROPERTY(display_width, get_display_width);
95 MAKE_PROPERTY(display_height, get_display_height);
98 MAKE_PROPERTY(display_information, get_display_information);
100 virtual void lookup_cpu_data();
102 virtual std::string get_interface_name()
const=0;
103 MAKE_PROPERTY(interface_name, get_interface_name);
106 enum PreferredWindowThread {
110 virtual PreferredWindowThread get_preferred_window_thread()
const;
133 int _supported_types;
140 static const int strip_properties[];
147 static void init_type() {
148 TypedReferenceCount::init_type();
150 TypedReferenceCount::get_class_type());
153 return get_class_type();
155 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This object represents a window on the desktop, not necessarily a Panda window.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive d...
A container for the various kinds of properties we might ask to have on a graphics window before we o...
An offscreen buffer for rendering into.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
An object to create GraphicsOutputs that share a particular 3-D API.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a base class for the various different classes that represent the result of a frame of render...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
An abstract device object that is part of Graphics Pipe.
Encapsulates all the communication with a particular instance of a given rendering backend.
This class is the main interface to controlling the render process.
TypeHandle is the identifier used to differentiate C++ class types.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
This is a standard, non-reentrant mutex, similar to the Mutex class.