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 PN_stdfloat get_display_zoom()
const;
95 MAKE_PROPERTY(display_width, get_display_width);
96 MAKE_PROPERTY(display_height, get_display_height);
97 MAKE_PROPERTY(display_zoom, get_display_zoom);
100 MAKE_PROPERTY(display_information, get_display_information);
102 virtual void lookup_cpu_data();
104 virtual std::string get_interface_name()
const=0;
105 MAKE_PROPERTY(interface_name, get_interface_name);
108 enum PreferredWindowThread {
112 virtual PreferredWindowThread get_preferred_window_thread()
const;
120 void set_detected_display_zoom(PN_stdfloat zoom);
137 int _supported_types;
144 static const int strip_properties[];
151 static void init_type() {
152 TypedReferenceCount::init_type();
154 TypedReferenceCount::get_class_type());
157 return get_class_type();
159 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
An offscreen buffer for rendering into.
An abstract device object that is part of Graphics Pipe.
This class is the main interface to controlling the render process.
This is a base class for the various different classes that represent the result of a frame of render...
An object to create GraphicsOutputs that share a particular 3-D API.
Encapsulates all the communication with a particular instance of a given rendering backend.
A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive d...
This is a standard, non-reentrant mutex, similar to the Mutex class.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
TypeHandle is the identifier used to differentiate C++ class types.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
This object represents a window on the desktop, not necessarily a Panda window.
A container for the various kinds of properties we might ask to have on a graphics window before we o...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.