70 INLINE
int get_num_regions()
const;
71 INLINE
void set_num_regions(
int i);
72 INLINE
void get_dimensions(PN_stdfloat &l, PN_stdfloat &r, PN_stdfloat &b, PN_stdfloat &t)
const;
73 INLINE
void get_dimensions(
int i, PN_stdfloat &l, PN_stdfloat &r, PN_stdfloat &b, PN_stdfloat &t)
const;
74 INLINE LVecBase4 get_dimensions(
int i = 0)
const;
75 INLINE PN_stdfloat get_left(
int i = 0)
const;
76 INLINE PN_stdfloat get_right(
int i = 0)
const;
77 INLINE PN_stdfloat get_bottom(
int i = 0)
const;
78 INLINE PN_stdfloat get_top(
int i = 0)
const;
79 INLINE
void set_dimensions(PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t);
80 INLINE
void set_dimensions(
int i, PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t);
81 INLINE
void set_dimensions(
const LVecBase4 &dimensions);
82 virtual void set_dimensions(
int i,
const LVecBase4 &dimensions);
83 MAKE_PROPERTY(dimensions, get_dimensions, set_dimensions);
87 virtual bool is_stereo()
const;
88 MAKE_PROPERTY(window, get_window);
89 MAKE_PROPERTY(pipe, get_pipe);
90 MAKE_PROPERTY(stereo, is_stereo);
92 virtual void set_camera(
const NodePath &camera);
94 MAKE_PROPERTY(camera, get_camera, set_camera);
96 virtual void set_active(
bool active);
97 INLINE
bool is_active()
const;
98 MAKE_PROPERTY(active, is_active, set_active);
100 virtual void set_sort(
int sort);
101 INLINE
int get_sort()
const;
102 MAKE_PROPERTY(sort, get_sort, set_sort);
104 virtual void set_stereo_channel(Lens::StereoChannel stereo_channel);
105 INLINE Lens::StereoChannel get_stereo_channel()
const;
106 MAKE_PROPERTY(stereo_channel, get_stereo_channel, set_stereo_channel);
108 virtual void set_tex_view_offset(
int tex_view_offset);
109 INLINE
int get_tex_view_offset()
const;
110 MAKE_PROPERTY(tex_view_offset, get_tex_view_offset, set_tex_view_offset);
112 virtual void set_incomplete_render(
bool incomplete_render);
113 INLINE
bool get_incomplete_render()
const;
114 MAKE_PROPERTY(incomplete_render, get_incomplete_render, set_incomplete_render);
116 virtual void set_texture_reload_priority(
int texture_reload_priority);
117 INLINE
int get_texture_reload_priority()
const;
118 MAKE_PROPERTY(texture_reload_priority, get_texture_reload_priority,
119 set_texture_reload_priority);
121 void set_lens_index(
int index);
122 INLINE
int get_lens_index()
const;
123 MAKE_PROPERTY(lens_index, get_lens_index, set_lens_index);
127 MAKE_PROPERTY(cull_traverser, get_cull_traverser, set_cull_traverser);
129 INLINE
void set_cube_map_index(
int cube_map_index);
130 virtual void set_target_tex_page(
int page);
131 INLINE
int get_target_tex_page()
const;
132 MAKE_PROPERTY(target_tex_page, get_target_tex_page, set_target_tex_page);
134 INLINE
void set_scissor_enabled(
bool scissor_enabled);
135 INLINE
bool get_scissor_enabled()
const;
136 MAKE_PROPERTY(scissor_enabled, get_scissor_enabled, set_scissor_enabled);
139 INLINE
void clear_cull_callback();
141 MAKE_PROPERTY(cull_callback, get_cull_callback, set_cull_callback);
144 INLINE
void clear_draw_callback();
146 MAKE_PROPERTY(draw_callback, get_draw_callback, set_draw_callback);
148 INLINE
int get_pixel_width(
int i = 0)
const;
149 INLINE
int get_pixel_height(
int i = 0)
const;
150 INLINE LVecBase2i get_pixel_size(
int i = 0)
const;
151 MAKE_PROPERTY(pixel_size, get_pixel_size);
153 virtual void output(std::ostream &out)
const;
155 static Filename make_screenshot_filename(
156 const std::string &prefix =
"screenshot");
157 Filename save_screenshot_default(
const std::string &prefix =
"screenshot");
158 bool save_screenshot(
159 const Filename &filename,
const std::string &image_comment =
"");
160 bool get_screenshot(
PNMImage &image);
163 void clear_cull_result();
164 virtual PT(
PandaNode) make_cull_result_graph();
167 void compute_pixels();
168 void compute_pixels_all_stages();
169 void compute_pixels(
int x_size,
int y_size);
170 void compute_pixels_all_stages(
int x_size,
int y_size);
171 INLINE
void get_pixels(
int &pl,
int &pr,
int &pb,
int &pt)
const;
172 INLINE
void get_pixels(
int i,
int &pl,
int &pr,
int &pb,
int &pt)
const;
173 INLINE
void get_region_pixels(
int &xo,
int &yo,
int &w,
int &h)
const;
174 INLINE
void get_region_pixels(
int i,
int &xo,
int &yo,
int &w,
int &h)
const;
175 INLINE
void get_region_pixels_i(
int &xo,
int &yo,
int &w,
int &h)
const;
176 INLINE
void get_region_pixels_i(
int i,
int &xo,
int &yo,
int &w,
int &h)
const;
188 INLINE
const std::string &get_debug_name()
const;
193 LVecBase4 _dimensions;
195 LVecBase4i _pixels_i;
197 typedef epvector<Region> Regions;
202 void win_display_regions_changed();
203 void do_compute_pixels(
int i,
int x_size,
int y_size, CData *cdata);
204 void set_active_index(
int index);
215 bool _incomplete_render;
216 int _texture_reload_priority;
225 class EXPCL_PANDA_DISPLAY CData :
public CycleData {
228 CData(
const CData ©);
232 return DisplayRegion::get_class_type();
244 Lens::StereoChannel _stereo_channel;
245 int _tex_view_offset;
246 int _target_tex_page;
247 bool _scissor_enabled;
264 class EXPCL_PANDA_DISPLAY CDataCull :
public CycleData {
267 CDataCull(
const CDataCull ©);
271 return DisplayRegion::get_class_type();
283 std::string _debug_name;
289 static void init_type() {
290 TypedReferenceCount::init_type();
292 TypedReferenceCount::get_class_type());
295 return get_class_type();
297 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
323 INLINE
Thread *get_current_thread()
const;
327 INLINE
int get_num_regions()
const;
328 INLINE
void get_dimensions(PN_stdfloat &l, PN_stdfloat &r, PN_stdfloat &b, PN_stdfloat &t)
const;
329 INLINE
void get_dimensions(
int i, PN_stdfloat &l, PN_stdfloat &r, PN_stdfloat &b, PN_stdfloat &t)
const;
330 INLINE
const LVecBase4 &get_dimensions(
int i = 0)
const;
331 INLINE PN_stdfloat get_left(
int i = 0)
const;
332 INLINE PN_stdfloat get_right(
int i = 0)
const;
333 INLINE PN_stdfloat get_bottom(
int i = 0)
const;
334 INLINE PN_stdfloat get_top(
int i = 0)
const;
340 INLINE
bool is_active()
const;
341 INLINE
int get_sort()
const;
342 INLINE Lens::StereoChannel get_stereo_channel()
const;
343 INLINE
int get_tex_view_offset();
344 INLINE
bool get_clear_depth_between_eyes()
const;
345 INLINE
int get_target_tex_page()
const;
346 INLINE
bool get_scissor_enabled()
const;
349 INLINE
void get_pixels(
int &pl,
int &pr,
int &pb,
int &pt)
const;
350 INLINE
void get_pixels(
int i,
int &pl,
int &pr,
int &pb,
int &pt)
const;
351 INLINE
void get_region_pixels(
int &xo,
int &yo,
int &w,
int &h)
const;
352 INLINE
void get_region_pixels(
int i,
int &xo,
int &yo,
int &w,
int &h)
const;
353 INLINE
void get_region_pixels_i(
int &xo,
int &yo,
int &w,
int &h)
const;
354 INLINE
void get_region_pixels_i(
int i,
int &xo,
int &yo,
int &w,
int &h)
const;
356 INLINE
int get_pixel_width(
int i = 0)
const;
357 INLINE
int get_pixel_height(
int i = 0)
const;
359 INLINE
int get_lens_index()
const;
364 const DisplayRegion::CData *_cdata;
370 static void init_type() {
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...