14 #ifndef PANDAFRAMEWORK_H 15 #define PANDAFRAMEWORK_H 43 void open_framework();
44 void open_framework(
int &argc,
char **&argv);
45 void close_framework();
49 INLINE
const NodePath &get_data_root()
const;
55 void define_key(
const std::string &event_name,
56 const std::string &description,
57 EventHandler::EventCallbackFunction *
function,
60 INLINE
void set_window_title(
const std::string &title);
70 INLINE
int get_num_windows()
const;
74 void close_window(
int n);
76 void close_all_windows();
77 bool all_windows_closed()
const;
81 void report_frame_rate(std::ostream &out)
const;
82 void reset_frame_rate();
84 void set_wireframe(
bool enable);
85 void set_texture(
bool enable);
86 void set_two_sided(
bool enable);
87 void set_lighting(
bool enable);
88 void set_perpixel(
bool enable);
89 void set_background_type(WindowFramework::BackgroundType type);
91 INLINE
bool get_wireframe()
const;
92 INLINE
bool get_texture()
const;
93 INLINE
bool get_two_sided()
const;
94 INLINE
bool get_lighting()
const;
95 INLINE
bool get_perpixel()
const;
96 INLINE WindowFramework::BackgroundType get_background_type()
const;
98 static int hide_collision_solids(
NodePath node);
99 static int show_collision_solids(
NodePath node);
101 void set_highlight(
const NodePath &node);
102 void clear_highlight();
103 INLINE
bool has_highlight()
const;
104 INLINE
const NodePath &get_highlight()
const;
109 void enable_default_keys();
111 virtual bool do_frame(
Thread *current_thread);
114 INLINE
void set_exit_flag();
115 INLINE
void clear_exit_flag();
122 virtual void make_default_pipe();
123 virtual void do_enable_default_keys();
127 static void event_esc(
const Event *,
void *data);
128 static void event_f(
const Event *,
void *data);
129 static void event_w(
const Event *,
void *data);
130 static void event_t(
const Event *,
void *data);
131 static void event_b(
const Event *,
void *data);
132 static void event_i(
const Event *,
void *data);
133 static void event_l(
const Event *,
void *data);
134 static void event_p(
const Event *,
void *data);
135 static void event_c(
const Event *,
void *data);
136 static void event_a(
const Event *,
void *data);
137 static void event_C(
const Event *,
void *data);
138 static void event_B(
const Event *,
void *data);
139 static void event_L(
const Event *,
void *data);
140 static void event_A(
const Event *,
void *data);
141 static void event_h(
const Event *,
void *data);
142 static void event_arrow_up(
const Event *,
void *data);
143 static void event_arrow_down(
const Event *,
void *data);
144 static void event_arrow_left(
const Event *,
void *data);
145 static void event_arrow_right(
const Event *,
void *data);
146 static void event_S(
const Event *,
void *data);
147 static void event_f9(
const Event *,
void *data);
148 static void event_comma(
const Event *,
void *data);
149 static void event_question(
const Event * event,
void *data);
150 static void event_window_event(
const Event *,
void *data);
153 static AsyncTask::DoneStatus task_data_loop(
GenericAsyncTask *task,
void *data);
154 static AsyncTask::DoneStatus task_event(
GenericAsyncTask *task,
void *data);
155 static AsyncTask::DoneStatus task_clear_screenshot_text(
GenericAsyncTask *task,
void *data);
156 static AsyncTask::DoneStatus task_igloop(
GenericAsyncTask *task,
void *data);
157 static AsyncTask::DoneStatus task_record_frame(
GenericAsyncTask *task,
void *data);
158 static AsyncTask::DoneStatus task_play_frame(
GenericAsyncTask *task,
void *data);
160 static AsyncTask::DoneStatus task_clear_text(
GenericAsyncTask *task,
void *data);
161 static AsyncTask::DoneStatus task_garbage_collect(
GenericAsyncTask *task,
void *data);
165 bool _made_default_pipe;
167 std::string _window_title;
188 bool _wireframe_enabled;
189 bool _texture_enabled;
190 bool _two_sided_enabled;
191 bool _lighting_enabled;
192 bool _perpixel_enabled;
193 WindowFramework::BackgroundType _background_type;
198 bool _default_keys_enabled;
202 class KeyDefinition {
204 std::string _event_name;
205 std::string _description;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A class to monitor events from the C++ side of things.
A class to manage a loose queue of isolated tasks, which can be performed either synchronously (in th...
Specifies parameters that may be passed to the loader.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This encapsulates the data that is normally associated with a single window, or with a single display...
This is our own Panda specialization on the default STL vector.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.
An object to create GraphicsOutputs that share a particular 3-D API.
Associates a generic C-style function pointer with an AsyncTask object.
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.
A thread; that is, a lightweight process.
A named event, possibly with parameters.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Encapsulates all the communication with a particular instance of a given rendering backend.
This object manages the process of recording the user's runtime inputs to a bam file so that the sess...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class serves to provide a high-level framework for basic applications that use Panda in simple w...
This class is the main interface to controlling the render process.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.