1412103133
2 2
12 libp3display 4 62HU 12 panda3d.core 
609
651 8 get_pipe 0 4 1260 24 GraphicsDevice::get_pipe 0 1 1 792
// Filename: graphicsDevice.I
// Created by:  masad (21Jul03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsDevice::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this device is
//               associated with.
////////////////////////////////////////////////////////////////////
58
inline GraphicsPipe *GraphicsDevice::get_pipe(void) const;

652 14 get_class_type 0 4 1260 30 GraphicsDevice::get_class_type 0 1 2 0
55
static TypeHandle GraphicsDevice::get_class_type(void);

653 19 ~DisplayInformation 0 4 1262 39 DisplayInformation::~DisplayInformation 0 0 230
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::Destructor
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
46
DisplayInformation::~DisplayInformation(void);

654 18 DisplayInformation 0 4 1262 38 DisplayInformation::DisplayInformation 0 1 3 231
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::Constructor
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
45
DisplayInformation::DisplayInformation(void);

655 17 get_display_state 0 4 1262 37 DisplayInformation::get_display_state 0 1 4 220
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
48
int DisplayInformation::get_display_state(void);

656 24 get_maximum_window_width 0 4 1262 44 DisplayInformation::get_maximum_window_width 0 1 5 244
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_window_width
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
55
int DisplayInformation::get_maximum_window_width(void);

657 25 get_maximum_window_height 0 4 1262 45 DisplayInformation::get_maximum_window_height 0 1 6 245
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_window_height
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
int DisplayInformation::get_maximum_window_height(void);

658 25 get_window_bits_per_pixel 0 4 1262 45 DisplayInformation::get_window_bits_per_pixel 0 1 7 245
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_window_bits_per_pixel
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
int DisplayInformation::get_window_bits_per_pixel(void);

659 23 get_total_display_modes 0 4 1262 43 DisplayInformation::get_total_display_modes 0 1 8 243
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_total_display_modes
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
54
int DisplayInformation::get_total_display_modes(void);

660 22 get_display_mode_width 0 4 1262 42 DisplayInformation::get_display_mode_width 0 1 9 242
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_width
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
66
int DisplayInformation::get_display_mode_width(int display_index);

661 23 get_display_mode_height 0 4 1262 43 DisplayInformation::get_display_mode_height 0 1 10 243
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_height
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
67
int DisplayInformation::get_display_mode_height(int display_index);

662 31 get_display_mode_bits_per_pixel 0 4 1262 51 DisplayInformation::get_display_mode_bits_per_pixel 0 1 11 251
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_bits_per_pixel
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
75
int DisplayInformation::get_display_mode_bits_per_pixel(int display_index);

663 29 get_display_mode_refresh_rate 0 4 1262 49 DisplayInformation::get_display_mode_refresh_rate 0 1 12 249
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_refresh_rate
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
73
int DisplayInformation::get_display_mode_refresh_rate(int display_index);

664 32 get_display_mode_fullscreen_only 0 4 1262 52 DisplayInformation::get_display_mode_fullscreen_only 0 1 13 252
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_fullscreen_only
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
76
int DisplayInformation::get_display_mode_fullscreen_only(int display_index);

665 16 get_shader_model 0 4 1262 36 DisplayInformation::get_shader_model 0 1 14 236
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_shader_model
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
47
int DisplayInformation::get_shader_model(void);

666 16 get_video_memory 0 4 1262 36 DisplayInformation::get_video_memory 0 1 15 236
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_video_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
47
int DisplayInformation::get_video_memory(void);

667 18 get_texture_memory 0 4 1262 38 DisplayInformation::get_texture_memory 0 1 16 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_texture_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
49
int DisplayInformation::get_texture_memory(void);

668 25 update_memory_information 0 4 1262 45 DisplayInformation::update_memory_information 0 1 17 245
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::update_memory_information
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
void DisplayInformation::update_memory_information(void);

669 19 get_physical_memory 0 4 1262 39 DisplayInformation::get_physical_memory 0 1 18 239
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_physical_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
unsigned __int64 DisplayInformation::get_physical_memory(void);

670 29 get_available_physical_memory 0 4 1262 49 DisplayInformation::get_available_physical_memory 0 1 19 249
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_physical_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
73
unsigned __int64 DisplayInformation::get_available_physical_memory(void);

671 18 get_page_file_size 0 4 1262 38 DisplayInformation::get_page_file_size 0 1 20 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_file_size
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
62
unsigned __int64 DisplayInformation::get_page_file_size(void);

672 28 get_available_page_file_size 0 4 1262 48 DisplayInformation::get_available_page_file_size 0 1 21 248
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_page_file_size
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
72
unsigned __int64 DisplayInformation::get_available_page_file_size(void);

673 26 get_process_virtual_memory 0 4 1262 46 DisplayInformation::get_process_virtual_memory 0 1 22 243
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::_process_virtual_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
70
unsigned __int64 DisplayInformation::get_process_virtual_memory(void);

674 36 get_available_process_virtual_memory 0 4 1262 56 DisplayInformation::get_available_process_virtual_memory 0 1 23 256
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_process_virtual_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
80
unsigned __int64 DisplayInformation::get_available_process_virtual_memory(void);

675 15 get_memory_load 0 4 1262 35 DisplayInformation::get_memory_load 0 1 24 235
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_memory_load
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
46
int DisplayInformation::get_memory_load(void);

676 20 get_page_fault_count 0 4 1262 40 DisplayInformation::get_page_fault_count 0 1 25 240
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_fault_count
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
64
unsigned __int64 DisplayInformation::get_page_fault_count(void);

677 18 get_process_memory 0 4 1262 38 DisplayInformation::get_process_memory 0 1 26 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_process_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
62
unsigned __int64 DisplayInformation::get_process_memory(void);

678 23 get_peak_process_memory 0 4 1262 43 DisplayInformation::get_peak_process_memory 0 1 27 243
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_peak_process_memory
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
67
unsigned __int64 DisplayInformation::get_peak_process_memory(void);

679 19 get_page_file_usage 0 4 1262 39 DisplayInformation::get_page_file_usage 0 1 28 239
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_file_usage
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
unsigned __int64 DisplayInformation::get_page_file_usage(void);

680 24 get_peak_page_file_usage 0 4 1262 44 DisplayInformation::get_peak_page_file_usage 0 1 29 244
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_peak_page_file_usage
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
68
unsigned __int64 DisplayInformation::get_peak_page_file_usage(void);

681 13 get_vendor_id 0 4 1262 33 DisplayInformation::get_vendor_id 0 1 30 233
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_vendor_id
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
44
int DisplayInformation::get_vendor_id(void);

682 13 get_device_id 0 4 1262 33 DisplayInformation::get_device_id 0 1 31 233
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_device_id
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
44
int DisplayInformation::get_device_id(void);

683 18 get_driver_product 0 4 1262 38 DisplayInformation::get_driver_product 0 1 32 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_product
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
49
int DisplayInformation::get_driver_product(void);

684 18 get_driver_version 0 4 1262 38 DisplayInformation::get_driver_version 0 1 33 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_version
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
49
int DisplayInformation::get_driver_version(void);

685 22 get_driver_sub_version 0 4 1262 42 DisplayInformation::get_driver_sub_version 0 1 34 242
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_sub_version
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
53
int DisplayInformation::get_driver_sub_version(void);

686 16 get_driver_build 0 4 1262 36 DisplayInformation::get_driver_build 0 1 35 236
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_build
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
47
int DisplayInformation::get_driver_build(void);

687 21 get_driver_date_month 0 4 1262 41 DisplayInformation::get_driver_date_month 0 1 36 241
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_month
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
52
int DisplayInformation::get_driver_date_month(void);

688 19 get_driver_date_day 0 4 1262 39 DisplayInformation::get_driver_date_day 0 1 37 239
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_day
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
50
int DisplayInformation::get_driver_date_day(void);

689 20 get_driver_date_year 0 4 1262 40 DisplayInformation::get_driver_date_year 0 1 38 240
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_year
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
51
int DisplayInformation::get_driver_date_year(void);

690 18 get_cpu_id_version 0 4 1262 38 DisplayInformation::get_cpu_id_version 0 1 39 238
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_version
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
49
int DisplayInformation::get_cpu_id_version(void);

691 15 get_cpu_id_size 0 4 1262 35 DisplayInformation::get_cpu_id_size 0 1 40 312
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_size
//       Access: Published
//  Description: Returns the number of 32-bit values for cpu id 
//               binary data.
////////////////////////////////////////////////////////////////////
46
int DisplayInformation::get_cpu_id_size(void);

692 15 get_cpu_id_data 0 4 1262 35 DisplayInformation::get_cpu_id_data 0 1 41 309
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_data
//       Access: Published
//  Description: Returns part of cpu id binary data based on the 
//               index.  
////////////////////////////////////////////////////////////////////
60
unsigned int DisplayInformation::get_cpu_id_data(int index);

693 21 get_cpu_vendor_string 0 4 1262 41 DisplayInformation::get_cpu_vendor_string 0 1 42 242
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_vendor_string
//       Access: Published
//  Description:  
////////////////////////////////////////////////////////////////////
60
char const *DisplayInformation::get_cpu_vendor_string(void);

694 20 get_cpu_brand_string 0 4 1262 40 DisplayInformation::get_cpu_brand_string 0 1 43 241
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_brand_string
//       Access: Published
//  Description:  
////////////////////////////////////////////////////////////////////
59
char const *DisplayInformation::get_cpu_brand_string(void);

695 27 get_cpu_version_information 0 4 1262 47 DisplayInformation::get_cpu_version_information 0 1 44 248
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_version_information
//       Access: Published
//  Description:  
////////////////////////////////////////////////////////////////////
67
unsigned int DisplayInformation::get_cpu_version_information(void);

696 19 get_cpu_brand_index 0 4 1262 39 DisplayInformation::get_cpu_brand_index 0 1 45 240
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_brand_index
//       Access: Published
//  Description:  
////////////////////////////////////////////////////////////////////
59
unsigned int DisplayInformation::get_cpu_brand_index(void);

697 17 get_cpu_frequency 0 4 1262 37 DisplayInformation::get_cpu_frequency 0 1 46 237
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_frequency
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
unsigned __int64 DisplayInformation::get_cpu_frequency(void);

698 12 get_cpu_time 0 4 1262 32 DisplayInformation::get_cpu_time 0 1 47 232
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_time
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
unsigned __int64 DisplayInformation::get_cpu_time(void);

699 25 get_maximum_cpu_frequency 0 4 1262 45 DisplayInformation::get_maximum_cpu_frequency 0 1 48 245
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_cpu_frequency
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
69
unsigned __int64 DisplayInformation::get_maximum_cpu_frequency(void);

700 25 get_current_cpu_frequency 0 4 1262 45 DisplayInformation::get_current_cpu_frequency 0 1 49 245
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_current_cpu_frequency
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
69
unsigned __int64 DisplayInformation::get_current_cpu_frequency(void);

701 20 update_cpu_frequency 0 4 1262 40 DisplayInformation::update_cpu_frequency 0 1 50 240
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::update_cpu_frequency
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
68
void DisplayInformation::update_cpu_frequency(int processor_number);

702 17 get_num_cpu_cores 0 4 1262 37 DisplayInformation::get_num_cpu_cores 0 1 51 405
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_num_cpu_cores
//       Access: Published
//  Description: Returns the number of individual CPU cores in the
//               system, or 0 if this number is not available.  A
//               hyperthreaded CPU counts once here.
////////////////////////////////////////////////////////////////////
48
int DisplayInformation::get_num_cpu_cores(void);

703 20 get_num_logical_cpus 0 4 1262 40 DisplayInformation::get_num_logical_cpus 0 1 52 411
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_num_logical_cpus
//       Access: Published
//  Description: Returns the number of logical CPU's in the
//               system, or 0 if this number is not available.  A
//               hyperthreaded CPU counts as two or more here.
////////////////////////////////////////////////////////////////////
51
int DisplayInformation::get_num_logical_cpus(void);

704 20 get_os_version_major 0 4 1262 40 DisplayInformation::get_os_version_major 0 1 53 263
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_major
//       Access: Published
//  Description: Returns -1 if not set. 
////////////////////////////////////////////////////////////////////
51
int DisplayInformation::get_os_version_major(void);

705 20 get_os_version_minor 0 4 1262 40 DisplayInformation::get_os_version_minor 0 1 54 263
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_minor
//       Access: Published
//  Description: Returns -1 if not set. 
////////////////////////////////////////////////////////////////////
51
int DisplayInformation::get_os_version_minor(void);

706 20 get_os_version_build 0 4 1262 40 DisplayInformation::get_os_version_build 0 1 55 263
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_build
//       Access: Published
//  Description: Returns -1 if not set. 
////////////////////////////////////////////////////////////////////
51
int DisplayInformation::get_os_version_build(void);

707 18 get_os_platform_id 0 4 1262 38 DisplayInformation::get_os_platform_id 0 1 56 260
////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_platform_id
//       Access: Published
//  Description: Returns -1 if not set.
////////////////////////////////////////////////////////////////////
49
int DisplayInformation::get_os_platform_id(void);

708 8 is_valid 0 4 1264 22 GraphicsPipe::is_valid 0 1 57 1182
// Filename: graphicsPipe.I
// Created by:  frang (07Mar99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::is_valid
//       Access: Published
//  Description: Returns false if this pipe is known to be invalid,
//               meaning that an attempt to create a GraphicsWindow
//               with the pipe will certainly fail.  Returns true if
//               the pipe is probably valid (is this case, an attempt
//               to create a GraphicsWindow should succeed, but might
//               still fail).
//
//               Use the GraphicsEngine class to create a
//               GraphicsWindow on a particular pipe.
////////////////////////////////////////////////////////////////////
47
inline bool GraphicsPipe::is_valid(void) const;

709 19 get_supported_types 0 4 1264 33 GraphicsPipe::get_supported_types 0 1 58 682
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_supported_types
//       Access: Published
//  Description: Returns the mask of bits that represents the kinds of
//               GraphicsOutput objects this pipe might be able to
//               successfully create.  The return value is the union
//               of bits in GraphicsPipe::OutputTypes that represents
//               the set of GraphicsOutput types.
//
//               A 1 bit in a particular position is not a guarantee
//               of success, but a 0 bit is a guarantee of failure.
////////////////////////////////////////////////////////////////////
57
inline int GraphicsPipe::get_supported_types(void) const;

710 13 supports_type 0 4 1264 27 GraphicsPipe::supports_type 0 1 59 766
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::supports_type
//       Access: Published
//  Description: A convenience function to ask if a particular type or
//               types of GraphicsObjects are supported.  The
//               parameter is a union of one or more bits defined in
//               GrpahicsPipe::OutputTypes.
//
//               Returns true if all of the requested types are listed
//               in the supported_types mask, false if any one of them
//               is not.  This is not a guarantee that the indicated
//               output type will successfully be created when it is
//               attempted.
////////////////////////////////////////////////////////////////////
57
inline bool GraphicsPipe::supports_type(int flags) const;

711 17 get_display_width 0 4 1264 31 GraphicsPipe::get_display_width 0 1 60 547
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_width
//       Access: Published
//  Description: Returns the width of the entire display, if it is
//               known.  This may return 0.  This is not a guarantee
//               that windows (particularly fullscreen windows) may
//               not be created larger than this width, but it is
//               intended to provide a hint to the application.
////////////////////////////////////////////////////////////////////
55
inline int GraphicsPipe::get_display_width(void) const;

712 18 get_display_height 0 4 1264 32 GraphicsPipe::get_display_height 0 1 61 385
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_height
//       Access: Published
//  Description: Returns the height of the entire display, if it is
//               known.  This may return 0.  See the caveats for
//               get_display_width().
////////////////////////////////////////////////////////////////////
56
inline int GraphicsPipe::get_display_height(void) const;

713 23 get_display_information 0 4 1264 37 GraphicsPipe::get_display_information 0 1 62 272
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_information
//       Access: Published
//  Description: Gets the pipe's DisplayInformation.
////////////////////////////////////////////////////////////////////
64
DisplayInformation *GraphicsPipe::get_display_information(void);

714 15 lookup_cpu_data 0 6 1264 29 GraphicsPipe::lookup_cpu_data 0 1 63 400
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::lookup_cpu_data
//       Access: Public, Virtual
//  Description: Looks up the detailed CPU information and stores it
//               in _display_information, if supported by the OS.
//               This may take a second or two.
////////////////////////////////////////////////////////////////////
49
virtual void GraphicsPipe::lookup_cpu_data(void);

715 18 get_interface_name 0 6 1264 32 GraphicsPipe::get_interface_name 0 1 64 0
78
virtual basic_string< char > GraphicsPipe::get_interface_name(void) const = 0;

716 14 get_class_type 0 4 1264 28 GraphicsPipe::get_class_type 0 1 65 0
53
static TypeHandle GraphicsPipe::get_class_type(void);

717 15 ~DrawableRegion 0 6 1267 31 DrawableRegion::~DrawableRegion 0 0 232
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::Destructor
//       Access: Public, Virtual
//  Description: 
////////////////////////////////////////////////////////////////////
46
virtual DrawableRegion::~DrawableRegion(void);

718 22 set_clear_color_active 0 4 1267 38 DrawableRegion::set_clear_color_active 0 1 66 523
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_color_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the color
//               buffer should be cleared every frame.  If this is
//               true, the color buffer will be cleared to the color
//               indicated by set_clear_color(); otherwise, it will be
//               left alone.
////////////////////////////////////////////////////////////////////
76
inline void DrawableRegion::set_clear_color_active(bool clear_color_active);

719 22 get_clear_color_active 0 4 1267 38 DrawableRegion::get_clear_color_active 0 1 67 413
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_color_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the color buffer should be cleared
//               every frame.  See set_clear_color_active().
////////////////////////////////////////////////////////////////////
63
inline bool DrawableRegion::get_clear_color_active(void) const;

720 22 set_clear_depth_active 0 4 1267 38 DrawableRegion::set_clear_depth_active 0 1 68 529
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_depth_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the depth
//               buffer should be cleared every frame.  If this is
//               true, the depth buffer will be cleared to the depth
//               value indicated by set_clear_depth(); otherwise, it
//               will be left alone.
////////////////////////////////////////////////////////////////////
76
inline void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

721 22 get_clear_depth_active 0 4 1267 38 DrawableRegion::get_clear_depth_active 0 1 69 413
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_depth_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the depth buffer should be cleared
//               every frame.  See set_clear_depth_active().
////////////////////////////////////////////////////////////////////
63
inline bool DrawableRegion::get_clear_depth_active(void) const;

722 24 set_clear_stencil_active 0 4 1267 40 DrawableRegion::set_clear_stencil_active 0 1 70 531
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_stencil_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the stencil
//               buffer should be cleared every frame.  If this is
//               true, the stencil buffer will be cleared to the value
//               indicated by set_clear_stencil(); otherwise, it will be
//               left alone.
////////////////////////////////////////////////////////////////////
80
inline void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

723 24 get_clear_stencil_active 0 4 1267 40 DrawableRegion::get_clear_stencil_active 0 1 71 417
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_stencil_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the color buffer should be cleared
//               every frame.  See set_clear_stencil_active().
////////////////////////////////////////////////////////////////////
65
inline bool DrawableRegion::get_clear_stencil_active(void) const;

724 15 set_clear_color 0 4 1267 31 DrawableRegion::set_clear_color 0 1 72 535
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_color
//       Access: Published
//  Description: Sets the clear color to the indicated value.  This is
//               the value that will be used to clear the color buffer
//               every frame, but only if get_clear_color_active()
//               returns true.  If get_clear_color_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
69
inline void DrawableRegion::set_clear_color(LVecBase4f const &color);

725 15 get_clear_color 0 4 1267 31 DrawableRegion::get_clear_color 0 1 73 529
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_color
//       Access: Published
//  Description: Returns the current clear color value.  This is
//               the value that will be used to clear the color buffer
//               every frame, but only if get_clear_color_active()
//               returns true.  If get_clear_color_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
69
inline LVecBase4f const &DrawableRegion::get_clear_color(void) const;

726 15 set_clear_depth 0 4 1267 31 DrawableRegion::set_clear_depth 0 1 74 535
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_depth
//       Access: Published
//  Description: Sets the clear depth to the indicated value.  This is
//               the value that will be used to clear the depth buffer
//               every frame, but only if get_clear_depth_active()
//               returns true.  If get_clear_depth_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
57
inline void DrawableRegion::set_clear_depth(float depth);

727 15 get_clear_depth 0 4 1267 31 DrawableRegion::get_clear_depth 0 1 75 529
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_depth
//       Access: Published
//  Description: Returns the current clear depth value.  This is
//               the value that will be used to clear the depth buffer
//               every frame, but only if get_clear_depth_active()
//               returns true.  If get_clear_depth_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
57
inline float DrawableRegion::get_clear_depth(void) const;

728 17 set_clear_stencil 0 4 1267 33 DrawableRegion::set_clear_stencil 0 1 76 543
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_stencil
//       Access: Published
//  Description: Sets the clear stencil to the indicated value.  This is
//               the value that will be used to clear the stencil buffer
//               every frame, but only if get_clear_color_active()
//               returns true.  If get_clear_stencil_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
68
inline void DrawableRegion::set_clear_stencil(unsigned int stencil);

729 17 get_clear_stencil 0 4 1267 33 DrawableRegion::get_clear_stencil 0 1 77 539
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_stencil
//       Access: Published
//  Description: Returns the current clear stencil value.  This is
//               the value that will be used to clear the stencil buffer
//               every frame, but only if get_clear_stencil_active()
//               returns true.  If get_clear_stencil_active() returns
//               false, this is meaningless.
////////////////////////////////////////////////////////////////////
66
inline unsigned int DrawableRegion::get_clear_stencil(void) const;

730 16 set_clear_active 0 6 1267 32 DrawableRegion::set_clear_active 0 1 78 285
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_active
//       Access: Published, Virtual
//  Description: Sets the clear-active flag for any bitplane.
////////////////////////////////////////////////////////////////////
76
virtual void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

731 16 get_clear_active 0 6 1267 32 DrawableRegion::get_clear_active 0 1 79 285
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_active
//       Access: Published, Virtual
//  Description: Gets the clear-active flag for any bitplane.
////////////////////////////////////////////////////////////////////
59
virtual bool DrawableRegion::get_clear_active(int n) const;

732 15 set_clear_value 0 6 1267 31 DrawableRegion::set_clear_value 0 1 80 278
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_value
//       Access: Published, Virtual
//  Description: Sets the clear value for any bitplane.
////////////////////////////////////////////////////////////////////
83
virtual void DrawableRegion::set_clear_value(int n, LVecBase4f const &clear_value);

733 15 get_clear_value 0 6 1267 31 DrawableRegion::get_clear_value 0 1 81 281
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_value
//       Access: Published, Virtual
//  Description: Returns the clear value for any bitplane.
////////////////////////////////////////////////////////////////////
71
virtual LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

734 14 disable_clears 0 6 1267 30 DrawableRegion::disable_clears 0 1 82 352
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::disable_clears
//       Access: Published, Virtual
//  Description: Disables both the color and depth clear.  See
//               set_clear_color_active and set_clear_depth_active.
////////////////////////////////////////////////////////////////////
50
virtual void DrawableRegion::disable_clears(void);

735 19 is_any_clear_active 0 6 1267 35 DrawableRegion::is_any_clear_active 0 1 83 461
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::is_any_clear_active
//       Access: Published, Virtual
//  Description: Returns true if any of the clear types (so far there
//               are just color or depth) have been set active, or
//               false if none of them are active and there is no need
//               to clear.
////////////////////////////////////////////////////////////////////
61
virtual bool DrawableRegion::is_any_clear_active(void) const;

736 14 set_pixel_zoom 0 6 1267 30 DrawableRegion::set_pixel_zoom 0 1 84 1485
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_pixel_zoom
//       Access: Published, Virtual
//  Description: Sets the amount by which the pixels of the region are
//               scaled internally when filling the image interally.
//               Setting this number larger makes the pixels blockier,
//               but may make the rendering faster, particularly for
//               software renderers.  Setting this number to 2.0
//               reduces the number of pixels that have to be filled
//               by the renderer by a factor of 2.0.  It doesn't make
//               sense to set this lower than 1.0.
//
//               It is possible to set this on either individual
//               DisplayRegions or on overall GraphicsWindows, but you
//               will get better performance for setting it on the
//               window rather than its individual DisplayRegions.
//               Also, you may not set it on a DisplayRegion that
//               doesn't have both clear_color() and clear_depth()
//               enabled.
//
//               This property is only supported on renderers for
//               which it is particularly useful--currently, this is
//               the tinydisplay software renderer.  Other kinds of
//               renderers allow you to set this property, but ignore
//               it.
////////////////////////////////////////////////////////////////////
62
virtual void DrawableRegion::set_pixel_zoom(float pixel_zoom);

737 14 get_pixel_zoom 0 4 1267 30 DrawableRegion::get_pixel_zoom 0 1 85 388
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_pixel_zoom
//       Access: Published
//  Description: Returns the value set by set_pixel_zoom(), regardless
//               of whether it is being respected or not.  Also see
//               get_pixel_factor().
////////////////////////////////////////////////////////////////////
56
inline float DrawableRegion::get_pixel_zoom(void) const;

738 16 get_pixel_factor 0 4 1267 32 DrawableRegion::get_pixel_factor 0 1 86 650
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_pixel_factor
//       Access: Published
//  Description: Returns the amount by which the height and width of
//               the region will be scaled internally, based on the
//               zoom factor set by set_pixel_zoom().  This will
//               return 1.0 if the pixel_zoom was not set or if it is
//               not being respected (for instance, because the
//               underlying renderer doesn't support it--see
//               supports_pixel_zoom).
////////////////////////////////////////////////////////////////////
58
inline float DrawableRegion::get_pixel_factor(void) const;

739 19 supports_pixel_zoom 0 6 1267 35 DrawableRegion::supports_pixel_zoom 0 1 87 802
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::supports_pixel_zoom
//       Access: Published, Virtual
//  Description: Returns true if a call to set_pixel_zoom() will be
//               respected, false if it will be ignored.  If this
//               returns false, then get_pixel_factor() will always
//               return 1.0, regardless of what value you specify for
//               set_pixel_zoom().
//
//               This may return false if the underlying renderer
//               doesn't support pixel zooming, or if you have called
//               this on a DisplayRegion that doesn't have both
//               set_clear_color() and set_clear_depth() enabled.
////////////////////////////////////////////////////////////////////
61
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

740 21 get_renderbuffer_type 0 4 1267 37 DrawableRegion::get_renderbuffer_type 0 1 88 334
////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_renderbuffer_type
//       Access: Static, Published
//  Description: Returns the RenderBuffer::Type that corresponds
//               to a RenderTexturePlane.
////////////////////////////////////////////////////////////////////
60
static int DrawableRegion::get_renderbuffer_type(int plane);

741 12 WindowHandle 0 4 1269 26 WindowHandle::WindowHandle 0 2 89 90 943
// Filename: windowHandle.I
// Created by:  drose (30Sep09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::Copy Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
130
inline WindowHandle::WindowHandle(WindowHandle::OSHandle *os_handle);
inline WindowHandle::WindowHandle(WindowHandle const &copy);

742 13 get_os_handle 0 4 1269 27 WindowHandle::get_os_handle 0 1 91 321
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::get_os_handle
//       Access: Published
//  Description: Returns the OS-specific handle stored internally to
//               the WindowHandle wrapper.
////////////////////////////////////////////////////////////////////
71
inline WindowHandle::OSHandle *WindowHandle::get_os_handle(void) const;

743 13 set_os_handle 0 4 1269 27 WindowHandle::set_os_handle 0 1 92 321
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::set_os_handle
//       Access: Published
//  Description: Changes the OS-specific handle stored internally to
//               the WindowHandle wrapper.
////////////////////////////////////////////////////////////////////
75
inline void WindowHandle::set_os_handle(WindowHandle::OSHandle *os_handle);

744 20 send_windows_message 0 4 1269 34 WindowHandle::send_windows_message 0 1 93 566
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::send_windows_message
//       Access: Published
//  Description: Call this method on a parent WindowHandle to deliver
//               a Windows message to the current child window, if any.
//               This is used in the web plugin system to deliver
//               button events detected directly by the browser system
//               into Panda, which is particularly necessary on Vista.
////////////////////////////////////////////////////////////////////
82
void WindowHandle::send_windows_message(unsigned int msg, int wparam, int lparam);

745 14 get_int_handle 0 4 1269 28 WindowHandle::get_int_handle 0 1 94 397
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::get_int_handle
//       Access: Published
//  Description: Returns the OS-specific handle converted to an
//               integer, if this is possible for the particular
//               representation.  Returns 0 if it is not.
////////////////////////////////////////////////////////////////////
54
unsigned int WindowHandle::get_int_handle(void) const;

746 6 output 0 4 1269 20 WindowHandle::output 0 1 95 220
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::output
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
46
void WindowHandle::output(ostream &out) const;

747 14 get_int_handle 0 6 1270 38 WindowHandle::OSHandle::get_int_handle 0 1 97 416
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::OSHandle::get_int_handle
//       Access: Published, Virtual
//  Description: Returns the OS-specific handle converted to an
//               integer, if this is possible for the particular
//               representation.  Returns 0 if it is not.
////////////////////////////////////////////////////////////////////
72
virtual unsigned int WindowHandle::OSHandle::get_int_handle(void) const;

748 6 output 0 6 1270 30 WindowHandle::OSHandle::output 0 1 98 239
////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::OSHandle::output
//       Access: Published, Virtual
//  Description: 
////////////////////////////////////////////////////////////////////
64
virtual void WindowHandle::OSHandle::output(ostream &out) const;

749 14 get_class_type 0 4 1270 38 WindowHandle::OSHandle::get_class_type 0 1 99 0
63
static TypeHandle WindowHandle::OSHandle::get_class_type(void);

750 14 get_class_type 0 4 1269 28 WindowHandle::get_class_type 0 1 96 0
53
static TypeHandle WindowHandle::get_class_type(void);

751 16 WindowProperties 0 4 1271 34 WindowProperties::WindowProperties 0 2 100 101 955
// Filename: windowProperties.I
// Created by:  drose (13Aug02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Copy Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
114
WindowProperties::WindowProperties(void);
inline WindowProperties::WindowProperties(WindowProperties const &copy);

752 10 operator = 0 4 1271 28 WindowProperties::operator = 0 1 102 241
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Copy Assignment Operator
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
64
void WindowProperties::operator =(WindowProperties const &copy);

753 17 ~WindowProperties 0 4 1271 35 WindowProperties::~WindowProperties 0 0 227
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Destructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
49
inline WindowProperties::~WindowProperties(void);

754 21 get_config_properties 0 4 1271 39 WindowProperties::get_config_properties 0 1 103 395
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_config_properties
//       Access: Published, Static
//  Description: Returns a WindowProperties structure with all of the
//               default values filled in according to the user's
//               config file.
////////////////////////////////////////////////////////////////////
70
static WindowProperties WindowProperties::get_config_properties(void);

755 11 get_default 0 4 1271 29 WindowProperties::get_default 0 1 104 457
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_default
//       Access: Published, Static
//  Description: Returns the "default" WindowProperties.  If
//               set_default() has been called, this returns that
//               WindowProperties structure; otherwise, this returns
//               get_config_properties().
////////////////////////////////////////////////////////////////////
60
static WindowProperties WindowProperties::get_default(void);

756 11 set_default 0 4 1271 29 WindowProperties::set_default 0 1 105 589
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_default
//       Access: Published, Static
//  Description: Replaces the "default" WindowProperties with the
//               specified structure.  The specified WindowProperties
//               will be returned by future calls to get_default(),
//               until clear_default() is called.
//
//               Note that this completely replaces the default
//               properties; it is not additive.
////////////////////////////////////////////////////////////////////
86
static void WindowProperties::set_default(WindowProperties const &default_properties);

757 13 clear_default 0 4 1271 31 WindowProperties::clear_default 0 1 106 346
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_default
//       Access: Published, Static
//  Description: Returns the "default" WindowProperties to whatever
//               is specified in the user's config file.
////////////////////////////////////////////////////////////////////
50
static void WindowProperties::clear_default(void);

758 4 size 0 4 1271 22 WindowProperties::size 0 1 107 386
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::size
//       Access: Published, Static
//  Description: Returns a WindowProperties structure with only the
//               size specified.  The size is the only property that
//               matters to buffers.
////////////////////////////////////////////////////////////////////
71
static WindowProperties WindowProperties::size(int x_size, int y_size);

759 11 operator == 0 4 1271 29 WindowProperties::operator == 0 1 108 229
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::operator == 
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
72
bool WindowProperties::operator ==(WindowProperties const &other) const;

760 11 operator != 0 4 1271 29 WindowProperties::operator != 0 1 109 228
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::operator !=
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
79
inline bool WindowProperties::operator !=(WindowProperties const &other) const;

761 5 clear 0 4 1271 23 WindowProperties::clear 0 1 110 381
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear
//       Access: Published
//  Description: Unsets all properties that have been specified so
//               far, and resets the WindowProperties structure to its
//               initial empty state.
////////////////////////////////////////////////////////////////////
35
void WindowProperties::clear(void);

762 16 is_any_specified 0 4 1271 34 WindowProperties::is_any_specified 0 1 111 319
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::is_any_specified
//       Access: Published
//  Description: Returns true if any properties have been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
59
inline bool WindowProperties::is_any_specified(void) const;

763 10 set_origin 0 4 1271 28 WindowProperties::set_origin 0 2 112 113 1030
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_origin
//       Access: Published
//  Description: Specifies the origin on the screen (in pixels,
//               relative to the top-left corner) at which the window
//               should appear.  This is the origin of the top-left
//               corner of the useful part of the window, not
//               including decorations.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_origin
//       Access: Published
//  Description: Specifies the origin on the screen (in pixels,
//               relative to the top-left corner) at which the window
//               should appear.  This is the origin of the top-left
//               corner of the useful part of the window, not
//               including decorations.
////////////////////////////////////////////////////////////////////
135
inline void WindowProperties::set_origin(LPoint2i const &origin);
inline void WindowProperties::set_origin(int x_origin, int y_origin);

764 10 get_origin 0 4 1271 28 WindowProperties::get_origin 0 1 114 328
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_origin
//       Access: Published
//  Description: Returns the coordinates of the window's top-left
//               corner, not including decorations.
////////////////////////////////////////////////////////////////////
64
inline LPoint2i const &WindowProperties::get_origin(void) const;

765 12 get_x_origin 0 4 1271 30 WindowProperties::get_x_origin 0 1 115 331
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_x_origin
//       Access: Published
//  Description: Returns the x coordinate of the window's top-left
//               corner, not including decorations.
////////////////////////////////////////////////////////////////////
54
inline int WindowProperties::get_x_origin(void) const;

766 12 get_y_origin 0 4 1271 30 WindowProperties::get_y_origin 0 1 116 331
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_y_origin
//       Access: Published
//  Description: Returns the y coordinate of the window's top-left
//               corner, not including decorations.
////////////////////////////////////////////////////////////////////
54
inline int WindowProperties::get_y_origin(void) const;

767 10 has_origin 0 4 1271 28 WindowProperties::has_origin 0 1 117 315
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_origin
//       Access: Published
//  Description: Returns true if the window origin has been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
53
inline bool WindowProperties::has_origin(void) const;

768 12 clear_origin 0 4 1271 30 WindowProperties::clear_origin 0 1 118 283
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_origin
//       Access: Published
//  Description: Removes the origin specification from the properties.
////////////////////////////////////////////////////////////////////
49
inline void WindowProperties::clear_origin(void);

769 8 set_size 0 4 1271 26 WindowProperties::set_size 0 2 119 120 788
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_size
//       Access: Published
//  Description: Specifies the requested size of the window, in
//               pixels.  This is the size of the useful part of the
//               window, not including decorations.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_size
//       Access: Published
//  Description: Specifies the requested size of the window, in
//               pixels.  This is the size of the useful part of the
//               window, not including decorations.
////////////////////////////////////////////////////////////////////
126
inline void WindowProperties::set_size(LVector2i const &size);
inline void WindowProperties::set_size(int x_size, int y_size);

770 8 get_size 0 4 1271 26 WindowProperties::get_size 0 1 121 328
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_origin
//       Access: Published
//  Description: Returns size in pixels of the useful part of the
//               window, not including decorations.
////////////////////////////////////////////////////////////////////
63
inline LVector2i const &WindowProperties::get_size(void) const;

771 10 get_x_size 0 4 1271 28 WindowProperties::get_x_size 0 1 122 401
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_x_size
//       Access: Published
//  Description: Returns size in pixels in the x dimension of the
//               useful part of the window, not including decorations.
//               That is, this is the window's width.
////////////////////////////////////////////////////////////////////
52
inline int WindowProperties::get_x_size(void) const;

772 10 get_y_size 0 4 1271 28 WindowProperties::get_y_size 0 1 123 402
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_y_size
//       Access: Published
//  Description: Returns size in pixels in the y dimension of the
//               useful part of the window, not including decorations.
//               That is, this is the window's height.
////////////////////////////////////////////////////////////////////
52
inline int WindowProperties::get_y_size(void) const;

773 8 has_size 0 4 1271 26 WindowProperties::has_size 0 1 124 311
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_size
//       Access: Published
//  Description: Returns true if the window size has been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
51
inline bool WindowProperties::has_size(void) const;

774 10 clear_size 0 4 1271 28 WindowProperties::clear_size 0 1 125 279
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_size
//       Access: Published
//  Description: Removes the size specification from the properties.
////////////////////////////////////////////////////////////////////
47
inline void WindowProperties::clear_size(void);

775 14 has_mouse_mode 0 4 1271 32 WindowProperties::has_mouse_mode 0 1 126 232
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_mouse_mode
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::has_mouse_mode(void) const;

776 14 set_mouse_mode 0 4 1271 32 WindowProperties::set_mouse_mode 0 1 127 1074
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_mouse_mode
//       Access: Published
//  Description: Specifies the mode in which the window is to operate
//               its mouse pointer.  The default is M_absolute, which
//               is the normal mode in which a mouse pointer operates;
//               but you can also set M_relative, which is
//               particularly useful for FPS-style mouse movements
//               where you have hidden the mouse pointer and are are
//               more interested in how fast the mouse is moving,
//               rather than precisely where the pointer is hovering.
//
//               This has no effect on Windows, which does not
//               have this concept; but is important to do on OSX
//               and Unix/X11 to properly enable a smooth FPS-style
//               mouselook mode.  On Unix/X11, this requires the
//               Xxf86dga extension to be available.
////////////////////////////////////////////////////////////////////
79
inline void WindowProperties::set_mouse_mode(WindowProperties::MouseMode mode);

777 14 get_mouse_mode 0 4 1271 32 WindowProperties::get_mouse_mode 0 1 128 253
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_mouse_mode
//       Access: Published
//  Description: See set_mouse_mode().
////////////////////////////////////////////////////////////////////
80
inline WindowProperties::MouseMode WindowProperties::get_mouse_mode(void) const;

778 16 clear_mouse_mode 0 4 1271 34 WindowProperties::clear_mouse_mode 0 1 129 291
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_mouse_mode
//       Access: Published
//  Description: Removes the mouse_mode specification from the properties.
////////////////////////////////////////////////////////////////////
53
inline void WindowProperties::clear_mouse_mode(void);

779 9 set_title 0 4 1271 27 WindowProperties::set_title 0 1 130 302
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_title
//       Access: Published
//  Description: Specifies the title that should be assigned to the
//               window.
////////////////////////////////////////////////////////////////////
75
inline void WindowProperties::set_title(basic_string< char > const &title);

780 9 get_title 0 4 1271 27 WindowProperties::get_title 0 1 131 254
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_title
//       Access: Published
//  Description: Returns the window's title.
////////////////////////////////////////////////////////////////////
75
inline basic_string< char > const &WindowProperties::get_title(void) const;

781 9 has_title 0 4 1271 27 WindowProperties::has_title 0 1 132 313
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_title
//       Access: Published
//  Description: Returns true if the window title has been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
52
inline bool WindowProperties::has_title(void) const;

782 11 clear_title 0 4 1271 29 WindowProperties::clear_title 0 1 133 281
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_title
//       Access: Published
//  Description: Removes the title specification from the properties.
////////////////////////////////////////////////////////////////////
48
inline void WindowProperties::clear_title(void);

783 15 set_undecorated 0 4 1271 33 WindowProperties::set_undecorated 0 1 134 381
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_undecorated
//       Access: Published
//  Description: Specifies whether the window should be created with a
//               visible title and border (false, the default) or not
//               (true).
////////////////////////////////////////////////////////////////////
64
inline void WindowProperties::set_undecorated(bool undecorated);

784 15 get_undecorated 0 4 1271 33 WindowProperties::get_undecorated 0 1 135 274
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_undecorated
//       Access: Published
//  Description: Returns true if the window has no border.
////////////////////////////////////////////////////////////////////
58
inline bool WindowProperties::get_undecorated(void) const;

785 15 has_undecorated 0 4 1271 33 WindowProperties::has_undecorated 0 1 136 286
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_undecorated
//       Access: Published
//  Description: Returns true if set_undecorated() has been specified.
////////////////////////////////////////////////////////////////////
58
inline bool WindowProperties::has_undecorated(void) const;

786 17 clear_undecorated 0 4 1271 35 WindowProperties::clear_undecorated 0 1 137 293
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_undecorated
//       Access: Published
//  Description: Removes the undecorated specification from the properties.
////////////////////////////////////////////////////////////////////
54
inline void WindowProperties::clear_undecorated(void);

787 14 set_fixed_size 0 4 1271 32 WindowProperties::set_fixed_size 0 1 138 310
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_fixed_size
//       Access: Published
//  Description: Specifies whether the window should be resizable by
//               the user.
////////////////////////////////////////////////////////////////////
62
inline void WindowProperties::set_fixed_size(bool fixed_size);

788 14 get_fixed_size 0 4 1271 32 WindowProperties::get_fixed_size 0 1 139 323
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_fixed_size
//       Access: Published
//  Description: Returns true if the window cannot be resized by the
//               user, false otherwise.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::get_fixed_size(void) const;

789 14 has_fixed_size 0 4 1271 32 WindowProperties::has_fixed_size 0 1 140 284
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_fixed_size
//       Access: Published
//  Description: Returns true if set_fixed_size() has been specified.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::has_fixed_size(void) const;

790 16 clear_fixed_size 0 4 1271 34 WindowProperties::clear_fixed_size 0 1 141 291
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_fixed_size
//       Access: Published
//  Description: Removes the fixed_size specification from the properties.
////////////////////////////////////////////////////////////////////
53
inline void WindowProperties::clear_fixed_size(void);

791 14 set_fullscreen 0 4 1271 32 WindowProperties::set_fullscreen 0 1 142 383
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_fullscreen
//       Access: Published
//  Description: Specifies whether the window should be opened in
//               fullscreen mode (true) or normal windowed mode
//               (false, the default).
////////////////////////////////////////////////////////////////////
62
inline void WindowProperties::set_fullscreen(bool fullscreen);

792 14 get_fullscreen 0 4 1271 32 WindowProperties::get_fullscreen 0 1 143 281
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_fullscreen
//       Access: Published
//  Description: Returns true if the window is in fullscreen mode.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::get_fullscreen(void) const;

793 14 has_fullscreen 0 4 1271 32 WindowProperties::has_fullscreen 0 1 144 284
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_fullscreen
//       Access: Published
//  Description: Returns true if set_fullscreen() has been specified.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::has_fullscreen(void) const;

794 16 clear_fullscreen 0 4 1271 34 WindowProperties::clear_fullscreen 0 1 145 291
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_fullscreen
//       Access: Published
//  Description: Removes the fullscreen specification from the properties.
////////////////////////////////////////////////////////////////////
53
inline void WindowProperties::clear_fullscreen(void);

795 14 set_foreground 0 4 1271 32 WindowProperties::set_foreground 0 1 146 372
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_foreground
//       Access: Published
//  Description: Specifies whether the window should be opened in
//               the foreground (true), or left in the background
//               (false).
////////////////////////////////////////////////////////////////////
62
inline void WindowProperties::set_foreground(bool foreground);

796 14 get_foreground 0 4 1271 32 WindowProperties::get_foreground 0 1 147 280
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_foreground
//       Access: Published
//  Description: Returns true if the window is in the foreground.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::get_foreground(void) const;

797 14 has_foreground 0 4 1271 32 WindowProperties::has_foreground 0 1 148 284
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_foreground
//       Access: Published
//  Description: Returns true if set_foreground() has been specified.
////////////////////////////////////////////////////////////////////
57
inline bool WindowProperties::has_foreground(void) const;

798 16 clear_foreground 0 4 1271 34 WindowProperties::clear_foreground 0 1 149 291
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_foreground
//       Access: Published
//  Description: Removes the foreground specification from the properties.
////////////////////////////////////////////////////////////////////
53
inline void WindowProperties::clear_foreground(void);

799 13 set_minimized 0 4 1271 31 WindowProperties::set_minimized 0 1 150 331
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_minimized
//       Access: Published
//  Description: Specifies whether the window should be created
//               minimized (true), or normal (false).
////////////////////////////////////////////////////////////////////
60
inline void WindowProperties::set_minimized(bool minimized);

800 13 get_minimized 0 4 1271 31 WindowProperties::get_minimized 0 1 151 271
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_minimized
//       Access: Published
//  Description: Returns true if the window is minimized.
////////////////////////////////////////////////////////////////////
56
inline bool WindowProperties::get_minimized(void) const;

801 13 has_minimized 0 4 1271 31 WindowProperties::has_minimized 0 1 152 282
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_minimized
//       Access: Published
//  Description: Returns true if set_minimized() has been specified.
////////////////////////////////////////////////////////////////////
56
inline bool WindowProperties::has_minimized(void) const;

802 15 clear_minimized 0 4 1271 33 WindowProperties::clear_minimized 0 1 153 289
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_minimized
//       Access: Published
//  Description: Removes the minimized specification from the properties.
////////////////////////////////////////////////////////////////////
52
inline void WindowProperties::clear_minimized(void);

803 12 set_raw_mice 0 4 1271 30 WindowProperties::set_raw_mice 0 1 154 310
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_raw_mice
//       Access: Published
//  Description: Specifies whether the window should read the raw
//               mouse devices.
////////////////////////////////////////////////////////////////////
58
inline void WindowProperties::set_raw_mice(bool raw_mice);

804 12 get_raw_mice 0 4 1271 30 WindowProperties::get_raw_mice 0 1 155 276
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_raw_mice
//       Access: Published
//  Description: Returns true if the window reads the raw mice.
////////////////////////////////////////////////////////////////////
55
inline bool WindowProperties::get_raw_mice(void) const;

805 12 has_raw_mice 0 4 1271 30 WindowProperties::has_raw_mice 0 1 156 280
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_raw_mice
//       Access: Published
//  Description: Returns true if set_raw_mice() has been specified.
////////////////////////////////////////////////////////////////////
55
inline bool WindowProperties::has_raw_mice(void) const;

806 14 clear_raw_mice 0 4 1271 32 WindowProperties::clear_raw_mice 0 1 157 287
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_raw_mice
//       Access: Published
//  Description: Removes the raw_mice specification from the properties.
////////////////////////////////////////////////////////////////////
51
inline void WindowProperties::clear_raw_mice(void);

807 8 set_open 0 4 1271 26 WindowProperties::set_open 0 1 158 417
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_open
//       Access: Published
//  Description: Specifies whether the window should be open.  It is
//               legal to create a GraphicsWindow in the closed state,
//               and later request it to open by changing this flag.
////////////////////////////////////////////////////////////////////
50
inline void WindowProperties::set_open(bool open);

808 8 get_open 0 4 1271 26 WindowProperties::get_open 0 1 159 261
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_open
//       Access: Published
//  Description: Returns true if the window is open.
////////////////////////////////////////////////////////////////////
51
inline bool WindowProperties::get_open(void) const;

809 8 has_open 0 4 1271 26 WindowProperties::has_open 0 1 160 272
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_open
//       Access: Published
//  Description: Returns true if set_open() has been specified.
////////////////////////////////////////////////////////////////////
51
inline bool WindowProperties::has_open(void) const;

810 10 clear_open 0 4 1271 28 WindowProperties::clear_open 0 1 161 279
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_open
//       Access: Published
//  Description: Removes the open specification from the properties.
////////////////////////////////////////////////////////////////////
47
inline void WindowProperties::clear_open(void);

811 17 set_cursor_hidden 0 4 1271 35 WindowProperties::set_cursor_hidden 0 1 162 288
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_cursor_hidden
//       Access: Published
//  Description: Specifies whether the mouse cursor should be visible.
////////////////////////////////////////////////////////////////////
68
inline void WindowProperties::set_cursor_hidden(bool cursor_hidden);

812 17 get_cursor_hidden 0 4 1271 35 WindowProperties::get_cursor_hidden 0 1 163 281
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_cursor_hidden
//       Access: Published
//  Description: Returns true if the mouse cursor is invisible.
////////////////////////////////////////////////////////////////////
60
inline bool WindowProperties::get_cursor_hidden(void) const;

813 17 has_cursor_hidden 0 4 1271 35 WindowProperties::has_cursor_hidden 0 1 164 290
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_cursor_hidden
//       Access: Published
//  Description: Returns true if set_cursor_hidden() has been specified.
////////////////////////////////////////////////////////////////////
60
inline bool WindowProperties::has_cursor_hidden(void) const;

814 19 clear_cursor_hidden 0 4 1271 37 WindowProperties::clear_cursor_hidden 0 1 165 297
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_cursor_hidden
//       Access: Published
//  Description: Removes the cursor_hidden specification from the properties.
////////////////////////////////////////////////////////////////////
56
inline void WindowProperties::clear_cursor_hidden(void);

815 17 set_icon_filename 0 4 1271 35 WindowProperties::set_icon_filename 0 1 166 344
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_icon_filename
//       Access: Published
//  Description: Specifies the file that contains the icon to
//               associate with the window when it is minimized.
////////////////////////////////////////////////////////////////////
79
inline void WindowProperties::set_icon_filename(Filename const &icon_filename);

816 17 get_icon_filename 0 4 1271 35 WindowProperties::get_icon_filename 0 1 167 288
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_icon_filename
//       Access: Published
//  Description: Returns the icon filename associated with the window.
////////////////////////////////////////////////////////////////////
71
inline Filename const &WindowProperties::get_icon_filename(void) const;

817 17 has_icon_filename 0 4 1271 35 WindowProperties::has_icon_filename 0 1 168 307
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_icon_filename
//       Access: Published
//  Description: Returns true if set_icon_filename() has been
//               specified.
////////////////////////////////////////////////////////////////////
60
inline bool WindowProperties::has_icon_filename(void) const;

818 19 clear_icon_filename 0 4 1271 37 WindowProperties::clear_icon_filename 0 1 169 314
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_icon_filename
//       Access: Published
//  Description: Removes the icon_filename specification from the
//               properties.
////////////////////////////////////////////////////////////////////
56
inline void WindowProperties::clear_icon_filename(void);

819 19 set_cursor_filename 0 4 1271 37 WindowProperties::set_cursor_filename 0 1 170 391
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_cursor_filename
//       Access: Published
//  Description: Specifies the file that contains the icon to
//               associate with the mouse cursor when it is within the
//               window (and visible).
////////////////////////////////////////////////////////////////////
83
inline void WindowProperties::set_cursor_filename(Filename const &cursor_filename);

820 19 get_cursor_filename 0 4 1271 37 WindowProperties::get_cursor_filename 0 1 171 313
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_cursor_filename
//       Access: Published
//  Description: Returns the icon filename associated with the mouse
//               cursor.
////////////////////////////////////////////////////////////////////
73
inline Filename const &WindowProperties::get_cursor_filename(void) const;

821 19 has_cursor_filename 0 4 1271 37 WindowProperties::has_cursor_filename 0 1 172 311
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_cursor_filename
//       Access: Published
//  Description: Returns true if set_cursor_filename() has been
//               specified.
////////////////////////////////////////////////////////////////////
62
inline bool WindowProperties::has_cursor_filename(void) const;

822 21 clear_cursor_filename 0 4 1271 39 WindowProperties::clear_cursor_filename 0 1 173 318
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_cursor_filename
//       Access: Published
//  Description: Removes the cursor_filename specification from the
//               properties.
////////////////////////////////////////////////////////////////////
58
inline void WindowProperties::clear_cursor_filename(void);

823 11 set_z_order 0 4 1271 29 WindowProperties::set_z_order 0 1 174 609
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_z_order
//       Access: Published
//  Description: Specifies the relative ordering of the window with
//               respect to other windows.  If the z_order is Z_top,
//               the window will always be on top of other windows; if
//               it is Z_bottom, it will always be below other
//               windows.  Most windows will want to be Z_normal,
//               which allows the user to control the order.
////////////////////////////////////////////////////////////////////
76
inline void WindowProperties::set_z_order(WindowProperties::ZOrder z_order);

824 11 get_z_order 0 4 1271 29 WindowProperties::get_z_order 0 1 175 258
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_z_order
//       Access: Published
//  Description: Returns the window's z_order.
////////////////////////////////////////////////////////////////////
74
inline WindowProperties::ZOrder WindowProperties::get_z_order(void) const;

825 11 has_z_order 0 4 1271 29 WindowProperties::has_z_order 0 1 176 317
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_z_order
//       Access: Published
//  Description: Returns true if the window z_order has been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
54
inline bool WindowProperties::has_z_order(void) const;

826 13 clear_z_order 0 4 1271 31 WindowProperties::clear_z_order 0 1 177 285
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_z_order
//       Access: Published
//  Description: Removes the z_order specification from the properties.
////////////////////////////////////////////////////////////////////
50
inline void WindowProperties::clear_z_order(void);

827 17 set_parent_window 0 4 1271 35 WindowProperties::set_parent_window 0 3 178 179 180 2086
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_parent_window
//       Access: Published
//  Description: Specifies the window that this window should be
//               attached to.  If this is NULL or unspecified, the
//               window will be created as a toplevel window on the
//               desktop; if this is non-NULL, the window will be
//               bound as a child window to the indicated parent
//               window.
//
//               You should use GraphicsPipe::make_window_handle() to
//               create an instance of a WindowHandle object given an
//               appropriate OS-specific window handle representation.
//               Each OS-specific GraphicsPipe class defines a
//               make_window_handle() method that returns an
//               appropriate WindowHandle object to wrap the
//               particular OS-specific representation.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_parent_window
//       Access: Published
//  Description: Specifies the window that this window should be
//               attached to.
//
//               This is a deprecated variant on this method, and
//               exists only for backward compatibility.  Future code
//               should use the version of set_parent_window() below
//               that receives a WindowHandle object; that interface
//               is much more robust.
//
//               In this deprecated variant, the actual value for
//               "parent" is platform-specific.  On Windows, it is the
//               HWND of the parent window, cast to an unsigned
//               integer.  On X11, it is the Window pointer of the
//               parent window, similarly cast.  On OSX, this is the
//               NSWindow pointer, which doesn't appear to work at
//               all.
////////////////////////////////////////////////////////////////////
156
void WindowProperties::set_parent_window(unsigned int parent);
inline void WindowProperties::set_parent_window(WindowHandle *parent_window = ((void *)(0)));

828 17 get_parent_window 0 4 1271 35 WindowProperties::get_parent_window 0 1 181 340
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_parent_window
//       Access: Published
//  Description: Returns the parent window specification, or NULL if
//               there is no parent window specified.
////////////////////////////////////////////////////////////////////
69
inline WindowHandle *WindowProperties::get_parent_window(void) const;

829 17 has_parent_window 0 4 1271 35 WindowProperties::has_parent_window 0 1 182 296
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_parent_window
//       Access: Published
//  Description: Checks the S_parent_window specification from the properties.
////////////////////////////////////////////////////////////////////
60
inline bool WindowProperties::has_parent_window(void) const;

830 19 clear_parent_window 0 4 1271 37 WindowProperties::clear_parent_window 0 1 183 299
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_parent_window
//       Access: Published
//  Description: Removes the S_parent_window specification from the properties.
////////////////////////////////////////////////////////////////////
56
inline void WindowProperties::clear_parent_window(void);

831 14 add_properties 0 4 1271 32 WindowProperties::add_properties 0 1 184 376
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::add_properties
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
////////////////////////////////////////////////////////////////////
69
void WindowProperties::add_properties(WindowProperties const &other);

832 6 output 0 4 1271 24 WindowProperties::output 0 1 185 368
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::output
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
////////////////////////////////////////////////////////////////////
50
void WindowProperties::output(ostream &out) const;

833 27 upcast_to_DisplayRegionBase 0 12 1274 42 DisplayRegion::upcast_to_DisplayRegionBase 0 1 248 46
upcast from DisplayRegion to DisplayRegionBase
68
DisplayRegionBase *DisplayRegion::upcast_to_DisplayRegionBase(void);

834 25 downcast_to_DisplayRegion 0 12 1275 44 DisplayRegionBase::downcast_to_DisplayRegion 0 1 249 48
downcast from DisplayRegionBase to DisplayRegion
66
DisplayRegion *DisplayRegionBase::downcast_to_DisplayRegion(void);

835 24 upcast_to_DrawableRegion 0 12 1274 39 DisplayRegion::upcast_to_DrawableRegion 0 1 250 43
upcast from DisplayRegion to DrawableRegion
62
DrawableRegion *DisplayRegion::upcast_to_DrawableRegion(void);

836 25 downcast_to_DisplayRegion 0 12 1267 41 DrawableRegion::downcast_to_DisplayRegion 0 1 251 45
downcast from DrawableRegion to DisplayRegion
63
DisplayRegion *DrawableRegion::downcast_to_DisplayRegion(void);

837 14 ~DisplayRegion 0 6 1274 29 DisplayRegion::~DisplayRegion 0 0 230
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::Destructor
//       Access: Public, Virtual
//  Description:
////////////////////////////////////////////////////////////////////
44
virtual DisplayRegion::~DisplayRegion(void);

838 15 get_num_regions 0 4 1274 30 DisplayRegion::get_num_regions 0 1 186 280
///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_num_regions
//       Access: Published
//  Description: Returns the number of regions, see set_num_regions.
////////////////////////////////////////////////////////////////////
54
inline int DisplayRegion::get_num_regions(void) const;

839 15 set_num_regions 0 4 1274 30 DisplayRegion::set_num_regions 0 1 187 607
///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_num_regions
//       Access: Published
//  Description: Sets the number of regions that this DisplayRegion
//               indicates.  Usually, this number is 1 (and it is
//               always at least 1), and only the first is used for
//               rendering.  However, if more than one is provided,
//               you may select which one to render into using a
//               geometry shader (gl_ViewportIndex in GLSL).
////////////////////////////////////////////////////////////////////
50
inline void DisplayRegion::set_num_regions(int i);

840 14 get_dimensions 0 4 1274 29 DisplayRegion::get_dimensions 0 2 188 189 1177
///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_dimensions
//       Access: Published
//  Description: Retrieves the coordinates of the DisplayRegion's
//               rectangle within its GraphicsOutput.  These numbers
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_dimensions
//       Access: Published
//  Description: Retrieves the coordinates of the DisplayRegion's
//               rectangle within its GraphicsOutput.  These numbers
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_dimensions
//       Access: Published
//  Description: Retrieves the coordinates of the DisplayRegion's
//               rectangle within its GraphicsOutput.  These numbers
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////
252
inline void DisplayRegion::get_dimensions(float &l, float &r, float &b, float &t) const;
inline void DisplayRegion::get_dimensions(int i, float &l, float &r, float &b, float &t) const;
inline LVecBase4f DisplayRegion::get_dimensions(int i = (0)) const;

841 8 get_left 0 4 1274 23 DisplayRegion::get_left 0 2 190 191 386
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_left
//       Access: Published
//  Description: Retrieves the x coordinate of the left edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////
56
inline float DisplayRegion::get_left(int i = (0)) const;

842 9 get_right 0 4 1274 24 DisplayRegion::get_right 0 2 192 193 388
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_right
//       Access: Published
//  Description: Retrieves the x coordinate of the right edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////
57
inline float DisplayRegion::get_right(int i = (0)) const;

843 10 get_bottom 0 4 1274 25 DisplayRegion::get_bottom 0 2 194 195 392
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_bottom
//       Access: Published
//  Description: Retrieves the y coordinate of the bottom edge of 
//               the rectangle within its GraphicsOutput.  This 
//               number will be in the range [0..1].
////////////////////////////////////////////////////////////////////
58
inline float DisplayRegion::get_bottom(int i = (0)) const;

844 7 get_top 0 4 1274 22 DisplayRegion::get_top 0 2 196 197 384
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_top
//       Access: Published
//  Description: Retrieves the y coordinate of the top edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
////////////////////////////////////////////////////////////////////
55
inline float DisplayRegion::get_top(int i = (0)) const;

845 14 set_dimensions 0 4 1274 29 DisplayRegion::set_dimensions 0 4 198 199 200 201 2082
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
////////////////////////////////////////////////////////////////////
318
inline void DisplayRegion::set_dimensions(float l, float r, float b, float t);
inline void DisplayRegion::set_dimensions(int i, float l, float r, float b, float t);
inline void DisplayRegion::set_dimensions(LVecBase4f const &dimensions);
virtual void DisplayRegion::set_dimensions(int i, LVecBase4f const &dimensions);

846 10 get_window 0 4 1274 25 DisplayRegion::get_window 0 1 202 376
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_window
//       Access: Published
//  Description: Returns the GraphicsOutput that this DisplayRegion is
//               ultimately associated with, or NULL if no window is
//               associated.
////////////////////////////////////////////////////////////////////
61
inline GraphicsOutput *DisplayRegion::get_window(void) const;

847 8 get_pipe 0 4 1274 23 DisplayRegion::get_pipe 0 1 203 370
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this DisplayRegion is
//               ultimately associated with, or NULL if no pipe is
//               associated.
////////////////////////////////////////////////////////////////////
50
GraphicsPipe *DisplayRegion::get_pipe(void) const;

848 9 is_stereo 0 6 1274 24 DisplayRegion::is_stereo 0 1 204 313
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::is_stereo
//       Access: Published, Virtual
//  Description: Returns true if this is a StereoDisplayRegion, false
//               otherwise.
////////////////////////////////////////////////////////////////////
50
virtual bool DisplayRegion::is_stereo(void) const;

849 10 set_camera 0 6 1274 25 DisplayRegion::set_camera 0 1 205 669
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_camera
//       Access: Published, Virtual
//  Description: Sets the camera that is associated with this
//               DisplayRegion.  There is a one-to-many association
//               between cameras and DisplayRegions; one camera may be
//               shared by multiple DisplayRegions.
//
//               The camera is actually set via a NodePath, which
//               clarifies which instance of the camera (if there
//               happen to be multiple instances) we should use.
////////////////////////////////////////////////////////////////////
63
virtual void DisplayRegion::set_camera(NodePath const &camera);

850 10 get_camera 0 4 1274 25 DisplayRegion::get_camera 0 2 206 207 362
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_camera
//       Access: Published
//  Description: Returns the camera associated with this
//               DisplayRegion, or an empty NodePath if no camera is
//               associated.
////////////////////////////////////////////////////////////////////
99
inline NodePath DisplayRegion::get_camera(Thread *current_thread = ((get_current_thread()))) const;

851 10 set_active 0 6 1274 25 DisplayRegion::set_active 0 1 208 386
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_active
//       Access: Published, Virtual
//  Description: Sets the active flag associated with the
//               DisplayRegion.  If the DisplayRegion is marked
//               inactive, nothing is rendered.
////////////////////////////////////////////////////////////////////
52
virtual void DisplayRegion::set_active(bool active);

852 9 is_active 0 4 1274 24 DisplayRegion::is_active 0 1 209 299
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::is_active
//       Access: Published
//  Description: Returns the active flag associated with the
//               DisplayRegion.
////////////////////////////////////////////////////////////////////
49
inline bool DisplayRegion::is_active(void) const;

853 8 set_sort 0 6 1274 23 DisplayRegion::set_sort 0 1 210 439
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_sort
//       Access: Published, Virtual
//  Description: Sets the sort value associated with the
//               DisplayRegion.  Within a window, DisplayRegions will
//               be rendered in order from the lowest sort value to
//               the highest.
////////////////////////////////////////////////////////////////////
47
virtual void DisplayRegion::set_sort(int sort);

854 8 get_sort 0 4 1274 23 DisplayRegion::get_sort 0 1 211 297
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_sort
//       Access: Published
//  Description: Returns the sort value associated with the
//               DisplayRegion.
////////////////////////////////////////////////////////////////////
47
inline int DisplayRegion::get_sort(void) const;

855 18 set_stereo_channel 0 6 1274 33 DisplayRegion::set_stereo_channel 0 1 212 1825
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_stereo_channel
//       Access: Published, Virtual
//  Description: Specifies whether the DisplayRegion represents the
//               left or right channel of a stereo pair, or whether it
//               is a normal, monocular image.  This automatically
//               adjusts the lens that is used to render to this
//               DisplayRegion to its left or right eye, according to
//               the lens's stereo properties.
//
//               When the DisplayRegion is attached to a stereo window
//               (one for which is_stereo() returns true), this also
//               specifies which physical channel the DisplayRegion
//               renders to.
//
//               Normally you would create at least two DisplayRegions
//               for a stereo window, one for each of the left and
//               right channels.  The two DisplayRegions may share the
//               same camera (and thus the same lens); this parameter
//               is used to control the exact properties of the lens
//               when it is used to render into this DisplayRegion.
//
//               Also see the StereoDisplayRegion, which automates
//               managing a pair of left/right DisplayRegions.
//
//               An ordinary DisplayRegion may be set to SC_mono,
//               SC_left, or SC_right.  You may set SC_stereo only on
//               a StereoDisplayRegion.
//
//               This call also resets tex_view_offset to its default
//               value, which is 0 for the left eye or 1 for the right
//               eye of a stereo display region, or 0 for a mono
//               display region.
////////////////////////////////////////////////////////////////////
83
virtual void DisplayRegion::set_stereo_channel(Lens::StereoChannel stereo_channel);

856 18 get_stereo_channel 0 4 1274 33 DisplayRegion::get_stereo_channel 0 1 213 448
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_stereo_channel
//       Access: Published
//  Description: Returns whether the DisplayRegion is specified as the
//               left or right channel of a stereo pair, or whether it
//               is a normal, monocular image.  See
//               set_stereo_channel().
////////////////////////////////////////////////////////////////////
73
inline Lens::StereoChannel DisplayRegion::get_stereo_channel(void) const;

857 19 set_tex_view_offset 0 6 1274 34 DisplayRegion::set_tex_view_offset 0 1 214 776
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_tex_view_offset
//       Access: Published, Virtual
//  Description: Sets the current texture view offset for this
//               DisplayRegion.  This is normally set to zero.  If
//               nonzero, it is used to select a particular view of
//               any multiview textures that are rendered within this
//               DisplayRegion.
//
//               For a StereoDisplayRegion, this is normally 0 for the
//               left eye, and 1 for the right eye, to support stereo
//               textures.  This is set automatically when you call
//               set_stereo_channel().
////////////////////////////////////////////////////////////////////
69
virtual void DisplayRegion::set_tex_view_offset(int tex_view_offset);

858 19 get_tex_view_offset 0 4 1274 34 DisplayRegion::get_tex_view_offset 0 1 215 687
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_tex_view_offset
//       Access: Public
//  Description: Returns the current texture view offset for this
//               DisplayRegion.  This is normally set to zero.  If
//               nonzero, it is used to select a particular view of
//               any multiview textures that are rendered within this
//               DisplayRegion.
//
//               For a StereoDisplayRegion, this is normally 0 for the
//               left eye, and 1 for the right eye, to support stereo
//               textures.
////////////////////////////////////////////////////////////////////
58
inline int DisplayRegion::get_tex_view_offset(void) const;

859 21 set_incomplete_render 0 6 1274 36 DisplayRegion::set_incomplete_render 0 1 216 949
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_incomplete_render
//       Access: Published, Virtual
//  Description: Sets the incomplete_render flag.  When this is
//               true, the frame will be rendered even if some of the
//               geometry or textures in the scene are not available
//               (e.g. they have been temporarily paged out).  When
//               this is false, the frame will be held up while this
//               data is reloaded.
//
//               This flag may also be set on the
//               GraphicsStateGuardian.  It will be considered true
//               for a given DisplayRegion only if it is true on both
//               the GSG and on the DisplayRegion.
//
//               See GraphicsStateGuardian::set_incomplete_render()
//               for more detail.
////////////////////////////////////////////////////////////////////
74
virtual void DisplayRegion::set_incomplete_render(bool incomplete_render);

860 21 get_incomplete_render 0 4 1274 36 DisplayRegion::get_incomplete_render 0 1 217 318
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_incomplete_render
//       Access: Published
//  Description: Returns the incomplete_render flag.  See
//               set_incomplete_render().
////////////////////////////////////////////////////////////////////
61
inline bool DisplayRegion::get_incomplete_render(void) const;

861 27 set_texture_reload_priority 0 6 1274 42 DisplayRegion::set_texture_reload_priority 0 1 218 988
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_texture_reload_priority
//       Access: Published, Virtual
//  Description: Specifies an integer priority which is assigned to
//               any asynchronous texture reload requests spawned
//               while processing this DisplayRegion.  This controls
//               which textures are loaded first when multiple
//               textures need to be reloaded at once; it also
//               controls the relative priority between asynchronous
//               texture loads and asynchronous model or animation
//               loads.
//
//               Specifying a larger number here makes the textures
//               rendered by this DisplayRegion load up first.  This
//               may be particularly useful to do, for instance, for
//               the DisplayRegion that renders the gui.
////////////////////////////////////////////////////////////////////
85
virtual void DisplayRegion::set_texture_reload_priority(int texture_reload_priority);

862 27 get_texture_reload_priority 0 4 1274 42 DisplayRegion::get_texture_reload_priority 0 1 219 391
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_texture_reload_priority
//       Access: Published
//  Description: Returns the priority which is assigned to
//               asynchronous texture reload requests.  See
//               set_texture_reload_priority().
////////////////////////////////////////////////////////////////////
66
inline int DisplayRegion::get_texture_reload_priority(void) const;

863 14 set_lens_index 0 4 1274 29 DisplayRegion::set_lens_index 0 1 220 443
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_lens_index
//       Access: Published
//  Description: Sets the lens index, allows for multiple lenses to
//               be attached to a camera.  This is useful for a 
//               variety of setups, such as fish eye rendering.
//               The default is 0.
////////////////////////////////////////////////////////////////////
46
void DisplayRegion::set_lens_index(int index);

864 14 get_lens_index 0 4 1274 29 DisplayRegion::get_lens_index 0 1 221 479
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_lens_index
//       Access: Public
//  Description: Returns the specific lens of the associated Camera
//               that will be used for rendering this scene.  Most
//               Cameras hold only one lens, but for multiple lenses
//               this method may be used to selected between them.
////////////////////////////////////////////////////////////////////
53
inline int DisplayRegion::get_lens_index(void) const;

865 18 set_cull_traverser 0 6 1274 33 DisplayRegion::set_cull_traverser 0 1 222 494
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cull_traverser
//       Access: Published, Virtual
//  Description: Specifies the CullTraverser that will be used to draw
//               the contents of this DisplayRegion.  Normally the
//               default CullTraverser is sufficient, but this may be
//               changed to change the default cull behavior.
////////////////////////////////////////////////////////////////////
68
virtual void DisplayRegion::set_cull_traverser(CullTraverser *trav);

866 18 get_cull_traverser 0 4 1274 33 DisplayRegion::get_cull_traverser 0 1 223 337
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_cull_traverser
//       Access: Published
//  Description: Returns the CullTraverser that will be used to draw
//               the contents of this DisplayRegion.
////////////////////////////////////////////////////////////////////
55
CullTraverser *DisplayRegion::get_cull_traverser(void);

867 18 set_cube_map_index 0 4 1274 33 DisplayRegion::set_cube_map_index 0 1 224 279
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cube_map_index
//       Access: Published
//  Description: Deprecated; replaced by set_target_tex_page().
////////////////////////////////////////////////////////////////////
66
inline void DisplayRegion::set_cube_map_index(int cube_map_index);

868 19 set_target_tex_page 0 6 1274 34 DisplayRegion::set_target_tex_page 0 1 225 909
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_target_tex_page
//       Access: Published, Virtual
//  Description: This is a special parameter that is only used when
//               rendering the faces of a cube map or multipage and/or
//               multiview texture.  
//
//               This sets up the DisplayRegion to render to the ith
//               page and jth view of its associated texture(s); the
//               value must be consistent with the range of values
//               availble to the texture.  A normal DisplayRegion that
//               is not associated with any particular page should be
//               set to page -1 and view 0.
//
//               This is particularly useful when rendering cube maps
//               and/or stereo textures.
////////////////////////////////////////////////////////////////////
58
virtual void DisplayRegion::set_target_tex_page(int page);

869 19 get_target_tex_page 0 4 1274 34 DisplayRegion::get_target_tex_page 0 1 226 433
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_target_tex_page
//       Access: Published
//  Description: Returns the target page number associated with this
//               particular DisplayRegion, or -1 if it is not
//               associated with a page.  See
//               set_target_tex_page().
////////////////////////////////////////////////////////////////////
58
inline int DisplayRegion::get_target_tex_page(void) const;

870 17 set_cull_callback 0 4 1274 32 DisplayRegion::set_cull_callback 0 1 227 1597
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cull_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               the DisplayRegion is visited during the cull
//               traversal.  This callback will be made during the
//               cull thread.
//
//               The cull traversal is responsible for determining
//               which nodes are visible and within the view frustum,
//               and for accumulating state and transform, and
//               generally building up the list of CullableObjects
//               that are to be eventually passed to the draw
//               traversal for rendering.
//
//               At the time the cull traversal callback is made, the
//               traversal for this DisplayRegion has not yet started.
//
//               The callback is passed an instance of a
//               DisplayRegionCullCallbackData, which contains
//               pointers to the current scene information, as well as
//               the current DisplayRegion and GSG.  The callback
//               *replaces* the normal cull behavior, so if your
//               callback does nothing, the scene graph will not be
//               traversed and therefore nothing will be drawn.  If
//               you wish the normal cull traversal to be performed
//               for this DisplayRegion, you must call
//               cbdata->upcall() from your callback.
////////////////////////////////////////////////////////////////////
69
inline void DisplayRegion::set_cull_callback(CallbackObject *object);

871 19 clear_cull_callback 0 4 1274 34 DisplayRegion::clear_cull_callback 0 1 228 318
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::clear_cull_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_cull_callback().
////////////////////////////////////////////////////////////////////
53
inline void DisplayRegion::clear_cull_callback(void);

872 17 get_cull_callback 0 4 1274 32 DisplayRegion::get_cull_callback 0 1 229 286
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_cull_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_cull_callback().
////////////////////////////////////////////////////////////////////
68
inline CallbackObject *DisplayRegion::get_cull_callback(void) const;

873 17 set_draw_callback 0 4 1274 32 DisplayRegion::set_draw_callback 0 1 230 1951
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_draw_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               the contents of DisplayRegion is drawn during the
//               draw traversal.  This callback will be made during
//               the draw thread.
//
//               The draw traversal is responsible for actually
//               issuing the commands to the graphics engine to draw
//               primitives.  Its job is to walk through the list of
//               CullableObjects build up by the cull traversal, as
//               quickly as possible, issuing the appropriate commands
//               to draw each one.
//
//               At the time the draw traversal callback is made, the
//               graphics state is in the initial state, and no
//               projection matrix or modelview matrix is in effect.
//               begin_scene() has not yet been called, and no objects
//               have yet been drawn.  However, the viewport has
//               already been set to the appropriate part of the
//               window, and the clear commands for this DisplayRegion
//               (if any) have been issued.
//
//               The callback is passed an instance of a
//               DisplayRegionDrawCallbackData, which contains
//               pointers to the current scene information, as well as
//               the current DisplayRegion and GSG.  The callback
//               *replaces* the normal draw behavior, so if your
//               callback does nothing, nothing in the DisplayRegion
//               will be drawn.  If you wish the draw traversal to
//               continue to draw the contents of this DisplayRegion,
//               you must call cbdata->upcall() from your callback.
////////////////////////////////////////////////////////////////////
69
inline void DisplayRegion::set_draw_callback(CallbackObject *object);

874 19 clear_draw_callback 0 4 1274 34 DisplayRegion::clear_draw_callback 0 1 231 318
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::clear_draw_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_draw_callback().
////////////////////////////////////////////////////////////////////
53
inline void DisplayRegion::clear_draw_callback(void);

875 17 get_draw_callback 0 4 1274 32 DisplayRegion::get_draw_callback 0 1 232 286
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_draw_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_draw_callback().
////////////////////////////////////////////////////////////////////
68
inline CallbackObject *DisplayRegion::get_draw_callback(void) const;

876 15 get_pixel_width 0 4 1274 30 DisplayRegion::get_pixel_width 0 2 233 234 279
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_width
//       Access: Published
//  Description: Returns the width of the DisplayRegion in pixels.
////////////////////////////////////////////////////////////////////
61
inline int DisplayRegion::get_pixel_width(int i = (0)) const;

877 16 get_pixel_height 0 4 1274 31 DisplayRegion::get_pixel_height 0 2 235 236 281
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_height
//       Access: Published
//  Description: Returns the height of the DisplayRegion in pixels.
////////////////////////////////////////////////////////////////////
62
inline int DisplayRegion::get_pixel_height(int i = (0)) const;

878 6 output 0 6 1274 21 DisplayRegion::output 0 1 237 229
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::output
//       Access: Published, Virtual
//  Description:
////////////////////////////////////////////////////////////////////
55
virtual void DisplayRegion::output(ostream &out) const;

879 24 make_screenshot_filename 0 4 1274 39 DisplayRegion::make_screenshot_filename 0 2 238 239 757
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::make_screenshot_filename
//       Access: Published, Static
//  Description: Synthesizes a suitable default filename for passing
//               to save_screenshot().
//
//               The default filename is generated from the supplied
//               prefix and from the Config variable
//               screenshot-filename, which contains the following
//               strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
////////////////////////////////////////////////////////////////////
109
static Filename DisplayRegion::make_screenshot_filename(basic_string< char > const &prefix = ("screenshot"));

880 23 save_screenshot_default 0 4 1274 38 DisplayRegion::save_screenshot_default 0 2 240 241 470
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
////////////////////////////////////////////////////////////////////
101
Filename DisplayRegion::save_screenshot_default(basic_string< char > const &prefix = ("screenshot"));

881 15 save_screenshot 0 4 1274 30 DisplayRegion::save_screenshot 0 2 242 243 350
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  Returns true on success, false on failure.
////////////////////////////////////////////////////////////////////
112
bool DisplayRegion::save_screenshot(Filename const &filename, basic_string< char > const &image_comment = (""));

882 14 get_screenshot 0 4 1274 29 DisplayRegion::get_screenshot 0 2 244 245 774
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer into the indicated PNMImage.  Returns
//               true on success, false on failure.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer and returns it as a Texture, or NULL
//               on failure.
////////////////////////////////////////////////////////////////////
110
bool DisplayRegion::get_screenshot(PNMImage &image);
PointerTo< Texture > DisplayRegion::get_screenshot(void);

883 22 make_cull_result_graph 0 6 1274 37 DisplayRegion::make_cull_result_graph 0 1 246 1131
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::make_cull_result_graph
//       Access: Published
//  Description: Returns a special scene graph constructed to
//               represent the results of the last frame's cull
//               operation.
//
//               This will be a hierarchy of nodes, one node for each
//               bin, each of which will in term be a parent of a
//               number of GeomNodes, representing the geometry drawn
//               in each bin.
//
//               This is useful mainly for high-level debugging and
//               abstraction tools; it should not be mistaken for the
//               low-level cull result itself, which is constructed
//               and maintained internally.  No such scene graph is
//               normally constructed during the rendering of a frame;
//               this is an artificial construct created for the
//               purpose of making it easy to analyze the results of
//               the cull operation.
////////////////////////////////////////////////////////////////////
75
virtual PointerTo< PandaNode > DisplayRegion::make_cull_result_graph(void);

884 14 get_class_type 0 4 1274 29 DisplayRegion::get_class_type 0 1 247 0
54
static TypeHandle DisplayRegion::get_class_type(void);

885 12 get_left_eye 0 4 1276 33 StereoDisplayRegion::get_left_eye 0 1 252 819
// Filename: stereoDisplayRegion.I
// Created by:  drose (19Feb09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: StereoDisplayRegion::get_left_eye
//       Access: Published
//  Description: Returns a pointer to the left DisplayRegion managed
//               by this stereo object.
////////////////////////////////////////////////////////////////////
62
inline DisplayRegion *StereoDisplayRegion::get_left_eye(void);

886 13 get_right_eye 0 4 1276 34 StereoDisplayRegion::get_right_eye 0 1 253 326
////////////////////////////////////////////////////////////////////
//     Function: StereoDisplayRegion::get_right_eye
//       Access: Published
//  Description: Returns a pointer to the right DisplayRegion managed
//               by this stereo object.
////////////////////////////////////////////////////////////////////
63
inline DisplayRegion *StereoDisplayRegion::get_right_eye(void);

887 14 get_class_type 0 4 1276 35 StereoDisplayRegion::get_class_type 0 1 254 0
60
static TypeHandle StereoDisplayRegion::get_class_type(void);

888 14 get_depth_bits 0 4 1277 37 FrameBufferProperties::get_depth_bits 0 1 257 261
// Individual queries.

////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_depth_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline int FrameBufferProperties::get_depth_bits(void) const;

889 14 get_color_bits 0 4 1277 37 FrameBufferProperties::get_color_bits 0 1 258 261
// Individual queries.

////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_color_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline int FrameBufferProperties::get_color_bits(void) const;

890 14 get_alpha_bits 0 4 1277 37 FrameBufferProperties::get_alpha_bits 0 1 259 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_alpha_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline int FrameBufferProperties::get_alpha_bits(void) const;

891 16 get_stencil_bits 0 4 1277 39 FrameBufferProperties::get_stencil_bits 0 1 260 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_stencil_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline int FrameBufferProperties::get_stencil_bits(void) const;

892 14 get_accum_bits 0 4 1277 37 FrameBufferProperties::get_accum_bits 0 1 261 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_accum_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline int FrameBufferProperties::get_accum_bits(void) const;

893 12 get_aux_rgba 0 4 1277 35 FrameBufferProperties::get_aux_rgba 0 1 262 235
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_rgba
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline int FrameBufferProperties::get_aux_rgba(void) const;

894 13 get_aux_hrgba 0 4 1277 36 FrameBufferProperties::get_aux_hrgba 0 1 263 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_hrgba
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
60
inline int FrameBufferProperties::get_aux_hrgba(void) const;

895 13 get_aux_float 0 4 1277 36 FrameBufferProperties::get_aux_float 0 1 264 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_float
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
60
inline int FrameBufferProperties::get_aux_float(void) const;

896 16 get_multisamples 0 4 1277 39 FrameBufferProperties::get_multisamples 0 1 265 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_multisamples
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline int FrameBufferProperties::get_multisamples(void) const;

897 20 get_coverage_samples 0 4 1277 43 FrameBufferProperties::get_coverage_samples 0 1 266 356
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_coverage_samples
//       Access: Published
//  Description: If coverage samples are specified, and there is
//               hardware support, we use coverage multisampling.
////////////////////////////////////////////////////////////////////
67
inline int FrameBufferProperties::get_coverage_samples(void) const;

898 16 get_back_buffers 0 4 1277 39 FrameBufferProperties::get_back_buffers 0 1 267 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_back_buffers
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline int FrameBufferProperties::get_back_buffers(void) const;

899 17 get_indexed_color 0 4 1277 40 FrameBufferProperties::get_indexed_color 0 1 268 240
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_indexed_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
65
inline bool FrameBufferProperties::get_indexed_color(void) const;

900 13 get_rgb_color 0 4 1277 36 FrameBufferProperties::get_rgb_color 0 1 269 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_rgb_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline bool FrameBufferProperties::get_rgb_color(void) const;

901 10 get_stereo 0 4 1277 33 FrameBufferProperties::get_stereo 0 1 270 233
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_stereo
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
58
inline bool FrameBufferProperties::get_stereo(void) const;

902 18 get_force_hardware 0 4 1277 41 FrameBufferProperties::get_force_hardware 0 1 271 241
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_force_hardware
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
66
inline bool FrameBufferProperties::get_force_hardware(void) const;

903 18 get_force_software 0 4 1277 41 FrameBufferProperties::get_force_software 0 1 272 241
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_force_software
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
66
inline bool FrameBufferProperties::get_force_software(void) const;

904 14 get_srgb_color 0 4 1277 37 FrameBufferProperties::get_srgb_color 0 1 273 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_srgb_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
62
inline bool FrameBufferProperties::get_srgb_color(void) const;

905 15 get_float_color 0 4 1277 38 FrameBufferProperties::get_float_color 0 1 274 238
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_float_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline bool FrameBufferProperties::get_float_color(void) const;

906 15 get_float_depth 0 4 1277 38 FrameBufferProperties::get_float_depth 0 1 275 238
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_float_depth
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline bool FrameBufferProperties::get_float_depth(void) const;

907 14 set_depth_bits 0 4 1277 37 FrameBufferProperties::set_depth_bits 0 1 276 263
// Individual assigners.

////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_depth_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline void FrameBufferProperties::set_depth_bits(int n);

908 14 set_color_bits 0 4 1277 37 FrameBufferProperties::set_color_bits 0 1 277 263
// Individual assigners.

////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_color_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline void FrameBufferProperties::set_color_bits(int n);

909 14 set_alpha_bits 0 4 1277 37 FrameBufferProperties::set_alpha_bits 0 1 278 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_alpha_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline void FrameBufferProperties::set_alpha_bits(int n);

910 16 set_stencil_bits 0 4 1277 39 FrameBufferProperties::set_stencil_bits 0 1 279 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_stencil_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline void FrameBufferProperties::set_stencil_bits(int n);

911 14 set_accum_bits 0 4 1277 37 FrameBufferProperties::set_accum_bits 0 1 280 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_accum_bits
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline void FrameBufferProperties::set_accum_bits(int n);

912 12 set_aux_rgba 0 4 1277 35 FrameBufferProperties::set_aux_rgba 0 1 281 235
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_rgba
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
55
inline void FrameBufferProperties::set_aux_rgba(int n);

913 13 set_aux_hrgba 0 4 1277 36 FrameBufferProperties::set_aux_hrgba 0 1 282 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_hrgba
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
inline void FrameBufferProperties::set_aux_hrgba(int n);

914 13 set_aux_float 0 4 1277 36 FrameBufferProperties::set_aux_float 0 1 283 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_float
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
inline void FrameBufferProperties::set_aux_float(int n);

915 16 set_multisamples 0 4 1277 39 FrameBufferProperties::set_multisamples 0 1 284 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_multisamples
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline void FrameBufferProperties::set_multisamples(int n);

916 20 set_coverage_samples 0 4 1277 43 FrameBufferProperties::set_coverage_samples 0 1 285 355
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_coverage_samples
//       Access: Published
//  Description: If coverage samples are specified, and there is
//               hardware support, we use coverage multisampling
////////////////////////////////////////////////////////////////////
63
inline void FrameBufferProperties::set_coverage_samples(int n);

917 16 set_back_buffers 0 4 1277 39 FrameBufferProperties::set_back_buffers 0 1 286 239
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_back_buffers
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline void FrameBufferProperties::set_back_buffers(int n);

918 17 set_indexed_color 0 4 1277 40 FrameBufferProperties::set_indexed_color 0 1 287 240
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_indexed_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
61
inline void FrameBufferProperties::set_indexed_color(bool n);

919 13 set_rgb_color 0 4 1277 36 FrameBufferProperties::set_rgb_color 0 1 288 236
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_rgb_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
57
inline void FrameBufferProperties::set_rgb_color(bool n);

920 10 set_stereo 0 4 1277 33 FrameBufferProperties::set_stereo 0 1 289 233
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_stereo
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
54
inline void FrameBufferProperties::set_stereo(bool n);

921 18 set_force_hardware 0 4 1277 41 FrameBufferProperties::set_force_hardware 0 1 290 241
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_force_hardware
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
62
inline void FrameBufferProperties::set_force_hardware(bool n);

922 18 set_force_software 0 4 1277 41 FrameBufferProperties::set_force_software 0 1 291 241
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_force_software
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
62
inline void FrameBufferProperties::set_force_software(bool n);

923 14 set_srgb_color 0 4 1277 37 FrameBufferProperties::set_srgb_color 0 1 292 237
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_srgb_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
58
inline void FrameBufferProperties::set_srgb_color(bool n);

924 15 set_float_color 0 4 1277 38 FrameBufferProperties::set_float_color 0 1 293 238
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_float_color
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline void FrameBufferProperties::set_float_color(bool n);

925 15 set_float_depth 0 4 1277 38 FrameBufferProperties::set_float_depth 0 1 294 238
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_float_depth
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
59
inline void FrameBufferProperties::set_float_depth(bool n);

926 21 FrameBufferProperties 0 4 1277 44 FrameBufferProperties::FrameBufferProperties 0 2 255 256 981
// Other.

// Filename: frameBufferProperties.I
// Created by:  drose (27Jan03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Copy Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Constructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
139
FrameBufferProperties::FrameBufferProperties(void);
inline FrameBufferProperties::FrameBufferProperties(FrameBufferProperties const &copy);

927 22 ~FrameBufferProperties 0 4 1277 45 FrameBufferProperties::~FrameBufferProperties 0 0 232
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Destructor
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
59
inline FrameBufferProperties::~FrameBufferProperties(void);

928 10 operator = 0 4 1277 33 FrameBufferProperties::operator = 0 1 295 246
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Copy Assignment Operator
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
74
void FrameBufferProperties::operator =(FrameBufferProperties const &copy);

929 11 get_default 0 4 1277 34 FrameBufferProperties::get_default 0 1 296 395
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_default
//       Access: Published, Static
//  Description: Returns a FrameBufferProperties structure with all of
//               the default values filled in according to the user's
//               config file.
////////////////////////////////////////////////////////////////////
77
static FrameBufferProperties const &FrameBufferProperties::get_default(void);

930 11 operator == 0 4 1277 34 FrameBufferProperties::operator == 0 1 297 234
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::operator == 
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
82
bool FrameBufferProperties::operator ==(FrameBufferProperties const &other) const;

931 11 operator != 0 4 1277 34 FrameBufferProperties::operator != 0 1 298 233
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::operator !=
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
89
inline bool FrameBufferProperties::operator !=(FrameBufferProperties const &other) const;

932 5 clear 0 4 1277 28 FrameBufferProperties::clear 0 1 299 391
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::clear
//       Access: Published
//  Description: Unsets all properties that have been specified so
//               far, and resets the FrameBufferProperties structure to its
//               initial empty state.
////////////////////////////////////////////////////////////////////
40
void FrameBufferProperties::clear(void);

933 17 set_all_specified 0 4 1277 40 FrameBufferProperties::set_all_specified 0 1 300 268
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_all_specified
//       Access: Published
//  Description: sets all the specified bits.
////////////////////////////////////////////////////////////////////
52
void FrameBufferProperties::set_all_specified(void);

934 8 subsumes 0 4 1277 31 FrameBufferProperties::subsumes 0 1 301 405
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::subsumes
//       Access: Public
//  Description: Returns true if this set of properties makes
//               strictly greater or equal demands of the framebuffer
//               than the other set of framebuffer properties.
////////////////////////////////////////////////////////////////////
79
bool FrameBufferProperties::subsumes(FrameBufferProperties const &other) const;

935 14 add_properties 0 4 1277 37 FrameBufferProperties::add_properties 0 1 302 381
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::add_properties
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
////////////////////////////////////////////////////////////////////
79
void FrameBufferProperties::add_properties(FrameBufferProperties const &other);

936 6 output 0 4 1277 29 FrameBufferProperties::output 0 1 303 263
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::output
//       Access: Published
//  Description: Generates a string representation.
////////////////////////////////////////////////////////////////////
55
void FrameBufferProperties::output(ostream &out) const;

937 23 set_one_bit_per_channel 0 4 1277 46 FrameBufferProperties::set_one_bit_per_channel 0 1 304 398
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_one_bit_per_channel
//       Access: Published
//  Description: If any of the depth, color, alpha, accum, or
//               stencil properties is set to more than one,
//               then they are reduced to one.
////////////////////////////////////////////////////////////////////
58
void FrameBufferProperties::set_one_bit_per_channel(void);

938 9 is_stereo 0 4 1277 32 FrameBufferProperties::is_stereo 0 1 305 231
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_stereo
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
57
inline bool FrameBufferProperties::is_stereo(void) const;

939 18 is_single_buffered 0 4 1277 41 FrameBufferProperties::is_single_buffered 0 1 306 240
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_single_buffered
//       Access: Published
//  Description:
////////////////////////////////////////////////////////////////////
66
inline bool FrameBufferProperties::is_single_buffered(void) const;

940 11 get_quality 0 4 1277 34 FrameBufferProperties::get_quality 0 1 307 1390
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_quality
//       Access: Published
//  Description: Assumes that these properties are a description of
//               a window.
//
//               Measures how well this window satisfies a specified
//               set of requirements.  A higher quality number means
//               that more requirements were satisfied.  A quality of
//               zero means that the window is unsuitable.
//
//               The routine deducts a lot if the window fails to
//               provide a requested feature.  It deducts less
//               if the window provides a feature, but at a degraded
//               level of functionality (ie, the user asks for rgba8,
//               color, but the window only provides rgba4).  The
//               routine also deducts a small amount for unnecessary
//               features.  For example, if the window has an
//               accumulation buffer when one is not requested will
//               reduce quality slightly.  Maximum quality is obtained
//               when the window exactly matches the request.
//
//               If you want to know whether the window satisfies
//               all of the requirements, use the "subsumes" function.
////////////////////////////////////////////////////////////////////
80
int FrameBufferProperties::get_quality(FrameBufferProperties const &reqs) const;

941 16 is_any_specified 0 4 1277 39 FrameBufferProperties::is_any_specified 0 1 308 324
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_any_specified
//       Access: Published
//  Description: Returns true if any properties have been specified,
//               false otherwise.
////////////////////////////////////////////////////////////////////
57
bool FrameBufferProperties::is_any_specified(void) const;

942 8 is_basic 0 4 1277 31 FrameBufferProperties::is_basic 0 1 309 444
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_basic
//       Access: Published
//  Description: Returns true if the properties are extremely basic.
//               The following count as basic: rgb or rgba, depth.
//               If anything else is specified, the properties are
//               non-basic.
////////////////////////////////////////////////////////////////////
49
bool FrameBufferProperties::is_basic(void) const;

943 12 get_aux_mask 0 4 1277 35 FrameBufferProperties::get_aux_mask 0 1 310 324
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_mask
//       Access: Published
//  Description: Converts the aux bitplanes of the
//               framebuffer into a RenderBuffer::Type.
////////////////////////////////////////////////////////////////////
52
int FrameBufferProperties::get_aux_mask(void) const;

944 15 get_buffer_mask 0 4 1277 38 FrameBufferProperties::get_buffer_mask 0 1 311 329
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_buffer_mask
//       Access: Private
//  Description: Converts the non-aux bitplanes of the
//               framebuffer into a RenderBuffer::Type.
////////////////////////////////////////////////////////////////////
55
int FrameBufferProperties::get_buffer_mask(void) const;

945 24 verify_hardware_software 0 4 1277 47 FrameBufferProperties::verify_hardware_software 0 1 312 426
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::verify_hardware_software
//       Access: Public
//  Description: Validates that the properties represent the desired
//               kind of renderer (hardware or software).  If not,
//               prints out an error message and returns false.
////////////////////////////////////////////////////////////////////
133
bool FrameBufferProperties::verify_hardware_software(FrameBufferProperties const &props, basic_string< char > const &renderer) const;

946 22 GraphicsThreadingModel 0 4 1278 46 GraphicsThreadingModel::GraphicsThreadingModel 0 3 313 314 315 2540
// Filename: graphicsThreadingModel.I
// Created by:  drose (27Jan03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Copy Constructor
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Constructor
//       Access: Published
//  Description: The threading model accepts a string representing the
//               names of the two threads that will process cull and
//               draw for the given window, separated by a slash.  The
//               names are completely arbitrary and are used only to
//               differentiate threads.  The two names may be the
//               same, meaning the same thread, or each may be the
//               empty string, which represents the previous thread.
//
//               Thus, for example, "cull/draw" indicates that the
//               window will be culled in a thread called "cull", and
//               drawn in a separate thread called "draw".
//               "draw/draw" or simply "draw" indicates the window
//               will be culled and drawn in the same thread, "draw".
//               On the other hand, "/draw" indicates the thread will
//               be culled in the main, or app thread, and drawn in a
//               separate thread named "draw".  The empty string, ""
//               or "/", indicates the thread will be culled and drawn
//               in the main thread; that is to say, a single-process
//               model.
//
//               Finally, if the threading model begins with a "-"
//               character, then cull and draw are run simultaneously,
//               in the same thread, with no binning or state sorting.
//               It simplifies the cull process but it forces the
//               scene to render in scene graph order; state sorting
//               and alpha sorting is lost.
////////////////////////////////////////////////////////////////////
188
GraphicsThreadingModel::GraphicsThreadingModel(basic_string< char > const &model = ((string())));
inline GraphicsThreadingModel::GraphicsThreadingModel(GraphicsThreadingModel const &copy);

947 10 operator = 0 4 1278 34 GraphicsThreadingModel::operator = 0 1 316 248
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Copy Assignment Operator
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
83
inline void GraphicsThreadingModel::operator =(GraphicsThreadingModel const &copy);

948 9 get_model 0 4 1278 33 GraphicsThreadingModel::get_model 0 1 317 326
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_model
//       Access: Published
//  Description: Returns the string that describes the threading
//               model.  See the constructor.
////////////////////////////////////////////////////////////////////
67
basic_string< char > GraphicsThreadingModel::get_model(void) const;

949 13 get_cull_name 0 4 1278 37 GraphicsThreadingModel::get_cull_name 0 1 318 324
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_name
//       Access: Published
//  Description: Returns the name of the thread that will handle
//               culling in this model.
////////////////////////////////////////////////////////////////////
85
inline basic_string< char > const &GraphicsThreadingModel::get_cull_name(void) const;

950 13 set_cull_name 0 4 1278 37 GraphicsThreadingModel::set_cull_name 0 1 319 481
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_cull_name
//       Access: Published
//  Description: Changes the name of the thread that will handle
//               culling in this model.  This won't change any windows
//               that were already created with this model; this only
//               has an effect on newly-opened windows.
////////////////////////////////////////////////////////////////////
89
inline void GraphicsThreadingModel::set_cull_name(basic_string< char > const &cull_name);

951 14 get_cull_stage 0 4 1278 38 GraphicsThreadingModel::get_cull_stage 0 1 320 454
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_stage
//       Access: Published
//  Description: Returns the pipeline stage from which the cull thread
//               should access data.  This will be 0 if the cull is
//               run in the same thread as app, or 1 if it is its own
//               thread.
////////////////////////////////////////////////////////////////////
62
inline int GraphicsThreadingModel::get_cull_stage(void) const;

952 13 get_draw_name 0 4 1278 37 GraphicsThreadingModel::get_draw_name 0 1 321 392
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_draw_name
//       Access: Published
//  Description: Returns the name of the thread that will handle
//               sending the actual graphics primitives to the
//               graphics API in this model.
////////////////////////////////////////////////////////////////////
85
inline basic_string< char > const &GraphicsThreadingModel::get_draw_name(void) const;

953 13 set_draw_name 0 4 1278 37 GraphicsThreadingModel::set_draw_name 0 1 322 481
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_draw_name
//       Access: Published
//  Description: Changes the name of the thread that will handle
//               drawing in this model.  This won't change any windows
//               that were already created with this model; this only
//               has an effect on newly-opened windows.
////////////////////////////////////////////////////////////////////
89
inline void GraphicsThreadingModel::set_draw_name(basic_string< char > const &cull_name);

954 14 get_draw_stage 0 4 1278 38 GraphicsThreadingModel::get_draw_stage 0 1 323 538
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_draw_stage
//       Access: Published
//  Description: Returns the pipeline stage from which the draw thread
//               should access data.  This will be the same value as
//               get_cull_stage() if cull and draw are run in the same
//               thread, or one more than that value if draw should be
//               in its own thread.
////////////////////////////////////////////////////////////////////
62
inline int GraphicsThreadingModel::get_draw_stage(void) const;

955 16 get_cull_sorting 0 4 1278 40 GraphicsThreadingModel::get_cull_sorting 0 1 324 396
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_sorting
//       Access: Published
//  Description: Returns true if the model involves a separate cull
//               pass, or false if culling happens implicitly, at the
//               same time as draw.
////////////////////////////////////////////////////////////////////
65
inline bool GraphicsThreadingModel::get_cull_sorting(void) const;

956 16 set_cull_sorting 0 4 1278 40 GraphicsThreadingModel::set_cull_sorting 0 1 325 521
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_cull_sorting
//       Access: Published
//  Description: Changes the flag that indicates whether the threading
//               model involves a separate cull pass.  This won't
//               change any windows that were already created with
//               this model; this only has an effect on newly-opened
//               windows.
////////////////////////////////////////////////////////////////////
72
inline void GraphicsThreadingModel::set_cull_sorting(bool cull_sorting);

957 18 is_single_threaded 0 4 1278 42 GraphicsThreadingModel::is_single_threaded 0 1 326 372
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::is_single_threaded
//       Access: Published
//  Description: Returns true if the threading model is a
//               single-threaded model, or false if it involves
//               threads.
////////////////////////////////////////////////////////////////////
67
inline bool GraphicsThreadingModel::is_single_threaded(void) const;

958 10 is_default 0 4 1278 34 GraphicsThreadingModel::is_default 0 1 327 377
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::is_default
//       Access: Published
//  Description: Returns true if the threading model is the default,
//               cull-then-draw single-threaded model, or false
//               otherwise.
////////////////////////////////////////////////////////////////////
59
inline bool GraphicsThreadingModel::is_default(void) const;

959 6 output 0 4 1278 30 GraphicsThreadingModel::output 0 1 328 230
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::output
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
63
inline void GraphicsThreadingModel::output(ostream &out) const;

960 23 ~GraphicsThreadingModel 0 4 1278 47 GraphicsThreadingModel::~GraphicsThreadingModel 0 0 0
54
GraphicsThreadingModel::~GraphicsThreadingModel(void);

961 20 ~StencilRenderStates 0 4 1279 41 StencilRenderStates::~StencilRenderStates 0 0 203
////////////////////////////////////////////////////////////////////
//     Function: StencilRenderStates::Destructor
//  Description:
////////////////////////////////////////////////////////////////////
48
StencilRenderStates::~StencilRenderStates(void);

962 11 release_all 0 4 1283 34 GraphicsStateGuardian::release_all 0 1 329 857
// Filename: graphicsStateGuardian.I
// Created by:  drose (24Sep99)
// Updated by: fperazzi, PandaSE (29Apr10) (added 
// get_max_2d_texture_array_layers and related)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all
//       Access: Public
//  Description: Releases all prepared objects.
////////////////////////////////////////////////////////////////////
53
inline void GraphicsStateGuardian::release_all(void);

963 20 release_all_textures 0 4 1283 43 GraphicsStateGuardian::release_all_textures 0 1 330 319
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_textures
//       Access: Public
//  Description: Frees the resources for all textures associated with
//               this GSG.
////////////////////////////////////////////////////////////////////
61
inline int GraphicsStateGuardian::release_all_textures(void);

964 17 release_all_geoms 0 4 1283 40 GraphicsStateGuardian::release_all_geoms 0 1 331 313
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_geoms
//       Access: Public
//  Description: Frees the resources for all geoms associated with
//               this GSG.
////////////////////////////////////////////////////////////////////
58
inline int GraphicsStateGuardian::release_all_geoms(void);

965 26 release_all_vertex_buffers 0 4 1283 49 GraphicsStateGuardian::release_all_vertex_buffers 0 1 332 331
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_vertex_buffers
//       Access: Public
//  Description: Frees the resources for all vertex buffers associated
//               with this GSG.
////////////////////////////////////////////////////////////////////
67
inline int GraphicsStateGuardian::release_all_vertex_buffers(void);

966 25 release_all_index_buffers 0 4 1283 48 GraphicsStateGuardian::release_all_index_buffers 0 1 333 329
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_index_buffers
//       Access: Public
//  Description: Frees the resources for all index buffers associated
//               with this GSG.
////////////////////////////////////////////////////////////////////
66
inline int GraphicsStateGuardian::release_all_index_buffers(void);

967 10 set_active 0 4 1283 33 GraphicsStateGuardian::set_active 0 1 334 538
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_active
//       Access: Published
//  Description: Sets the active flag associated with the
//               GraphicsStateGuardian.  If the GraphicsStateGuardian
//               is marked inactive, nothing is rendered.  This is not
//               normally turned off unless there is a problem with
//               the rendering detected at a low level.
////////////////////////////////////////////////////////////////////
59
inline void GraphicsStateGuardian::set_active(bool active);

968 9 is_active 0 4 1283 32 GraphicsStateGuardian::is_active 0 1 335 315
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_active
//       Access: Published
//  Description: Returns the active flag associated with the
//               GraphicsStateGuardian.
////////////////////////////////////////////////////////////////////
57
inline bool GraphicsStateGuardian::is_active(void) const;

969 8 is_valid 0 4 1283 31 GraphicsStateGuardian::is_valid 0 1 336 435
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_valid
//       Access: Published
//  Description: Returns true if the GSG has been correctly
//               initialized within a graphics context, false if there
//               has been some problem or it hasn't been initialized
//               yet.
////////////////////////////////////////////////////////////////////
56
inline bool GraphicsStateGuardian::is_valid(void) const;

970 11 needs_reset 0 4 1283 34 GraphicsStateGuardian::needs_reset 0 1 337 301
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::needs_reset
//       Access: Public
//  Description: Returns true if the gsg is marked as needing a
//               reset.
////////////////////////////////////////////////////////////////////
59
inline bool GraphicsStateGuardian::needs_reset(void) const;

971 21 set_incomplete_render 0 4 1283 44 GraphicsStateGuardian::set_incomplete_render 0 1 338 1472
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_incomplete_render
//       Access: Public
//  Description: Sets the incomplete_render flag.  When this is
//               true, the frame will be rendered even if some of the
//               geometry or textures in the scene are not available
//               (e.g. they have been temporarily paged out).  When
//               this is false, the frame will be held up while this
//               data is reloaded.
//
//               Setting this true allows for a smoother frame rate,
//               but occasionally parts of the frame will be invisible
//               or missing (they will generally come in within a
//               second or two).  Setting this false guarantees that
//               every frame will be complete, but may cause more
//               chugs as things are loaded up at runtime.
//
//               You may want to set this false during loading
//               screens, to guarantee that all of your assets are
//               available by the time you take the loading screen
//               down.
//
//               This flag may also be set individually on each
//               DisplayRegion.  It will be considered true for a
//               given DisplayRegion only if it is true on both the
//               GSG and on the DisplayRegion.
////////////////////////////////////////////////////////////////////
81
inline void GraphicsStateGuardian::set_incomplete_render(bool incomplete_render);

972 10 set_loader 0 4 1283 33 GraphicsStateGuardian::set_loader 0 1 339 385
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_loader
//       Access: Public
//  Description: Sets the Loader object that will be used by this GSG
//               to load textures when necessary, if
//               get_incomplete_render() is true.
////////////////////////////////////////////////////////////////////
62
inline void GraphicsStateGuardian::set_loader(Loader *loader);

973 10 get_loader 0 4 1283 33 GraphicsStateGuardian::get_loader 0 1 340 397
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_loader
//       Access: Public, Virtual
//  Description: Returns the Loader object that will be used by this
//               GSG to load textures when necessary, if
//               get_incomplete_render() is true.
////////////////////////////////////////////////////////////////////
61
inline Loader *GraphicsStateGuardian::get_loader(void) const;

974 8 get_pipe 0 4 1283 31 GraphicsStateGuardian::get_pipe 0 1 341 304
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_pipe
//       Access: Published
//  Description: Returns the graphics pipe on which this GSG was
//               created.
////////////////////////////////////////////////////////////////////
65
inline GraphicsPipe *GraphicsStateGuardian::get_pipe(void) const;

975 10 get_engine 0 4 1283 33 GraphicsStateGuardian::get_engine 0 1 342 463
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_engine
//       Access: Published
//  Description: Returns the graphics engine that created this GSG.
//               Since there is normally only one GraphicsEngine
//               object in an application, this is usually the same as
//               the global GraphicsEngine.
////////////////////////////////////////////////////////////////////
62
GraphicsEngine *GraphicsStateGuardian::get_engine(void) const;

976 19 get_threading_model 0 4 1283 42 GraphicsStateGuardian::get_threading_model 0 1 343 320
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_threading_model
//       Access: Published
//  Description: Returns the threading model that was used to create
//               this GSG.
////////////////////////////////////////////////////////////////////
92
inline GraphicsThreadingModel const &GraphicsStateGuardian::get_threading_model(void) const;

977 11 is_hardware 0 4 1283 34 GraphicsStateGuardian::is_hardware 0 1 344 373
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_hardware
//       Access: Published
//  Description: Returns true if this GSG appears to be
//               hardware-accelerated, or false if it is known to be
//               software only.
////////////////////////////////////////////////////////////////////
59
inline bool GraphicsStateGuardian::is_hardware(void) const;

978 22 get_max_texture_stages 0 4 1283 45 GraphicsStateGuardian::get_max_texture_stages 0 1 345 859
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_texture_stages
//       Access: Published
//  Description: Returns the maximum number of simultaneous textures
//               that may be applied to geometry with multitexturing,
//               as supported by this particular GSG.  If you exceed
//               this number, the lowest-priority texture stages will
//               not be applied.  Use TextureStage::set_priority() to
//               adjust the relative importance of the different
//               texture stages.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
69
inline int GraphicsStateGuardian::get_max_texture_stages(void) const;

979 28 get_max_3d_texture_dimension 0 4 1283 51 GraphicsStateGuardian::get_max_3d_texture_dimension 0 1 346 654
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_3d_texture_dimension
//       Access: Published
//  Description: Returns the largest possible texture size in any one
//               dimension for a 3-d texture, or -1 if there is no
//               particular limit.  Returns 0 if 3-d textures are not
//               supported.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
75
inline int GraphicsStateGuardian::get_max_3d_texture_dimension(void) const;

980 31 get_max_2d_texture_array_layers 0 4 1283 54 GraphicsStateGuardian::get_max_2d_texture_array_layers 0 1 347 621
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_2d_texture_array_layers
//       Access: Published
//  Description: Returns the largest possible number of pages, or -1 
//               if there is no particular limit. Returns 0 if 2-d
//               texture arrays not supported.
//               
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
78
inline int GraphicsStateGuardian::get_max_2d_texture_array_layers(void) const;

981 26 get_max_cube_map_dimension 0 4 1283 49 GraphicsStateGuardian::get_max_cube_map_dimension 0 1 348 672
//z axis

////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_cube_map_dimension
//       Access: Published
//  Description: Returns the largest possible texture size in any one
//               dimension for a cube map texture, or -1 if there is
//               no particular limit.  Returns 0 if cube map textures
//               are not supported.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
73
inline int GraphicsStateGuardian::get_max_cube_map_dimension(void) const;

982 28 get_supports_texture_combine 0 4 1283 51 GraphicsStateGuardian::get_supports_texture_combine 0 1 349 595
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_combine
//       Access: Published
//  Description: Returns true if this particular GSG can use the
//               TextureStage::M_combine mode, which includes all of
//               the texture blend modes specified by
//               set_combine_rgb() and/or set_combine_alpha().  If
//               this is false, you must limit yourself to using the
//               simpler blend modes.
////////////////////////////////////////////////////////////////////
76
inline bool GraphicsStateGuardian::get_supports_texture_combine(void) const;

983 33 get_supports_texture_saved_result 0 4 1283 56 GraphicsStateGuardian::get_supports_texture_saved_result 0 1 350 475
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_saved_result
//       Access: Published
//  Description: Returns true if this GSG can use the
//               TextureStage::CS_last_saved_result source, which
//               allows you to save the result of a TextureStage and
//               re-use it for multiple inputs.
////////////////////////////////////////////////////////////////////
81
inline bool GraphicsStateGuardian::get_supports_texture_saved_result(void) const;

984 25 get_supports_texture_dot3 0 4 1283 48 GraphicsStateGuardian::get_supports_texture_dot3 0 1 351 375
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_dot3
//       Access: Published
//  Description: Returns true if this GSG can use the
//               TextureStage::CM_dot3_rgb or CM_dot3_rgba combine
//               modes.
////////////////////////////////////////////////////////////////////
73
inline bool GraphicsStateGuardian::get_supports_texture_dot3(void) const;

985 23 get_supports_3d_texture 0 4 1283 46 GraphicsStateGuardian::get_supports_3d_texture 0 1 352 325
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_3d_texture
//       Access: Published
//  Description: Returns true if this GSG can render 3-d (volumetric)
//               textures.
////////////////////////////////////////////////////////////////////
71
inline bool GraphicsStateGuardian::get_supports_3d_texture(void) const;

986 29 get_supports_2d_texture_array 0 4 1283 52 GraphicsStateGuardian::get_supports_2d_texture_array 0 1 353 324
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_2d_texture_array
//       Access: Published
//  Description: Returns true if this GSG can render 2-d textures
//               array.
////////////////////////////////////////////////////////////////////
77
inline bool GraphicsStateGuardian::get_supports_2d_texture_array(void) const;

987 21 get_supports_cube_map 0 4 1283 44 GraphicsStateGuardian::get_supports_cube_map 0 1 354 298
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_cube_map
//       Access: Published
//  Description: Returns true if this GSG can render cube map textures.
////////////////////////////////////////////////////////////////////
69
inline bool GraphicsStateGuardian::get_supports_cube_map(void) const;

988 25 get_supports_tex_non_pow2 0 4 1283 48 GraphicsStateGuardian::get_supports_tex_non_pow2 0 1 355 333
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_tex_non_pow2
//       Access: Published
//  Description: Returns true if this GSG can handle non power of two
//               sized textures.
////////////////////////////////////////////////////////////////////
73
inline bool GraphicsStateGuardian::get_supports_tex_non_pow2(void) const;

989 31 get_supports_compressed_texture 0 4 1283 54 GraphicsStateGuardian::get_supports_compressed_texture 0 1 356 423
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_compressed_texture
//       Access: Published
//  Description: Returns true if this GSG can compress textures as it
//               loads them into texture memory, and/or accept
//               pre-compressed textures for storing.
////////////////////////////////////////////////////////////////////
79
inline bool GraphicsStateGuardian::get_supports_compressed_texture(void) const;

990 14 get_max_lights 0 4 1283 37 GraphicsStateGuardian::get_max_lights 0 1 357 579
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_lights
//       Access: Published
//  Description: Returns the maximum number of simultaneous lights
//               that may be rendered on geometry, or -1 if there is
//               no particular limit.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
61
inline int GraphicsStateGuardian::get_max_lights(void) const;

991 19 get_max_clip_planes 0 4 1283 42 GraphicsStateGuardian::get_max_clip_planes 0 1 358 588
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_clip_planes
//       Access: Published
//  Description: Returns the maximum number of simultaneous clip planes
//               that may be applied to geometry, or -1 if there is
//               no particular limit.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
66
inline int GraphicsStateGuardian::get_max_clip_planes(void) const;

992 25 get_max_vertex_transforms 0 4 1283 48 GraphicsStateGuardian::get_max_vertex_transforms 0 1 359 818
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_vertex_transforms
//       Access: Published
//  Description: Returns the maximum number of transform matrices that
//               may be simultaneously used to transform any one
//               vertex by the graphics hardware.  If this number is
//               0, then the hardware (or the graphics backend)
//               doesn't support soft-skinned vertices (in which case
//               Panda will animate the vertices in software).
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
72
inline int GraphicsStateGuardian::get_max_vertex_transforms(void) const;

993 32 get_max_vertex_transform_indices 0 4 1283 55 GraphicsStateGuardian::get_max_vertex_transform_indices 0 1 360 811
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_vertex_transform_indices
//       Access: Published
//  Description: Returns the maximum number of transforms there may be
//               in a single TransformTable for this graphics
//               hardware.  If this number is 0 (but
//               get_max_transforms() is nonzero), then the graphics
//               hardware (or API) doesn't support indexed transforms,
//               but can support direct transform references.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
79
inline int GraphicsStateGuardian::get_max_vertex_transform_indices(void) const;

994 25 get_copy_texture_inverted 0 4 1283 48 GraphicsStateGuardian::get_copy_texture_inverted 0 1 361 976
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_copy_texture_inverted
//       Access: Published
//  Description: Returns true if this particular GSG has the property
//               that any framebuffer-to-texture copy results in a
//               texture that is upside-down and backwards from
//               Panda's usual convention; that is, it copies into a
//               texture from the bottom up instead of from the top
//               down.
//
//               If this is true, then on offscreen GraphicsBuffer
//               created for the purposes of rendering into a texture
//               should be created with the invert flag set true, to
//               compensate.  Panda will do this automatically if you
//               create an offscreen buffer using
//               GraphicsOutput::make_texture_buffer().
////////////////////////////////////////////////////////////////////
73
inline bool GraphicsStateGuardian::get_copy_texture_inverted(void) const;

995 28 get_supports_generate_mipmap 0 4 1283 51 GraphicsStateGuardian::get_supports_generate_mipmap 0 1 362 555
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_generate_mipmap
//       Access: Published
//  Description: Returns true if this particular GSG can generate
//               mipmaps for a texture automatically, or if they must
//               be generated in software.  If this is true, then
//               mipmaps can safely be enabled for rendered textures
//               (e.g. using the MultitexReducer).
////////////////////////////////////////////////////////////////////
76
inline bool GraphicsStateGuardian::get_supports_generate_mipmap(void) const;

996 26 get_supports_depth_texture 0 4 1283 49 GraphicsStateGuardian::get_supports_depth_texture 0 1 363 543
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_depth_texture
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               textures whose format is F_depth_stencil.  This
//               returns true if the GSG supports GL_DEPTH_COMPONENT
//               textures, which are considered a limited but still
//               valid case of F_depth_stencil.
////////////////////////////////////////////////////////////////////
74
inline bool GraphicsStateGuardian::get_supports_depth_texture(void) const;

997 26 get_supports_depth_stencil 0 4 1283 49 GraphicsStateGuardian::get_supports_depth_stencil 0 1 364 475
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_depth_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               textures whose format is F_depth_stencil.  This
//               only returns true if the GSG supports the full
//               packed depth-stencil functionality.
////////////////////////////////////////////////////////////////////
74
inline bool GraphicsStateGuardian::get_supports_depth_stencil(void) const;

998 26 get_supports_basic_shaders 0 4 1283 49 GraphicsStateGuardian::get_supports_basic_shaders 0 1 365 334
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_basic_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               arbfp1+arbvp1 or above.
////////////////////////////////////////////////////////////////////
74
inline bool GraphicsStateGuardian::get_supports_basic_shaders(void) const;

999 29 get_supports_geometry_shaders 0 4 1283 52 GraphicsStateGuardian::get_supports_geometry_shaders 0 1 366 331
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_geometry_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               geometry shaders.
////////////////////////////////////////////////////////////////////
77
inline bool GraphicsStateGuardian::get_supports_geometry_shaders(void) const;

1000 33 get_supports_tessellation_shaders 0 4 1283 56 GraphicsStateGuardian::get_supports_tessellation_shaders 0 1 367 338
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_tessellation_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               tesselation shaders.
////////////////////////////////////////////////////////////////////
81
inline bool GraphicsStateGuardian::get_supports_tessellation_shaders(void) const;

1001 28 get_supports_compute_shaders 0 4 1283 51 GraphicsStateGuardian::get_supports_compute_shaders 0 1 368 329
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_compute_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               compute shaders.
////////////////////////////////////////////////////////////////////
76
inline bool GraphicsStateGuardian::get_supports_compute_shaders(void) const;

1002 17 get_supports_glsl 0 4 1283 40 GraphicsStateGuardian::get_supports_glsl 0 1 369 315
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_glsl
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               GLSL shaders.
////////////////////////////////////////////////////////////////////
65
inline bool GraphicsStateGuardian::get_supports_glsl(void) const;

1003 20 get_supports_stencil 0 4 1283 43 GraphicsStateGuardian::get_supports_stencil 0 1 370 328
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               stencil buffers at all.
////////////////////////////////////////////////////////////////////
68
inline bool GraphicsStateGuardian::get_supports_stencil(void) const;

1004 30 get_supports_two_sided_stencil 0 4 1283 53 GraphicsStateGuardian::get_supports_two_sided_stencil 0 1 371 426
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_two_sided_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               two sided stencil: different stencil settings for the
//               front and back side of the same polygon.
////////////////////////////////////////////////////////////////////
78
inline bool GraphicsStateGuardian::get_supports_two_sided_stencil(void) const;

1005 32 get_supports_geometry_instancing 0 4 1283 55 GraphicsStateGuardian::get_supports_geometry_instancing 0 1 372 494
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_geometry_instancing
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               hardware geometry instancing: the ability to render
//               multiple copies of a model. In OpenGL, this is
//               done using the EXT_draw_instanced extension.
////////////////////////////////////////////////////////////////////
80
inline bool GraphicsStateGuardian::get_supports_geometry_instancing(void) const;

1006 21 get_max_color_targets 0 4 1283 44 GraphicsStateGuardian::get_max_color_targets 0 1 373 855
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_color_targets
//       Access: Published
//  Description: Returns the maximum number of simultaneous color
//               textures that may be attached for render-to-texture,
//               as supported by this particular GSG.  If you exceed
//               this number, the lowest-priority render targets will
//               not be applied.  Use RenderTarget::set_priority() to
//               adjust the relative importance of the different
//               render targets.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
////////////////////////////////////////////////////////////////////
68
inline int GraphicsStateGuardian::get_max_color_targets(void) const;

1007 39 get_maximum_simultaneous_render_targets 0 4 1283 62 GraphicsStateGuardian::get_maximum_simultaneous_render_targets 0 1 374 364
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_maximum_simultaneous_render_targets
//       Access: Published
//  Description: Deprecated.  Use get_max_color_targets() instead,
//               which returns the exact same value.
////////////////////////////////////////////////////////////////////
86
inline int GraphicsStateGuardian::get_maximum_simultaneous_render_targets(void) const;

1008 16 get_shader_model 0 4 1283 39 GraphicsStateGuardian::get_shader_model 0 1 375 262
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_shader_model
//       Access: Published
//  Description: Returns the ShaderModel
////////////////////////////////////////////////////////////////////
63
inline int GraphicsStateGuardian::get_shader_model(void) const;

1009 16 set_shader_model 0 4 1283 39 GraphicsStateGuardian::set_shader_model 0 1 376 403
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_shader_model
//       Access: Published
//  Description: Sets the ShaderModel.  This will override the auto-
//               detected shader model during GSG reset.  Useful for
//               testing lower-end shaders.
////////////////////////////////////////////////////////////////////
70
inline void GraphicsStateGuardian::set_shader_model(int shader_model);

1010 23 get_supports_cg_profile 0 6 1283 46 GraphicsStateGuardian::get_supports_cg_profile 0 1 377 350
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_cg_profile
//       Access: Published, Virtual
//  Description: Returns true if this particular GSG supports the 
//               specified Cg Shader Profile.
////////////////////////////////////////////////////////////////////
100
virtual bool GraphicsStateGuardian::get_supports_cg_profile(basic_string< char > const &name) const;

1011 28 get_color_scale_via_lighting 0 4 1283 51 GraphicsStateGuardian::get_color_scale_via_lighting 0 1 378 499
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_color_scale_via_lighting
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) set color and/or color
//               scale using materials and/or ambient lights, or
//               false if we need to actually munge the color.
////////////////////////////////////////////////////////////////////
76
inline bool GraphicsStateGuardian::get_color_scale_via_lighting(void) const;

1012 27 get_alpha_scale_via_texture 0 4 1283 50 GraphicsStateGuardian::get_alpha_scale_via_texture 0 2 379 380 1116
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_via_texture
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) an alpha scale via an
//               additional Texture layer, or false if we need to
//               actually munge the alpha.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_via_texture
//       Access: Published
//  Description: This variant of get_alpha_scale_via_texture() answers
//               the question of whether the GSG can implement an
//               alpha scale via an additional Texture layer,
//               considering the current TextureAttrib that will be in
//               effect.  This considers whether there is at least one
//               additional texture slot available on the GSG.
////////////////////////////////////////////////////////////////////
178
inline bool GraphicsStateGuardian::get_alpha_scale_via_texture(void) const;
inline bool GraphicsStateGuardian::get_alpha_scale_via_texture(TextureAttrib const *tex_attrib) const;

1013 23 get_runtime_color_scale 0 4 1283 46 GraphicsStateGuardian::get_runtime_color_scale 0 1 381 483
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_runtime_color_scale
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) set color and/or color
//               scale directly, without requiring any munging of
//               vertices or tricks with lighting.
////////////////////////////////////////////////////////////////////
71
inline bool GraphicsStateGuardian::get_runtime_color_scale(void) const;

1014 29 get_alpha_scale_texture_stage 0 4 1283 52 GraphicsStateGuardian::get_alpha_scale_texture_stage 0 1 382 408
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_texture_stage
//       Access: Published, Static
//  Description: Returns the TextureStage that will be used to apply
//               an alpha scale, if get_alpha_scale_via_texture()
//               returns true.
////////////////////////////////////////////////////////////////////
87
static inline TextureStage *GraphicsStateGuardian::get_alpha_scale_texture_stage(void);

1015 21 set_coordinate_system 0 4 1283 44 GraphicsStateGuardian::set_coordinate_system 0 1 383 771
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_coordinate_system
//       Access: Published
//  Description: Changes the coordinate system in effect on this
//               particular gsg.  This is also called the "external"
//               coordinate system, since it is the coordinate system
//               used by the scene graph, external to to GSG.
//
//               Normally, this will be the default coordinate system,
//               but it might be set differently at runtime.  It will
//               automatically be copied from the current lens's
//               coordinate system as each DisplayRegion is rendered.
////////////////////////////////////////////////////////////////////
71
void GraphicsStateGuardian::set_coordinate_system(CoordinateSystem cs);

1016 21 get_coordinate_system 0 4 1283 44 GraphicsStateGuardian::get_coordinate_system 0 1 384 457
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_coordinate_system
//       Access: Published
//  Description: Returns the coordinate system in effect on this
//               particular gsg.  Normally, this will be the default
//               coordinate system, but it might be set differently at
//               runtime.
////////////////////////////////////////////////////////////////////
81
inline CoordinateSystem GraphicsStateGuardian::get_coordinate_system(void) const;

1017 30 get_internal_coordinate_system 0 6 1283 53 GraphicsStateGuardian::get_internal_coordinate_system 0 1 385 756
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_internal_coordinate_system
//       Access: Published, Virtual
//  Description: Returns the coordinate system used internally by the
//               GSG.  This may be the same as the external coordinate
//               system reported by get_coordinate_system(), or it may
//               be something different.
//
//               In any case, vertices that have been transformed
//               before being handed to the GSG (that is, vertices
//               with a contents value of C_clip_point) will be
//               expected to be in this coordinate system.
////////////////////////////////////////////////////////////////////
91
virtual CoordinateSystem GraphicsStateGuardian::get_internal_coordinate_system(void) const;

1018 20 get_prepared_objects 0 6 1283 43 GraphicsStateGuardian::get_prepared_objects 0 1 386 411
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_prepared_objects
//       Access: Public, Virtual
//  Description: Returns the set of texture and geom objects that have
//               been prepared with this GSG (and possibly other GSG's
//               that share objects).
////////////////////////////////////////////////////////////////////
83
virtual PreparedGraphicsObjects *GraphicsStateGuardian::get_prepared_objects(void);

1019 9 set_gamma 0 6 1283 32 GraphicsStateGuardian::set_gamma 0 1 387 277
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_gamma
//       Access: Published, Virtual
//  Description: Set gamma.  Returns true on success.
////////////////////////////////////////////////////////////////////
59
virtual bool GraphicsStateGuardian::set_gamma(float gamma);

1020 9 get_gamma 0 4 1283 32 GraphicsStateGuardian::get_gamma 0 1 388 262
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_gamma
//       Access: Published
//  Description: Get the current gamma setting.
////////////////////////////////////////////////////////////////////
52
float GraphicsStateGuardian::get_gamma(float gamma);

1021 13 restore_gamma 0 6 1283 36 GraphicsStateGuardian::restore_gamma 0 1 389 276
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::restore_gamma
//       Access: Published, Virtual
//  Description: Restore original gamma setting.
////////////////////////////////////////////////////////////////////
56
virtual void GraphicsStateGuardian::restore_gamma(void);

1022 28 set_texture_quality_override 0 4 1283 51 GraphicsStateGuardian::set_texture_quality_override 0 1 390 749
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_texture_quality_override
//       Access: Published
//  Description: Specifies the global quality_level to be imposed for
//               all Textures rendered by this GSG.  This overrides
//               the value set on individual textures via
//               Texture::set_quality_level().  Set this to
//               Texture::QL_default in order to allow the individual
//               texture quality levels to be respected.
//
//               This is mainly useful for the tinydisplay software
//               renderer.  See Texture::set_quality_level().
////////////////////////////////////////////////////////////////////
101
inline void GraphicsStateGuardian::set_texture_quality_override(Texture::QualityLevel quality_level);

1023 28 get_texture_quality_override 0 4 1283 51 GraphicsStateGuardian::get_texture_quality_override 0 1 391 485
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_texture_quality_override
//       Access: Published
//  Description: Returns the global quality_level override specified
//               by set_texture_quality_override.
//
//               This is mainly useful for the tinydisplay software
//               renderer.  See Texture::set_quality_level().
////////////////////////////////////////////////////////////////////
93
inline Texture::QualityLevel GraphicsStateGuardian::get_texture_quality_override(void) const;

1024 21 get_prepared_textures 0 4 1283 44 GraphicsStateGuardian::get_prepared_textures 0 1 392 0
67
PyObject *GraphicsStateGuardian::get_prepared_textures(void) const;

1025 26 traverse_prepared_textures 0 4 1283 49 GraphicsStateGuardian::traverse_prepared_textures 0 0 390
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::traverse_prepared_textures
//       Access: Public
//  Description: Calls the indicated function on all
//               currently-prepared textures, or until the callback
//               function returns false.
////////////////////////////////////////////////////////////////////
129
void GraphicsStateGuardian::traverse_prepared_textures(bool (*func)(TextureContext *tc, void *callback_arg), void *callback_arg);

1026 17 set_flash_texture 0 4 1283 40 GraphicsStateGuardian::set_flash_texture 0 1 393 1337
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_flash_texture
//       Access: Published
//  Description: Sets the "flash texture".  This is a debug feature;
//               when enabled, the specified texture will begin
//               flashing in the scene, helping you to find it
//               visually.
//
//               The texture also flashes with a color code: blue for
//               mipmap level 0, yellow for mipmap level 1, and red
//               for mipmap level 2 or higher (even for textures that
//               don't have mipmaps).  This gives you an idea of the
//               choice of the texture size.  If it is blue, the
//               texture is being drawn the proper size or magnified;
//               if it is yellow, it is being minified a little bit;
//               and if it red, it is being minified considerably.  If
//               you see a red texture when you are right in front of
//               it, you should consider reducing the size of the
//               texture to avoid wasting texture memory.
//
//               Not all rendering backends support the flash_texture
//               feature.  Presently, it is only supported by OpenGL.
////////////////////////////////////////////////////////////////////
60
void GraphicsStateGuardian::set_flash_texture(Texture *tex);

1027 19 clear_flash_texture 0 4 1283 42 GraphicsStateGuardian::clear_flash_texture 0 1 394 344
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::clear_flash_texture
//       Access: Published
//  Description: Resets the "flash texture", so that no textures will
//               flash.  See set_flash_texture().
////////////////////////////////////////////////////////////////////
54
void GraphicsStateGuardian::clear_flash_texture(void);

1028 17 get_flash_texture 0 4 1283 40 GraphicsStateGuardian::get_flash_texture 0 1 395 344
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_flash_texture
//       Access: Published
//  Description: Returns the current "flash texture", if any, or NULL
//               if none.  See set_flash_texture().
////////////////////////////////////////////////////////////////////
62
Texture *GraphicsStateGuardian::get_flash_texture(void) const;

1029 17 get_driver_vendor 0 6 1283 40 GraphicsStateGuardian::get_driver_vendor 0 1 396 290
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_vendor
//       Access: Public, Virtual
//  Description: Returns the vendor of the video card driver 
////////////////////////////////////////////////////////////////////
76
virtual basic_string< char > GraphicsStateGuardian::get_driver_vendor(void);

1030 19 get_driver_renderer 0 6 1283 42 GraphicsStateGuardian::get_driver_renderer 0 1 397 265
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_vendor
//       Access: Public, Virtual
//  Description: Returns GL_Renderer
////////////////////////////////////////////////////////////////////
78
virtual basic_string< char > GraphicsStateGuardian::get_driver_renderer(void);

1031 18 get_driver_version 0 6 1283 41 GraphicsStateGuardian::get_driver_version 0 1 398 471
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version
//       Access: Public, Virtual
//  Description: Returns driver version
//               This has an implementation-defined meaning, and may
//               be "0" if the particular graphics implementation
//               does not provide a way to query this information.
////////////////////////////////////////////////////////////////////
77
virtual basic_string< char > GraphicsStateGuardian::get_driver_version(void);

1032 24 get_driver_version_major 0 6 1283 47 GraphicsStateGuardian::get_driver_version_major 0 1 399 496
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version_major
//       Access: Public, Virtual
//  Description: Returns major version of the video driver.
//               This has an implementation-defined meaning, and may
//               be -1 if the particular graphics implementation
//               does not provide a way to query this information.
////////////////////////////////////////////////////////////////////
66
virtual int GraphicsStateGuardian::get_driver_version_major(void);

1033 24 get_driver_version_minor 0 6 1283 47 GraphicsStateGuardian::get_driver_version_minor 0 1 400 500
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version_minor
//       Access: Public, Virtual
//  Description: Returns the minor version of the video driver.
//               This has an implementation-defined meaning, and may
//               be -1 if the particular graphics implementation
//               does not provide a way to query this information.
////////////////////////////////////////////////////////////////////
66
virtual int GraphicsStateGuardian::get_driver_version_minor(void);

1034 31 get_driver_shader_version_major 0 6 1283 54 GraphicsStateGuardian::get_driver_shader_version_major 0 1 401 306
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_shader_version_major
//       Access: Public, Virtual
//  Description: Returns the major version of the shader model.
////////////////////////////////////////////////////////////////////
73
virtual int GraphicsStateGuardian::get_driver_shader_version_major(void);

1035 31 get_driver_shader_version_minor 0 6 1283 54 GraphicsStateGuardian::get_driver_shader_version_minor 0 1 402 306
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_shader_version_minor
//       Access: Public, Virtual
//  Description: Returns the minor version of the shader model.
////////////////////////////////////////////////////////////////////
73
virtual int GraphicsStateGuardian::get_driver_shader_version_minor(void);

1036 9 set_scene 0 4 1283 32 GraphicsStateGuardian::set_scene 0 1 403 549
// NDEBUG
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_scene
//       Access: Published
//  Description: Sets the SceneSetup object that indicates the initial
//               camera position, etc.  This must be called before
//               traversal begins.  Returns true if the scene is
//               acceptable, false if something's wrong.  This should
//               be called in the draw thread only.
////////////////////////////////////////////////////////////////////
63
bool GraphicsStateGuardian::set_scene(SceneSetup *scene_setup);

1037 9 get_scene 0 6 1283 32 GraphicsStateGuardian::get_scene 0 1 404 279
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_scene
//       Access: Published, Virtual
//  Description: Returns the current SceneSetup object.
////////////////////////////////////////////////////////////////////
65
virtual SceneSetup *GraphicsStateGuardian::get_scene(void) const;

1038 11 begin_scene 0 6 1283 34 GraphicsStateGuardian::begin_scene 0 1 405 933
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::begin_scene
//       Access: Published, Virtual
//  Description: Called between begin_frame() and end_frame() to mark
//               the beginning of drawing commands for a "scene"
//               (usually a particular DisplayRegion) within a frame.
//               All 3-D drawing commands, except the clear operation,
//               must be enclosed within begin_scene() .. end_scene().
//               This must be called in the draw thread.
//
//               The return value is true if successful (in which case
//               the scene will be drawn and end_scene() will be
//               called later), or false if unsuccessful (in which
//               case nothing will be drawn and end_scene() will not
//               be called).
////////////////////////////////////////////////////////////////////
54
virtual bool GraphicsStateGuardian::begin_scene(void);

1039 9 end_scene 0 6 1283 32 GraphicsStateGuardian::end_scene 0 1 406 565
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::end_scene
//       Access: Published, Virtual
//  Description: Called between begin_frame() and end_frame() to mark
//               the end of drawing commands for a "scene" (usually a
//               particular DisplayRegion) within a frame.  All 3-D
//               drawing commands, except the clear operation, must be
//               enclosed within begin_scene() .. end_scene().
////////////////////////////////////////////////////////////////////
52
virtual void GraphicsStateGuardian::end_scene(void);

1040 14 get_class_type 0 4 1283 37 GraphicsStateGuardian::get_class_type 0 1 407 0
62
static TypeHandle GraphicsStateGuardian::get_class_type(void);

1041 28 upcast_to_GraphicsOutputBase 0 12 1286 44 GraphicsOutput::upcast_to_GraphicsOutputBase 0 1 502 48
upcast from GraphicsOutput to GraphicsOutputBase
71
GraphicsOutputBase *GraphicsOutput::upcast_to_GraphicsOutputBase(void);

1042 26 downcast_to_GraphicsOutput 0 12 1287 46 GraphicsOutputBase::downcast_to_GraphicsOutput 0 1 503 50
downcast from GraphicsOutputBase to GraphicsOutput
69
GraphicsOutput *GraphicsOutputBase::downcast_to_GraphicsOutput(void);

1043 24 upcast_to_DrawableRegion 0 12 1286 40 GraphicsOutput::upcast_to_DrawableRegion 0 1 504 44
upcast from GraphicsOutput to DrawableRegion
63
DrawableRegion *GraphicsOutput::upcast_to_DrawableRegion(void);

1044 26 downcast_to_GraphicsOutput 0 12 1267 42 DrawableRegion::downcast_to_GraphicsOutput 0 1 505 46
downcast from DrawableRegion to GraphicsOutput
65
GraphicsOutput *DrawableRegion::downcast_to_GraphicsOutput(void);

1045 15 ~GraphicsOutput 0 6 1286 31 GraphicsOutput::~GraphicsOutput 0 0 234
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::Destructor
//       Access: Published, Virtual
//  Description:
////////////////////////////////////////////////////////////////////
46
virtual GraphicsOutput::~GraphicsOutput(void);

1046 7 get_gsg 0 4 1286 23 GraphicsOutput::get_gsg 0 1 408 1096
// Filename: graphicsOutput.I
// Created by:  drose (06Feb04)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_gsg
//       Access: Published
//  Description: Returns the GSG that is associated with this window.
//               There is a one-to-one association between windows and
//               GSG's.
//
//               This may return NULL if the graphics context has not
//               yet been created for the window, e.g. before the
//               first frame has rendered; or after the window has
//               been closed.
////////////////////////////////////////////////////////////////////
66
inline GraphicsStateGuardian *GraphicsOutput::get_gsg(void) const;

1047 8 get_pipe 0 4 1286 24 GraphicsOutput::get_pipe 0 1 409 586
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this window is
//               associated with.  It is possible that the
//               GraphicsPipe might have been deleted while an
//               outstanding PT(GraphicsOutput) prevented all of its
//               children windows from also being deleted; in this
//               unlikely case, get_pipe() may return NULL.
////////////////////////////////////////////////////////////////////
58
inline GraphicsPipe *GraphicsOutput::get_pipe(void) const;

1048 10 get_engine 0 4 1286 26 GraphicsOutput::get_engine 0 1 410 459
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_engine
//       Access: Published
//  Description: Returns the graphics engine that created this output.
//               Since there is normally only one GraphicsEngine
//               object in an application, this is usually the same as
//               the global GraphicsEngine.
////////////////////////////////////////////////////////////////////
62
inline GraphicsEngine *GraphicsOutput::get_engine(void) const;

1049 8 get_name 0 4 1286 24 GraphicsOutput::get_name 0 1 411 308
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_name
//       Access: Published
//  Description: Returns the name that was passed to the
//               GraphicsOutput constructor.
////////////////////////////////////////////////////////////////////
72
inline basic_string< char > const &GraphicsOutput::get_name(void) const;

1050 14 count_textures 0 4 1286 30 GraphicsOutput::count_textures 0 1 412 539
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::count_textures
//       Access: Published
//  Description: If the GraphicsOutput is set to render into a
//               texture, returns the number of textures that are
//               being rendered into.  Normally, the textures would
//               be associated with different buffers - a color
//               texture, a depth texture, and a stencil texture.
////////////////////////////////////////////////////////////////////
54
inline int GraphicsOutput::count_textures(void) const;

1051 11 has_texture 0 4 1286 27 GraphicsOutput::has_texture 0 1 413 318
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::has_texture
//       Access: Published
//  Description: Returns true if the GraphicsOutput is rendering 
//               into any textures at all.
////////////////////////////////////////////////////////////////////
52
inline bool GraphicsOutput::has_texture(void) const;

1052 11 get_texture 0 6 1286 27 GraphicsOutput::get_texture 0 2 414 415 725
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture
//       Access: Published
//  Description: Returns the nth texture into which the GraphicsOutput
//               renders.  Returns NULL if there is no such texture.
//
//               If the texture is non-NULL, it may be applied to
//               geometry to be rendered for any other windows or
//               outputs that share the same GSG as this
//               GraphicsOutput.  The effect is undefined for windows
//               that share a different GSG; usually in these cases
//               the texture will be invalid.
////////////////////////////////////////////////////////////////////
71
virtual inline Texture *GraphicsOutput::get_texture(int i = (0)) const;

1053 17 get_texture_plane 0 4 1286 33 GraphicsOutput::get_texture_plane 0 2 416 417 377
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture_plane
//       Access: Published
//  Description: Returns the RenderTexturePlane associated with the
//               nth render-texture.  Returns 0 if there is no such
//               texture.
////////////////////////////////////////////////////////////////////
95
inline DrawableRegion::RenderTexturePlane GraphicsOutput::get_texture_plane(int i = (0)) const;

1054 12 get_rtm_mode 0 4 1286 28 GraphicsOutput::get_rtm_mode 0 2 418 419 378
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_rtm_mode
//       Access: Published
//  Description: Returns the RenderTextureMode associated with the
//               nth render-texture.  Returns RTM_none if there is
//               no such texture.
////////////////////////////////////////////////////////////////////
89
inline GraphicsOutput::RenderTextureMode GraphicsOutput::get_rtm_mode(int i = (0)) const;

1055 21 clear_render_textures 0 4 1286 37 GraphicsOutput::clear_render_textures 0 1 420 387
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_render_textures
//       Access: Published
//  Description: If the GraphicsOutput is currently rendering to
//               a texture, then all textures are dissociated from
//               the GraphicsOuput.
////////////////////////////////////////////////////////////////////
49
void GraphicsOutput::clear_render_textures(void);

1056 18 add_render_texture 0 4 1286 34 GraphicsOutput::add_render_texture 0 2 421 422 1875
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::add_render_texture
//       Access: Published
//  Description: Creates a new Texture object, suitable for rendering
//               the contents of this buffer into, and appends it to
//               the list of render textures.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created, in which case you may call
//               get_texture() to retrieve the new texture pointer.
//
//               You can specify a bitplane to attach the texture to.
//               the legal choices are:
//
//               * RTP_depth
//               * RTP_depth_stencil
//               * RTP_color
//               * RTP_aux_rgba_0
//               * RTP_aux_rgba_1
//               * RTP_aux_rgba_2
//               * RTP_aux_rgba_3
//
//               If you do not specify a bitplane to attach the
//               texture to, this routine will use a default based
//               on the texture's format:
//
//               * F_depth_component attaches to RTP_depth
//               * F_depth_stencil attaches to RTP_depth_stencil
//               * all other formats attach to RTP_color.
//
//               The texture's format will be changed to match
//               the format of the bitplane to which it is attached.
//               For example, if you pass in an F_rgba texture and
//               order that it be attached to RTP_depth_stencil, it will turn
//               into an F_depth_stencil texture.
//
//               Also see make_texture_buffer(), which is a
//               higher-level interface for preparing
//               render-to-a-texture mode.
////////////////////////////////////////////////////////////////////
153
void GraphicsOutput::add_render_texture(Texture *tex, GraphicsOutput::RenderTextureMode mode, DrawableRegion::RenderTexturePlane bitplane = (RTP_COUNT));

1057 20 setup_render_texture 0 4 1286 36 GraphicsOutput::setup_render_texture 0 1 423 494
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::setup_render_texture
//       Access: Published
//  Description: This is a deprecated interface that made sense back
//               when GraphicsOutputs could only render into one
//               texture at a time.  From now on, use
//               clear_render_textures and add_render_texture
//               instead.
////////////////////////////////////////////////////////////////////
86
void GraphicsOutput::setup_render_texture(Texture *tex, bool allow_bind, bool to_ram);

1058 10 get_x_size 0 4 1286 26 GraphicsOutput::get_x_size 0 1 424 746
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_x_size
//       Access: Published
//  Description: Returns the visible width of the window or buffer, if
//               it is known.  In certain cases (e.g. fullscreen
//               windows), the size may not be known until after the
//               object has been fully created.  Check has_size()
//               first.
//
//               Certain objects (like windows) may change size
//               spontaneously; this method is not thread-safe.  To
//               get the size of a window in a thread-safe manner,
//               query get_properties().
////////////////////////////////////////////////////////////////////
50
inline int GraphicsOutput::get_x_size(void) const;

1059 10 get_y_size 0 4 1286 26 GraphicsOutput::get_y_size 0 1 425 747
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_y_size
//       Access: Published
//  Description: Returns the visible height of the window or buffer,
//               if it is known.  In certain cases (e.g. fullscreen
//               windows), the size may not be known until after the
//               object has been fully created.  Check has_size()
//               first.
//
//               Certain objects (like windows) may change size
//               spontaneously; this method is not thread-safe.  To
//               get the size of a window in a thread-safe manner,
//               query get_properties().
////////////////////////////////////////////////////////////////////
50
inline int GraphicsOutput::get_y_size(void) const;

1060 13 get_fb_x_size 0 4 1286 29 GraphicsOutput::get_fb_x_size 0 1 426 440
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_x_size
//       Access: Published
//  Description: Returns the internal width of the window or buffer.
//               This is almost always the same as get_x_size(),
//               except when a pixel_zoom is in effect--see
//               set_pixel_zoom().
////////////////////////////////////////////////////////////////////
53
inline int GraphicsOutput::get_fb_x_size(void) const;

1061 13 get_fb_y_size 0 4 1286 29 GraphicsOutput::get_fb_y_size 0 1 427 441
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_y_size
//       Access: Published
//  Description: Returns the internal height of the window or buffer.
//               This is almost always the same as get_y_size(),
//               except when a pixel_zoom is in effect--see
//               set_pixel_zoom().
////////////////////////////////////////////////////////////////////
53
inline int GraphicsOutput::get_fb_y_size(void) const;

1062 19 get_sbs_left_x_size 0 4 1286 35 GraphicsOutput::get_sbs_left_x_size 0 1 428 522
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_x_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel width of the left eye, based on scaling
//               get_x_size() by get_sbs_left_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_x_size().
////////////////////////////////////////////////////////////////////
59
inline int GraphicsOutput::get_sbs_left_x_size(void) const;

1063 19 get_sbs_left_y_size 0 4 1286 35 GraphicsOutput::get_sbs_left_y_size 0 1 429 523
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_y_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel height of the left eye, based on scaling
//               get_y_size() by get_sbs_left_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_y_size().
////////////////////////////////////////////////////////////////////
59
inline int GraphicsOutput::get_sbs_left_y_size(void) const;

1064 20 get_sbs_right_x_size 0 4 1286 36 GraphicsOutput::get_sbs_right_x_size 0 1 430 525
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_x_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel width of the right eye, based on scaling
//               get_x_size() by get_sbs_right_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_x_size().
////////////////////////////////////////////////////////////////////
60
inline int GraphicsOutput::get_sbs_right_x_size(void) const;

1065 20 get_sbs_right_y_size 0 4 1286 36 GraphicsOutput::get_sbs_right_y_size 0 1 431 526
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_y_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel height of the right eye, based on scaling
//               get_y_size() by get_sbs_right_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_y_size().
////////////////////////////////////////////////////////////////////
60
inline int GraphicsOutput::get_sbs_right_y_size(void) const;

1066 8 has_size 0 4 1286 24 GraphicsOutput::has_size 0 1 432 530
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::has_size
//       Access: Published
//  Description: Returns true if the size of the window/frame buffer
//               is known, false otherwise.  In certain cases the size
//               may not be known until after the object has been
//               fully created.  Also, certain objects (like windows)
//               may change size spontaneously.
////////////////////////////////////////////////////////////////////
49
inline bool GraphicsOutput::has_size(void) const;

1067 8 is_valid 0 4 1286 24 GraphicsOutput::is_valid 0 1 433 326
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_valid
//       Access: Published
//  Description: Returns true if the output is fully created and ready
//               for rendering, false otherwise.
////////////////////////////////////////////////////////////////////
49
inline bool GraphicsOutput::is_valid(void) const;

1068 15 is_nonzero_size 0 4 1286 31 GraphicsOutput::is_nonzero_size 0 1 434 375
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_nonzero_size
//       Access: Published
//  Description: Returns true if the output has a nonzero size in both
//               X and Y, or false if it is zero (and therefore
//               invalid).
////////////////////////////////////////////////////////////////////
56
inline bool GraphicsOutput::is_nonzero_size(void) const;

1069 10 set_active 0 4 1286 26 GraphicsOutput::set_active 0 1 435 380
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_active
//       Access: Published
//  Description: Sets the active flag associated with the
//               GraphicsOutput.  If the GraphicsOutput is marked
//               inactive, nothing is rendered.
////////////////////////////////////////////////////////////////////
45
void GraphicsOutput::set_active(bool active);

1070 9 is_active 0 6 1286 25 GraphicsOutput::is_active 0 1 436 324
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_active
//       Access: Published, Virtual
//  Description: Returns true if the window is ready to be rendered
//               into, false otherwise.
////////////////////////////////////////////////////////////////////
51
virtual bool GraphicsOutput::is_active(void) const;

1071 12 set_one_shot 0 4 1286 28 GraphicsOutput::set_one_shot 0 1 437 1275
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_one_shot
//       Access: Published
//  Description: Changes the current setting of the one-shot flag.
//               When this is true, the GraphicsOutput will render the
//               current frame and then automatically set itself
//               inactive.  This is particularly useful for buffers
//               that are created for the purposes of
//               render-to-texture, for static textures that don't
//               need to be continually re-rendered once they have
//               been rendered the first time.
//
//               Setting the buffer inactive is not the same thing as
//               destroying it.  You are still responsible for passing
//               this buffer to GraphicsEngine::remove_window() when
//               you no longer need the texture, in order to clean up
//               fully.  (However, you should not call remove_window()
//               on this buffer while the texture is still needed,
//               because depending on the render-to-texture mechanism
//               in use, this may invalidate the texture contents.)
////////////////////////////////////////////////////////////////////
49
void GraphicsOutput::set_one_shot(bool one_shot);

1072 12 get_one_shot 0 4 1286 28 GraphicsOutput::get_one_shot 0 1 438 427
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_one_shot
//       Access: Published
//  Description: Returns the current setting of the one-shot flag.
//               When this is true, the GraphicsOutput will
//               automatically set itself inactive after the next
//               frame.
////////////////////////////////////////////////////////////////////
46
bool GraphicsOutput::get_one_shot(void) const;

1073 12 set_inverted 0 4 1286 28 GraphicsOutput::set_inverted 0 1 439 947
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_inverted
//       Access: Published
//  Description: Changes the current setting of the inverted flag.
//               When this is true, the scene is rendered into the
//               window upside-down and backwards, that is, inverted
//               as if viewed through a mirror placed on the floor.
//
//               This is primarily intended to support DirectX (and a
//               few buggy OpenGL graphics drivers) that perform a
//               framebuffer-to-texture copy upside-down from the
//               usual OpenGL (and Panda) convention.  Panda will
//               automatically set this flag for offscreen buffers on
//               hardware that is known to do this, to compensate when
//               rendering offscreen into a texture.
////////////////////////////////////////////////////////////////////
49
void GraphicsOutput::set_inverted(bool inverted);

1074 12 get_inverted 0 4 1286 28 GraphicsOutput::get_inverted 0 1 440 459
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_inverted
//       Access: Published
//  Description: Returns the current setting of the inverted flag.
//               When this is true, the scene is rendered into the
//               window upside-down, flipped like a mirror along the X
//               axis.  See set_inverted().
////////////////////////////////////////////////////////////////////
53
inline bool GraphicsOutput::get_inverted(void) const;

1075 13 set_swap_eyes 0 4 1286 29 GraphicsOutput::set_swap_eyes 0 1 441 688
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_swap_eyes
//       Access: Public
//  Description: Changes the "swap eyes" flag.  This flag is normally
//               false.  When it is true, the left and right channels
//               of a stereo DisplayRegion are sent to the opposite
//               channels in the rendering backend.  This is meant to
//               work around hardware that inadvertently swaps the
//               output channels, or hardware for which it cannot be
//               determined which channel is which until runtime.
////////////////////////////////////////////////////////////////////
58
inline void GraphicsOutput::set_swap_eyes(bool swap_eyes);

1076 13 get_swap_eyes 0 4 1286 29 GraphicsOutput::get_swap_eyes 0 1 442 316
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_swap_eyes
//       Access: Public
//  Description: Returns the current setting of the "swap eyes" flag.
//               See set_swap_eyes().
////////////////////////////////////////////////////////////////////
54
inline bool GraphicsOutput::get_swap_eyes(void) const;

1077 19 set_red_blue_stereo 0 4 1286 35 GraphicsOutput::set_red_blue_stereo 0 1 443 959
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_red_blue_stereo
//       Access: Published
//  Description: Enables red-blue stereo mode on this particular
//               window.  When red-blue stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render in the red (or specified) channel only, while
//               DisplayRegions that have the "right" channel set will
//               render in the blue (or specified) channel only.
//
//               The remaining two parameters specify the particular
//               color channel(s) to associate with each eye.  Use the
//               bits defined in ColorWriteAttrib::Channels.
//
//               This can be used to achieve a cheesy stereo mode in
//               the absence of hardware-supported stereo.
////////////////////////////////////////////////////////////////////
139
inline void GraphicsOutput::set_red_blue_stereo(bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask);

1078 19 get_red_blue_stereo 0 4 1286 35 GraphicsOutput::get_red_blue_stereo 0 1 444 357
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_red_blue_stereo
//       Access: Published
//  Description: Returns whether red-blue stereo mode is in effect for
//               this particular window.  See set_red_blue_stereo().
////////////////////////////////////////////////////////////////////
60
inline bool GraphicsOutput::get_red_blue_stereo(void) const;

1079 23 get_left_eye_color_mask 0 4 1286 39 GraphicsOutput::get_left_eye_color_mask 0 1 445 470
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_left_eye_color_mask
//       Access: Published
//  Description: Returns the color mask in effect when rendering a
//               left-eye view in red_blue stereo mode.  This is one
//               or more bits defined in ColorWriteAttrib::Channels.
//               See set_red_blue_stereo().
////////////////////////////////////////////////////////////////////
72
inline unsigned int GraphicsOutput::get_left_eye_color_mask(void) const;

1080 24 get_right_eye_color_mask 0 4 1286 40 GraphicsOutput::get_right_eye_color_mask 0 1 446 472
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_right_eye_color_mask
//       Access: Published
//  Description: Returns the color mask in effect when rendering a
//               right-eye view in red_blue stereo mode.  This is one
//               or more bits defined in ColorWriteAttrib::Channels.
//               See set_red_blue_stereo().
////////////////////////////////////////////////////////////////////
73
inline unsigned int GraphicsOutput::get_right_eye_color_mask(void) const;

1081 23 set_side_by_side_stereo 0 4 1286 39 GraphicsOutput::set_side_by_side_stereo 0 2 447 448 2016
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_side_by_side_stereo
//       Access: Published
//  Description: Enables side-by-side stereo mode on this particular
//               window.  When side-by-side stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render on the part of the window specified by
//               sbs_left_dimensions (typically the left half: (0,
//               0.5, 0, 1)), while DisplayRegions that have the
//               "right" channel set will render on the part of the
//               window specified by sbs_right_dimensions (typically
//               the right half: (0.5, 1, 0, 1)).
//
//               This is commonly used in a dual-monitor mode, where a
//               window is opened that spans two monitors, and each
//               monitor represents a different eye.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_side_by_side_stereo
//       Access: Published
//  Description: Enables side-by-side stereo mode on this particular
//               window.  When side-by-side stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render on the part of the window specified by
//               sbs_left_dimensions (typically the left half: (0,
//               0.5, 0, 1)), while DisplayRegions that have the
//               "right" channel set will render on the part of the
//               window specified by sbs_right_dimensions (typically
//               the right half: (0.5, 1, 0, 1)).
//
//               This is commonly used in a dual-monitor mode, where a
//               window is opened that spans two monitors, and each
//               monitor represents a different eye.
////////////////////////////////////////////////////////////////////
222
void GraphicsOutput::set_side_by_side_stereo(bool side_by_side_stereo);
void GraphicsOutput::set_side_by_side_stereo(bool side_by_side_stereo, LVecBase4f const &sbs_left_dimensions, LVecBase4f const &sbs_right_dimensions);

1082 23 get_side_by_side_stereo 0 4 1286 39 GraphicsOutput::get_side_by_side_stereo 0 1 449 369
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_side_by_side_stereo
//       Access: Published
//  Description: Returns whether side-by-side stereo mode is in effect for
//               this particular window.  See set_side_by_side_stereo().
////////////////////////////////////////////////////////////////////
64
inline bool GraphicsOutput::get_side_by_side_stereo(void) const;

1083 23 get_sbs_left_dimensions 0 4 1286 39 GraphicsOutput::get_sbs_left_dimensions 0 1 450 458
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_dimensions
//       Access: Published
//  Description: Returns the effective sub-region of the window for
//               displaying the left channel, if side-by-side stereo
//               mode is in effect for the window.  See
//               set_side_by_side_stereo().
////////////////////////////////////////////////////////////////////
77
inline LVecBase4f const &GraphicsOutput::get_sbs_left_dimensions(void) const;

1084 24 get_sbs_right_dimensions 0 4 1286 40 GraphicsOutput::get_sbs_right_dimensions 0 1 451 460
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_dimensions
//       Access: Published
//  Description: Returns the effective sub-region of the window for
//               displaying the right channel, if side-by-side stereo
//               mode is in effect for the window.  See
//               set_side_by_side_stereo().
////////////////////////////////////////////////////////////////////
78
inline LVecBase4f const &GraphicsOutput::get_sbs_right_dimensions(void) const;

1085 17 get_fb_properties 0 4 1286 33 GraphicsOutput::get_fb_properties 0 1 452 282
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_properties
//       Access: Published
//  Description: Returns the framebuffer properties of the window.
////////////////////////////////////////////////////////////////////
82
inline FrameBufferProperties const &GraphicsOutput::get_fb_properties(void) const;

1086 9 is_stereo 0 4 1286 25 GraphicsOutput::is_stereo 0 1 453 447
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_stereo
//       Access: Published
//  Description: Returns Returns true if this window can render stereo
//               DisplayRegions, either through red-blue stereo (see
//               set_red_blue_stereo()) or through true hardware
//               stereo rendering.
////////////////////////////////////////////////////////////////////
50
inline bool GraphicsOutput::is_stereo(void) const;

1087 17 clear_delete_flag 0 4 1286 33 GraphicsOutput::clear_delete_flag 0 1 454 386
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_delete_flag
//       Access: Published
//  Description: Resets the delete flag, so the GraphicsOutput will
//               not be automatically deleted before the beginning of
//               the next frame.
////////////////////////////////////////////////////////////////////
52
inline void GraphicsOutput::clear_delete_flag(void);

1088 15 get_delete_flag 0 4 1286 31 GraphicsOutput::get_delete_flag 0 1 455 460
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_delete_flag
//       Access: Published
//  Description: Returns the current setting of the delete flag.  When
//               this is true, the GraphicsOutput will automatically
//               be removed before the beginning of the next frame by
//               the GraphicsEngine.
////////////////////////////////////////////////////////////////////
49
bool GraphicsOutput::get_delete_flag(void) const;

1089 8 set_sort 0 6 1286 24 GraphicsOutput::set_sort 0 1 456 345
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_sort
//       Access: Published, Virtual
//  Description: Adjusts the sorting order of this particular
//               GraphicsOutput, relative to other GraphicsOutputs.
////////////////////////////////////////////////////////////////////
48
virtual void GraphicsOutput::set_sort(int sort);

1090 8 get_sort 0 4 1286 24 GraphicsOutput::get_sort 0 1 457 432
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sort
//       Access: Published
//  Description: Returns the sorting order of this particular
//               GraphicsOutput.  The various GraphicsOutputs within a
//               particular thread will be rendered in the indicated
//               order.
////////////////////////////////////////////////////////////////////
48
inline int GraphicsOutput::get_sort(void) const;

1091 14 set_child_sort 0 4 1286 30 GraphicsOutput::set_child_sort 0 1 458 1026
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_child_sort
//       Access: Published
//  Description: Specifies the sort value of future offscreen buffers
//               created by make_texture_sort().
//
//               The purpose of this method is to allow the user to
//               limit the sort value chosen for a buffer created via
//               make_texture_buffer().  Normally, this buffer will be
//               assigned a value of get_sort() - 1, so that it
//               will be rendered before this window is rendered; but
//               sometimes this isn't sufficiently early, especially
//               if other buffers also have a view into the same
//               scene.
//
//               If you specify a value here, then new buffers created
//               via make_texture_buffer() will be given that sort
//               value instead of get_sort() - 1.
////////////////////////////////////////////////////////////////////
59
inline void GraphicsOutput::set_child_sort(int child_sort);

1092 16 clear_child_sort 0 4 1286 32 GraphicsOutput::clear_child_sort 0 1 459 390
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_child_sort
//       Access: Published
//  Description: Resets the sort value of future offscreen buffers
//               created by make_texture_sort() to the default value.
//               See set_child_sort().
////////////////////////////////////////////////////////////////////
51
inline void GraphicsOutput::clear_child_sort(void);

1093 14 get_child_sort 0 4 1286 30 GraphicsOutput::get_child_sort 0 1 460 351
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_child_sort
//       Access: Published
//  Description: Returns the sort value of future offscreen buffers
//               created by make_texture_sort(). See set_child_sort().
////////////////////////////////////////////////////////////////////
54
inline int GraphicsOutput::get_child_sort(void) const;

1094 12 trigger_copy 0 4 1286 28 GraphicsOutput::trigger_copy 0 1 461 376
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::trigger_copy
//       Access: Published
//  Description: When the GraphicsOutput is in triggered copy mode,
//               this function triggers the copy (at the end of the
//               next frame).
////////////////////////////////////////////////////////////////////
47
inline void GraphicsOutput::trigger_copy(void);

1095 19 make_display_region 0 4 1286 35 GraphicsOutput::make_display_region 0 3 462 463 464 2126
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
////////////////////////////////////////////////////////////////////
241
inline DisplayRegion *GraphicsOutput::make_display_region(void);
inline DisplayRegion *GraphicsOutput::make_display_region(float l, float r, float b, float t);
DisplayRegion *GraphicsOutput::make_display_region(LVecBase4f const &dimensions);

1096 24 make_mono_display_region 0 4 1286 40 GraphicsOutput::make_mono_display_region 0 3 465 466 467 2283
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
////////////////////////////////////////////////////////////////////
256
inline DisplayRegion *GraphicsOutput::make_mono_display_region(void);
inline DisplayRegion *GraphicsOutput::make_mono_display_region(float l, float r, float b, float t);
DisplayRegion *GraphicsOutput::make_mono_display_region(LVecBase4f const &dimensions);

1097 26 make_stereo_display_region 0 4 1286 42 GraphicsOutput::make_stereo_display_region 0 3 468 469 470 1371
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
////////////////////////////////////////////////////////////////////
280
inline StereoDisplayRegion *GraphicsOutput::make_stereo_display_region(void);
inline StereoDisplayRegion *GraphicsOutput::make_stereo_display_region(float l, float r, float b, float t);
StereoDisplayRegion *GraphicsOutput::make_stereo_display_region(LVecBase4f const &dimensions);

1098 21 remove_display_region 0 4 1286 37 GraphicsOutput::remove_display_region 0 1 471 492
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::remove_display_region
//       Access: Published
//  Description: Removes the indicated DisplayRegion from the window,
//               and destructs it if there are no other references.
//
//               Returns true if the DisplayRegion is found and
//               removed, false if it was not a part of the window.
////////////////////////////////////////////////////////////////////
74
bool GraphicsOutput::remove_display_region(DisplayRegion *display_region);

1099 26 remove_all_display_regions 0 4 1286 42 GraphicsOutput::remove_all_display_regions 0 1 472 359
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::remove_all_display_regions
//       Access: Published
//  Description: Removes all display regions from the window, except
//               the default one that is created with the window.
////////////////////////////////////////////////////////////////////
54
void GraphicsOutput::remove_all_display_regions(void);

1100 26 get_overlay_display_region 0 4 1286 42 GraphicsOutput::get_overlay_display_region 0 1 473 951
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_overlay_display_region
//       Access: Published
//  Description: Returns the special "overlay" DisplayRegion that is
//               created for each window or buffer.  This
//               DisplayRegion covers the entire window, but cannot be
//               used for rendering.  It is a placeholder only, to
//               indicate the dimensions of the window, and is usually
//               used internally for purposes such as clearing the
//               window, or grabbing a screenshot of the window.
//
//               There are very few applications that require access
//               to this DisplayRegion.  Normally, you should create
//               your own DisplayRegion that covers the window, if you
//               want to render to the window.
////////////////////////////////////////////////////////////////////
77
inline DisplayRegion *GraphicsOutput::get_overlay_display_region(void) const;

1101 26 set_overlay_display_region 0 4 1286 42 GraphicsOutput::set_overlay_display_region 0 1 474 1132
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_overlay_display_region
//       Access: Published
//  Description: Replaces the special "overlay" DisplayRegion that is
//               created for each window or buffer.  See
//               get_overlay_display_region().  This must be a new
//               DisplayRegion that has already been created for this
//               window, for instance via a call to
//               make_mono_display_region().  You are responsible for
//               ensuring that the new DisplayRegion covers the entire
//               window.  The previous overlay display region is not
//               automatically removed; you must explicitly call
//               remove_display_region() on it after replacing it with
//               this method, if you wish it to be removed.
//
//               Normally, there is no reason to change the overlay
//               DisplayRegion, so this method should be used only
//               in very unusual circumstances.
////////////////////////////////////////////////////////////////////
79
void GraphicsOutput::set_overlay_display_region(DisplayRegion *display_region);

1102 23 get_num_display_regions 0 4 1286 39 GraphicsOutput::get_num_display_regions 0 1 475 355
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_num_display_regions
//       Access: Published
//  Description: Returns the number of DisplayRegions that have
//               been created within the window, active or otherwise.
////////////////////////////////////////////////////////////////////
56
int GraphicsOutput::get_num_display_regions(void) const;

1103 18 get_display_region 0 4 1286 34 GraphicsOutput::get_display_region 0 1 476 542
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_display_region
//       Access: Published
//  Description: Returns the nth DisplayRegion of those that have been
//               created within the window.  This may return NULL if n
//               is out of bounds; particularly likely if the number
//               of display regions has changed since the last call to
//               get_num_display_regions().
////////////////////////////////////////////////////////////////////
75
PointerTo< DisplayRegion > GraphicsOutput::get_display_region(int n) const;

1104 30 get_num_active_display_regions 0 4 1286 46 GraphicsOutput::get_num_active_display_regions 0 1 477 348
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_num_active_display_regions
//       Access: Published
//  Description: Returns the number of active DisplayRegions that have
//               been created within the window.
////////////////////////////////////////////////////////////////////
63
int GraphicsOutput::get_num_active_display_regions(void) const;

1105 25 get_active_display_region 0 4 1286 41 GraphicsOutput::get_active_display_region 0 1 478 563
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_active_display_region
//       Access: Published
//  Description: Returns the nth active DisplayRegion of those that
//               have been created within the window.  This may return
//               NULL if n is out of bounds; particularly likely if
//               the number of display regions has changed since the
//               last call to get_num_active_display_regions().
////////////////////////////////////////////////////////////////////
82
PointerTo< DisplayRegion > GraphicsOutput::get_active_display_region(int n) const;

1106 19 make_texture_buffer 0 4 1286 35 GraphicsOutput::make_texture_buffer 0 4 479 480 481 482 1790
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_texture_buffer
//       Access: Published
//  Description: Creates and returns an offscreen buffer for rendering
//               into, the result of which will be a texture suitable
//               for applying to geometry within the scene rendered
//               into this window.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created.  In either case, the target
//               texture can be retrieved from the return value with
//               buffer->get_texture() (assuming the return value is
//               not NULL).
//
//               If to_ram is true, the buffer will be set up to
//               download its contents to the system RAM memory
//               associated with the Texture object, instead of
//               keeping it strictly within texture memory; this is
//               much slower, but it allows using the texture with any
//               GSG.
//
//               This will attempt to be smart about maximizing render
//               performance while minimizing framebuffer waste.  It
//               might return a GraphicsBuffer set to render directly
//               into a texture, if possible; or it might return a
//               ParasiteBuffer that renders into this window.  The
//               return value is NULL if the buffer could not be
//               created for some reason.
//
//               When you are done using the buffer, you should remove
//               it with a call to GraphicsEngine::remove_window().
////////////////////////////////////////////////////////////////////
203
GraphicsOutput *GraphicsOutput::make_texture_buffer(basic_string< char > const &name, int x_size, int y_size, Texture *tex = ((void *)(0)), bool to_ram = (0), FrameBufferProperties *fbp = ((void *)(0)));

1107 13 make_cube_map 0 4 1286 29 GraphicsOutput::make_cube_map 0 4 483 484 485 486 1206
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_cube_map
//       Access: Published
//  Description: This is similar to make_texture_buffer() in that it
//               allocates a separate buffer suitable for rendering to
//               a texture that can be assigned to geometry in this
//               window, but in this case, the buffer is set up to
//               render the six faces of a cube map.
//
//               The buffer is automatically set up with six display
//               regions and six cameras, each of which are assigned
//               the indicated draw_mask and parented to the given
//               camera_rig node (which you should then put in your
//               scene to render the cube map from the appropriate
//               point of view).
//
//               You may take the texture associated with the buffer
//               and apply it to geometry, particularly with
//               TexGenAttrib::M_world_cube_map also in effect, to
//               apply a reflection of everything seen by the camera
//               rig.
////////////////////////////////////////////////////////////////////
244
GraphicsOutput *GraphicsOutput::make_cube_map(basic_string< char > const &name, int size, NodePath &camera_rig, BitMask< unsigned int, 32 > camera_mask = ((get_all_camera_mask())), bool to_ram = (0), FrameBufferProperties *fbp = ((void *)(0)));

1108 24 make_screenshot_filename 0 4 1286 40 GraphicsOutput::make_screenshot_filename 0 2 487 488 806
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_screenshot_filename
//       Access: Published, Static
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The default filename is
//               generated from the supplied prefix and from the
//               Config variable screenshot-filename, which contains
//               the following strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
////////////////////////////////////////////////////////////////////
117
static inline Filename GraphicsOutput::make_screenshot_filename(basic_string< char > const &prefix = ("screenshot"));

1109 23 save_screenshot_default 0 4 1286 39 GraphicsOutput::save_screenshot_default 0 2 489 490 471
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
////////////////////////////////////////////////////////////////////
109
inline Filename GraphicsOutput::save_screenshot_default(basic_string< char > const &prefix = ("screenshot"));

1110 15 save_screenshot 0 4 1286 31 GraphicsOutput::save_screenshot 0 2 491 492 600
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  The image comment is an optional user
//               readable string that will be saved with the header
//               of the image (if the file format supports embedded
//               data; for example jpg allows comments).  Returns
//               true on success, false on failure.
////////////////////////////////////////////////////////////////////
120
inline bool GraphicsOutput::save_screenshot(Filename const &filename, basic_string< char > const &image_comment = (""));

1111 14 get_screenshot 0 4 1286 30 GraphicsOutput::get_screenshot 0 2 493 494 774
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer into the indicated PNMImage.  Returns
//               true on success, false on failure.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer and returns it as Texture, or NULL on
//               failure.
////////////////////////////////////////////////////////////////////
126
inline bool GraphicsOutput::get_screenshot(PNMImage &image);
inline PointerTo< Texture > GraphicsOutput::get_screenshot(void);

1112 16 get_texture_card 0 4 1286 32 GraphicsOutput::get_texture_card 0 1 495 959
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture_card
//       Access: Published
//  Description: Returns a PandaNode containing a square polygon.
//               The dimensions are (-1,0,-1) to (1,0,1). The texture
//               coordinates are such that the texture of this
//               GraphicsOutput is aligned properly to the polygon.
//               The GraphicsOutput promises to surgically update
//               the Geom inside the PandaNode if necessary to maintain
//               this invariant.
//
//               Each invocation of this function returns a freshly-
//               allocated PandaNode.  You can therefore safely modify
//               the RenderAttribs of the PandaNode.  The
//               PandaNode is initially textured with the texture
//               of this GraphicOutput.
////////////////////////////////////////////////////////////////////
48
NodePath GraphicsOutput::get_texture_card(void);

1113 18 share_depth_buffer 0 6 1286 34 GraphicsOutput::share_depth_buffer 0 1 496 386
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::share_depth_buffer
//       Access: Published, Virtual
//  Description: Will attempt to use the depth buffer of the input
//               graphics_output. The buffer sizes must be exactly
//               the same.
////////////////////////////////////////////////////////////////////
81
virtual bool GraphicsOutput::share_depth_buffer(GraphicsOutput *graphics_output);

1114 20 unshare_depth_buffer 0 6 1286 36 GraphicsOutput::unshare_depth_buffer 0 1 497 282
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::unshare_depth_buffer
//       Access: Published, Virtual
//  Description: Discontinue sharing the depth buffer.
////////////////////////////////////////////////////////////////////
56
virtual void GraphicsOutput::unshare_depth_buffer(void);

1115 27 get_supports_render_texture 0 6 1286 43 GraphicsOutput::get_supports_render_texture 0 1 498 477
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_supports_render_texture
//       Access: Published, Virtual
//  Description: Returns true if this particular GraphicsOutput can
//               render directly into a texture, or false if it must
//               always copy-to-texture at the end of each frame to
//               achieve this effect.
////////////////////////////////////////////////////////////////////
69
virtual bool GraphicsOutput::get_supports_render_texture(void) const;

1116 10 flip_ready 0 6 1286 26 GraphicsOutput::flip_ready 0 1 499 497
// These are not intended to be called directly by the user, but
// they're published anyway since they might occasionally be useful
// for low-level debugging.

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::flip_ready
//       Access: Published, Virtual
//  Description: Returns true if a frame has been rendered and needs
//               to be flipped, false otherwise.
////////////////////////////////////////////////////////////////////
52
virtual bool GraphicsOutput::flip_ready(void) const;

1117 8 get_host 0 6 1286 24 GraphicsOutput::get_host 0 1 500 664
// These are not intended to be called directly by the user, but
// they're published anyway since they might occasionally be useful
// for low-level debugging.

////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_host
//       Access: Published, Virtual
//  Description: This is normally called only from within
//               make_texture_buffer().  When called on a
//               ParasiteBuffer, it returns the host of that buffer;
//               but when called on some other buffer, it returns the
//               buffer itself.
////////////////////////////////////////////////////////////////////
55
virtual GraphicsOutput *GraphicsOutput::get_host(void);

1118 14 get_class_type 0 4 1286 30 GraphicsOutput::get_class_type 0 1 501 0
55
static TypeHandle GraphicsOutput::get_class_type(void);

1119 26 ~GraphicsWindowInputDevice 0 4 1290 53 GraphicsWindowInputDevice::~GraphicsWindowInputDevice 0 0 233
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::Destructor
//       Access: Public
//  Description:
////////////////////////////////////////////////////////////////////
60
GraphicsWindowInputDevice::~GraphicsWindowInputDevice(void);

1120 11 button_down 0 4 1290 38 GraphicsWindowInputDevice::button_down 0 2 506 507 406
// The following interface is for the various kinds of
// GraphicsWindows to record the data incoming on the device.

////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
////////////////////////////////////////////////////////////////////
125
void GraphicsWindowInputDevice::button_down(ButtonHandle button, double time = ((((get_global_clock())->get_frame_time)())));

1121 18 button_resume_down 0 4 1290 45 GraphicsWindowInputDevice::button_resume_down 0 2 508 509 583
// The following interface is for the various kinds of
// GraphicsWindows to record the data incoming on the device.

////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_resume_down
//       Access: Public
//  Description: Records that the indicated button was depressed
//               earlier, and we only just detected the event after
//               the fact.  This is mainly useful for tracking the
//               state of modifier keys.
////////////////////////////////////////////////////////////////////
132
void GraphicsWindowInputDevice::button_resume_down(ButtonHandle button, double time = ((((get_global_clock())->get_frame_time)())));

1122 9 button_up 0 4 1290 36 GraphicsWindowInputDevice::button_up 0 2 510 511 285
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
////////////////////////////////////////////////////////////////////
123
void GraphicsWindowInputDevice::button_up(ButtonHandle button, double time = ((((get_global_clock())->get_frame_time)())));

1123 9 keystroke 0 4 1290 36 GraphicsWindowInputDevice::keystroke 0 2 512 513 306
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::keystroke
//       Access: Public
//  Description: Records that the indicated keystroke has been
//               generated.
////////////////////////////////////////////////////////////////////
115
void GraphicsWindowInputDevice::keystroke(int keycode, double time = ((((get_global_clock())->get_frame_time)())));

1124 9 candidate 0 4 1290 36 GraphicsWindowInputDevice::candidate 0 1 514 463
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::candidate
//       Access: Public
//  Description: Records that the indicated candidate string has been
//               highlighted.  This is used to implement IME support
//               for typing in international languages, especially
//               Chinese/Japanese/Korean.
////////////////////////////////////////////////////////////////////
174
void GraphicsWindowInputDevice::candidate(basic_string< wchar_t > const &candidate_string, unsigned int highlight_start, unsigned int highlight_end, unsigned int cursor_pos);

1125 10 focus_lost 0 4 1290 37 GraphicsWindowInputDevice::focus_lost 0 2 515 516 668
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::focus_lost
//       Access: Public
//  Description: This should be called when the window focus is lost,
//               so that we may miss upcoming button events
//               (especially "up" events) for the next period of time.
//               It generates keyboard and mouse "up" events for those
//               buttons that we previously sent unpaired "down"
//               events, so that the Panda application will believe
//               all buttons are now released.
////////////////////////////////////////////////////////////////////
103
void GraphicsWindowInputDevice::focus_lost(double time = ((((get_global_clock())->get_frame_time)())));

1126 15 raw_button_down 0 4 1290 42 GraphicsWindowInputDevice::raw_button_down 0 2 517 518 292
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
////////////////////////////////////////////////////////////////////
129
void GraphicsWindowInputDevice::raw_button_down(ButtonHandle button, double time = ((((get_global_clock())->get_frame_time)())));

1127 13 raw_button_up 0 4 1290 40 GraphicsWindowInputDevice::raw_button_up 0 2 519 520 289
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
////////////////////////////////////////////////////////////////////
127
void GraphicsWindowInputDevice::raw_button_up(ButtonHandle button, double time = ((((get_global_clock())->get_frame_time)())));

1128 21 set_pointer_in_window 0 4 1290 48 GraphicsWindowInputDevice::set_pointer_in_window 0 2 521 522 413
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_in_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is within the window, at
//               the given pixel coordinates.
////////////////////////////////////////////////////////////////////
141
inline void GraphicsWindowInputDevice::set_pointer_in_window(double x, double y, double time = ((((get_global_clock())->get_frame_time)())));

1129 25 set_pointer_out_of_window 0 4 1290 52 GraphicsWindowInputDevice::set_pointer_out_of_window 0 2 523 524 395
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_out_of_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is no longer within the
//               window.
////////////////////////////////////////////////////////////////////
125
inline void GraphicsWindowInputDevice::set_pointer_out_of_window(double time = ((((get_global_clock())->get_frame_time)())));

1130 11 set_pointer 0 4 1290 38 GraphicsWindowInputDevice::set_pointer 0 1 525 281
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer
//       Access: Public
//  Description: Records that a mouse movement has taken place.
////////////////////////////////////////////////////////////////////
89
void GraphicsWindowInputDevice::set_pointer(bool inwin, double x, double y, double time);

1131 5 get_x 0 4 1291 16 TouchInfo::get_x 0 1 526 0
27
int TouchInfo::get_x(void);

1132 5 get_y 0 4 1291 16 TouchInfo::get_y 0 1 527 0
27
int TouchInfo::get_y(void);

1133 6 get_id 0 4 1291 17 TouchInfo::get_id 0 1 528 0
28
int TouchInfo::get_id(void);

1134 9 get_flags 0 4 1291 20 TouchInfo::get_flags 0 1 529 0
31
int TouchInfo::get_flags(void);

1135 10 ~TouchInfo 0 4 1291 21 TouchInfo::~TouchInfo 0 0 0
28
TouchInfo::~TouchInfo(void);

1136 8 get_hwnd 0 4 1293 40 GraphicsWindowProcCallbackData::get_hwnd 0 1 530 280
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_hwnd
//       Access: Published
//  Description: Returns the Windows proc hwnd parameter.
////////////////////////////////////////////////////////////////////
64
inline int GraphicsWindowProcCallbackData::get_hwnd(void) const;

1137 7 get_msg 0 4 1293 39 GraphicsWindowProcCallbackData::get_msg 0 1 531 278
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_msg
//       Access: Published
//  Description: Returns the Windows proc msg parameter.
////////////////////////////////////////////////////////////////////
63
inline int GraphicsWindowProcCallbackData::get_msg(void) const;

1138 10 get_wparam 0 4 1293 42 GraphicsWindowProcCallbackData::get_wparam 0 1 532 284
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_wparam
//       Access: Published
//  Description: Returns the Windows proc wparam parameter.
////////////////////////////////////////////////////////////////////
66
inline int GraphicsWindowProcCallbackData::get_wparam(void) const;

1139 10 get_lparam 0 4 1293 42 GraphicsWindowProcCallbackData::get_lparam 0 1 533 284
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_lparam
//       Access: Published
//  Description: Returns the Windows proc lparam parameter.
////////////////////////////////////////////////////////////////////
66
inline int GraphicsWindowProcCallbackData::get_lparam(void) const;

1140 14 is_touch_event 0 4 1293 46 GraphicsWindowProcCallbackData::is_touch_event 0 1 534 313
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::is_touch_event
//       Access: Public, Virtual
//  Description: Returns whether the event is a touch event.
//               
////////////////////////////////////////////////////////////////////
58
bool GraphicsWindowProcCallbackData::is_touch_event(void);

1141 15 get_num_touches 0 4 1293 47 GraphicsWindowProcCallbackData::get_num_touches 0 1 535 323
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_num_touches
//       Access: Public, Virtual
//  Description: Returns the current number of touches on the window.
//               
////////////////////////////////////////////////////////////////////
58
int GraphicsWindowProcCallbackData::get_num_touches(void);

1142 14 get_touch_info 0 4 1293 46 GraphicsWindowProcCallbackData::get_touch_info 0 1 536 330
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_touch_info
//       Access: Public, Virtual
//  Description: Returns the TouchInfo object describing the specified touch.
//               
////////////////////////////////////////////////////////////////////
68
TouchInfo GraphicsWindowProcCallbackData::get_touch_info(int index);

1143 14 get_class_type 0 4 1293 46 GraphicsWindowProcCallbackData::get_class_type 0 1 537 0
71
static TypeHandle GraphicsWindowProcCallbackData::get_class_type(void);

1144 31 ~GraphicsWindowProcCallbackData 0 4 1293 63 GraphicsWindowProcCallbackData::~GraphicsWindowProcCallbackData 0 0 0
70
GraphicsWindowProcCallbackData::~GraphicsWindowProcCallbackData(void);

1145 14 get_properties 0 4 1295 30 GraphicsWindow::get_properties 0 1 538 275
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_properties
//       Access: Published
//  Description: Returns the current properties of the window.
////////////////////////////////////////////////////////////////////
66
WindowProperties const GraphicsWindow::get_properties(void) const;

1146 24 get_requested_properties 0 4 1295 40 GraphicsWindow::get_requested_properties 0 1 539 459
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_requested_properties
//       Access: Published
//  Description: Returns the properties of the window that are
//               currently requested.  These properties will be
//               applied to the window (if valid) at the next
//               execution of process_events().
////////////////////////////////////////////////////////////////////
76
WindowProperties const GraphicsWindow::get_requested_properties(void) const;

1147 25 clear_rejected_properties 0 4 1295 41 GraphicsWindow::clear_rejected_properties 0 1 540 346
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::clear_rejected_properties
//       Access: Published
//  Description: Empties the set of failed properties that will be
//               returned by get_rejected_properties().
////////////////////////////////////////////////////////////////////
53
void GraphicsWindow::clear_rejected_properties(void);

1148 23 get_rejected_properties 0 4 1295 39 GraphicsWindow::get_rejected_properties 0 1 541 563
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_rejected_properties
//       Access: Published
//  Description: Returns the set of properties that have recently been
//               requested, but could not be applied to the window for
//               some reason.  This set of properties will remain
//               unchanged until they are changed by a new failed
//               request, or clear_rejected_properties() is called.
////////////////////////////////////////////////////////////////////
69
WindowProperties GraphicsWindow::get_rejected_properties(void) const;

1149 18 request_properties 0 4 1295 34 GraphicsWindow::request_properties 0 1 542 603
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::request_properties
//       Access: Published
//  Description: Requests a property change on the window.  For
//               example, use this method to request a window change
//               size or minimize or something.
//
//               The change is not made immediately; rather, the
//               request is saved and will be applied the next time
//               the window task is run (probably at the next frame).
////////////////////////////////////////////////////////////////////
86
void GraphicsWindow::request_properties(WindowProperties const &requested_properties);

1150 9 is_closed 0 4 1295 25 GraphicsWindow::is_closed 0 1 543 1121
// Filename: graphicsWindow.I
// Created by:  frang (07Mar99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::is_closed
//       Access: Published
//  Description: Returns true if the window has not yet been opened,
//               or has been fully closed, false if it is open.  The
//               window is not opened immediately after
//               GraphicsEngine::make_window() is called; nor is it
//               closed immediately after
//               GraphicsEngine::remove_window() is called.  Either
//               operation may take a frame or two.
////////////////////////////////////////////////////////////////////
50
inline bool GraphicsWindow::is_closed(void) const;

1151 13 is_fullscreen 0 4 1295 29 GraphicsWindow::is_fullscreen 0 1 544 329
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::is_fullscreen
//       Access: Published
//  Description: Returns true if the window has been opened as a
//               fullscreen window, false otherwise.
////////////////////////////////////////////////////////////////////
54
inline bool GraphicsWindow::is_fullscreen(void) const;

1152 16 set_window_event 0 4 1295 32 GraphicsWindow::set_window_event 0 1 545 630
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_window_event
//       Access: Published
//  Description: Changes the name of the event that is generated when
//               this window is modified externally, e.g. to be
//               resized or closed by the user.
//
//               By default, all windows have the same window event
//               unless they are explicitly changed.  When the event
//               is generated, it includes one parameter: the window
//               itself.
////////////////////////////////////////////////////////////////////
80
void GraphicsWindow::set_window_event(basic_string< char > const &window_event);

1153 16 get_window_event 0 4 1295 32 GraphicsWindow::get_window_event 0 1 546 421
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_window_event
//       Access: Published
//  Description: Returns the name of the event that is generated when
//               this window is modified externally, e.g. to be
//               resized or closed by the user.  See set_window_event().
////////////////////////////////////////////////////////////////////
66
basic_string< char > GraphicsWindow::get_window_event(void) const;

1154 23 set_close_request_event 0 4 1295 39 GraphicsWindow::set_close_request_event 0 1 547 1393
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_close_request_event
//       Access: Published
//  Description: Sets the event that is triggered when the user
//               requests to close the window, e.g. via alt-F4, or
//               clicking on the close box.
//
//               The default for each window is for this event to be
//               the empty string, which means the window-close
//               request is handled immediately by Panda (and the
//               window will be closed without the app getting a
//               chance to intervene).  If you set this to a nonempty
//               string, then the window is not closed, but instead
//               the event is thrown.  It is then up to the app to
//               respond appropriately, for instance by presenting an
//               "are you sure?" dialog box, and eventually calling
//               close_window() when the user is sure.
//
//               It is considered poor form to set this string and
//               then not handle the event.  This can frustrate the
//               user by making it difficult for him to cleanly shut
//               down the application (and may force the user to
//               hard-kill the app, or reboot the machine).
////////////////////////////////////////////////////////////////////
94
void GraphicsWindow::set_close_request_event(basic_string< char > const &close_request_event);

1155 23 get_close_request_event 0 4 1295 39 GraphicsWindow::get_close_request_event 0 1 548 515
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_close_request_event
//       Access: Published
//  Description: Returns the name of the event set via
//               set_close_request_event().  If this string is
//               nonempty, then when the user requests to close
//               window, this event will be generated instead.  See
//               set_close_request_event().
////////////////////////////////////////////////////////////////////
73
basic_string< char > GraphicsWindow::get_close_request_event(void) const;

1156 18 set_unexposed_draw 0 4 1295 34 GraphicsWindow::set_unexposed_draw 0 1 549 894
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_unexposed_draw
//       Access: Published
//  Description: If this flag is false, the window is redrawn only
//               after it has received a recent "unexpose" or "draw"
//               event from the underlying windowing systme.  If this
//               flag is true, the window is redrawn every frame
//               regardless.  Setting this false may prevent the
//               window from redrawing unnecessarily when it is
//               hidden, and may play nicer with other windows on the
//               desktop, but may adversely affect frame rate even
//               when the window is fully visible; setting it true will
//               ensure that the window contents are always current.
////////////////////////////////////////////////////////////////////
68
inline void GraphicsWindow::set_unexposed_draw(bool unexposed_draw);

1157 18 get_unexposed_draw 0 4 1295 34 GraphicsWindow::get_unexposed_draw 0 1 550 259
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_unexposed_draw
//       Access: Published
//  Description: See set_unexposed_draw().
////////////////////////////////////////////////////////////////////
59
inline bool GraphicsWindow::get_unexposed_draw(void) const;

1158 17 get_window_handle 0 4 1295 33 GraphicsWindow::get_window_handle 0 1 551 641
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_window_handle
//       Access: Published
//  Description: Returns the WindowHandle corresponding to this window
//               on the desktop.  This is mainly useful for
//               communicating with external libraries.  Use
//               window_handle->get_os_handle()->get_handle(), or
//               window_handle->get_string_handle(), to get the actual
//               OS-specific window handle object, whatever type that
//               might be.
////////////////////////////////////////////////////////////////////
67
inline WindowHandle *GraphicsWindow::get_window_handle(void) const;

1159 21 get_num_input_devices 0 4 1295 37 GraphicsWindow::get_num_input_devices 0 1 552 626
// Mouse and keyboard routines

////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_num_input_devices
//       Access: Published
//  Description: Returns the number of separate input devices
//               associated with the window.  Typically, a window will
//               have exactly one input device: the keyboard/mouse
//               pair.  However, some windows may have no input
//               devices, and others may add additional devices, for
//               instance for a joystick.
////////////////////////////////////////////////////////////////////
54
int GraphicsWindow::get_num_input_devices(void) const;

1160 21 get_input_device_name 0 4 1295 37 GraphicsWindow::get_input_device_name 0 1 553 310
// Mouse and keyboard routines

////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_input_device_name
//       Access: Published
//  Description: Returns the name of the nth input device.
////////////////////////////////////////////////////////////////////
77
basic_string< char > GraphicsWindow::get_input_device_name(int device) const;

1161 11 has_pointer 0 4 1295 27 GraphicsWindow::has_pointer 0 1 554 366
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::has_pointer
//       Access: Published
//  Description: Returns true if the nth input device has a
//               screen-space pointer (for instance, a mouse), false
//               otherwise.
////////////////////////////////////////////////////////////////////
51
bool GraphicsWindow::has_pointer(int device) const;

1162 12 has_keyboard 0 4 1295 28 GraphicsWindow::has_keyboard 0 1 555 314
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::has_keyboard
//       Access: Published
//  Description: Returns true if the nth input device has a keyboard,
//               false otherwise.
////////////////////////////////////////////////////////////////////
52
bool GraphicsWindow::has_keyboard(int device) const;

1163 16 get_keyboard_map 0 6 1295 32 GraphicsWindow::get_keyboard_map 0 1 556 348
////////////////////////////////////////////////////////////////////
//     Function: x11GraphicsWindow::get_keyboard_map
//       Access: Published, Virtual
//  Description: Returns a ButtonMap containing the association
//               between raw buttons and virtual buttons.
////////////////////////////////////////////////////////////////////
64
virtual ButtonMap *GraphicsWindow::get_keyboard_map(void) const;

1164 21 enable_pointer_events 0 4 1295 37 GraphicsWindow::enable_pointer_events 0 1 557 278
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::enable_pointer_events
//       Access: Published
//  Description: Turn on the generation of pointer events.
////////////////////////////////////////////////////////////////////
55
void GraphicsWindow::enable_pointer_events(int device);

1165 22 disable_pointer_events 0 4 1295 38 GraphicsWindow::disable_pointer_events 0 1 558 280
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::disable_pointer_events
//       Access: Published
//  Description: Turn off the generation of pointer events.
////////////////////////////////////////////////////////////////////
56
void GraphicsWindow::disable_pointer_events(int device);

1166 19 enable_pointer_mode 0 4 1295 35 GraphicsWindow::enable_pointer_mode 0 1 559 285
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::enable_pointer_mode
//       Access: Published
//  Description: See GraphicsWindowInputDevice::enable_pointer_mode
////////////////////////////////////////////////////////////////////
67
void GraphicsWindow::enable_pointer_mode(int device, double speed);

1167 20 disable_pointer_mode 0 4 1295 36 GraphicsWindow::disable_pointer_mode 0 1 560 289
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::disable_pointer_events
//       Access: Published
//  Description: See GraphicsWindowInputDevice::disable_pointer_mode
////////////////////////////////////////////////////////////////////
54
void GraphicsWindow::disable_pointer_mode(int device);

1168 11 get_pointer 0 4 1295 27 GraphicsWindow::get_pointer 0 1 561 471
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_pointer
//       Access: Published
//  Description: Returns the MouseData associated with the nth
//               input device's pointer.  This is deprecated; use
//               get_pointer_device().get_pointer() instead, or for
//               raw mice, use the InputDeviceManager interface.
////////////////////////////////////////////////////////////////////
56
MouseData GraphicsWindow::get_pointer(int device) const;

1169 12 move_pointer 0 6 1295 28 GraphicsWindow::move_pointer 0 1 562 540
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::move_pointer
//       Access: Published, Virtual
//  Description: Forces the pointer to the indicated position within
//               the window, if possible.
//
//               Returns true if successful, false on failure.  This
//               may fail if the mouse is not currently within the
//               window, or if the API doesn't support this operation.
////////////////////////////////////////////////////////////////////
68
virtual bool GraphicsWindow::move_pointer(int device, int x, int y);

1170 9 close_ime 0 6 1295 25 GraphicsWindow::close_ime 0 1 563 274
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::close_ime
//       Access: Published, Virtual
//  Description: Forces the ime window to close if any
//
////////////////////////////////////////////////////////////////////
45
virtual void GraphicsWindow::close_ime(void);

1171 24 add_python_event_handler 0 4 1295 40 GraphicsWindow::add_python_event_handler 0 1 564 343
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::add_custom_event_handler
//       Access: Published
//  Description: Adds a python event handler to be called
//               when a window event occurs.
//               
////////////////////////////////////////////////////////////////////
81
void GraphicsWindow::add_python_event_handler(PyObject *handler, PyObject *name);

1172 27 remove_python_event_handler 0 4 1295 43 GraphicsWindow::remove_python_event_handler 0 1 565 304
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::remove_custom_event_handler
//       Access: Published
//  Description: Removes the specified python event handler.
//               
////////////////////////////////////////////////////////////////////
65
void GraphicsWindow::remove_python_event_handler(PyObject *name);

1173 14 get_class_type 0 4 1295 30 GraphicsWindow::get_class_type 0 1 566 0
55
static TypeHandle GraphicsWindow::get_class_type(void);

1174 10 get_window 0 4 1297 54 CallbackGraphicsWindow::WindowCallbackData::get_window 0 1 579 306
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::WindowCallbackData::get_window
//       Access: Published
//  Description: Returns the window this callback was triggered from.
////////////////////////////////////////////////////////////////////
98
inline CallbackGraphicsWindow *CallbackGraphicsWindow::WindowCallbackData::get_window(void) const;

1175 14 get_class_type 0 4 1297 58 CallbackGraphicsWindow::WindowCallbackData::get_class_type 0 1 580 0
83
static TypeHandle CallbackGraphicsWindow::WindowCallbackData::get_class_type(void);

1176 19 ~WindowCallbackData 0 4 1297 63 CallbackGraphicsWindow::WindowCallbackData::~WindowCallbackData 0 0 0
70
CallbackGraphicsWindow::WindowCallbackData::~WindowCallbackData(void);

1177 14 get_class_type 0 4 1298 58 CallbackGraphicsWindow::EventsCallbackData::get_class_type 0 1 581 0
83
static TypeHandle CallbackGraphicsWindow::EventsCallbackData::get_class_type(void);

1178 19 ~EventsCallbackData 0 4 1298 63 CallbackGraphicsWindow::EventsCallbackData::~EventsCallbackData 0 0 0
70
CallbackGraphicsWindow::EventsCallbackData::~EventsCallbackData(void);

1179 14 get_properties 0 4 1299 62 CallbackGraphicsWindow::PropertiesCallbackData::get_properties 0 1 582 504
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::PropertiesCallbackData::get_properties
//       Access: Published
//  Description: Returns the WindowProperties object that this
//               callback should process.  Any properties that are
//               handled should be removed from this object;
//               properties that are unhandled should be left alone.
////////////////////////////////////////////////////////////////////
100
inline WindowProperties &CallbackGraphicsWindow::PropertiesCallbackData::get_properties(void) const;

1180 14 get_class_type 0 4 1299 62 CallbackGraphicsWindow::PropertiesCallbackData::get_class_type 0 1 583 0
87
static TypeHandle CallbackGraphicsWindow::PropertiesCallbackData::get_class_type(void);

1181 23 ~PropertiesCallbackData 0 4 1299 71 CallbackGraphicsWindow::PropertiesCallbackData::~PropertiesCallbackData 0 0 0
78
CallbackGraphicsWindow::PropertiesCallbackData::~PropertiesCallbackData(void);

1182 17 get_callback_type 0 4 1301 61 CallbackGraphicsWindow::RenderCallbackData::get_callback_type 0 1 584 467
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_callback_type
//       Access: Published
//  Description: Since the render callback is shared for several
//               functions, this method is needed to indicate which
//               particular function is being invoked with this
//               callback.
////////////////////////////////////////////////////////////////////
124
inline CallbackGraphicsWindow::RenderCallbackType CallbackGraphicsWindow::RenderCallbackData::get_callback_type(void) const;

1183 14 get_frame_mode 0 4 1301 58 CallbackGraphicsWindow::RenderCallbackData::get_frame_mode 0 1 585 507
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_frame_mode
//       Access: Published
//  Description: If the callback type (returned by get_callback_type)
//               is RCT_begin_frame or RCT_end_frame, then this method
//               will return the particular frame mode indicating
//               what, precisely, we want to do this frame.
////////////////////////////////////////////////////////////////////
104
inline GraphicsOutput::FrameMode CallbackGraphicsWindow::RenderCallbackData::get_frame_mode(void) const;

1184 15 set_render_flag 0 4 1301 59 CallbackGraphicsWindow::RenderCallbackData::set_render_flag 0 1 586 549
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::set_render_flag
//       Access: Published
//  Description: If the callback type is RCT_begin_frame, this call is
//               available to specify the return value from the
//               begin_frame() call.  If this is true (the default),
//               the frame is rendered normally; if it is false, the
//               frame is omitted.
////////////////////////////////////////////////////////////////////
90
inline void CallbackGraphicsWindow::RenderCallbackData::set_render_flag(bool render_flag);

1185 15 get_render_flag 0 4 1301 59 CallbackGraphicsWindow::RenderCallbackData::get_render_flag 0 1 587 347
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_render_flag
//       Access: Published
//  Description: Returns the current setting of the render flag.  See
//               set_render_flag().
////////////////////////////////////////////////////////////////////
84
inline bool CallbackGraphicsWindow::RenderCallbackData::get_render_flag(void) const;

1186 14 get_class_type 0 4 1301 58 CallbackGraphicsWindow::RenderCallbackData::get_class_type 0 1 588 0
83
static TypeHandle CallbackGraphicsWindow::RenderCallbackData::get_class_type(void);

1187 19 ~RenderCallbackData 0 4 1301 63 CallbackGraphicsWindow::RenderCallbackData::~RenderCallbackData 0 0 0
70
CallbackGraphicsWindow::RenderCallbackData::~RenderCallbackData(void);

1188 19 set_events_callback 0 4 1296 43 CallbackGraphicsWindow::set_events_callback 0 1 567 1327
// Filename: callbackGraphicsWindow.I
// Created by:  drose (06Jan11)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_events_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window is polled for window events, including
//               mouse and keyboard events, as well as window resize
//               events and other system-generated events.
//
//               This callback will receive a
//               CallbackGraphicsWindow::EventsCallbackData.
//
//               This callback should process any system-generated
//               events, and call data->upcall() to process requested
//               property change requests made via
//               request_properties().
////////////////////////////////////////////////////////////////////
80
inline void CallbackGraphicsWindow::set_events_callback(CallbackObject *object);

1189 21 clear_events_callback 0 4 1296 45 CallbackGraphicsWindow::clear_events_callback 0 1 568 331
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_events_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_events_callback().
////////////////////////////////////////////////////////////////////
64
inline void CallbackGraphicsWindow::clear_events_callback(void);

1190 19 get_events_callback 0 4 1296 43 CallbackGraphicsWindow::get_events_callback 0 1 569 299
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_events_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_events_callback().
////////////////////////////////////////////////////////////////////
79
inline CallbackObject *CallbackGraphicsWindow::get_events_callback(void) const;

1191 23 set_properties_callback 0 4 1296 47 CallbackGraphicsWindow::set_properties_callback 0 1 570 1100
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_properties_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window receives a property change request from
//               user code (e.g. via request_properties).
//
//               This callback will receive a
//               CallbackGraphicsWindow::PropertiesCallbackData, which
//               provides a get_properties() method that returns a
//               modifiable reference to a WindowsProperties object.
//               This object will contain only those properties
//               requested by user code.  The callback should handle
//               any of the requests it finds, including and
//               especially set_open(), and remove them from the
//               object when it has handled them.  Any unhandled
//               properties should be left unchanged in the properties
//               object.
////////////////////////////////////////////////////////////////////
84
inline void CallbackGraphicsWindow::set_properties_callback(CallbackObject *object);

1192 25 clear_properties_callback 0 4 1296 49 CallbackGraphicsWindow::clear_properties_callback 0 1 571 339
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_properties_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_properties_callback().
////////////////////////////////////////////////////////////////////
68
inline void CallbackGraphicsWindow::clear_properties_callback(void);

1193 23 get_properties_callback 0 4 1296 47 CallbackGraphicsWindow::get_properties_callback 0 1 572 307
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_properties_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_properties_callback().
////////////////////////////////////////////////////////////////////
83
inline CallbackObject *CallbackGraphicsWindow::get_properties_callback(void) const;

1194 19 set_render_callback 0 4 1296 43 CallbackGraphicsWindow::set_render_callback 0 1 573 702
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_render_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window is invoked (in the draw thread) to render
//               its contents, and/or flip the graphics buffers.
//
//               This callback will actually serve several different
//               functions.  It receivces a RenderCallbackData, and
//               you can query data->get_callback_type() to return the
//               actual function of each particular callback.
////////////////////////////////////////////////////////////////////
80
inline void CallbackGraphicsWindow::set_render_callback(CallbackObject *object);

1195 21 clear_render_callback 0 4 1296 45 CallbackGraphicsWindow::clear_render_callback 0 1 574 331
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_render_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_render_callback().
////////////////////////////////////////////////////////////////////
64
inline void CallbackGraphicsWindow::clear_render_callback(void);

1196 19 get_render_callback 0 4 1296 43 CallbackGraphicsWindow::get_render_callback 0 1 575 299
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_render_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_render_callback().
////////////////////////////////////////////////////////////////////
79
inline CallbackObject *CallbackGraphicsWindow::get_render_callback(void) const;

1197 16 get_input_device 0 4 1296 40 CallbackGraphicsWindow::get_input_device 0 1 576 480
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_input_device
//       Access: Published
//  Description: Returns a writable reference to the nth input device
//               (mouse).  This is intended to be used for the window
//               implementation to record mouse and keyboard input
//               information for the Panda system.
////////////////////////////////////////////////////////////////////
80
GraphicsWindowInputDevice &CallbackGraphicsWindow::get_input_device(int device);

1198 19 create_input_device 0 4 1296 43 CallbackGraphicsWindow::create_input_device 0 1 577 385
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::create_input_device
//       Access: Published
//  Description: Adds a new input device (mouse) to the window with
//               the indicated name.  Returns the index of the new
//               device.
////////////////////////////////////////////////////////////////////
82
int CallbackGraphicsWindow::create_input_device(basic_string< char > const &name);

1199 14 get_class_type 0 4 1296 38 CallbackGraphicsWindow::get_class_type 0 1 578 0
63
static TypeHandle CallbackGraphicsWindow::get_class_type(void);

1200 16 get_cull_handler 0 4 1302 47 DisplayRegionCullCallbackData::get_cull_handler 0 1 589 869
// Filename: displayRegionCullCallbackData.I
// Created by:  drose (14Mar09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionCullCallbackData::get_cull_handler
//       Access: Published
//  Description: Returns a pointer to the CullHandler, which accepts
//               each object to be added to the list for drawing.
////////////////////////////////////////////////////////////////////
80
inline CullHandler *DisplayRegionCullCallbackData::get_cull_handler(void) const;

1201 15 get_scene_setup 0 4 1302 46 DisplayRegionCullCallbackData::get_scene_setup 0 1 590 360
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionCullCallbackData::get_scene_setup
//       Access: Published
//  Description: Returns a pointer to the SceneSetup object, which
//               contains information about the camera and such.
////////////////////////////////////////////////////////////////////
78
inline SceneSetup *DisplayRegionCullCallbackData::get_scene_setup(void) const;

1202 14 get_class_type 0 4 1302 45 DisplayRegionCullCallbackData::get_class_type 0 1 591 0
70
static TypeHandle DisplayRegionCullCallbackData::get_class_type(void);

1203 30 ~DisplayRegionCullCallbackData 0 4 1302 61 DisplayRegionCullCallbackData::~DisplayRegionCullCallbackData 0 0 0
68
DisplayRegionCullCallbackData::~DisplayRegionCullCallbackData(void);

1204 15 get_cull_result 0 4 1303 46 DisplayRegionDrawCallbackData::get_cull_result 0 1 592 893
// Filename: displayRegionDrawCallbackData.I
// Created by:  drose (13Mar09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionDrawCallbackData::get_cull_result
//       Access: Published
//  Description: Returns a pointer to the CullResult, the list of
//               CullableObjects that should be drawn in this
//               DisplayRegion.
////////////////////////////////////////////////////////////////////
78
inline CullResult *DisplayRegionDrawCallbackData::get_cull_result(void) const;

1205 15 get_scene_setup 0 4 1303 46 DisplayRegionDrawCallbackData::get_scene_setup 0 1 593 360
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionDrawCallbackData::get_scene_setup
//       Access: Published
//  Description: Returns a pointer to the SceneSetup object, which
//               contains information about the camera and such.
////////////////////////////////////////////////////////////////////
78
inline SceneSetup *DisplayRegionDrawCallbackData::get_scene_setup(void) const;

1206 14 get_class_type 0 4 1303 45 DisplayRegionDrawCallbackData::get_class_type 0 1 594 0
70
static TypeHandle DisplayRegionDrawCallbackData::get_class_type(void);

1207 30 ~DisplayRegionDrawCallbackData 0 4 1303 61 DisplayRegionDrawCallbackData::~DisplayRegionDrawCallbackData 0 0 0
68
DisplayRegionDrawCallbackData::~DisplayRegionDrawCallbackData(void);

1208 23 DisplaySearchParameters 0 4 1304 48 DisplaySearchParameters::DisplaySearchParameters 0 1 595 236
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::Constructor
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
55
DisplaySearchParameters::DisplaySearchParameters(void);

1209 24 ~DisplaySearchParameters 0 4 1304 49 DisplaySearchParameters::~DisplaySearchParameters 0 0 235
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::Destructor
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
56
DisplaySearchParameters::~DisplaySearchParameters(void);

1210 17 set_minimum_width 0 4 1304 42 DisplaySearchParameters::set_minimum_width 0 1 596 242
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_width
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
67
void DisplaySearchParameters::set_minimum_width(int minimum_width);

1211 17 set_maximum_width 0 4 1304 42 DisplaySearchParameters::set_maximum_width 0 1 597 242
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_width
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
67
void DisplaySearchParameters::set_maximum_width(int maximum_width);

1212 18 set_minimum_height 0 4 1304 43 DisplaySearchParameters::set_minimum_height 0 1 598 243
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_height
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
69
void DisplaySearchParameters::set_minimum_height(int minimum_height);

1213 18 set_maximum_height 0 4 1304 43 DisplaySearchParameters::set_maximum_height 0 1 599 243
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_height
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
69
void DisplaySearchParameters::set_maximum_height(int maximum_height);

1214 26 set_minimum_bits_per_pixel 0 4 1304 51 DisplaySearchParameters::set_minimum_bits_per_pixel 0 1 600 251
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_bits_per_pixel
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
85
void DisplaySearchParameters::set_minimum_bits_per_pixel(int minimum_bits_per_pixel);

1215 26 set_maximum_bits_per_pixel 0 4 1304 51 DisplaySearchParameters::set_maximum_bits_per_pixel 0 1 601 251
////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_bits_per_pixel
//       Access: Published
//  Description: 
////////////////////////////////////////////////////////////////////
85
void DisplaySearchParameters::set_maximum_bits_per_pixel(int maximum_bits_per_pixel);

1216 8 set_size 0 4 1305 24 GraphicsBuffer::set_size 0 1 602 548
////////////////////////////////////////////////////////////////////
//     Function: GraphicsBuffer::set_size
//       Access: Public, Virtual
//  Description: This is called by the GraphicsEngine to request that
//               the buffer resize itself.  Although calls to get the
//               size will return the new value, much of the actual
//               resizing work doesn't take place until the next
//               begin_frame.  Not all buffers are resizeable.
////////////////////////////////////////////////////////////////////
44
void GraphicsBuffer::set_size(int x, int y);

1217 14 get_class_type 0 4 1305 30 GraphicsBuffer::get_class_type 0 1 603 0
55
static TypeHandle GraphicsBuffer::get_class_type(void);

1218 14 GraphicsEngine 0 4 1306 30 GraphicsEngine::GraphicsEngine 0 2 604 605 448
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::Constructor
//       Access: Published
//  Description: Creates a new GraphicsEngine object.  The Pipeline is
//               normally left to default to NULL, which indicates the
//               global render pipeline, but it may be any Pipeline
//               you choose.
////////////////////////////////////////////////////////////////////
67
GraphicsEngine::GraphicsEngine(Pipeline *pipeline = ((void *)(0)));

1219 19 set_threading_model 0 4 1306 35 GraphicsEngine::set_threading_model 0 1 606 422
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_threading_model
//       Access: Published
//  Description: Specifies how future objects created via make_gsg(),
//               make_buffer(), and make_window() will be threaded.
//               This does not affect any already-created objects.
////////////////////////////////////////////////////////////////////
88
void GraphicsEngine::set_threading_model(GraphicsThreadingModel const &threading_model);

1220 19 get_threading_model 0 4 1306 35 GraphicsEngine::get_threading_model 0 1 607 347
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_threading_model
//       Access: Published
//  Description: Returns the threading model that will be applied to
//               future objects.  See set_threading_model().
////////////////////////////////////////////////////////////////////
71
GraphicsThreadingModel GraphicsEngine::get_threading_model(void) const;

1221 15 get_render_lock 0 4 1306 31 GraphicsEngine::get_render_lock 0 1 608 1010
// Filename: graphicsEngine.I
// Created by:  drose (24Feb02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_render_lock
//       Access: Published
//  Description: Returns a ReMutex object that is held by the
//               GraphicsEngine during the entire call to
//               render_frame().  While you hold this lock you can be
//               confident that no part of the frame will be rendered
//               (at least by the app thread).
////////////////////////////////////////////////////////////////////
66
inline ReMutex const &GraphicsEngine::get_render_lock(void) const;

1222 13 set_auto_flip 0 4 1306 29 GraphicsEngine::set_auto_flip 0 1 609 925
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_auto_flip
//       Access: Published
//  Description: Set this flag true to indicate the GraphicsEngine
//               should automatically cause windows to sync and flip
//               as soon as they have finished drawing, rather than
//               waiting for all of the windows to finish drawing
//               first so they can flip together.
//
//               This only affects the timing of when the flip occurs.
//               If this is true (the default), the flip occurs before
//               render_frame() returns.  If this is false, the flip
//               occurs whenever flip_frame() is called, or at the
//               beginning of the next call to render_frame(), if
//               flip_frame() is never called.
////////////////////////////////////////////////////////////////////
58
inline void GraphicsEngine::set_auto_flip(bool auto_flip);

1223 13 get_auto_flip 0 4 1306 29 GraphicsEngine::get_auto_flip 0 1 610 316
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_auto_flip
//       Access: Published
//  Description: Returns the current setting for the auto-flip flag.
//               See set_auto_flip.
////////////////////////////////////////////////////////////////////
54
inline bool GraphicsEngine::get_auto_flip(void) const;

1224 15 set_portal_cull 0 4 1306 31 GraphicsEngine::set_portal_cull 0 1 611 325
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_portal_cull
//       Access: Published
//  Description: Set this flag true to indicate the GraphicsEngine
//               should start portal culling
////////////////////////////////////////////////////////////////////
56
inline void GraphicsEngine::set_portal_cull(bool value);

1225 15 get_portal_cull 0 4 1306 31 GraphicsEngine::get_portal_cull 0 1 612 287
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_portal_cull
//       Access: Published
//  Description: Returns the current setting for the portal culling flag.
////////////////////////////////////////////////////////////////////
56
inline bool GraphicsEngine::get_portal_cull(void) const;

1226 18 set_default_loader 0 4 1306 34 GraphicsEngine::set_default_loader 0 1 613 398
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_default_loader
//       Access: Public
//  Description: Sets the Loader object that will be assigned to every
//               GSG created with this GraphicsEngine.  See
//               GraphicsStateGuardian::set_loader().
////////////////////////////////////////////////////////////////////
63
inline void GraphicsEngine::set_default_loader(Loader *loader);

1227 18 get_default_loader 0 4 1306 34 GraphicsEngine::get_default_loader 0 1 614 410
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_default_loader
//       Access: Public, Virtual
//  Description: Returns the Loader object that will be assigned to
//               every GSG created with this GraphicsEngine.  See
//               GraphicsStateGuardian::set_loader().
////////////////////////////////////////////////////////////////////
62
inline Loader *GraphicsEngine::get_default_loader(void) const;

1228 11 make_output 0 4 1306 27 GraphicsEngine::make_output 0 3 615 616 617 760
// THIS IS THE OLD CODE FOR make_gsg
//  PT(GraphicsStateGuardian) gsg = pipe->make_gsg(properties, share_with);
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_output
//       Access: Published
//  Description: Creates a new window (or buffer) and returns it.
//               The GraphicsEngine becomes the owner of the window,
//               it will persist at least until remove_window() is
//               called later.
//
//               If a null pointer is supplied for the gsg, then this
//               routine will create a new gsg.
//               
//               This routine is only called from the app thread.
////////////////////////////////////////////////////////////////////
273
GraphicsOutput *GraphicsEngine::make_output(GraphicsPipe *pipe, basic_string< char > const &name, int sort, FrameBufferProperties const &fb_prop, WindowProperties const &win_prop, int flags, GraphicsStateGuardian *gsg = ((void *)(0)), GraphicsOutput *host = ((void *)(0)));

1229 11 make_buffer 0 4 1306 27 GraphicsEngine::make_buffer 0 2 618 619 1950
// Syntactic shorthand versions of make_output

////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_buffer
//       Access: Published
//  Description: Syntactic shorthand for make_output.  This is the
//               preferred way to create an offscreen buffer, when you
//               already have an onscreen window or another buffer to
//               start with.  For the first parameter, pass an
//               existing GraphicsOutput object, e.g. the main window;
//               this allows the buffer to adapt itself to that
//               window's framebuffer properties, and allows maximum
//               sharing of resources.
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_buffer
//       Access: Published
//  Description: Syntactic shorthand for make_output.  This flavor
//               accepts a GSG rather than a GraphicsOutput as the
//               first parameter, which is too limiting and disallows
//               the possibility of creating a ParasiteBuffer if the
//               user's graphics hardware prefers that.  It also
//               attempts to request specific framebuffer properties
//               and may therefore do a poorer job of sharing the GSG
//               between the old buffer and the new.
//
//               For these reasons, this variant is a poor choice
//               unless you are creating an offscreen buffer for the
//               first time, without an onscreen window already in
//               existence.  If you already have an onscreen window,
//               you should use the other flavor of make_buffer()
//               instead, which accepts a GraphicsOutput as the first
//               parameter.
////////////////////////////////////////////////////////////////////
289
inline GraphicsOutput *GraphicsEngine::make_buffer(GraphicsOutput *host, basic_string< char > const &name, int sort, int x_size, int y_size);
inline GraphicsOutput *GraphicsEngine::make_buffer(GraphicsStateGuardian *gsg, basic_string< char > const &name, int sort, int x_size, int y_size);

1230 13 make_parasite 0 4 1306 29 GraphicsEngine::make_parasite 0 1 620 265
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_parasite
//       Access: Published
//  Description: Syntactic shorthand for make_buffer.
////////////////////////////////////////////////////////////////////
143
inline GraphicsOutput *GraphicsEngine::make_parasite(GraphicsOutput *host, basic_string< char > const &name, int sort, int x_size, int y_size);

1231 13 remove_window 0 4 1306 29 GraphicsEngine::remove_window 0 1 621 1357
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::remove_window
//       Access: Published
//  Description: Removes the indicated window or offscreen buffer from
//               the set of windows that will be processed when
//               render_frame() is called.  This also closes the
//               window if it is open, and removes the window from its
//               GraphicsPipe, allowing the window to be destructed if
//               there are no other references to it.  (However, the
//               window may not be actually closed until next frame,
//               if it is controlled by a sub-thread.)
//
//               The return value is true if the window was removed,
//               false if it was not found.
//
//               Unlike remove_all_windows(), this function does not
//               terminate any of the threads that may have been
//               started to service this window; they are left running
//               (since you might open a new window later on these
//               threads).  If your intention is to clean up before
//               shutting down, it is better to call
//               remove_all_windows() then to call remove_window() one
//               at a time.
////////////////////////////////////////////////////////////////////
59
bool GraphicsEngine::remove_window(GraphicsOutput *window);

1232 18 remove_all_windows 0 4 1306 34 GraphicsEngine::remove_all_windows 0 1 622 412
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::remove_all_windows
//       Access: Published
//  Description: Removes and closes all windows from the engine.  This
//               also cleans up and terminates any threads that have
//               been started to service those windows.
////////////////////////////////////////////////////////////////////
46
void GraphicsEngine::remove_all_windows(void);

1233 17 reset_all_windows 0 4 1306 33 GraphicsEngine::reset_all_windows 0 1 623 466
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::reset_all_windows
//       Access: Published
//  Description: Resets the framebuffer of the current window.  This
//               is currently used by DirectX 8 only. It calls a
//               reset_window function on each active window to 
//               release/create old/new framebuffer
////////////////////////////////////////////////////////////////////
55
void GraphicsEngine::reset_all_windows(bool swapchain);

1234 8 is_empty 0 4 1306 24 GraphicsEngine::is_empty 0 1 624 360
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::is_empty
//       Access: Published
//  Description: Returns true if there are no windows or buffers
//               managed by the engine, false if there is at least
//               one.
////////////////////////////////////////////////////////////////////
42
bool GraphicsEngine::is_empty(void) const;

1235 15 get_num_windows 0 4 1306 31 GraphicsEngine::get_num_windows 0 1 625 313
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_num_windows
//       Access: Published
//  Description: Returns the number of windows (or buffers) managed by
//               the engine.
////////////////////////////////////////////////////////////////////
48
int GraphicsEngine::get_num_windows(void) const;

1236 10 get_window 0 4 1306 26 GraphicsEngine::get_window 0 1 626 316
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_window
//       Access: Published
//  Description: Returns the nth window or buffers managed by the
//               engine, in sorted order.
////////////////////////////////////////////////////////////////////
56
GraphicsOutput *GraphicsEngine::get_window(int n) const;

1237 12 render_frame 0 4 1306 28 GraphicsEngine::render_frame 0 1 627 334
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::render_frame
//       Access: Published
//  Description: Renders the next frame in all the registered windows,
//               and flips all of the frame buffers.
////////////////////////////////////////////////////////////////////
40
void GraphicsEngine::render_frame(void);

1238 12 open_windows 0 4 1306 28 GraphicsEngine::open_windows 0 1 628 658
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::open_windows
//       Access: Published
//  Description: Fully opens (or closes) any windows that have
//               recently been requested open or closed, without
//               rendering any frames.  It is not necessary to call
//               this explicitly, since windows will be automatically
//               opened or closed when the next frame is rendered, but
//               you may call this if you want your windows now
//               without seeing a frame go by.
////////////////////////////////////////////////////////////////////
40
void GraphicsEngine::open_windows(void);

1239 10 sync_frame 0 4 1306 26 GraphicsEngine::sync_frame 0 1 629 558
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::sync_frame
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing.  The windows are not
//               yet flipped when this returns; see also flip_frame().
//               It is not usually necessary to call this explicitly,
//               unless you need to see the previous frame right away.
////////////////////////////////////////////////////////////////////
38
void GraphicsEngine::sync_frame(void);

1240 10 ready_flip 0 4 1306 26 GraphicsEngine::ready_flip 0 1 630 963
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::ready_flip
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing. Returns when all threads have
//               actually finished drawing, as opposed to 'sync_frame'
//               we seems to return once all draw calls have been submitted.
//               Calling 'flip_frame' after this function should immediately
//               cause a buffer flip.  This function will only work in
//               opengl right now, for all other graphics pipelines it will 
//               simply return immediately.  In opengl it's a bit of a hack:
//               it will attempt to read a single pixel from the frame buffer to
//               force the graphics card to finish drawing before it returns
////////////////////////////////////////////////////////////////////
38
void GraphicsEngine::ready_flip(void);

1241 10 flip_frame 0 4 1306 26 GraphicsEngine::flip_frame 0 1 631 516
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::flip_frame
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing, and then flips all the
//               windows.  It is not usually necessary to call this
//               explicitly, unless you need to see the previous frame
//               right away.
////////////////////////////////////////////////////////////////////
38
void GraphicsEngine::flip_frame(void);

1242 20 extract_texture_data 0 4 1306 36 GraphicsEngine::extract_texture_data 0 1 632 1560
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::extract_texture_data
//       Access: Published
//  Description: Asks the indicated GraphicsStateGuardian to retrieve
//               the texture memory image of the indicated texture and
//               store it in the texture's ram_image field.  The image
//               can then be written to disk via Texture::write(), or
//               otherwise manipulated on the CPU.
//
//               This is useful for retrieving the contents of a
//               texture that has been somehow generated on the
//               graphics card, instead of having been loaded the
//               normal way via Texture::read() or Texture::load().
//               It is particularly useful for getting the data
//               associated with a compressed texture image.
//
//               Since this requires a round-trip to the draw thread,
//               it may require waiting for the current thread to
//               finish rendering if it is called in a multithreaded
//               environment.  However, you can call this several
//               consecutive times on different textures for little
//               additional cost.
//
//               If the texture has not yet been loaded to the GSG in
//               question, it will be loaded immediately.
//
//               The return value is true if the operation is
//               successful, false otherwise.
////////////////////////////////////////////////////////////////////
84
bool GraphicsEngine::extract_texture_data(Texture *tex, GraphicsStateGuardian *gsg);

1243 16 dispatch_compute 0 4 1306 32 GraphicsEngine::dispatch_compute 0 1 633 1071
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::dispatch_compute
//       Access: Published
//  Description: Asks the indicated GraphicsStateGuardian to dispatch
//               the compute shader in the given ShaderAttrib using
//               the given work group counts.  This can act as an
//               interface for running a one-off compute shader,
//               without having to store it in the scene graph using
//               a ComputeNode.
//
//               Since this requires a round-trip to the draw thread,
//               it may require waiting for the current thread to
//               finish rendering if it is called in a multithreaded
//               environment.  However, you can call this several
//               consecutive times on different textures for little
//               additional cost.
//
//               The return value is true if the operation is
//               successful, false otherwise.
////////////////////////////////////////////////////////////////////
124
void GraphicsEngine::dispatch_compute(LVecBase3i const &work_groups, ShaderAttrib const *sattr, GraphicsStateGuardian *gsg);

1244 14 get_global_ptr 0 4 1306 30 GraphicsEngine::get_global_ptr 0 1 634 238
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_global_ptr
//       Access: Published, Static
//  Description: 
////////////////////////////////////////////////////////////////////
60
static GraphicsEngine *GraphicsEngine::get_global_ptr(void);

1245 18 get_num_pipe_types 0 4 1308 41 GraphicsPipeSelection::get_num_pipe_types 0 1 635 382
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_num_pipe_types
//       Access: Published
//  Description: Returns the number of different types of
//               GraphicsPipes that are available to create through
//               this interface.
////////////////////////////////////////////////////////////////////
58
int GraphicsPipeSelection::get_num_pipe_types(void) const;

1246 13 get_pipe_type 0 4 1308 36 GraphicsPipeSelection::get_pipe_type 0 1 636 323
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_pipe_type
//       Access: Published
//  Description: Returns the nth type of GraphicsPipe available
//               through this interface.
////////////////////////////////////////////////////////////////////
61
TypeHandle GraphicsPipeSelection::get_pipe_type(int n) const;

1247 16 print_pipe_types 0 4 1308 39 GraphicsPipeSelection::print_pipe_types 0 1 637 348
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::print_pipe_types
//       Access: Published
//  Description: Writes a list of the currently known GraphicsPipe
//               types to nout, for the user's information.
////////////////////////////////////////////////////////////////////
57
void GraphicsPipeSelection::print_pipe_types(void) const;

1248 9 make_pipe 0 4 1308 32 GraphicsPipeSelection::make_pipe 0 3 638 639 640 1109
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of the indicated type (or
//               a type more specific than the indicated type, if
//               necessary) and returns it.  Returns NULL if the type
//               cannot be matched.
//
//               If the type is not already defined, this will
//               implicitly load the named module, or if module_name
//               is empty, it will call load_aux_modules().
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of the indicated type (or
//               a type more specific than the indicated type, if
//               necessary) and returns it.  Returns NULL if the type
//               cannot be matched.
////////////////////////////////////////////////////////////////////
231
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_pipe(basic_string< char > const &type_name, basic_string< char > const &module_name = ((string())));
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_pipe(TypeHandle type);

1249 16 make_module_pipe 0 4 1308 39 GraphicsPipeSelection::make_module_pipe 0 1 641 430
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_module_pipe
//       Access: Published
//  Description: Returns a new GraphicsPipe of a type defined by the
//               indicated module.  Returns NULL if the module is not
//               found or does not properly recommend a GraphicsPipe.
////////////////////////////////////////////////////////////////////
107
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_module_pipe(basic_string< char > const &module_name);

1250 17 make_default_pipe 0 4 1308 40 GraphicsPipeSelection::make_default_pipe 0 1 642 426
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_default_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of some arbitrary type.
//               The user may specify a preference using the Configrc
//               file; otherwise, one will be chosen arbitrarily.
////////////////////////////////////////////////////////////////////
73
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_default_pipe(void);

1251 19 get_num_aux_modules 0 4 1308 42 GraphicsPipeSelection::get_num_aux_modules 0 1 643 969
// Filename: graphicsPipeSelection.I
// Created by:  drose (15Aug02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_num_aux_modules
//       Access: Published
//  Description: Returns the number of display modules that are still
//               to be loaded.  If this is nonzero, then calling
//               load_aux_modules() will likely increase the number of
//               GraphicsPipes available.
////////////////////////////////////////////////////////////////////
66
inline int GraphicsPipeSelection::get_num_aux_modules(void) const;

1252 16 load_aux_modules 0 4 1308 39 GraphicsPipeSelection::load_aux_modules 0 1 644 391
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::load_aux_modules
//       Access: Published
//  Description: Loads all the modules named in the aux-display
//               Configrc variable, making as many graphics pipes as
//               possible available.
////////////////////////////////////////////////////////////////////
51
void GraphicsPipeSelection::load_aux_modules(void);

1253 14 get_global_ptr 0 4 1308 37 GraphicsPipeSelection::get_global_ptr 0 1 645 327
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_global_ptr
//       Access: Published, Static
//  Description: Returns a pointer to the one global
//               GraphicsPipeSelection object.
////////////////////////////////////////////////////////////////////
81
static inline GraphicsPipeSelection *GraphicsPipeSelection::get_global_ptr(void);

1254 8 make_int 0 4 1309 28 NativeWindowHandle::make_int 0 1 646 607
////////////////////////////////////////////////////////////////////
//     Function: NativeWindowHandle::make_int
//       Access: Published, Static
//  Description: Constructs a new WindowHandle with an int value,
//               which is understood to be either an HWND or a Window,
//               cast to int.  This method exists for the convenience
//               of Python, which likes to deal with ints; C++ code
//               should use one of the more specific make_x11() or
//               make_win32() methods instead.
////////////////////////////////////////////////////////////////////
83
static PointerTo< WindowHandle > NativeWindowHandle::make_int(unsigned int window);

1255 15 make_subprocess 0 4 1309 35 NativeWindowHandle::make_subprocess 0 1 647 636
////////////////////////////////////////////////////////////////////
//     Function: NativeWindowHandle::make_subprocess
//       Access: Published, Static
//  Description: Constructs a new WindowHandle that references a
//               SubprocessWindowBuffer read in another process, with
//               the named pipe filename that it uses for
//               communication.
//
//               This is (at present, and maybe always) useful only on
//               the OS X platform, where parenting child windows is
//               particularly problematic.
////////////////////////////////////////////////////////////////////
95
static PointerTo< WindowHandle > NativeWindowHandle::make_subprocess(Filename const &filename);

1256 14 get_class_type 0 4 1309 34 NativeWindowHandle::get_class_type 0 1 648 0
59
static TypeHandle NativeWindowHandle::get_class_type(void);

1257 19 ~NativeWindowHandle 0 4 1309 39 NativeWindowHandle::~NativeWindowHandle 0 0 0
46
NativeWindowHandle::~NativeWindowHandle(void);

1258 8 set_size 0 4 1310 24 ParasiteBuffer::set_size 0 1 649 548
////////////////////////////////////////////////////////////////////
//     Function: ParasiteBuffer::set_size
//       Access: Public, Virtual
//  Description: This is called by the GraphicsEngine to request that
//               the buffer resize itself.  Although calls to get the
//               size will return the new value, much of the actual
//               resizing work doesn't take place until the next
//               begin_frame.  Not all buffers are resizeable.
////////////////////////////////////////////////////////////////////
44
void ParasiteBuffer::set_size(int x, int y);

1259 14 get_class_type 0 4 1310 30 ParasiteBuffer::get_class_type 0 1 650 0
55
static TypeHandle ParasiteBuffer::get_class_type(void);

650
1 14 Dtool_62HUQt0n 0 7 3 1313 0 14 Dtool_62HUQt0n 792 // Filename: graphicsDevice.I
// Created by:  masad (21Jul03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsDevice::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this device is
//               associated with.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1311  
2 14 Dtool_62HUAajD 0 7 4 1315 0 14 Dtool_62HUAajD 0 0 
3 14 Dtool_62HU57GT 0 7 8 1316 653 14 Dtool_62HU57GT 231 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::Constructor
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 0 
4 14 Dtool_62HUEoak 0 6 9 1317 0 14 Dtool_62HUEoak 220 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
5 14 Dtool_62HUW2OW 0 6 10 1317 0 14 Dtool_62HUW2OW 244 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_window_width
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
6 14 Dtool_62HUL63J 0 6 11 1317 0 14 Dtool_62HUL63J 245 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_window_height
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
7 14 Dtool_62HUJxNf 0 6 12 1317 0 14 Dtool_62HUJxNf 245 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_window_bits_per_pixel
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
8 14 Dtool_62HUdKNm 0 6 13 1317 0 14 Dtool_62HUdKNm 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_total_display_modes
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
9 14 Dtool_62HU7GBr 0 6 14 1317 0 14 Dtool_62HU7GBr 242 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_width
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  13 display_index 1 1317  
10 14 Dtool_62HUA681 0 6 15 1317 0 14 Dtool_62HUA681 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_height
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  13 display_index 1 1317  
11 14 Dtool_62HUqZZh 0 6 16 1317 0 14 Dtool_62HUqZZh 251 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_bits_per_pixel
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  13 display_index 1 1317  
12 14 Dtool_62HUi2hP 0 6 17 1317 0 14 Dtool_62HUi2hP 249 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_refresh_rate
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  13 display_index 1 1317  
13 14 Dtool_62HUyGxw 0 6 18 1317 0 14 Dtool_62HUyGxw 252 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_display_mode_fullscreen_only
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  13 display_index 1 1317  
14 14 Dtool_62HUpeJW 0 6 19 1317 0 14 Dtool_62HUpeJW 236 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_shader_model
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
15 14 Dtool_62HUoxc3 0 6 20 1317 0 14 Dtool_62HUoxc3 236 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_video_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
16 14 Dtool_62HUZQA3 0 6 21 1317 0 14 Dtool_62HUZQA3 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_texture_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
17 14 Dtool_62HUe4Gl 0 4 22 1318 0 14 Dtool_62HUe4Gl 245 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::update_memory_information
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
18 14 Dtool_62HUAqOZ 0 6 23 1319 0 14 Dtool_62HUAqOZ 239 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_physical_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
19 14 Dtool_62HUQP7r 0 6 24 1319 0 14 Dtool_62HUQP7r 249 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_physical_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
20 14 Dtool_62HUoWLi 0 6 25 1319 0 14 Dtool_62HUoWLi 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_file_size
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
21 14 Dtool_62HUjPqP 0 6 26 1319 0 14 Dtool_62HUjPqP 248 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_page_file_size
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
22 14 Dtool_62HUcLl_ 0 6 27 1319 0 14 Dtool_62HUcLl_ 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::_process_virtual_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
23 14 Dtool_62HUWBVB 0 6 28 1319 0 14 Dtool_62HUWBVB 256 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_available_process_virtual_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
24 14 Dtool_62HUnP9N 0 6 29 1317 0 14 Dtool_62HUnP9N 235 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_memory_load
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
25 14 Dtool_62HUdS18 0 6 30 1319 0 14 Dtool_62HUdS18 240 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_fault_count
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
26 14 Dtool_62HU0YWh 0 6 31 1319 0 14 Dtool_62HU0YWh 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_process_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
27 14 Dtool_62HUjbme 0 6 32 1319 0 14 Dtool_62HUjbme 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_peak_process_memory
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
28 14 Dtool_62HUMHSZ 0 6 33 1319 0 14 Dtool_62HUMHSZ 239 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_page_file_usage
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
29 14 Dtool_62HUG_eO 0 6 34 1319 0 14 Dtool_62HUG_eO 244 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_peak_page_file_usage
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
30 14 Dtool_62HU4Hjq 0 6 35 1317 0 14 Dtool_62HU4Hjq 233 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_vendor_id
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
31 14 Dtool_62HUn_Uq 0 6 36 1317 0 14 Dtool_62HUn_Uq 233 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_device_id
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
32 14 Dtool_62HUd4qN 0 6 37 1317 0 14 Dtool_62HUd4qN 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_product
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
33 14 Dtool_62HU98ah 0 6 38 1317 0 14 Dtool_62HU98ah 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_version
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
34 14 Dtool_62HUEIx3 0 6 39 1317 0 14 Dtool_62HUEIx3 242 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_sub_version
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
35 14 Dtool_62HUdf2J 0 6 40 1317 0 14 Dtool_62HUdf2J 236 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_build
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
36 14 Dtool_62HUsddI 0 6 41 1317 0 14 Dtool_62HUsddI 241 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_month
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
37 14 Dtool_62HUNaoh 0 6 42 1317 0 14 Dtool_62HUNaoh 239 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_day
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
38 14 Dtool_62HURGMj 0 6 43 1317 0 14 Dtool_62HURGMj 240 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_driver_date_year
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
39 14 Dtool_62HU7M2V 0 6 44 1317 0 14 Dtool_62HU7M2V 238 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_version
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
40 14 Dtool_62HUvm4k 0 6 45 1317 0 14 Dtool_62HUvm4k 312 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_size
//       Access: Published
//  Description: Returns the number of 32-bit values for cpu id 
//               binary data.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
41 14 Dtool_62HUnIiL 0 6 46 1320 0 14 Dtool_62HUnIiL 309 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_id_data
//       Access: Published
//  Description: Returns part of cpu id binary data based on the 
//               index.  
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  5 index 1 1317  
42 14 Dtool_62HUBjkL 0 6 47 1321 0 14 Dtool_62HUBjkL 242 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_vendor_string
//       Access: Published
//  Description:  
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
43 14 Dtool_62HUNBT4 0 6 48 1321 0 14 Dtool_62HUNBT4 241 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_brand_string
//       Access: Published
//  Description:  
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
44 14 Dtool_62HUfeql 0 6 49 1320 0 14 Dtool_62HUfeql 248 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_version_information
//       Access: Published
//  Description:  
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
45 14 Dtool_62HUxetr 0 6 50 1320 0 14 Dtool_62HUxetr 240 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_brand_index
//       Access: Published
//  Description:  
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
46 14 Dtool_62HUjBN9 0 6 51 1319 0 14 Dtool_62HUjBN9 237 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_frequency
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
47 14 Dtool_62HUJ5pR 0 6 52 1319 0 14 Dtool_62HUJ5pR 232 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_cpu_time
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
48 14 Dtool_62HUqY3j 0 6 53 1319 0 14 Dtool_62HUqY3j 245 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_maximum_cpu_frequency
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
49 14 Dtool_62HUhC2a 0 6 54 1319 0 14 Dtool_62HUhC2a 245 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_current_cpu_frequency
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
50 14 Dtool_62HUxW8u 0 4 55 1318 0 14 Dtool_62HUxW8u 240 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::update_cpu_frequency
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1316  16 processor_number 1 1317  
51 14 Dtool_62HUmQxl 0 6 56 1317 0 14 Dtool_62HUmQxl 405 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_num_cpu_cores
//       Access: Published
//  Description: Returns the number of individual CPU cores in the
//               system, or 0 if this number is not available.  A
//               hyperthreaded CPU counts once here.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
52 14 Dtool_62HUqBds 0 6 57 1317 0 14 Dtool_62HUqBds 411 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_num_logical_cpus
//       Access: Published
//  Description: Returns the number of logical CPU's in the
//               system, or 0 if this number is not available.  A
//               hyperthreaded CPU counts as two or more here.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
53 14 Dtool_62HU77jF 0 6 58 1317 0 14 Dtool_62HU77jF 263 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_major
//       Access: Published
//  Description: Returns -1 if not set. 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
54 14 Dtool_62HUd4bE 0 6 59 1317 0 14 Dtool_62HUd4bE 263 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_minor
//       Access: Published
//  Description: Returns -1 if not set. 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
55 14 Dtool_62HU5OQv 0 6 60 1317 0 14 Dtool_62HU5OQv 263 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_version_build
//       Access: Published
//  Description: Returns -1 if not set. 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
56 14 Dtool_62HUJqzm 0 6 61 1317 0 14 Dtool_62HUJqzm 260 ////////////////////////////////////////////////////////////////////
//     Function: DisplayInformation::get_os_platform_id
//       Access: Published
//  Description: Returns -1 if not set.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1316  
57 14 Dtool_62HUnM8A 0 6 65 1324 0 14 Dtool_62HUnM8A 1182 // Filename: graphicsPipe.I
// Created by:  frang (07Mar99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::is_valid
//       Access: Published
//  Description: Returns false if this pipe is known to be invalid,
//               meaning that an attempt to create a GraphicsWindow
//               with the pipe will certainly fail.  Returns true if
//               the pipe is probably valid (is this case, an attempt
//               to create a GraphicsWindow should succeed, but might
//               still fail).
//
//               Use the GraphicsEngine class to create a
//               GraphicsWindow on a particular pipe.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1322  
58 14 Dtool_62HUpKTv 0 6 66 1317 0 14 Dtool_62HUpKTv 682 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_supported_types
//       Access: Published
//  Description: Returns the mask of bits that represents the kinds of
//               GraphicsOutput objects this pipe might be able to
//               successfully create.  The return value is the union
//               of bits in GraphicsPipe::OutputTypes that represents
//               the set of GraphicsOutput types.
//
//               A 1 bit in a particular position is not a guarantee
//               of success, but a 0 bit is a guarantee of failure.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1322  
59 14 Dtool_62HUcDZ_ 0 6 67 1324 0 14 Dtool_62HUcDZ_ 766 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::supports_type
//       Access: Published
//  Description: A convenience function to ask if a particular type or
//               types of GraphicsObjects are supported.  The
//               parameter is a union of one or more bits defined in
//               GrpahicsPipe::OutputTypes.
//
//               Returns true if all of the requested types are listed
//               in the supported_types mask, false if any one of them
//               is not.  This is not a guarantee that the indicated
//               output type will successfully be created when it is
//               attempted.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1322  5 flags 1 1317  
60 14 Dtool_62HUYv10 0 6 68 1317 0 14 Dtool_62HUYv10 547 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_width
//       Access: Published
//  Description: Returns the width of the entire display, if it is
//               known.  This may return 0.  This is not a guarantee
//               that windows (particularly fullscreen windows) may
//               not be created larger than this width, but it is
//               intended to provide a hint to the application.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1322  
61 14 Dtool_62HUrAPC 0 6 69 1317 0 14 Dtool_62HUrAPC 385 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_height
//       Access: Published
//  Description: Returns the height of the entire display, if it is
//               known.  This may return 0.  See the caveats for
//               get_display_width().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1322  
62 14 Dtool_62HULVZO 0 6 70 1316 0 14 Dtool_62HULVZO 272 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::get_display_information
//       Access: Published
//  Description: Gets the pipe's DisplayInformation.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1313  
63 14 Dtool_62HUqnn7 0 4 71 1318 0 14 Dtool_62HUqnn7 400 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipe::lookup_cpu_data
//       Access: Public, Virtual
//  Description: Looks up the detailed CPU information and stores it
//               in _display_information, if supported by the OS.
//               This may take a second or two.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1313  
64 14 Dtool_62HUheCd 0 6 72 1321 0 14 Dtool_62HUheCd 0 1 4 this 3 1322  
65 14 Dtool_62HUkM1K 0 7 73 1315 0 14 Dtool_62HUkM1K 0 0 
66 14 Dtool_62HU5_NM 0 4 77 1318 0 14 Dtool_62HU5_NM 523 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_color_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the color
//               buffer should be cleared every frame.  If this is
//               true, the color buffer will be cleared to the color
//               indicated by set_clear_color(); otherwise, it will be
//               left alone.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  18 clear_color_active 1 1324  
67 14 Dtool_62HUQ__5 0 6 78 1324 0 14 Dtool_62HUQ__5 413 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_color_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the color buffer should be cleared
//               every frame.  See set_clear_color_active().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
68 14 Dtool_62HU_x_a 0 4 79 1318 0 14 Dtool_62HU_x_a 529 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_depth_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the depth
//               buffer should be cleared every frame.  If this is
//               true, the depth buffer will be cleared to the depth
//               value indicated by set_clear_depth(); otherwise, it
//               will be left alone.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  18 clear_depth_active 1 1324  
69 14 Dtool_62HUklwI 0 6 80 1324 0 14 Dtool_62HUklwI 413 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_depth_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the depth buffer should be cleared
//               every frame.  See set_clear_depth_active().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
70 14 Dtool_62HUcsb8 0 4 81 1318 0 14 Dtool_62HUcsb8 531 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_stencil_active
//       Access: Published
//  Description: Toggles the flag that indicates whether the stencil
//               buffer should be cleared every frame.  If this is
//               true, the stencil buffer will be cleared to the value
//               indicated by set_clear_stencil(); otherwise, it will be
//               left alone.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  20 clear_stencil_active 1 1324  
71 14 Dtool_62HUSZOl 0 6 82 1324 0 14 Dtool_62HUSZOl 417 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_stencil_active
//       Access: Published
//  Description: Returns the current setting of the flag that
//               indicates whether the color buffer should be cleared
//               every frame.  See set_clear_stencil_active().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
72 14 Dtool_62HUrSVN 0 4 83 1318 0 14 Dtool_62HUrSVN 535 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_color
//       Access: Published
//  Description: Sets the clear color to the indicated value.  This is
//               the value that will be used to clear the color buffer
//               every frame, but only if get_clear_color_active()
//               returns true.  If get_clear_color_active() returns
//               false, this is meaningless.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  5 color 1 1328  
73 14 Dtool_62HU4kxz 0 6 84 1328 0 14 Dtool_62HU4kxz 529 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_color
//       Access: Published
//  Description: Returns the current clear color value.  This is
//               the value that will be used to clear the color buffer
//               every frame, but only if get_clear_color_active()
//               returns true.  If get_clear_color_active() returns
//               false, this is meaningless.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
74 14 Dtool_62HUw_6X 0 4 85 1318 0 14 Dtool_62HUw_6X 535 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_depth
//       Access: Published
//  Description: Sets the clear depth to the indicated value.  This is
//               the value that will be used to clear the depth buffer
//               every frame, but only if get_clear_depth_active()
//               returns true.  If get_clear_depth_active() returns
//               false, this is meaningless.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  5 depth 1 1331  
75 14 Dtool_62HUMYjC 0 6 86 1331 0 14 Dtool_62HUMYjC 529 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_depth
//       Access: Published
//  Description: Returns the current clear depth value.  This is
//               the value that will be used to clear the depth buffer
//               every frame, but only if get_clear_depth_active()
//               returns true.  If get_clear_depth_active() returns
//               false, this is meaningless.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
76 14 Dtool_62HUeW2T 0 4 87 1318 0 14 Dtool_62HUeW2T 0 2 4 this 3 1325  7 stencil 1 1320  
77 14 Dtool_62HUsiaD 0 6 88 1320 0 14 Dtool_62HUsiaD 539 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_stencil
//       Access: Published
//  Description: Returns the current clear stencil value.  This is
//               the value that will be used to clear the stencil buffer
//               every frame, but only if get_clear_stencil_active()
//               returns true.  If get_clear_stencil_active() returns
//               false, this is meaningless.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
78 14 Dtool_62HU0c6i 0 4 89 1318 0 14 Dtool_62HU0c6i 285 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_active
//       Access: Published, Virtual
//  Description: Sets the clear-active flag for any bitplane.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1325  1 n 1 1317  16 clear_aux_active 1 1324  
79 14 Dtool_62HU2Tq7 0 6 90 1324 0 14 Dtool_62HU2Tq7 285 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_active
//       Access: Published, Virtual
//  Description: Gets the clear-active flag for any bitplane.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1326  1 n 1 1317  
80 14 Dtool_62HU4pqk 0 4 91 1318 0 14 Dtool_62HU4pqk 278 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_clear_value
//       Access: Published, Virtual
//  Description: Sets the clear value for any bitplane.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1325  1 n 1 1317  11 clear_value 1 1328  
81 14 Dtool_62HUl3hY 0 6 92 1328 0 14 Dtool_62HUl3hY 281 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_clear_value
//       Access: Published, Virtual
//  Description: Returns the clear value for any bitplane.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1326  1 n 1 1317  
82 14 Dtool_62HUtFqI 0 4 93 1318 0 14 Dtool_62HUtFqI 352 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::disable_clears
//       Access: Published, Virtual
//  Description: Disables both the color and depth clear.  See
//               set_clear_color_active and set_clear_depth_active.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1325  
83 14 Dtool_62HU0Gt_ 0 6 94 1324 0 14 Dtool_62HU0Gt_ 461 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::is_any_clear_active
//       Access: Published, Virtual
//  Description: Returns true if any of the clear types (so far there
//               are just color or depth) have been set active, or
//               false if none of them are active and there is no need
//               to clear.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
84 14 Dtool_62HUY3P2 0 4 95 1318 0 14 Dtool_62HUY3P2 1485 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::set_pixel_zoom
//       Access: Published, Virtual
//  Description: Sets the amount by which the pixels of the region are
//               scaled internally when filling the image interally.
//               Setting this number larger makes the pixels blockier,
//               but may make the rendering faster, particularly for
//               software renderers.  Setting this number to 2.0
//               reduces the number of pixels that have to be filled
//               by the renderer by a factor of 2.0.  It doesn't make
//               sense to set this lower than 1.0.
//
//               It is possible to set this on either individual
//               DisplayRegions or on overall GraphicsWindows, but you
//               will get better performance for setting it on the
//               window rather than its individual DisplayRegions.
//               Also, you may not set it on a DisplayRegion that
//               doesn't have both clear_color() and clear_depth()
//               enabled.
//
//               This property is only supported on renderers for
//               which it is particularly useful--currently, this is
//               the tinydisplay software renderer.  Other kinds of
//               renderers allow you to set this property, but ignore
//               it.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1325  10 pixel_zoom 1 1331  
85 14 Dtool_62HUGK1k 0 6 96 1331 0 14 Dtool_62HUGK1k 388 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_pixel_zoom
//       Access: Published
//  Description: Returns the value set by set_pixel_zoom(), regardless
//               of whether it is being respected or not.  Also see
//               get_pixel_factor().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
86 14 Dtool_62HULAtt 0 6 97 1331 0 14 Dtool_62HULAtt 650 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_pixel_factor
//       Access: Published
//  Description: Returns the amount by which the height and width of
//               the region will be scaled internally, based on the
//               zoom factor set by set_pixel_zoom().  This will
//               return 1.0 if the pixel_zoom was not set or if it is
//               not being respected (for instance, because the
//               underlying renderer doesn't support it--see
//               supports_pixel_zoom).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
87 14 Dtool_62HUi4LW 0 6 98 1324 0 14 Dtool_62HUi4LW 802 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::supports_pixel_zoom
//       Access: Published, Virtual
//  Description: Returns true if a call to set_pixel_zoom() will be
//               respected, false if it will be ignored.  If this
//               returns false, then get_pixel_factor() will always
//               return 1.0, regardless of what value you specify for
//               set_pixel_zoom().
//
//               This may return false if the underlying renderer
//               doesn't support pixel zooming, or if you have called
//               this on a DisplayRegion that doesn't have both
//               set_clear_color() and set_clear_depth() enabled.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1326  
88 14 Dtool_62HUu4KC 0 6 99 1317 0 14 Dtool_62HUu4KC 334 ////////////////////////////////////////////////////////////////////
//     Function: DrawableRegion::get_renderbuffer_type
//       Access: Static, Published
//  Description: Returns the RenderBuffer::Type that corresponds
//               to a RenderTexturePlane.
//////////////////////////////////////////////////////////////////// 1 5 plane 1 1317  
89 14 Dtool_62HUlE6b 0 7 101 1334 0 14 Dtool_62HUlE6b 229 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::Copy Constructor
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 1 4 copy 1 1332  
90 14 Dtool_62HUsWhV 0 7 101 1334 0 14 Dtool_62HUsWhV 0 1 9 os_handle 1 1335  
91 14 Dtool_62HULwuM 0 7 102 1335 0 14 Dtool_62HULwuM 321 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::get_os_handle
//       Access: Published
//  Description: Returns the OS-specific handle stored internally to
//               the WindowHandle wrapper.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1332  
92 14 Dtool_62HUklyc 0 4 103 1318 0 14 Dtool_62HUklyc 321 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::set_os_handle
//       Access: Published
//  Description: Changes the OS-specific handle stored internally to
//               the WindowHandle wrapper.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1334  9 os_handle 1 1335  
93 14 Dtool_62HUBCmq 0 4 104 1318 0 14 Dtool_62HUBCmq 566 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::send_windows_message
//       Access: Published
//  Description: Call this method on a parent WindowHandle to deliver
//               a Windows message to the current child window, if any.
//               This is used in the web plugin system to deliver
//               button events detected directly by the browser system
//               into Panda, which is particularly necessary on Vista.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1334  3 msg 1 1320  6 wparam 1 1317  6 lparam 1 1317  
94 14 Dtool_62HUPIYS 0 6 105 1320 0 14 Dtool_62HUPIYS 397 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::get_int_handle
//       Access: Published
//  Description: Returns the OS-specific handle converted to an
//               integer, if this is possible for the particular
//               representation.  Returns 0 if it is not.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1332  
95 14 Dtool_62HUJFbs 0 4 106 1318 0 14 Dtool_62HUJFbs 220 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::output
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1332  3 out 1 1336  
96 14 Dtool_62HU21y5 0 7 111 1315 0 14 Dtool_62HU21y5 0 0 
97 14 Dtool_62HUQNL2 0 6 108 1320 0 14 Dtool_62HUQNL2 416 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::OSHandle::get_int_handle
//       Access: Published, Virtual
//  Description: Returns the OS-specific handle converted to an
//               integer, if this is possible for the particular
//               representation.  Returns 0 if it is not.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1338  
98 14 Dtool_62HUV3Ze 0 4 109 1318 0 14 Dtool_62HUV3Ze 239 ////////////////////////////////////////////////////////////////////
//     Function: WindowHandle::OSHandle::output
//       Access: Published, Virtual
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1338  3 out 1 1336  
99 14 Dtool_62HUh_wT 0 7 110 1315 0 14 Dtool_62HUh_wT 0 0 
100 14 Dtool_62HUGNZU 0 7 115 1340 753 14 Dtool_62HUGNZU 228 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Constructor
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 0 
101 14 Dtool_62HUlceF 0 7 115 1340 753 14 Dtool_62HUlceF 725 // Filename: windowProperties.I
// Created by:  drose (13Aug02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Copy Constructor
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 1 4 copy 1 1341  
102 14 Dtool_62HUZC_R 0 6 116 1340 0 14 Dtool_62HUZC_R 241 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::Copy Assignment Operator
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  4 copy 1 1341  
103 14 Dtool_62HUPD11 0 7 118 1340 753 14 Dtool_62HUPD11 395 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_config_properties
//       Access: Published, Static
//  Description: Returns a WindowProperties structure with all of the
//               default values filled in according to the user's
//               config file.
//////////////////////////////////////////////////////////////////// 0 
104 14 Dtool_62HU1hD1 0 7 119 1340 753 14 Dtool_62HU1hD1 457 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_default
//       Access: Published, Static
//  Description: Returns the "default" WindowProperties.  If
//               set_default() has been called, this returns that
//               WindowProperties structure; otherwise, this returns
//               get_config_properties().
//////////////////////////////////////////////////////////////////// 0 
105 14 Dtool_62HUNbiB 0 4 120 1318 0 14 Dtool_62HUNbiB 589 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_default
//       Access: Published, Static
//  Description: Replaces the "default" WindowProperties with the
//               specified structure.  The specified WindowProperties
//               will be returned by future calls to get_default(),
//               until clear_default() is called.
//
//               Note that this completely replaces the default
//               properties; it is not additive.
//////////////////////////////////////////////////////////////////// 1 18 default_properties 1 1341  
106 14 Dtool_62HUDZHK 0 4 121 1318 0 14 Dtool_62HUDZHK 346 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_default
//       Access: Published, Static
//  Description: Returns the "default" WindowProperties to whatever
//               is specified in the user's config file.
//////////////////////////////////////////////////////////////////// 0 
107 14 Dtool_62HU7Qam 0 7 122 1340 753 14 Dtool_62HU7Qam 386 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::size
//       Access: Published, Static
//  Description: Returns a WindowProperties structure with only the
//               size specified.  The size is the only property that
//               matters to buffers.
//////////////////////////////////////////////////////////////////// 2 6 x_size 1 1317  6 y_size 1 1317  
108 14 Dtool_62HUgRMD 0 6 123 1324 0 14 Dtool_62HUgRMD 229 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::operator == 
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1341  5 other 1 1341  
109 14 Dtool_62HU_Vsq 0 6 124 1324 0 14 Dtool_62HU_Vsq 228 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::operator !=
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1341  5 other 1 1341  
110 14 Dtool_62HUIj6c 0 4 125 1318 0 14 Dtool_62HUIj6c 381 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear
//       Access: Published
//  Description: Unsets all properties that have been specified so
//               far, and resets the WindowProperties structure to its
//               initial empty state.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
111 14 Dtool_62HU5Hm3 0 6 126 1324 0 14 Dtool_62HU5Hm3 319 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::is_any_specified
//       Access: Published
//  Description: Returns true if any properties have been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
112 14 Dtool_62HUP616 0 4 127 1318 0 14 Dtool_62HUP616 514 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_origin
//       Access: Published
//  Description: Specifies the origin on the screen (in pixels,
//               relative to the top-left corner) at which the window
//               should appear.  This is the origin of the top-left
//               corner of the useful part of the window, not
//               including decorations.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  6 origin 1 1343  
113 14 Dtool_62HU_6s1 0 4 127 1318 0 14 Dtool_62HU_6s1 514 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_origin
//       Access: Published
//  Description: Specifies the origin on the screen (in pixels,
//               relative to the top-left corner) at which the window
//               should appear.  This is the origin of the top-left
//               corner of the useful part of the window, not
//               including decorations.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1340  8 x_origin 1 1317  8 y_origin 1 1317  
114 14 Dtool_62HUOKyo 0 6 128 1343 0 14 Dtool_62HUOKyo 328 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_origin
//       Access: Published
//  Description: Returns the coordinates of the window's top-left
//               corner, not including decorations.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
115 14 Dtool_62HUmWEm 0 6 129 1317 0 14 Dtool_62HUmWEm 331 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_x_origin
//       Access: Published
//  Description: Returns the x coordinate of the window's top-left
//               corner, not including decorations.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
116 14 Dtool_62HUjWge 0 6 130 1317 0 14 Dtool_62HUjWge 331 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_y_origin
//       Access: Published
//  Description: Returns the y coordinate of the window's top-left
//               corner, not including decorations.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
117 14 Dtool_62HUeNcv 0 6 131 1324 0 14 Dtool_62HUeNcv 315 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_origin
//       Access: Published
//  Description: Returns true if the window origin has been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
118 14 Dtool_62HUJusE 0 4 132 1318 0 14 Dtool_62HUJusE 283 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_origin
//       Access: Published
//  Description: Removes the origin specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
119 14 Dtool_62HUyNWj 0 4 133 1318 0 14 Dtool_62HUyNWj 393 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_size
//       Access: Published
//  Description: Specifies the requested size of the window, in
//               pixels.  This is the size of the useful part of the
//               window, not including decorations.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  4 size 1 1346  
120 14 Dtool_62HU7Ba1 0 4 133 1318 0 14 Dtool_62HU7Ba1 393 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_size
//       Access: Published
//  Description: Specifies the requested size of the window, in
//               pixels.  This is the size of the useful part of the
//               window, not including decorations.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1340  6 x_size 1 1317  6 y_size 1 1317  
121 14 Dtool_62HUA4UN 0 6 134 1346 0 14 Dtool_62HUA4UN 328 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_origin
//       Access: Published
//  Description: Returns size in pixels of the useful part of the
//               window, not including decorations.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
122 14 Dtool_62HUVfNw 0 6 135 1317 0 14 Dtool_62HUVfNw 401 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_x_size
//       Access: Published
//  Description: Returns size in pixels in the x dimension of the
//               useful part of the window, not including decorations.
//               That is, this is the window's width.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
123 14 Dtool_62HUQfpo 0 6 136 1317 0 14 Dtool_62HUQfpo 402 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_y_size
//       Access: Published
//  Description: Returns size in pixels in the y dimension of the
//               useful part of the window, not including decorations.
//               That is, this is the window's height.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
124 14 Dtool_62HU04_T 0 6 137 1324 0 14 Dtool_62HU04_T 311 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_size
//       Access: Published
//  Description: Returns true if the window size has been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
125 14 Dtool_62HUChuY 0 4 138 1318 0 14 Dtool_62HUChuY 279 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_size
//       Access: Published
//  Description: Removes the size specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
126 14 Dtool_62HUrK49 0 6 139 1324 0 14 Dtool_62HUrK49 232 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_mouse_mode
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
127 14 Dtool_62HUmSWG 0 4 140 1318 0 14 Dtool_62HUmSWG 1074 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_mouse_mode
//       Access: Published
//  Description: Specifies the mode in which the window is to operate
//               its mouse pointer.  The default is M_absolute, which
//               is the normal mode in which a mouse pointer operates;
//               but you can also set M_relative, which is
//               particularly useful for FPS-style mouse movements
//               where you have hidden the mouse pointer and are are
//               more interested in how fast the mouse is moving,
//               rather than precisely where the pointer is hovering.
//
//               This has no effect on Windows, which does not
//               have this concept; but is important to do on OSX
//               and Unix/X11 to properly enable a smooth FPS-style
//               mouselook mode.  On Unix/X11, this requires the
//               Xxf86dga extension to be available.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  4 mode 1 1273  
128 14 Dtool_62HUjVO3 0 6 141 1273 0 14 Dtool_62HUjVO3 253 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_mouse_mode
//       Access: Published
//  Description: See set_mouse_mode().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
129 14 Dtool_62HUmyf3 0 4 142 1318 0 14 Dtool_62HUmyf3 291 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_mouse_mode
//       Access: Published
//  Description: Removes the mouse_mode specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
130 14 Dtool_62HUEtQx 0 4 143 1318 0 14 Dtool_62HUEtQx 302 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_title
//       Access: Published
//  Description: Specifies the title that should be assigned to the
//               window.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  5 title 1 1321  
131 14 Dtool_62HULpK6 0 6 144 1321 0 14 Dtool_62HULpK6 254 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_title
//       Access: Published
//  Description: Returns the window's title.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
132 14 Dtool_62HU4p0A 0 6 145 1324 0 14 Dtool_62HU4p0A 313 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_title
//       Access: Published
//  Description: Returns true if the window title has been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
133 14 Dtool_62HU2KzX 0 4 146 1318 0 14 Dtool_62HU2KzX 281 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_title
//       Access: Published
//  Description: Removes the title specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
134 14 Dtool_62HU1wGY 0 4 147 1318 0 14 Dtool_62HU1wGY 381 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_undecorated
//       Access: Published
//  Description: Specifies whether the window should be created with a
//               visible title and border (false, the default) or not
//               (true).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  11 undecorated 1 1324  
135 14 Dtool_62HUJtRY 0 6 148 1324 0 14 Dtool_62HUJtRY 274 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_undecorated
//       Access: Published
//  Description: Returns true if the window has no border.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
136 14 Dtool_62HUds7e 0 6 149 1324 0 14 Dtool_62HUds7e 286 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_undecorated
//       Access: Published
//  Description: Returns true if set_undecorated() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
137 14 Dtool_62HU6EZL 0 4 150 1318 0 14 Dtool_62HU6EZL 293 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_undecorated
//       Access: Published
//  Description: Removes the undecorated specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
138 14 Dtool_62HUhxLw 0 4 151 1318 0 14 Dtool_62HUhxLw 310 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_fixed_size
//       Access: Published
//  Description: Specifies whether the window should be resizable by
//               the user.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  10 fixed_size 1 1324  
139 14 Dtool_62HUi_y_ 0 6 152 1324 0 14 Dtool_62HUi_y_ 323 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_fixed_size
//       Access: Published
//  Description: Returns true if the window cannot be resized by the
//               user, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
140 14 Dtool_62HU7wcF 0 6 153 1324 0 14 Dtool_62HU7wcF 284 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_fixed_size
//       Access: Published
//  Description: Returns true if set_fixed_size() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
141 14 Dtool_62HUPwhp 0 4 154 1318 0 14 Dtool_62HUPwhp 291 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_fixed_size
//       Access: Published
//  Description: Removes the fixed_size specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
142 14 Dtool_62HUq0Uu 0 4 155 1318 0 14 Dtool_62HUq0Uu 383 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_fullscreen
//       Access: Published
//  Description: Specifies whether the window should be opened in
//               fullscreen mode (true) or normal windowed mode
//               (false, the default).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  10 fullscreen 1 1324  
143 14 Dtool_62HUtz98 0 6 156 1324 0 14 Dtool_62HUtz98 281 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_fullscreen
//       Access: Published
//  Description: Returns true if the window is in fullscreen mode.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
144 14 Dtool_62HUi3nD 0 6 157 1324 0 14 Dtool_62HUi3nD 284 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_fullscreen
//       Access: Published
//  Description: Returns true if set_fullscreen() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
145 14 Dtool_62HUwgpW 0 4 158 1318 0 14 Dtool_62HUwgpW 291 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_fullscreen
//       Access: Published
//  Description: Removes the fullscreen specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
146 14 Dtool_62HUpPA6 0 4 159 1318 0 14 Dtool_62HUpPA6 372 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_foreground
//       Access: Published
//  Description: Specifies whether the window should be opened in
//               the foreground (true), or left in the background
//               (false).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  10 foreground 1 1324  
147 14 Dtool_62HUrFnI 0 6 160 1324 0 14 Dtool_62HUrFnI 280 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_foreground
//       Access: Published
//  Description: Returns true if the window is in the foreground.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
148 14 Dtool_62HU7CRP 0 6 161 1324 0 14 Dtool_62HU7CRP 284 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_foreground
//       Access: Published
//  Description: Returns true if set_foreground() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
149 14 Dtool_62HUNghP 0 4 162 1318 0 14 Dtool_62HUNghP 291 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_foreground
//       Access: Published
//  Description: Removes the foreground specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
150 14 Dtool_62HUJuBm 0 4 163 1318 0 14 Dtool_62HUJuBm 331 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_minimized
//       Access: Published
//  Description: Specifies whether the window should be created
//               minimized (true), or normal (false).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  9 minimized 1 1324  
151 14 Dtool_62HUUuGt 0 6 164 1324 0 14 Dtool_62HUUuGt 271 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_minimized
//       Access: Published
//  Description: Returns true if the window is minimized.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
152 14 Dtool_62HUgrwz 0 6 165 1324 0 14 Dtool_62HUgrwz 282 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_minimized
//       Access: Published
//  Description: Returns true if set_minimized() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
153 14 Dtool_62HUNh8v 0 4 166 1318 0 14 Dtool_62HUNh8v 289 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_minimized
//       Access: Published
//  Description: Removes the minimized specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
154 14 Dtool_62HUDYtm 0 4 167 1318 0 14 Dtool_62HUDYtm 310 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_raw_mice
//       Access: Published
//  Description: Specifies whether the window should read the raw
//               mouse devices.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  8 raw_mice 1 1324  
155 14 Dtool_62HUjiir 0 6 168 1324 0 14 Dtool_62HUjiir 276 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_raw_mice
//       Access: Published
//  Description: Returns true if the window reads the raw mice.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
156 14 Dtool_62HUTfNy 0 6 169 1324 0 14 Dtool_62HUTfNy 280 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_raw_mice
//       Access: Published
//  Description: Returns true if set_raw_mice() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
157 14 Dtool_62HUm_9h 0 4 170 1318 0 14 Dtool_62HUm_9h 287 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_raw_mice
//       Access: Published
//  Description: Removes the raw_mice specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
158 14 Dtool_62HU0PHZ 0 4 171 1318 0 14 Dtool_62HU0PHZ 417 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_open
//       Access: Published
//  Description: Specifies whether the window should be open.  It is
//               legal to create a GraphicsWindow in the closed state,
//               and later request it to open by changing this flag.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  4 open 1 1324  
159 14 Dtool_62HUnBqS 0 6 172 1324 0 14 Dtool_62HUnBqS 261 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_open
//       Access: Published
//  Description: Returns true if the window is open.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
160 14 Dtool_62HU3AUZ 0 6 173 1324 0 14 Dtool_62HU3AUZ 272 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_open
//       Access: Published
//  Description: Returns true if set_open() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
161 14 Dtool_62HUXQu6 0 4 174 1318 0 14 Dtool_62HUXQu6 279 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_open
//       Access: Published
//  Description: Removes the open specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
162 14 Dtool_62HUuag3 0 4 175 1318 0 14 Dtool_62HUuag3 288 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_cursor_hidden
//       Access: Published
//  Description: Specifies whether the mouse cursor should be visible.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  13 cursor_hidden 1 1324  
163 14 Dtool_62HUILMV 0 6 176 1324 0 14 Dtool_62HUILMV 281 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_cursor_hidden
//       Access: Published
//  Description: Returns true if the mouse cursor is invisible.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
164 14 Dtool_62HU0O2b 0 6 177 1324 0 14 Dtool_62HU0O2b 290 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_cursor_hidden
//       Access: Published
//  Description: Returns true if set_cursor_hidden() has been specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
165 14 Dtool_62HUnQoK 0 4 178 1318 0 14 Dtool_62HUnQoK 297 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_cursor_hidden
//       Access: Published
//  Description: Removes the cursor_hidden specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
166 14 Dtool_62HUvab1 0 4 179 1318 0 14 Dtool_62HUvab1 344 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_icon_filename
//       Access: Published
//  Description: Specifies the file that contains the icon to
//               associate with the window when it is minimized.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  13 icon_filename 1 1349  
167 14 Dtool_62HUaEsZ 0 6 180 1349 0 14 Dtool_62HUaEsZ 288 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_icon_filename
//       Access: Published
//  Description: Returns the icon filename associated with the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
168 14 Dtool_62HUqEWg 0 6 181 1324 0 14 Dtool_62HUqEWg 307 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_icon_filename
//       Access: Published
//  Description: Returns true if set_icon_filename() has been
//               specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
169 14 Dtool_62HUOBF2 0 4 182 1318 0 14 Dtool_62HUOBF2 314 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_icon_filename
//       Access: Published
//  Description: Removes the icon_filename specification from the
//               properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
170 14 Dtool_62HUFBsD 0 4 183 1318 0 14 Dtool_62HUFBsD 391 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_cursor_filename
//       Access: Published
//  Description: Specifies the file that contains the icon to
//               associate with the mouse cursor when it is within the
//               window (and visible).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  15 cursor_filename 1 1349  
171 14 Dtool_62HUzq6A 0 6 184 1349 0 14 Dtool_62HUzq6A 313 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_cursor_filename
//       Access: Published
//  Description: Returns the icon filename associated with the mouse
//               cursor.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
172 14 Dtool_62HUjlkH 0 6 185 1324 0 14 Dtool_62HUjlkH 311 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_cursor_filename
//       Access: Published
//  Description: Returns true if set_cursor_filename() has been
//               specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
173 14 Dtool_62HUImNb 0 4 186 1318 0 14 Dtool_62HUImNb 318 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_cursor_filename
//       Access: Published
//  Description: Removes the cursor_filename specification from the
//               properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
174 14 Dtool_62HUonGh 0 4 187 1318 0 14 Dtool_62HUonGh 609 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_z_order
//       Access: Published
//  Description: Specifies the relative ordering of the window with
//               respect to other windows.  If the z_order is Z_top,
//               the window will always be on top of other windows; if
//               it is Z_bottom, it will always be below other
//               windows.  Most windows will want to be Z_normal,
//               which allows the user to control the order.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  7 z_order 1 1272  
175 14 Dtool_62HU_iJo 0 6 188 1272 0 14 Dtool_62HU_iJo 258 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_z_order
//       Access: Published
//  Description: Returns the window's z_order.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
176 14 Dtool_62HUuhzu 0 6 189 1324 0 14 Dtool_62HUuhzu 317 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_z_order
//       Access: Published
//  Description: Returns true if the window z_order has been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
177 14 Dtool_62HULFwW 0 4 190 1318 0 14 Dtool_62HULFwW 285 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_z_order
//       Access: Published
//  Description: Removes the z_order specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
178 14 Dtool_62HUttFo 0 4 191 1318 0 14 Dtool_62HUttFo 1028 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_parent_window
//       Access: Published
//  Description: Specifies the window that this window should be
//               attached to.  If this is NULL or unspecified, the
//               window will be created as a toplevel window on the
//               desktop; if this is non-NULL, the window will be
//               bound as a child window to the indicated parent
//               window.
//
//               You should use GraphicsPipe::make_window_handle() to
//               create an instance of a WindowHandle object given an
//               appropriate OS-specific window handle representation.
//               Each OS-specific GraphicsPipe class defines a
//               make_window_handle() method that returns an
//               appropriate WindowHandle object to wrap the
//               particular OS-specific representation.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  13 parent_window 1 1334  
179 14 Dtool_62HUhe0o 0 4 191 1318 0 14 Dtool_62HUhe0o 1028 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_parent_window
//       Access: Published
//  Description: Specifies the window that this window should be
//               attached to.  If this is NULL or unspecified, the
//               window will be created as a toplevel window on the
//               desktop; if this is non-NULL, the window will be
//               bound as a child window to the indicated parent
//               window.
//
//               You should use GraphicsPipe::make_window_handle() to
//               create an instance of a WindowHandle object given an
//               appropriate OS-specific window handle representation.
//               Each OS-specific GraphicsPipe class defines a
//               make_window_handle() method that returns an
//               appropriate WindowHandle object to wrap the
//               particular OS-specific representation.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
180 14 Dtool_62HUDGd5 0 4 191 1318 0 14 Dtool_62HUDGd5 1056 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::set_parent_window
//       Access: Published
//  Description: Specifies the window that this window should be
//               attached to.
//
//               This is a deprecated variant on this method, and
//               exists only for backward compatibility.  Future code
//               should use the version of set_parent_window() below
//               that receives a WindowHandle object; that interface
//               is much more robust.
//
//               In this deprecated variant, the actual value for
//               "parent" is platform-specific.  On Windows, it is the
//               HWND of the parent window, cast to an unsigned
//               integer.  On X11, it is the Window pointer of the
//               parent window, similarly cast.  On OSX, this is the
//               NSWindow pointer, which doesn't appear to work at
//               all.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  6 parent 1 1320  
181 14 Dtool_62HU7fZY 0 7 192 1334 0 14 Dtool_62HU7fZY 340 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::get_parent_window
//       Access: Published
//  Description: Returns the parent window specification, or NULL if
//               there is no parent window specified.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
182 14 Dtool_62HULSDf 0 6 193 1324 0 14 Dtool_62HULSDf 296 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::has_parent_window
//       Access: Published
//  Description: Checks the S_parent_window specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1341  
183 14 Dtool_62HUy5uH 0 4 194 1318 0 14 Dtool_62HUy5uH 299 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::clear_parent_window
//       Access: Published
//  Description: Removes the S_parent_window specification from the properties.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1340  
184 14 Dtool_62HUcUzF 0 4 195 1318 0 14 Dtool_62HUcUzF 376 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::add_properties
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1340  5 other 1 1341  
185 14 Dtool_62HUXFj2 0 4 196 1318 0 14 Dtool_62HUXFj2 368 ////////////////////////////////////////////////////////////////////
//     Function: WindowProperties::output
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1341  3 out 1 1336  
186 14 Dtool_62HUZzns 0 6 204 1317 0 14 Dtool_62HUZzns 280 ///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_num_regions
//       Access: Published
//  Description: Returns the number of regions, see set_num_regions.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
187 14 Dtool_62HULWD0 0 4 205 1318 0 14 Dtool_62HULWD0 607 ///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_num_regions
//       Access: Published
//  Description: Sets the number of regions that this DisplayRegion
//               indicates.  Usually, this number is 1 (and it is
//               always at least 1), and only the first is used for
//               rendering.  However, if more than one is provided,
//               you may select which one to render into using a
//               geometry shader (gl_ViewportIndex in GLSL).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  1 i 1 1317  
188 14 Dtool_62HU3AS_ 0 7 206 1355 0 14 Dtool_62HU3AS_ 391 ///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_dimensions
//       Access: Published
//  Description: Retrieves the coordinates of the DisplayRegion's
//               rectangle within its GraphicsOutput.  These numbers
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
189 14 Dtool_62HUVdpt 0 7 206 1355 0 14 Dtool_62HUVdpt 391 ///////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_dimensions
//       Access: Published
//  Description: Retrieves the coordinates of the DisplayRegion's
//               rectangle within its GraphicsOutput.  These numbers
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
190 14 Dtool_62HUKJ5y 0 6 207 1331 0 14 Dtool_62HUKJ5y 386 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_left
//       Access: Published
//  Description: Retrieves the x coordinate of the left edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
191 14 Dtool_62HU8EnQ 0 6 207 1331 0 14 Dtool_62HU8EnQ 386 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_left
//       Access: Published
//  Description: Retrieves the x coordinate of the left edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
192 14 Dtool_62HUKI2S 0 6 208 1331 0 14 Dtool_62HUKI2S 388 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_right
//       Access: Published
//  Description: Retrieves the x coordinate of the right edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
193 14 Dtool_62HU85BK 0 6 208 1331 0 14 Dtool_62HU85BK 388 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_right
//       Access: Published
//  Description: Retrieves the x coordinate of the right edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
194 14 Dtool_62HUvsR4 0 6 209 1331 0 14 Dtool_62HUvsR4 392 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_bottom
//       Access: Published
//  Description: Retrieves the y coordinate of the bottom edge of 
//               the rectangle within its GraphicsOutput.  This 
//               number will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
195 14 Dtool_62HUCJld 0 6 209 1331 0 14 Dtool_62HUCJld 392 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_bottom
//       Access: Published
//  Description: Retrieves the y coordinate of the bottom edge of 
//               the rectangle within its GraphicsOutput.  This 
//               number will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
196 14 Dtool_62HU7G3P 0 6 210 1331 0 14 Dtool_62HU7G3P 384 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_top
//       Access: Published
//  Description: Retrieves the y coordinate of the top edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
197 14 Dtool_62HUpTxi 0 6 210 1331 0 14 Dtool_62HUpTxi 384 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_top
//       Access: Published
//  Description: Retrieves the y coordinate of the top edge of the
//               rectangle within its GraphicsOutput.  This number
//               will be in the range [0..1].
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
198 14 Dtool_62HU2Ss2 0 4 211 1318 0 14 Dtool_62HU2Ss2 519 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  10 dimensions 1 1328  
199 14 Dtool_62HUta7G 0 4 211 1318 0 14 Dtool_62HUta7G 519 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1354  1 l 1 1331  1 r 1 1331  1 b 1 1331  1 t 1 1331  
200 14 Dtool_62HUGUti 0 4 211 1318 0 14 Dtool_62HUGUti 519 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1354  1 i 1 1317  10 dimensions 1 1328  
201 14 Dtool_62HUZaMD 0 4 211 1318 0 14 Dtool_62HUZaMD 519 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_dimensions
//       Access: Published, Virtual
//  Description: Changes the portion of the framebuffer this
//               DisplayRegion corresponds to.  The parameters range
//               from 0 to 1, where 0,0 is the lower left corner and
//               1,1 is the upper right; (0, 1, 0, 1) represents the
//               whole screen.
//////////////////////////////////////////////////////////////////// 6 4 this 3 1354  1 i 1 1317  1 l 1 1331  1 r 1 1331  1 b 1 1331  1 t 1 1331  
202 14 Dtool_62HUKjj6 0 7 212 1356 1045 14 Dtool_62HUKjj6 376 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_window
//       Access: Published
//  Description: Returns the GraphicsOutput that this DisplayRegion is
//               ultimately associated with, or NULL if no window is
//               associated.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
203 14 Dtool_62HU668k 0 7 213 1313 0 14 Dtool_62HU668k 370 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this DisplayRegion is
//               ultimately associated with, or NULL if no pipe is
//               associated.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
204 14 Dtool_62HUHd9E 0 6 214 1324 0 14 Dtool_62HUHd9E 313 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::is_stereo
//       Access: Published, Virtual
//  Description: Returns true if this is a StereoDisplayRegion, false
//               otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
205 14 Dtool_62HUsRD1 0 4 215 1318 0 14 Dtool_62HUsRD1 669 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_camera
//       Access: Published, Virtual
//  Description: Sets the camera that is associated with this
//               DisplayRegion.  There is a one-to-many association
//               between cameras and DisplayRegions; one camera may be
//               shared by multiple DisplayRegions.
//
//               The camera is actually set via a NodePath, which
//               clarifies which instance of the camera (if there
//               happen to be multiple instances) we should use.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  6 camera 1 1357  
206 14 Dtool_62HUQE0w 0 7 216 1362 0 14 Dtool_62HUQE0w 362 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_camera
//       Access: Published
//  Description: Returns the camera associated with this
//               DisplayRegion, or an empty NodePath if no camera is
//               associated.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  14 current_thread 1 1360  
207 14 Dtool_62HUM2LQ 0 7 216 1362 0 14 Dtool_62HUM2LQ 362 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_camera
//       Access: Published
//  Description: Returns the camera associated with this
//               DisplayRegion, or an empty NodePath if no camera is
//               associated.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
208 14 Dtool_62HUPMVE 0 4 217 1318 0 14 Dtool_62HUPMVE 386 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_active
//       Access: Published, Virtual
//  Description: Sets the active flag associated with the
//               DisplayRegion.  If the DisplayRegion is marked
//               inactive, nothing is rendered.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  6 active 1 1324  
209 14 Dtool_62HUpe7G 0 6 218 1324 0 14 Dtool_62HUpe7G 299 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::is_active
//       Access: Published
//  Description: Returns the active flag associated with the
//               DisplayRegion.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
210 14 Dtool_62HUJhLw 0 4 219 1318 0 14 Dtool_62HUJhLw 439 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_sort
//       Access: Published, Virtual
//  Description: Sets the sort value associated with the
//               DisplayRegion.  Within a window, DisplayRegions will
//               be rendered in order from the lowest sort value to
//               the highest.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  4 sort 1 1317  
211 14 Dtool_62HUkJ4o 0 6 220 1317 0 14 Dtool_62HUkJ4o 297 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_sort
//       Access: Published
//  Description: Returns the sort value associated with the
//               DisplayRegion.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
212 14 Dtool_62HUwg4T 0 4 221 1318 0 14 Dtool_62HUwg4T 1825 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_stereo_channel
//       Access: Published, Virtual
//  Description: Specifies whether the DisplayRegion represents the
//               left or right channel of a stereo pair, or whether it
//               is a normal, monocular image.  This automatically
//               adjusts the lens that is used to render to this
//               DisplayRegion to its left or right eye, according to
//               the lens's stereo properties.
//
//               When the DisplayRegion is attached to a stereo window
//               (one for which is_stereo() returns true), this also
//               specifies which physical channel the DisplayRegion
//               renders to.
//
//               Normally you would create at least two DisplayRegions
//               for a stereo window, one for each of the left and
//               right channels.  The two DisplayRegions may share the
//               same camera (and thus the same lens); this parameter
//               is used to control the exact properties of the lens
//               when it is used to render into this DisplayRegion.
//
//               Also see the StereoDisplayRegion, which automates
//               managing a pair of left/right DisplayRegions.
//
//               An ordinary DisplayRegion may be set to SC_mono,
//               SC_left, or SC_right.  You may set SC_stereo only on
//               a StereoDisplayRegion.
//
//               This call also resets tex_view_offset to its default
//               value, which is 0 for the left eye or 1 for the right
//               eye of a stereo display region, or 0 for a mono
//               display region.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  14 stereo_channel 1 1363  
213 14 Dtool_62HUGBUH 0 6 222 1363 0 14 Dtool_62HUGBUH 448 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_stereo_channel
//       Access: Published
//  Description: Returns whether the DisplayRegion is specified as the
//               left or right channel of a stereo pair, or whether it
//               is a normal, monocular image.  See
//               set_stereo_channel().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
214 14 Dtool_62HUotSp 0 4 223 1318 0 14 Dtool_62HUotSp 776 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_tex_view_offset
//       Access: Published, Virtual
//  Description: Sets the current texture view offset for this
//               DisplayRegion.  This is normally set to zero.  If
//               nonzero, it is used to select a particular view of
//               any multiview textures that are rendered within this
//               DisplayRegion.
//
//               For a StereoDisplayRegion, this is normally 0 for the
//               left eye, and 1 for the right eye, to support stereo
//               textures.  This is set automatically when you call
//               set_stereo_channel().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  15 tex_view_offset 1 1317  
215 14 Dtool_62HUYFGv 0 6 224 1317 0 14 Dtool_62HUYFGv 687 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_tex_view_offset
//       Access: Public
//  Description: Returns the current texture view offset for this
//               DisplayRegion.  This is normally set to zero.  If
//               nonzero, it is used to select a particular view of
//               any multiview textures that are rendered within this
//               DisplayRegion.
//
//               For a StereoDisplayRegion, this is normally 0 for the
//               left eye, and 1 for the right eye, to support stereo
//               textures.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
216 14 Dtool_62HUDC63 0 4 225 1318 0 14 Dtool_62HUDC63 949 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_incomplete_render
//       Access: Published, Virtual
//  Description: Sets the incomplete_render flag.  When this is
//               true, the frame will be rendered even if some of the
//               geometry or textures in the scene are not available
//               (e.g. they have been temporarily paged out).  When
//               this is false, the frame will be held up while this
//               data is reloaded.
//
//               This flag may also be set on the
//               GraphicsStateGuardian.  It will be considered true
//               for a given DisplayRegion only if it is true on both
//               the GSG and on the DisplayRegion.
//
//               See GraphicsStateGuardian::set_incomplete_render()
//               for more detail.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  17 incomplete_render 1 1324  
217 14 Dtool_62HU6SQs 0 6 226 1324 0 14 Dtool_62HU6SQs 318 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_incomplete_render
//       Access: Published
//  Description: Returns the incomplete_render flag.  See
//               set_incomplete_render().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
218 14 Dtool_62HU7uok 0 4 227 1318 0 14 Dtool_62HU7uok 988 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_texture_reload_priority
//       Access: Published, Virtual
//  Description: Specifies an integer priority which is assigned to
//               any asynchronous texture reload requests spawned
//               while processing this DisplayRegion.  This controls
//               which textures are loaded first when multiple
//               textures need to be reloaded at once; it also
//               controls the relative priority between asynchronous
//               texture loads and asynchronous model or animation
//               loads.
//
//               Specifying a larger number here makes the textures
//               rendered by this DisplayRegion load up first.  This
//               may be particularly useful to do, for instance, for
//               the DisplayRegion that renders the gui.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  23 texture_reload_priority 1 1317  
219 14 Dtool_62HUpMFg 0 6 228 1317 0 14 Dtool_62HUpMFg 391 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_texture_reload_priority
//       Access: Published
//  Description: Returns the priority which is assigned to
//               asynchronous texture reload requests.  See
//               set_texture_reload_priority().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
220 14 Dtool_62HUt3kY 0 4 229 1318 0 14 Dtool_62HUt3kY 443 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_lens_index
//       Access: Published
//  Description: Sets the lens index, allows for multiple lenses to
//               be attached to a camera.  This is useful for a 
//               variety of setups, such as fish eye rendering.
//               The default is 0.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  5 index 1 1317  
221 14 Dtool_62HUHvi6 0 6 230 1317 0 14 Dtool_62HUHvi6 479 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_lens_index
//       Access: Public
//  Description: Returns the specific lens of the associated Camera
//               that will be used for rendering this scene.  Most
//               Cameras hold only one lens, but for multiple lenses
//               this method may be used to selected between them.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
222 14 Dtool_62HUuCaA 0 4 231 1318 0 14 Dtool_62HUuCaA 494 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cull_traverser
//       Access: Published, Virtual
//  Description: Specifies the CullTraverser that will be used to draw
//               the contents of this DisplayRegion.  Normally the
//               default CullTraverser is sufficient, but this may be
//               changed to change the default cull behavior.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  4 trav 1 1365  
223 14 Dtool_62HUmlBH 0 7 232 1365 0 14 Dtool_62HUmlBH 337 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_cull_traverser
//       Access: Published
//  Description: Returns the CullTraverser that will be used to draw
//               the contents of this DisplayRegion.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
224 14 Dtool_62HUVFCA 0 4 233 1318 0 14 Dtool_62HUVFCA 279 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cube_map_index
//       Access: Published
//  Description: Deprecated; replaced by set_target_tex_page().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  14 cube_map_index 1 1317  
225 14 Dtool_62HU_ppu 0 4 234 1318 0 14 Dtool_62HU_ppu 909 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_target_tex_page
//       Access: Published, Virtual
//  Description: This is a special parameter that is only used when
//               rendering the faces of a cube map or multipage and/or
//               multiview texture.  
//
//               This sets up the DisplayRegion to render to the ith
//               page and jth view of its associated texture(s); the
//               value must be consistent with the range of values
//               availble to the texture.  A normal DisplayRegion that
//               is not associated with any particular page should be
//               set to page -1 and view 0.
//
//               This is particularly useful when rendering cube maps
//               and/or stereo textures.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  4 page 1 1317  
226 14 Dtool_62HUNBc0 0 6 235 1317 0 14 Dtool_62HUNBc0 433 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_target_tex_page
//       Access: Published
//  Description: Returns the target page number associated with this
//               particular DisplayRegion, or -1 if it is not
//               associated with a page.  See
//               set_target_tex_page().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
227 14 Dtool_62HUZe2r 0 4 236 1318 0 14 Dtool_62HUZe2r 1597 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_cull_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               the DisplayRegion is visited during the cull
//               traversal.  This callback will be made during the
//               cull thread.
//
//               The cull traversal is responsible for determining
//               which nodes are visible and within the view frustum,
//               and for accumulating state and transform, and
//               generally building up the list of CullableObjects
//               that are to be eventually passed to the draw
//               traversal for rendering.
//
//               At the time the cull traversal callback is made, the
//               traversal for this DisplayRegion has not yet started.
//
//               The callback is passed an instance of a
//               DisplayRegionCullCallbackData, which contains
//               pointers to the current scene information, as well as
//               the current DisplayRegion and GSG.  The callback
//               *replaces* the normal cull behavior, so if your
//               callback does nothing, the scene graph will not be
//               traversed and therefore nothing will be drawn.  If
//               you wish the normal cull traversal to be performed
//               for this DisplayRegion, you must call
//               cbdata->upcall() from your callback.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  6 object 1 1367  
228 14 Dtool_62HUlceA 0 4 237 1318 0 14 Dtool_62HUlceA 318 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::clear_cull_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_cull_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
229 14 Dtool_62HUIcXV 0 7 238 1367 0 14 Dtool_62HUIcXV 286 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_cull_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_cull_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
230 14 Dtool_62HU12YM 0 4 239 1318 0 14 Dtool_62HU12YM 1951 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::set_draw_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               the contents of DisplayRegion is drawn during the
//               draw traversal.  This callback will be made during
//               the draw thread.
//
//               The draw traversal is responsible for actually
//               issuing the commands to the graphics engine to draw
//               primitives.  Its job is to walk through the list of
//               CullableObjects build up by the cull traversal, as
//               quickly as possible, issuing the appropriate commands
//               to draw each one.
//
//               At the time the draw traversal callback is made, the
//               graphics state is in the initial state, and no
//               projection matrix or modelview matrix is in effect.
//               begin_scene() has not yet been called, and no objects
//               have yet been drawn.  However, the viewport has
//               already been set to the appropriate part of the
//               window, and the clear commands for this DisplayRegion
//               (if any) have been issued.
//
//               The callback is passed an instance of a
//               DisplayRegionDrawCallbackData, which contains
//               pointers to the current scene information, as well as
//               the current DisplayRegion and GSG.  The callback
//               *replaces* the normal draw behavior, so if your
//               callback does nothing, nothing in the DisplayRegion
//               will be drawn.  If you wish the draw traversal to
//               continue to draw the contents of this DisplayRegion,
//               you must call cbdata->upcall() from your callback.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  6 object 1 1367  
231 14 Dtool_62HUmEIH 0 4 240 1318 0 14 Dtool_62HUmEIH 318 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::clear_draw_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_draw_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
232 14 Dtool_62HUTl41 0 7 241 1367 0 14 Dtool_62HUTl41 286 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_draw_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_draw_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
233 14 Dtool_62HU_lBg 0 6 242 1317 0 14 Dtool_62HU_lBg 279 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_width
//       Access: Published
//  Description: Returns the width of the DisplayRegion in pixels.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
234 14 Dtool_62HU9Qnq 0 6 242 1317 0 14 Dtool_62HU9Qnq 279 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_width
//       Access: Published
//  Description: Returns the width of the DisplayRegion in pixels.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
235 14 Dtool_62HUkzp_ 0 6 243 1317 0 14 Dtool_62HUkzp_ 281 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_height
//       Access: Published
//  Description: Returns the height of the DisplayRegion in pixels.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  1 i 1 1317  
236 14 Dtool_62HUKQDR 0 6 243 1317 0 14 Dtool_62HUKQDR 281 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_pixel_height
//       Access: Published
//  Description: Returns the height of the DisplayRegion in pixels.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1352  
237 14 Dtool_62HUwKBx 0 4 244 1318 0 14 Dtool_62HUwKBx 229 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::output
//       Access: Published, Virtual
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1352  3 out 1 1336  
238 14 Dtool_62HUzVMo 0 7 245 1369 0 14 Dtool_62HUzVMo 757 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::make_screenshot_filename
//       Access: Published, Static
//  Description: Synthesizes a suitable default filename for passing
//               to save_screenshot().
//
//               The default filename is generated from the supplied
//               prefix and from the Config variable
//               screenshot-filename, which contains the following
//               strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
//////////////////////////////////////////////////////////////////// 1 6 prefix 1 1321  
239 14 Dtool_62HUWeJc 0 7 245 1369 0 14 Dtool_62HUWeJc 757 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::make_screenshot_filename
//       Access: Published, Static
//  Description: Synthesizes a suitable default filename for passing
//               to save_screenshot().
//
//               The default filename is generated from the supplied
//               prefix and from the Config variable
//               screenshot-filename, which contains the following
//               strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
//////////////////////////////////////////////////////////////////// 0 
240 14 Dtool_62HUcz2s 0 7 246 1369 0 14 Dtool_62HUcz2s 470 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  6 prefix 1 1321  
241 14 Dtool_62HUJTg6 0 7 246 1369 0 14 Dtool_62HUJTg6 470 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
242 14 Dtool_62HUECpM 0 6 247 1324 0 14 Dtool_62HUECpM 350 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  Returns true on success, false on failure.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1354  8 filename 1 1349  13 image_comment 1 1321  
243 14 Dtool_62HUN5lm 0 6 247 1324 0 14 Dtool_62HUN5lm 350 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  Returns true on success, false on failure.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  8 filename 1 1349  
244 14 Dtool_62HUVX7L 0 7 248 1371 0 14 Dtool_62HUVX7L 374 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer and returns it as a Texture, or NULL
//               on failure.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
245 14 Dtool_62HU__qS 0 6 248 1324 0 14 Dtool_62HU__qS 398 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer into the indicated PNMImage.  Returns
//               true on success, false on failure.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1354  5 image 1 1372  
246 14 Dtool_62HUGzuE 0 7 249 1375 0 14 Dtool_62HUGzuE 1131 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegion::make_cull_result_graph
//       Access: Published
//  Description: Returns a special scene graph constructed to
//               represent the results of the last frame's cull
//               operation.
//
//               This will be a hierarchy of nodes, one node for each
//               bin, each of which will in term be a parent of a
//               number of GeomNodes, representing the geometry drawn
//               in each bin.
//
//               This is useful mainly for high-level debugging and
//               abstraction tools; it should not be mistaken for the
//               low-level cull result itself, which is constructed
//               and maintained internally.  No such scene graph is
//               normally constructed during the rendering of a frame;
//               this is an artificial construct created for the
//               purpose of making it easy to analyze the results of
//               the cull operation.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1354  
247 14 Dtool_62HUZZzb 0 7 250 1315 0 14 Dtool_62HUZZzb 0 0 
248 14 Dtool_62HUrv6o 0 7 199 1376 0 14 Dtool_62HUrv6o 0 1 4 this 3 1354  
249 14 Dtool_62HUNvZ3 0 7 200 1354 837 14 Dtool_62HUNvZ3 0 1 4 this 3 1376  
250 14 Dtool_62HUlwzo 0 6 201 1325 0 14 Dtool_62HUlwzo 0 1 4 this 3 1354  
251 14 Dtool_62HUWozv 0 7 202 1354 837 14 Dtool_62HUWozv 0 1 4 this 3 1325  
252 14 Dtool_62HU9STW 0 7 252 1354 837 14 Dtool_62HU9STW 819 // Filename: stereoDisplayRegion.I
// Created by:  drose (19Feb09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: StereoDisplayRegion::get_left_eye
//       Access: Published
//  Description: Returns a pointer to the left DisplayRegion managed
//               by this stereo object.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1377  
253 14 Dtool_62HUHJcU 0 7 253 1354 837 14 Dtool_62HUHJcU 326 ////////////////////////////////////////////////////////////////////
//     Function: StereoDisplayRegion::get_right_eye
//       Access: Published
//  Description: Returns a pointer to the right DisplayRegion managed
//               by this stereo object.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1377  
254 14 Dtool_62HUSQKL 0 7 254 1315 0 14 Dtool_62HUSQKL 0 0 
255 14 Dtool_62HU0P03 0 7 294 1378 927 14 Dtool_62HU0P03 233 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Constructor
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 0 
256 14 Dtool_62HUOlPt 0 7 294 1378 927 14 Dtool_62HUOlPt 735 // Filename: frameBufferProperties.I
// Created by:  drose (27Jan03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Copy Constructor
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 1 4 copy 1 1379  
257 14 Dtool_62HU6uCK 0 6 256 1317 0 14 Dtool_62HU6uCK 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_depth_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
258 14 Dtool_62HUp9ex 0 6 257 1317 0 14 Dtool_62HUp9ex 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_color_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
259 14 Dtool_62HUYuZb 0 6 258 1317 0 14 Dtool_62HUYuZb 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_alpha_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
260 14 Dtool_62HUCuvJ 0 6 259 1317 0 14 Dtool_62HUCuvJ 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_stencil_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
261 14 Dtool_62HUzcaD 0 6 260 1317 0 14 Dtool_62HUzcaD 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_accum_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
262 14 Dtool_62HUi42A 0 6 261 1317 0 14 Dtool_62HUi42A 235 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_rgba
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
263 14 Dtool_62HU6m6B 0 6 262 1317 0 14 Dtool_62HU6m6B 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_hrgba
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
264 14 Dtool_62HUFEoX 0 6 263 1317 0 14 Dtool_62HUFEoX 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_float
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
265 14 Dtool_62HUSH90 0 6 264 1317 0 14 Dtool_62HUSH90 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_multisamples
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
266 14 Dtool_62HU1QBe 0 6 265 1317 0 14 Dtool_62HU1QBe 356 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_coverage_samples
//       Access: Published
//  Description: If coverage samples are specified, and there is
//               hardware support, we use coverage multisampling.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
267 14 Dtool_62HUn2ht 0 6 266 1317 0 14 Dtool_62HUn2ht 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_back_buffers
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
268 14 Dtool_62HUQkg0 0 6 267 1324 0 14 Dtool_62HUQkg0 240 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_indexed_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
269 14 Dtool_62HU7V7R 0 6 268 1324 0 14 Dtool_62HU7V7R 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_rgb_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
270 14 Dtool_62HU1KER 0 6 269 1324 0 14 Dtool_62HU1KER 233 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_stereo
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
271 14 Dtool_62HUmgiH 0 6 270 1324 0 14 Dtool_62HUmgiH 241 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_force_hardware
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
272 14 Dtool_62HUI_F1 0 6 271 1324 0 14 Dtool_62HUI_F1 241 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_force_software
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
273 14 Dtool_62HUBmVi 0 6 272 1324 0 14 Dtool_62HUBmVi 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_srgb_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
274 14 Dtool_62HUi3on 0 6 273 1324 0 14 Dtool_62HUi3on 238 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_float_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
275 14 Dtool_62HUpwLM 0 6 274 1324 0 14 Dtool_62HUpwLM 238 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_float_depth
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
276 14 Dtool_62HU4McT 0 4 275 1318 0 14 Dtool_62HU4McT 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_depth_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
277 14 Dtool_62HUgD26 0 4 276 1318 0 14 Dtool_62HUgD26 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_color_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
278 14 Dtool_62HUjyyk 0 4 277 1318 0 14 Dtool_62HUjyyk 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_alpha_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
279 14 Dtool_62HUwbci 0 4 278 1318 0 14 Dtool_62HUwbci 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_stencil_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
280 14 Dtool_62HU2I1M 0 4 279 1318 0 14 Dtool_62HU2I1M 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_accum_bits
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
281 14 Dtool_62HUIVH0 0 4 280 1318 0 14 Dtool_62HUIVH0 235 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_rgba
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
282 14 Dtool_62HUJ2_Q 0 4 281 1318 0 14 Dtool_62HUJ2_Q 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_hrgba
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
283 14 Dtool_62HUqLrm 0 4 282 1318 0 14 Dtool_62HUqLrm 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_aux_float
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
284 14 Dtool_62HU6_qN 0 4 283 1318 0 14 Dtool_62HU6_qN 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_multisamples
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
285 14 Dtool_62HUmvEd 0 4 284 1318 0 14 Dtool_62HUmvEd 355 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_coverage_samples
//       Access: Published
//  Description: If coverage samples are specified, and there is
//               hardware support, we use coverage multisampling
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
286 14 Dtool_62HUcsOG 0 4 285 1318 0 14 Dtool_62HUcsOG 239 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_back_buffers
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1317  
287 14 Dtool_62HUNnI5 0 4 286 1318 0 14 Dtool_62HUNnI5 240 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_indexed_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
288 14 Dtool_62HUoLwD 0 4 287 1318 0 14 Dtool_62HUoLwD 236 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_rgb_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
289 14 Dtool_62HUkw5k 0 4 288 1318 0 14 Dtool_62HUkw5k 233 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_stereo
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
290 14 Dtool_62HU1_ND 0 4 289 1318 0 14 Dtool_62HU1_ND 241 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_force_hardware
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
291 14 Dtool_62HUtZww 0 4 290 1318 0 14 Dtool_62HUtZww 241 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_force_software
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
292 14 Dtool_62HUxQEF 0 4 291 1318 0 14 Dtool_62HUxQEF 237 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_srgb_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
293 14 Dtool_62HUh1Rn 0 4 292 1318 0 14 Dtool_62HUh1Rn 238 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_float_color
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
294 14 Dtool_62HU_s0L 0 4 293 1318 0 14 Dtool_62HU_s0L 238 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_float_depth
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  1 n 1 1324  
295 14 Dtool_62HULWDE 0 6 296 1378 0 14 Dtool_62HULWDE 246 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::Copy Assignment Operator
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  4 copy 1 1379  
296 14 Dtool_62HUFGOb 0 6 297 1379 0 14 Dtool_62HUFGOb 395 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_default
//       Access: Published, Static
//  Description: Returns a FrameBufferProperties structure with all of
//               the default values filled in according to the user's
//               config file.
//////////////////////////////////////////////////////////////////// 0 
297 14 Dtool_62HU_xuw 0 6 298 1324 0 14 Dtool_62HU_xuw 234 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::operator == 
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1379  5 other 1 1379  
298 14 Dtool_62HUiGu_ 0 6 299 1324 0 14 Dtool_62HUiGu_ 233 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::operator !=
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 1379  5 other 1 1379  
299 14 Dtool_62HUfz7q 0 4 300 1318 0 14 Dtool_62HUfz7q 391 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::clear
//       Access: Published
//  Description: Unsets all properties that have been specified so
//               far, and resets the FrameBufferProperties structure to its
//               initial empty state.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1378  
300 14 Dtool_62HUzSla 0 4 301 1318 0 14 Dtool_62HUzSla 268 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_all_specified
//       Access: Published
//  Description: sets all the specified bits.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1378  
301 14 Dtool_62HUrBZu 0 6 302 1324 0 14 Dtool_62HUrBZu 405 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::subsumes
//       Access: Public
//  Description: Returns true if this set of properties makes
//               strictly greater or equal demands of the framebuffer
//               than the other set of framebuffer properties.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1379  5 other 1 1379  
302 14 Dtool_62HUHaxr 0 4 303 1318 0 14 Dtool_62HUHaxr 381 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::add_properties
//       Access: Published
//  Description: Sets any properties that are explicitly specified in
//               other on this object.  Leaves other properties
//               unchanged.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1378  5 other 1 1379  
303 14 Dtool_62HUCzSe 0 4 304 1318 0 14 Dtool_62HUCzSe 263 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::output
//       Access: Published
//  Description: Generates a string representation.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1379  3 out 1 1336  
304 14 Dtool_62HUs3_4 0 4 305 1318 0 14 Dtool_62HUs3_4 398 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::set_one_bit_per_channel
//       Access: Published
//  Description: If any of the depth, color, alpha, accum, or
//               stencil properties is set to more than one,
//               then they are reduced to one.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1378  
305 14 Dtool_62HUx4ZJ 0 6 306 1324 0 14 Dtool_62HUx4ZJ 231 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_stereo
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
306 14 Dtool_62HUWlX5 0 6 307 1324 0 14 Dtool_62HUWlX5 240 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_single_buffered
//       Access: Published
//  Description:
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
307 14 Dtool_62HUJ6K8 0 6 308 1317 0 14 Dtool_62HUJ6K8 1390 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_quality
//       Access: Published
//  Description: Assumes that these properties are a description of
//               a window.
//
//               Measures how well this window satisfies a specified
//               set of requirements.  A higher quality number means
//               that more requirements were satisfied.  A quality of
//               zero means that the window is unsuitable.
//
//               The routine deducts a lot if the window fails to
//               provide a requested feature.  It deducts less
//               if the window provides a feature, but at a degraded
//               level of functionality (ie, the user asks for rgba8,
//               color, but the window only provides rgba4).  The
//               routine also deducts a small amount for unnecessary
//               features.  For example, if the window has an
//               accumulation buffer when one is not requested will
//               reduce quality slightly.  Maximum quality is obtained
//               when the window exactly matches the request.
//
//               If you want to know whether the window satisfies
//               all of the requirements, use the "subsumes" function.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1379  4 reqs 1 1379  
308 14 Dtool_62HU5Lag 0 6 309 1324 0 14 Dtool_62HU5Lag 324 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_any_specified
//       Access: Published
//  Description: Returns true if any properties have been specified,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
309 14 Dtool_62HUByA7 0 6 310 1324 0 14 Dtool_62HUByA7 444 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::is_basic
//       Access: Published
//  Description: Returns true if the properties are extremely basic.
//               The following count as basic: rgb or rgba, depth.
//               If anything else is specified, the properties are
//               non-basic.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
310 14 Dtool_62HUTi5r 0 6 311 1317 0 14 Dtool_62HUTi5r 324 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_aux_mask
//       Access: Published
//  Description: Converts the aux bitplanes of the
//               framebuffer into a RenderBuffer::Type.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
311 14 Dtool_62HUFEQC 0 6 312 1317 0 14 Dtool_62HUFEQC 329 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::get_buffer_mask
//       Access: Private
//  Description: Converts the non-aux bitplanes of the
//               framebuffer into a RenderBuffer::Type.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1379  
312 14 Dtool_62HUbcBa 0 6 313 1324 0 14 Dtool_62HUbcBa 426 ////////////////////////////////////////////////////////////////////
//     Function: FrameBufferProperties::verify_hardware_software
//       Access: Public
//  Description: Validates that the properties represent the desired
//               kind of renderer (hardware or software).  If not,
//               prints out an error message and returns false.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1379  5 props 1 1379  8 renderer 1 1321  
313 14 Dtool_62HUwJOi 0 7 315 1383 960 14 Dtool_62HUwJOi 738 // Filename: graphicsThreadingModel.I
// Created by:  drose (27Jan03)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Copy Constructor
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 1 4 copy 1 1381  
314 14 Dtool_62HUtG_c 0 7 315 1383 960 14 Dtool_62HUtG_c 1800 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Constructor
//       Access: Published
//  Description: The threading model accepts a string representing the
//               names of the two threads that will process cull and
//               draw for the given window, separated by a slash.  The
//               names are completely arbitrary and are used only to
//               differentiate threads.  The two names may be the
//               same, meaning the same thread, or each may be the
//               empty string, which represents the previous thread.
//
//               Thus, for example, "cull/draw" indicates that the
//               window will be culled in a thread called "cull", and
//               drawn in a separate thread called "draw".
//               "draw/draw" or simply "draw" indicates the window
//               will be culled and drawn in the same thread, "draw".
//               On the other hand, "/draw" indicates the thread will
//               be culled in the main, or app thread, and drawn in a
//               separate thread named "draw".  The empty string, ""
//               or "/", indicates the thread will be culled and drawn
//               in the main thread; that is to say, a single-process
//               model.
//
//               Finally, if the threading model begins with a "-"
//               character, then cull and draw are run simultaneously,
//               in the same thread, with no binning or state sorting.
//               It simplifies the cull process but it forces the
//               scene to render in scene graph order; state sorting
//               and alpha sorting is lost.
//////////////////////////////////////////////////////////////////// 1 5 model 1 1321  
315 14 Dtool_62HUPBJ_ 0 7 315 1383 960 14 Dtool_62HUPBJ_ 1800 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Constructor
//       Access: Published
//  Description: The threading model accepts a string representing the
//               names of the two threads that will process cull and
//               draw for the given window, separated by a slash.  The
//               names are completely arbitrary and are used only to
//               differentiate threads.  The two names may be the
//               same, meaning the same thread, or each may be the
//               empty string, which represents the previous thread.
//
//               Thus, for example, "cull/draw" indicates that the
//               window will be culled in a thread called "cull", and
//               drawn in a separate thread called "draw".
//               "draw/draw" or simply "draw" indicates the window
//               will be culled and drawn in the same thread, "draw".
//               On the other hand, "/draw" indicates the thread will
//               be culled in the main, or app thread, and drawn in a
//               separate thread named "draw".  The empty string, ""
//               or "/", indicates the thread will be culled and drawn
//               in the main thread; that is to say, a single-process
//               model.
//
//               Finally, if the threading model begins with a "-"
//               character, then cull and draw are run simultaneously,
//               in the same thread, with no binning or state sorting.
//               It simplifies the cull process but it forces the
//               scene to render in scene graph order; state sorting
//               and alpha sorting is lost.
//////////////////////////////////////////////////////////////////// 0 
316 14 Dtool_62HUGZxc 0 6 316 1383 0 14 Dtool_62HUGZxc 248 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::Copy Assignment Operator
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1383  4 copy 1 1381  
317 14 Dtool_62HU7c0w 0 6 317 1321 0 14 Dtool_62HU7c0w 326 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_model
//       Access: Published
//  Description: Returns the string that describes the threading
//               model.  See the constructor.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
318 14 Dtool_62HU8GWk 0 6 318 1321 0 14 Dtool_62HU8GWk 324 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_name
//       Access: Published
//  Description: Returns the name of the thread that will handle
//               culling in this model.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
319 14 Dtool_62HUHjIx 0 4 319 1318 0 14 Dtool_62HUHjIx 481 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_cull_name
//       Access: Published
//  Description: Changes the name of the thread that will handle
//               culling in this model.  This won't change any windows
//               that were already created with this model; this only
//               has an effect on newly-opened windows.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1383  9 cull_name 1 1321  
320 14 Dtool_62HUMOJd 0 6 320 1317 0 14 Dtool_62HUMOJd 454 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_stage
//       Access: Published
//  Description: Returns the pipeline stage from which the cull thread
//               should access data.  This will be 0 if the cull is
//               run in the same thread as app, or 1 if it is its own
//               thread.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
321 14 Dtool_62HUlbag 0 6 321 1321 0 14 Dtool_62HUlbag 392 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_draw_name
//       Access: Published
//  Description: Returns the name of the thread that will handle
//               sending the actual graphics primitives to the
//               graphics API in this model.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
322 14 Dtool_62HUwWNt 0 4 322 1318 0 14 Dtool_62HUwWNt 481 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_draw_name
//       Access: Published
//  Description: Changes the name of the thread that will handle
//               drawing in this model.  This won't change any windows
//               that were already created with this model; this only
//               has an effect on newly-opened windows.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1383  9 cull_name 1 1321  
323 14 Dtool_62HU3ENZ 0 6 323 1317 0 14 Dtool_62HU3ENZ 538 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_draw_stage
//       Access: Published
//  Description: Returns the pipeline stage from which the draw thread
//               should access data.  This will be the same value as
//               get_cull_stage() if cull and draw are run in the same
//               thread, or one more than that value if draw should be
//               in its own thread.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
324 14 Dtool_62HUzVRl 0 6 324 1324 0 14 Dtool_62HUzVRl 396 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::get_cull_sorting
//       Access: Published
//  Description: Returns true if the model involves a separate cull
//               pass, or false if culling happens implicitly, at the
//               same time as draw.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
325 14 Dtool_62HUtSHC 0 4 325 1318 0 14 Dtool_62HUtSHC 521 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::set_cull_sorting
//       Access: Published
//  Description: Changes the flag that indicates whether the threading
//               model involves a separate cull pass.  This won't
//               change any windows that were already created with
//               this model; this only has an effect on newly-opened
//               windows.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1383  12 cull_sorting 1 1324  
326 14 Dtool_62HUysdw 0 6 326 1324 0 14 Dtool_62HUysdw 372 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::is_single_threaded
//       Access: Published
//  Description: Returns true if the threading model is a
//               single-threaded model, or false if it involves
//               threads.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
327 14 Dtool_62HUVNCv 0 6 327 1324 0 14 Dtool_62HUVNCv 377 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::is_default
//       Access: Published
//  Description: Returns true if the threading model is the default,
//               cull-then-draw single-threaded model, or false
//               otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1381  
328 14 Dtool_62HUolSI 0 4 328 1318 0 14 Dtool_62HUolSI 230 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsThreadingModel::output
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1381  3 out 1 1336  
329 14 Dtool_62HUhhed 0 4 338 1318 0 14 Dtool_62HUhhed 857 // Filename: graphicsStateGuardian.I
// Created by:  drose (24Sep99)
// Updated by: fperazzi, PandaSE (29Apr10) (added 
// get_max_2d_texture_array_layers and related)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all
//       Access: Public
//  Description: Releases all prepared objects.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
330 14 Dtool_62HUNhtg 0 6 339 1317 0 14 Dtool_62HUNhtg 319 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_textures
//       Access: Public
//  Description: Frees the resources for all textures associated with
//               this GSG.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
331 14 Dtool_62HUtq2Y 0 6 340 1317 0 14 Dtool_62HUtq2Y 313 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_geoms
//       Access: Public
//  Description: Frees the resources for all geoms associated with
//               this GSG.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
332 14 Dtool_62HUbu1d 0 6 341 1317 0 14 Dtool_62HUbu1d 331 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_vertex_buffers
//       Access: Public
//  Description: Frees the resources for all vertex buffers associated
//               with this GSG.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
333 14 Dtool_62HUvg3_ 0 6 342 1317 0 14 Dtool_62HUvg3_ 329 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::release_all_index_buffers
//       Access: Public
//  Description: Frees the resources for all index buffers associated
//               with this GSG.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
334 14 Dtool_62HU41Tn 0 4 343 1318 0 14 Dtool_62HU41Tn 538 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_active
//       Access: Published
//  Description: Sets the active flag associated with the
//               GraphicsStateGuardian.  If the GraphicsStateGuardian
//               is marked inactive, nothing is rendered.  This is not
//               normally turned off unless there is a problem with
//               the rendering detected at a low level.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  6 active 1 1324  
335 14 Dtool_62HUWMEv 0 6 344 1324 0 14 Dtool_62HUWMEv 315 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_active
//       Access: Published
//  Description: Returns the active flag associated with the
//               GraphicsStateGuardian.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
336 14 Dtool_62HUBs7Q 0 6 345 1324 0 14 Dtool_62HUBs7Q 435 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_valid
//       Access: Published
//  Description: Returns true if the GSG has been correctly
//               initialized within a graphics context, false if there
//               has been some problem or it hasn't been initialized
//               yet.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
337 14 Dtool_62HUqmCi 0 6 346 1324 0 14 Dtool_62HUqmCi 301 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::needs_reset
//       Access: Public
//  Description: Returns true if the gsg is marked as needing a
//               reset.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
338 14 Dtool_62HUTWNA 0 4 347 1318 0 14 Dtool_62HUTWNA 1472 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_incomplete_render
//       Access: Public
//  Description: Sets the incomplete_render flag.  When this is
//               true, the frame will be rendered even if some of the
//               geometry or textures in the scene are not available
//               (e.g. they have been temporarily paged out).  When
//               this is false, the frame will be held up while this
//               data is reloaded.
//
//               Setting this true allows for a smoother frame rate,
//               but occasionally parts of the frame will be invisible
//               or missing (they will generally come in within a
//               second or two).  Setting this false guarantees that
//               every frame will be complete, but may cause more
//               chugs as things are loaded up at runtime.
//
//               You may want to set this false during loading
//               screens, to guarantee that all of your assets are
//               available by the time you take the loading screen
//               down.
//
//               This flag may also be set individually on each
//               DisplayRegion.  It will be considered true for a
//               given DisplayRegion only if it is true on both the
//               GSG and on the DisplayRegion.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  17 incomplete_render 1 1324  
339 14 Dtool_62HUgMzz 0 4 348 1318 0 14 Dtool_62HUgMzz 385 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_loader
//       Access: Public
//  Description: Sets the Loader object that will be used by this GSG
//               to load textures when necessary, if
//               get_incomplete_render() is true.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  6 loader 1 1387  
340 14 Dtool_62HURXHV 0 7 349 1387 0 14 Dtool_62HURXHV 397 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_loader
//       Access: Public, Virtual
//  Description: Returns the Loader object that will be used by this
//               GSG to load textures when necessary, if
//               get_incomplete_render() is true.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
341 14 Dtool_62HUXe8K 0 7 350 1313 0 14 Dtool_62HUXe8K 304 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_pipe
//       Access: Published
//  Description: Returns the graphics pipe on which this GSG was
//               created.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
342 14 Dtool_62HUG5DS 0 7 351 1389 0 14 Dtool_62HUG5DS 463 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_engine
//       Access: Published
//  Description: Returns the graphics engine that created this GSG.
//               Since there is normally only one GraphicsEngine
//               object in an application, this is usually the same as
//               the global GraphicsEngine.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
343 14 Dtool_62HUax_q 0 6 352 1381 0 14 Dtool_62HUax_q 320 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_threading_model
//       Access: Published
//  Description: Returns the threading model that was used to create
//               this GSG.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
344 14 Dtool_62HU6HMQ 0 6 353 1324 0 14 Dtool_62HU6HMQ 373 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::is_hardware
//       Access: Published
//  Description: Returns true if this GSG appears to be
//               hardware-accelerated, or false if it is known to be
//               software only.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
345 14 Dtool_62HUuf8m 0 6 354 1317 0 14 Dtool_62HUuf8m 859 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_texture_stages
//       Access: Published
//  Description: Returns the maximum number of simultaneous textures
//               that may be applied to geometry with multitexturing,
//               as supported by this particular GSG.  If you exceed
//               this number, the lowest-priority texture stages will
//               not be applied.  Use TextureStage::set_priority() to
//               adjust the relative importance of the different
//               texture stages.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
346 14 Dtool_62HUN0H1 0 6 355 1317 0 14 Dtool_62HUN0H1 654 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_3d_texture_dimension
//       Access: Published
//  Description: Returns the largest possible texture size in any one
//               dimension for a 3-d texture, or -1 if there is no
//               particular limit.  Returns 0 if 3-d textures are not
//               supported.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
347 14 Dtool_62HUn6r1 0 6 356 1317 0 14 Dtool_62HUn6r1 621 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_2d_texture_array_layers
//       Access: Published
//  Description: Returns the largest possible number of pages, or -1 
//               if there is no particular limit. Returns 0 if 2-d
//               texture arrays not supported.
//               
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
348 14 Dtool_62HUCoqA 0 6 357 1317 0 14 Dtool_62HUCoqA 662 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_cube_map_dimension
//       Access: Published
//  Description: Returns the largest possible texture size in any one
//               dimension for a cube map texture, or -1 if there is
//               no particular limit.  Returns 0 if cube map textures
//               are not supported.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
349 14 Dtool_62HU4MTA 0 6 358 1324 0 14 Dtool_62HU4MTA 595 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_combine
//       Access: Published
//  Description: Returns true if this particular GSG can use the
//               TextureStage::M_combine mode, which includes all of
//               the texture blend modes specified by
//               set_combine_rgb() and/or set_combine_alpha().  If
//               this is false, you must limit yourself to using the
//               simpler blend modes.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
350 14 Dtool_62HU8l6n 0 6 359 1324 0 14 Dtool_62HU8l6n 475 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_saved_result
//       Access: Published
//  Description: Returns true if this GSG can use the
//               TextureStage::CS_last_saved_result source, which
//               allows you to save the result of a TextureStage and
//               re-use it for multiple inputs.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
351 14 Dtool_62HUtTve 0 6 360 1324 0 14 Dtool_62HUtTve 375 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_texture_dot3
//       Access: Published
//  Description: Returns true if this GSG can use the
//               TextureStage::CM_dot3_rgb or CM_dot3_rgba combine
//               modes.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
352 14 Dtool_62HU363k 0 6 361 1324 0 14 Dtool_62HU363k 325 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_3d_texture
//       Access: Published
//  Description: Returns true if this GSG can render 3-d (volumetric)
//               textures.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
353 14 Dtool_62HUXLw6 0 6 362 1324 0 14 Dtool_62HUXLw6 324 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_2d_texture_array
//       Access: Published
//  Description: Returns true if this GSG can render 2-d textures
//               array.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
354 14 Dtool_62HULBxF 0 6 363 1324 0 14 Dtool_62HULBxF 298 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_cube_map
//       Access: Published
//  Description: Returns true if this GSG can render cube map textures.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
355 14 Dtool_62HUb7rC 0 6 364 1324 0 14 Dtool_62HUb7rC 333 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_tex_non_pow2
//       Access: Published
//  Description: Returns true if this GSG can handle non power of two
//               sized textures.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
356 14 Dtool_62HUmk5Z 0 6 365 1324 0 14 Dtool_62HUmk5Z 423 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_compressed_texture
//       Access: Published
//  Description: Returns true if this GSG can compress textures as it
//               loads them into texture memory, and/or accept
//               pre-compressed textures for storing.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
357 14 Dtool_62HU1JaQ 0 6 366 1317 0 14 Dtool_62HU1JaQ 579 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_lights
//       Access: Published
//  Description: Returns the maximum number of simultaneous lights
//               that may be rendered on geometry, or -1 if there is
//               no particular limit.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
358 14 Dtool_62HUj53l 0 6 367 1317 0 14 Dtool_62HUj53l 588 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_clip_planes
//       Access: Published
//  Description: Returns the maximum number of simultaneous clip planes
//               that may be applied to geometry, or -1 if there is
//               no particular limit.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
359 14 Dtool_62HUWirW 0 6 368 1317 0 14 Dtool_62HUWirW 818 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_vertex_transforms
//       Access: Published
//  Description: Returns the maximum number of transform matrices that
//               may be simultaneously used to transform any one
//               vertex by the graphics hardware.  If this number is
//               0, then the hardware (or the graphics backend)
//               doesn't support soft-skinned vertices (in which case
//               Panda will animate the vertices in software).
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
360 14 Dtool_62HUykA4 0 6 369 1317 0 14 Dtool_62HUykA4 811 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_vertex_transform_indices
//       Access: Published
//  Description: Returns the maximum number of transforms there may be
//               in a single TransformTable for this graphics
//               hardware.  If this number is 0 (but
//               get_max_transforms() is nonzero), then the graphics
//               hardware (or API) doesn't support indexed transforms,
//               but can support direct transform references.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
361 14 Dtool_62HU4Ta6 0 6 370 1324 0 14 Dtool_62HU4Ta6 976 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_copy_texture_inverted
//       Access: Published
//  Description: Returns true if this particular GSG has the property
//               that any framebuffer-to-texture copy results in a
//               texture that is upside-down and backwards from
//               Panda's usual convention; that is, it copies into a
//               texture from the bottom up instead of from the top
//               down.
//
//               If this is true, then on offscreen GraphicsBuffer
//               created for the purposes of rendering into a texture
//               should be created with the invert flag set true, to
//               compensate.  Panda will do this automatically if you
//               create an offscreen buffer using
//               GraphicsOutput::make_texture_buffer().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
362 14 Dtool_62HU9xp9 0 6 371 1324 0 14 Dtool_62HU9xp9 555 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_generate_mipmap
//       Access: Published
//  Description: Returns true if this particular GSG can generate
//               mipmaps for a texture automatically, or if they must
//               be generated in software.  If this is true, then
//               mipmaps can safely be enabled for rendered textures
//               (e.g. using the MultitexReducer).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
363 14 Dtool_62HUWzUj 0 6 372 1324 0 14 Dtool_62HUWzUj 543 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_depth_texture
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               textures whose format is F_depth_stencil.  This
//               returns true if the GSG supports GL_DEPTH_COMPONENT
//               textures, which are considered a limited but still
//               valid case of F_depth_stencil.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
364 14 Dtool_62HUV1XG 0 6 373 1324 0 14 Dtool_62HUV1XG 475 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_depth_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               textures whose format is F_depth_stencil.  This
//               only returns true if the GSG supports the full
//               packed depth-stencil functionality.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
365 14 Dtool_62HU9nGe 0 6 374 1324 0 14 Dtool_62HU9nGe 334 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_basic_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               arbfp1+arbvp1 or above.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
366 14 Dtool_62HUqAkH 0 6 375 1324 0 14 Dtool_62HUqAkH 331 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_geometry_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               geometry shaders.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
367 14 Dtool_62HU6Uqz 0 6 376 1324 0 14 Dtool_62HU6Uqz 338 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_tessellation_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               tesselation shaders.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
368 14 Dtool_62HUF4Om 0 6 377 1324 0 14 Dtool_62HUF4Om 329 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_compute_shaders
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               compute shaders.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
369 14 Dtool_62HUAtne 0 6 378 1324 0 14 Dtool_62HUAtne 315 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_glsl
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               GLSL shaders.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
370 14 Dtool_62HU3MNr 0 6 379 1324 0 14 Dtool_62HU3MNr 328 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               stencil buffers at all.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
371 14 Dtool_62HUPsvb 0 6 380 1324 0 14 Dtool_62HUPsvb 426 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_two_sided_stencil
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               two sided stencil: different stencil settings for the
//               front and back side of the same polygon.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
372 14 Dtool_62HUhwaW 0 6 381 1324 0 14 Dtool_62HUhwaW 494 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_geometry_instancing
//       Access: Published
//  Description: Returns true if this particular GSG supports
//               hardware geometry instancing: the ability to render
//               multiple copies of a model. In OpenGL, this is
//               done using the EXT_draw_instanced extension.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
373 14 Dtool_62HUJVkQ 0 6 382 1317 0 14 Dtool_62HUJVkQ 855 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_max_color_targets
//       Access: Published
//  Description: Returns the maximum number of simultaneous color
//               textures that may be attached for render-to-texture,
//               as supported by this particular GSG.  If you exceed
//               this number, the lowest-priority render targets will
//               not be applied.  Use RenderTarget::set_priority() to
//               adjust the relative importance of the different
//               render targets.
//
//               The value returned may not be meaningful until after
//               the graphics context has been fully created (e.g. the
//               window has been opened).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
374 14 Dtool_62HUj2nm 0 6 383 1317 0 14 Dtool_62HUj2nm 364 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_maximum_simultaneous_render_targets
//       Access: Published
//  Description: Deprecated.  Use get_max_color_targets() instead,
//               which returns the exact same value.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
375 14 Dtool_62HUH2E7 0 6 384 1317 0 14 Dtool_62HUH2E7 262 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_shader_model
//       Access: Published
//  Description: Returns the ShaderModel
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
376 14 Dtool_62HUF_yT 0 4 385 1318 0 14 Dtool_62HUF_yT 403 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_shader_model
//       Access: Published
//  Description: Sets the ShaderModel.  This will override the auto-
//               detected shader model during GSG reset.  Useful for
//               testing lower-end shaders.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  12 shader_model 1 1317  
377 14 Dtool_62HUHqBZ 0 6 386 1324 0 14 Dtool_62HUHqBZ 350 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_supports_cg_profile
//       Access: Published, Virtual
//  Description: Returns true if this particular GSG supports the 
//               specified Cg Shader Profile.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1385  4 name 1 1321  
378 14 Dtool_62HU11LA 0 6 387 1324 0 14 Dtool_62HU11LA 499 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_color_scale_via_lighting
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) set color and/or color
//               scale using materials and/or ambient lights, or
//               false if we need to actually munge the color.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
379 14 Dtool_62HUjrll 0 6 388 1324 0 14 Dtool_62HUjrll 478 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_via_texture
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) an alpha scale via an
//               additional Texture layer, or false if we need to
//               actually munge the alpha.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
380 14 Dtool_62HUmzXP 0 6 388 1324 0 14 Dtool_62HUmzXP 636 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_via_texture
//       Access: Published
//  Description: This variant of get_alpha_scale_via_texture() answers
//               the question of whether the GSG can implement an
//               alpha scale via an additional Texture layer,
//               considering the current TextureAttrib that will be in
//               effect.  This considers whether there is at least one
//               additional texture slot available on the GSG.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1385  10 tex_attrib 1 1390  
381 14 Dtool_62HU9h3s 0 6 389 1324 0 14 Dtool_62HU9h3s 483 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_runtime_color_scale
//       Access: Published
//  Description: Returns true if this particular GSG can implement (or
//               would prefer to implement) set color and/or color
//               scale directly, without requiring any munging of
//               vertices or tricks with lighting.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
382 14 Dtool_62HUfwIg 0 7 390 1394 0 14 Dtool_62HUfwIg 408 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_alpha_scale_texture_stage
//       Access: Published, Static
//  Description: Returns the TextureStage that will be used to apply
//               an alpha scale, if get_alpha_scale_via_texture()
//               returns true.
//////////////////////////////////////////////////////////////////// 0 
383 14 Dtool_62HUnlK4 0 4 391 1318 0 14 Dtool_62HUnlK4 771 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_coordinate_system
//       Access: Published
//  Description: Changes the coordinate system in effect on this
//               particular gsg.  This is also called the "external"
//               coordinate system, since it is the coordinate system
//               used by the scene graph, external to to GSG.
//
//               Normally, this will be the default coordinate system,
//               but it might be set differently at runtime.  It will
//               automatically be copied from the current lens's
//               coordinate system as each DisplayRegion is rendered.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  2 cs 1 1395  
384 14 Dtool_62HUU3J8 0 6 392 1395 0 14 Dtool_62HUU3J8 457 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_coordinate_system
//       Access: Published
//  Description: Returns the coordinate system in effect on this
//               particular gsg.  Normally, this will be the default
//               coordinate system, but it might be set differently at
//               runtime.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
385 14 Dtool_62HUg4rL 0 6 393 1395 0 14 Dtool_62HUg4rL 756 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_internal_coordinate_system
//       Access: Published, Virtual
//  Description: Returns the coordinate system used internally by the
//               GSG.  This may be the same as the external coordinate
//               system reported by get_coordinate_system(), or it may
//               be something different.
//
//               In any case, vertices that have been transformed
//               before being handed to the GSG (that is, vertices
//               with a contents value of C_clip_point) will be
//               expected to be in this coordinate system.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
386 14 Dtool_62HUSVj3 0 7 394 1397 0 14 Dtool_62HUSVj3 411 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_prepared_objects
//       Access: Public, Virtual
//  Description: Returns the set of texture and geom objects that have
//               been prepared with this GSG (and possibly other GSG's
//               that share objects).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
387 14 Dtool_62HUkkpB 0 6 395 1324 0 14 Dtool_62HUkkpB 277 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_gamma
//       Access: Published, Virtual
//  Description: Set gamma.  Returns true on success.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  5 gamma 1 1331  
388 14 Dtool_62HU3ZpZ 0 6 396 1331 0 14 Dtool_62HU3ZpZ 262 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_gamma
//       Access: Published
//  Description: Get the current gamma setting.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  5 gamma 1 1331  
389 14 Dtool_62HUm_yX 0 4 397 1318 0 14 Dtool_62HUm_yX 276 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::restore_gamma
//       Access: Published, Virtual
//  Description: Restore original gamma setting.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
390 14 Dtool_62HUucW_ 0 4 398 1318 0 14 Dtool_62HUucW_ 749 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_texture_quality_override
//       Access: Published
//  Description: Specifies the global quality_level to be imposed for
//               all Textures rendered by this GSG.  This overrides
//               the value set on individual textures via
//               Texture::set_quality_level().  Set this to
//               Texture::QL_default in order to allow the individual
//               texture quality levels to be respected.
//
//               This is mainly useful for the tinydisplay software
//               renderer.  See Texture::set_quality_level().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  13 quality_level 1 1398  
391 14 Dtool_62HUtIcw 0 6 399 1398 0 14 Dtool_62HUtIcw 485 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_texture_quality_override
//       Access: Published
//  Description: Returns the global quality_level override specified
//               by set_texture_quality_override.
//
//               This is mainly useful for the tinydisplay software
//               renderer.  See Texture::set_quality_level().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
392 14 Dtool_62HUoQjB 0 6 400 1399 0 14 Dtool_62HUoQjB 0 1 4 this 3 1385  
393 14 Dtool_62HUfJaY 0 4 402 1318 0 14 Dtool_62HUfJaY 1337 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_flash_texture
//       Access: Published
//  Description: Sets the "flash texture".  This is a debug feature;
//               when enabled, the specified texture will begin
//               flashing in the scene, helping you to find it
//               visually.
//
//               The texture also flashes with a color code: blue for
//               mipmap level 0, yellow for mipmap level 1, and red
//               for mipmap level 2 or higher (even for textures that
//               don't have mipmaps).  This gives you an idea of the
//               choice of the texture size.  If it is blue, the
//               texture is being drawn the proper size or magnified;
//               if it is yellow, it is being minified a little bit;
//               and if it red, it is being minified considerably.  If
//               you see a red texture when you are right in front of
//               it, you should consider reducing the size of the
//               texture to avoid wasting texture memory.
//
//               Not all rendering backends support the flash_texture
//               feature.  Presently, it is only supported by OpenGL.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  3 tex 1 1371  
394 14 Dtool_62HUHN7t 0 4 403 1318 0 14 Dtool_62HUHN7t 344 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::clear_flash_texture
//       Access: Published
//  Description: Resets the "flash texture", so that no textures will
//               flash.  See set_flash_texture().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
395 14 Dtool_62HUUOe5 0 7 404 1371 0 14 Dtool_62HUUOe5 344 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_flash_texture
//       Access: Published
//  Description: Returns the current "flash texture", if any, or NULL
//               if none.  See set_flash_texture().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
396 14 Dtool_62HUASTl 0 6 405 1321 0 14 Dtool_62HUASTl 290 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_vendor
//       Access: Public, Virtual
//  Description: Returns the vendor of the video card driver 
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
397 14 Dtool_62HUtlGz 0 6 406 1321 0 14 Dtool_62HUtlGz 265 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_vendor
//       Access: Public, Virtual
//  Description: Returns GL_Renderer
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
398 14 Dtool_62HUABRK 0 6 407 1321 0 14 Dtool_62HUABRK 471 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version
//       Access: Public, Virtual
//  Description: Returns driver version
//               This has an implementation-defined meaning, and may
//               be "0" if the particular graphics implementation
//               does not provide a way to query this information.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
399 14 Dtool_62HUO6BG 0 6 408 1317 0 14 Dtool_62HUO6BG 496 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version_major
//       Access: Public, Virtual
//  Description: Returns major version of the video driver.
//               This has an implementation-defined meaning, and may
//               be -1 if the particular graphics implementation
//               does not provide a way to query this information.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
400 14 Dtool_62HUi6UH 0 6 409 1317 0 14 Dtool_62HUi6UH 500 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_version_minor
//       Access: Public, Virtual
//  Description: Returns the minor version of the video driver.
//               This has an implementation-defined meaning, and may
//               be -1 if the particular graphics implementation
//               does not provide a way to query this information.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
401 14 Dtool_62HUEEDF 0 6 410 1317 0 14 Dtool_62HUEEDF 306 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_shader_version_major
//       Access: Public, Virtual
//  Description: Returns the major version of the shader model.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
402 14 Dtool_62HUtLxk 0 6 411 1317 0 14 Dtool_62HUtLxk 306 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_driver_shader_version_minor
//       Access: Public, Virtual
//  Description: Returns the minor version of the shader model.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
403 14 Dtool_62HUvuAc 0 6 412 1324 0 14 Dtool_62HUvuAc 549 // NDEBUG
////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::set_scene
//       Access: Published
//  Description: Sets the SceneSetup object that indicates the initial
//               camera position, etc.  This must be called before
//               traversal begins.  Returns true if the scene is
//               acceptable, false if something's wrong.  This should
//               be called in the draw thread only.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1384  11 scene_setup 1 1401  
404 14 Dtool_62HUCYog 0 7 413 1401 0 14 Dtool_62HUCYog 279 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::get_scene
//       Access: Published, Virtual
//  Description: Returns the current SceneSetup object.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1385  
405 14 Dtool_62HUc8_w 0 6 414 1324 0 14 Dtool_62HUc8_w 933 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::begin_scene
//       Access: Published, Virtual
//  Description: Called between begin_frame() and end_frame() to mark
//               the beginning of drawing commands for a "scene"
//               (usually a particular DisplayRegion) within a frame.
//               All 3-D drawing commands, except the clear operation,
//               must be enclosed within begin_scene() .. end_scene().
//               This must be called in the draw thread.
//
//               The return value is true if successful (in which case
//               the scene will be drawn and end_scene() will be
//               called later), or false if unsuccessful (in which
//               case nothing will be drawn and end_scene() will not
//               be called).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
406 14 Dtool_62HUEBkF 0 4 415 1318 0 14 Dtool_62HUEBkF 565 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsStateGuardian::end_scene
//       Access: Published, Virtual
//  Description: Called between begin_frame() and end_frame() to mark
//               the end of drawing commands for a "scene" (usually a
//               particular DisplayRegion) within a frame.  All 3-D
//               drawing commands, except the clear operation, must be
//               enclosed within begin_scene() .. end_scene().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1384  
407 14 Dtool_62HUX9JS 0 7 416 1315 0 14 Dtool_62HUX9JS 0 0 
408 14 Dtool_62HU6R3_ 0 7 426 1384 0 14 Dtool_62HU6R3_ 1096 // Filename: graphicsOutput.I
// Created by:  drose (06Feb04)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_gsg
//       Access: Published
//  Description: Returns the GSG that is associated with this window.
//               There is a one-to-one association between windows and
//               GSG's.
//
//               This may return NULL if the graphics context has not
//               yet been created for the window, e.g. before the
//               first frame has rendered; or after the window has
//               been closed.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
409 14 Dtool_62HURmhe 0 7 427 1313 0 14 Dtool_62HURmhe 586 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_pipe
//       Access: Published
//  Description: Returns the GraphicsPipe that this window is
//               associated with.  It is possible that the
//               GraphicsPipe might have been deleted while an
//               outstanding PT(GraphicsOutput) prevented all of its
//               children windows from also being deleted; in this
//               unlikely case, get_pipe() may return NULL.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
410 14 Dtool_62HUs2Rt 0 7 428 1389 0 14 Dtool_62HUs2Rt 459 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_engine
//       Access: Published
//  Description: Returns the graphics engine that created this output.
//               Since there is normally only one GraphicsEngine
//               object in an application, this is usually the same as
//               the global GraphicsEngine.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
411 14 Dtool_62HUhafm 0 6 429 1321 0 14 Dtool_62HUhafm 308 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_name
//       Access: Published
//  Description: Returns the name that was passed to the
//               GraphicsOutput constructor.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
412 14 Dtool_62HUZzOT 0 6 430 1317 0 14 Dtool_62HUZzOT 539 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::count_textures
//       Access: Published
//  Description: If the GraphicsOutput is set to render into a
//               texture, returns the number of textures that are
//               being rendered into.  Normally, the textures would
//               be associated with different buffers - a color
//               texture, a depth texture, and a stencil texture.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
413 14 Dtool_62HUL5u4 0 6 431 1324 0 14 Dtool_62HUL5u4 318 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::has_texture
//       Access: Published
//  Description: Returns true if the GraphicsOutput is rendering 
//               into any textures at all.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
414 14 Dtool_62HUOT2F 0 7 432 1371 0 14 Dtool_62HUOT2F 725 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture
//       Access: Published
//  Description: Returns the nth texture into which the GraphicsOutput
//               renders.  Returns NULL if there is no such texture.
//
//               If the texture is non-NULL, it may be applied to
//               geometry to be rendered for any other windows or
//               outputs that share the same GSG as this
//               GraphicsOutput.  The effect is undefined for windows
//               that share a different GSG; usually in these cases
//               the texture will be invalid.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1403  1 i 1 1317  
415 14 Dtool_62HUjbtr 0 7 432 1371 0 14 Dtool_62HUjbtr 725 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture
//       Access: Published
//  Description: Returns the nth texture into which the GraphicsOutput
//               renders.  Returns NULL if there is no such texture.
//
//               If the texture is non-NULL, it may be applied to
//               geometry to be rendered for any other windows or
//               outputs that share the same GSG as this
//               GraphicsOutput.  The effect is undefined for windows
//               that share a different GSG; usually in these cases
//               the texture will be invalid.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
416 14 Dtool_62HUr9lk 0 6 433 1268 0 14 Dtool_62HUr9lk 377 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture_plane
//       Access: Published
//  Description: Returns the RenderTexturePlane associated with the
//               nth render-texture.  Returns 0 if there is no such
//               texture.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1403  1 i 1 1317  
417 14 Dtool_62HUtRfb 0 6 433 1268 0 14 Dtool_62HUtRfb 377 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture_plane
//       Access: Published
//  Description: Returns the RenderTexturePlane associated with the
//               nth render-texture.  Returns 0 if there is no such
//               texture.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
418 14 Dtool_62HUtK3h 0 6 434 1288 0 14 Dtool_62HUtK3h 378 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_rtm_mode
//       Access: Published
//  Description: Returns the RenderTextureMode associated with the
//               nth render-texture.  Returns RTM_none if there is
//               no such texture.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1403  1 i 1 1317  
419 14 Dtool_62HUeXTd 0 6 434 1288 0 14 Dtool_62HUeXTd 378 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_rtm_mode
//       Access: Published
//  Description: Returns the RenderTextureMode associated with the
//               nth render-texture.  Returns RTM_none if there is
//               no such texture.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
420 14 Dtool_62HUy_19 0 4 435 1318 0 14 Dtool_62HUy_19 387 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_render_textures
//       Access: Published
//  Description: If the GraphicsOutput is currently rendering to
//               a texture, then all textures are dissociated from
//               the GraphicsOuput.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
421 14 Dtool_62HUEdHR 0 4 436 1318 0 14 Dtool_62HUEdHR 1875 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::add_render_texture
//       Access: Published
//  Description: Creates a new Texture object, suitable for rendering
//               the contents of this buffer into, and appends it to
//               the list of render textures.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created, in which case you may call
//               get_texture() to retrieve the new texture pointer.
//
//               You can specify a bitplane to attach the texture to.
//               the legal choices are:
//
//               * RTP_depth
//               * RTP_depth_stencil
//               * RTP_color
//               * RTP_aux_rgba_0
//               * RTP_aux_rgba_1
//               * RTP_aux_rgba_2
//               * RTP_aux_rgba_3
//
//               If you do not specify a bitplane to attach the
//               texture to, this routine will use a default based
//               on the texture's format:
//
//               * F_depth_component attaches to RTP_depth
//               * F_depth_stencil attaches to RTP_depth_stencil
//               * all other formats attach to RTP_color.
//
//               The texture's format will be changed to match
//               the format of the bitplane to which it is attached.
//               For example, if you pass in an F_rgba texture and
//               order that it be attached to RTP_depth_stencil, it will turn
//               into an F_depth_stencil texture.
//
//               Also see make_texture_buffer(), which is a
//               higher-level interface for preparing
//               render-to-a-texture mode.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  3 tex 1 1371  4 mode 1 1288  8 bitplane 1 1268  
422 14 Dtool_62HUyxSR 0 4 436 1318 0 14 Dtool_62HUyxSR 1875 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::add_render_texture
//       Access: Published
//  Description: Creates a new Texture object, suitable for rendering
//               the contents of this buffer into, and appends it to
//               the list of render textures.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created, in which case you may call
//               get_texture() to retrieve the new texture pointer.
//
//               You can specify a bitplane to attach the texture to.
//               the legal choices are:
//
//               * RTP_depth
//               * RTP_depth_stencil
//               * RTP_color
//               * RTP_aux_rgba_0
//               * RTP_aux_rgba_1
//               * RTP_aux_rgba_2
//               * RTP_aux_rgba_3
//
//               If you do not specify a bitplane to attach the
//               texture to, this routine will use a default based
//               on the texture's format:
//
//               * F_depth_component attaches to RTP_depth
//               * F_depth_stencil attaches to RTP_depth_stencil
//               * all other formats attach to RTP_color.
//
//               The texture's format will be changed to match
//               the format of the bitplane to which it is attached.
//               For example, if you pass in an F_rgba texture and
//               order that it be attached to RTP_depth_stencil, it will turn
//               into an F_depth_stencil texture.
//
//               Also see make_texture_buffer(), which is a
//               higher-level interface for preparing
//               render-to-a-texture mode.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1356  3 tex 1 1371  4 mode 1 1288  
423 14 Dtool_62HUcdjE 0 4 437 1318 0 14 Dtool_62HUcdjE 494 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::setup_render_texture
//       Access: Published
//  Description: This is a deprecated interface that made sense back
//               when GraphicsOutputs could only render into one
//               texture at a time.  From now on, use
//               clear_render_textures and add_render_texture
//               instead.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  3 tex 1 1371  10 allow_bind 1 1324  6 to_ram 1 1324  
424 14 Dtool_62HUpVEG 0 6 438 1317 0 14 Dtool_62HUpVEG 746 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_x_size
//       Access: Published
//  Description: Returns the visible width of the window or buffer, if
//               it is known.  In certain cases (e.g. fullscreen
//               windows), the size may not be known until after the
//               object has been fully created.  Check has_size()
//               first.
//
//               Certain objects (like windows) may change size
//               spontaneously; this method is not thread-safe.  To
//               get the size of a window in a thread-safe manner,
//               query get_properties().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
425 14 Dtool_62HU5zZG 0 6 439 1317 0 14 Dtool_62HU5zZG 747 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_y_size
//       Access: Published
//  Description: Returns the visible height of the window or buffer,
//               if it is known.  In certain cases (e.g. fullscreen
//               windows), the size may not be known until after the
//               object has been fully created.  Check has_size()
//               first.
//
//               Certain objects (like windows) may change size
//               spontaneously; this method is not thread-safe.  To
//               get the size of a window in a thread-safe manner,
//               query get_properties().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
426 14 Dtool_62HUrFNb 0 6 440 1317 0 14 Dtool_62HUrFNb 440 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_x_size
//       Access: Published
//  Description: Returns the internal width of the window or buffer.
//               This is almost always the same as get_x_size(),
//               except when a pixel_zoom is in effect--see
//               set_pixel_zoom().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
427 14 Dtool_62HUXHNp 0 6 441 1317 0 14 Dtool_62HUXHNp 441 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_y_size
//       Access: Published
//  Description: Returns the internal height of the window or buffer.
//               This is almost always the same as get_y_size(),
//               except when a pixel_zoom is in effect--see
//               set_pixel_zoom().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
428 14 Dtool_62HUfzZk 0 6 442 1317 0 14 Dtool_62HUfzZk 522 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_x_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel width of the left eye, based on scaling
//               get_x_size() by get_sbs_left_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_x_size().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
429 14 Dtool_62HUtXck 0 6 443 1317 0 14 Dtool_62HUtXck 523 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_y_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel height of the left eye, based on scaling
//               get_y_size() by get_sbs_left_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_y_size().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
430 14 Dtool_62HUpDlt 0 6 444 1317 0 14 Dtool_62HUpDlt 525 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_x_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel width of the right eye, based on scaling
//               get_x_size() by get_sbs_right_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_x_size().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
431 14 Dtool_62HUp40u 0 6 445 1317 0 14 Dtool_62HUp40u 526 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_y_size
//       Access: Published
//  Description: If side-by-side stereo is enabled, this returns the
//               pixel height of the right eye, based on scaling
//               get_y_size() by get_sbs_right_dimensions().  If
//               side-by-side stereo is not enabled, this returns the
//               same as get_y_size().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
432 14 Dtool_62HUqgyg 0 6 446 1324 0 14 Dtool_62HUqgyg 530 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::has_size
//       Access: Published
//  Description: Returns true if the size of the window/frame buffer
//               is known, false otherwise.  In certain cases the size
//               may not be known until after the object has been
//               fully created.  Also, certain objects (like windows)
//               may change size spontaneously.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
433 14 Dtool_62HUewNA 0 6 447 1324 0 14 Dtool_62HUewNA 326 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_valid
//       Access: Published
//  Description: Returns true if the output is fully created and ready
//               for rendering, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
434 14 Dtool_62HUf9W_ 0 6 448 1324 0 14 Dtool_62HUf9W_ 375 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_nonzero_size
//       Access: Published
//  Description: Returns true if the output has a nonzero size in both
//               X and Y, or false if it is zero (and therefore
//               invalid).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
435 14 Dtool_62HUKShL 0 4 449 1318 0 14 Dtool_62HUKShL 380 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_active
//       Access: Published
//  Description: Sets the active flag associated with the
//               GraphicsOutput.  If the GraphicsOutput is marked
//               inactive, nothing is rendered.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  6 active 1 1324  
436 14 Dtool_62HUCPRe 0 6 450 1324 0 14 Dtool_62HUCPRe 324 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_active
//       Access: Published, Virtual
//  Description: Returns true if the window is ready to be rendered
//               into, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
437 14 Dtool_62HUHoke 0 4 451 1318 0 14 Dtool_62HUHoke 1275 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_one_shot
//       Access: Published
//  Description: Changes the current setting of the one-shot flag.
//               When this is true, the GraphicsOutput will render the
//               current frame and then automatically set itself
//               inactive.  This is particularly useful for buffers
//               that are created for the purposes of
//               render-to-texture, for static textures that don't
//               need to be continually re-rendered once they have
//               been rendered the first time.
//
//               Setting the buffer inactive is not the same thing as
//               destroying it.  You are still responsible for passing
//               this buffer to GraphicsEngine::remove_window() when
//               you no longer need the texture, in order to clean up
//               fully.  (However, you should not call remove_window()
//               on this buffer while the texture is still needed,
//               because depending on the render-to-texture mechanism
//               in use, this may invalidate the texture contents.)
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  8 one_shot 1 1324  
438 14 Dtool_62HU2vFO 0 6 452 1324 0 14 Dtool_62HU2vFO 427 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_one_shot
//       Access: Published
//  Description: Returns the current setting of the one-shot flag.
//               When this is true, the GraphicsOutput will
//               automatically set itself inactive after the next
//               frame.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
439 14 Dtool_62HUNoPm 0 4 453 1318 0 14 Dtool_62HUNoPm 947 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_inverted
//       Access: Published
//  Description: Changes the current setting of the inverted flag.
//               When this is true, the scene is rendered into the
//               window upside-down and backwards, that is, inverted
//               as if viewed through a mirror placed on the floor.
//
//               This is primarily intended to support DirectX (and a
//               few buggy OpenGL graphics drivers) that perform a
//               framebuffer-to-texture copy upside-down from the
//               usual OpenGL (and Panda) convention.  Panda will
//               automatically set this flag for offscreen buffers on
//               hardware that is known to do this, to compensate when
//               rendering offscreen into a texture.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  8 inverted 1 1324  
440 14 Dtool_62HUx4vV 0 6 454 1324 0 14 Dtool_62HUx4vV 459 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_inverted
//       Access: Published
//  Description: Returns the current setting of the inverted flag.
//               When this is true, the scene is rendered into the
//               window upside-down, flipped like a mirror along the X
//               axis.  See set_inverted().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
441 14 Dtool_62HUnTba 0 4 455 1318 0 14 Dtool_62HUnTba 688 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_swap_eyes
//       Access: Public
//  Description: Changes the "swap eyes" flag.  This flag is normally
//               false.  When it is true, the left and right channels
//               of a stereo DisplayRegion are sent to the opposite
//               channels in the rendering backend.  This is meant to
//               work around hardware that inadvertently swaps the
//               output channels, or hardware for which it cannot be
//               determined which channel is which until runtime.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  9 swap_eyes 1 1324  
442 14 Dtool_62HUjPni 0 6 456 1324 0 14 Dtool_62HUjPni 316 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_swap_eyes
//       Access: Public
//  Description: Returns the current setting of the "swap eyes" flag.
//               See set_swap_eyes().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
443 14 Dtool_62HUPGYQ 0 4 457 1318 0 14 Dtool_62HUPGYQ 959 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_red_blue_stereo
//       Access: Published
//  Description: Enables red-blue stereo mode on this particular
//               window.  When red-blue stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render in the red (or specified) channel only, while
//               DisplayRegions that have the "right" channel set will
//               render in the blue (or specified) channel only.
//
//               The remaining two parameters specify the particular
//               color channel(s) to associate with each eye.  Use the
//               bits defined in ColorWriteAttrib::Channels.
//
//               This can be used to achieve a cheesy stereo mode in
//               the absence of hardware-supported stereo.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  15 red_blue_stereo 1 1324  19 left_eye_color_mask 1 1320  20 right_eye_color_mask 1 1320  
444 14 Dtool_62HUgl0N 0 6 458 1324 0 14 Dtool_62HUgl0N 357 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_red_blue_stereo
//       Access: Published
//  Description: Returns whether red-blue stereo mode is in effect for
//               this particular window.  See set_red_blue_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
445 14 Dtool_62HUhaUJ 0 6 459 1320 0 14 Dtool_62HUhaUJ 470 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_left_eye_color_mask
//       Access: Published
//  Description: Returns the color mask in effect when rendering a
//               left-eye view in red_blue stereo mode.  This is one
//               or more bits defined in ColorWriteAttrib::Channels.
//               See set_red_blue_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
446 14 Dtool_62HUoNZy 0 6 460 1320 0 14 Dtool_62HUoNZy 472 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_right_eye_color_mask
//       Access: Published
//  Description: Returns the color mask in effect when rendering a
//               right-eye view in red_blue stereo mode.  This is one
//               or more bits defined in ColorWriteAttrib::Channels.
//               See set_red_blue_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
447 14 Dtool_62HUXkdS 0 4 461 1318 0 14 Dtool_62HUXkdS 1007 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_side_by_side_stereo
//       Access: Published
//  Description: Enables side-by-side stereo mode on this particular
//               window.  When side-by-side stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render on the part of the window specified by
//               sbs_left_dimensions (typically the left half: (0,
//               0.5, 0, 1)), while DisplayRegions that have the
//               "right" channel set will render on the part of the
//               window specified by sbs_right_dimensions (typically
//               the right half: (0.5, 1, 0, 1)).
//
//               This is commonly used in a dual-monitor mode, where a
//               window is opened that spans two monitors, and each
//               monitor represents a different eye.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  19 side_by_side_stereo 1 1324  
448 14 Dtool_62HUYrlA 0 4 461 1318 0 14 Dtool_62HUYrlA 1007 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_side_by_side_stereo
//       Access: Published
//  Description: Enables side-by-side stereo mode on this particular
//               window.  When side-by-side stereo mode is in effect,
//               DisplayRegions that have the "left" channel set will
//               render on the part of the window specified by
//               sbs_left_dimensions (typically the left half: (0,
//               0.5, 0, 1)), while DisplayRegions that have the
//               "right" channel set will render on the part of the
//               window specified by sbs_right_dimensions (typically
//               the right half: (0.5, 1, 0, 1)).
//
//               This is commonly used in a dual-monitor mode, where a
//               window is opened that spans two monitors, and each
//               monitor represents a different eye.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  19 side_by_side_stereo 1 1324  19 sbs_left_dimensions 1 1328  20 sbs_right_dimensions 1 1328  
449 14 Dtool_62HU4I_i 0 6 462 1324 0 14 Dtool_62HU4I_i 369 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_side_by_side_stereo
//       Access: Published
//  Description: Returns whether side-by-side stereo mode is in effect for
//               this particular window.  See set_side_by_side_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
450 14 Dtool_62HUD7Sq 0 6 463 1328 0 14 Dtool_62HUD7Sq 458 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_left_dimensions
//       Access: Published
//  Description: Returns the effective sub-region of the window for
//               displaying the left channel, if side-by-side stereo
//               mode is in effect for the window.  See
//               set_side_by_side_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
451 14 Dtool_62HUf7uq 0 6 464 1328 0 14 Dtool_62HUf7uq 460 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sbs_right_dimensions
//       Access: Published
//  Description: Returns the effective sub-region of the window for
//               displaying the right channel, if side-by-side stereo
//               mode is in effect for the window.  See
//               set_side_by_side_stereo().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
452 14 Dtool_62HUjFO0 0 6 465 1379 0 14 Dtool_62HUjFO0 282 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_fb_properties
//       Access: Published
//  Description: Returns the framebuffer properties of the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
453 14 Dtool_62HUp1Tf 0 6 466 1324 0 14 Dtool_62HUp1Tf 447 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::is_stereo
//       Access: Published
//  Description: Returns Returns true if this window can render stereo
//               DisplayRegions, either through red-blue stereo (see
//               set_red_blue_stereo()) or through true hardware
//               stereo rendering.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
454 14 Dtool_62HUjxx5 0 4 467 1318 0 14 Dtool_62HUjxx5 386 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_delete_flag
//       Access: Published
//  Description: Resets the delete flag, so the GraphicsOutput will
//               not be automatically deleted before the beginning of
//               the next frame.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
455 14 Dtool_62HUsJD_ 0 6 468 1324 0 14 Dtool_62HUsJD_ 460 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_delete_flag
//       Access: Published
//  Description: Returns the current setting of the delete flag.  When
//               this is true, the GraphicsOutput will automatically
//               be removed before the beginning of the next frame by
//               the GraphicsEngine.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
456 14 Dtool_62HUQqjF 0 4 469 1318 0 14 Dtool_62HUQqjF 345 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_sort
//       Access: Published, Virtual
//  Description: Adjusts the sorting order of this particular
//               GraphicsOutput, relative to other GraphicsOutputs.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  4 sort 1 1317  
457 14 Dtool_62HUcE4c 0 6 470 1317 0 14 Dtool_62HUcE4c 432 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_sort
//       Access: Published
//  Description: Returns the sorting order of this particular
//               GraphicsOutput.  The various GraphicsOutputs within a
//               particular thread will be rendered in the indicated
//               order.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
458 14 Dtool_62HUyqqS 0 4 471 1318 0 14 Dtool_62HUyqqS 1026 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_child_sort
//       Access: Published
//  Description: Specifies the sort value of future offscreen buffers
//               created by make_texture_sort().
//
//               The purpose of this method is to allow the user to
//               limit the sort value chosen for a buffer created via
//               make_texture_buffer().  Normally, this buffer will be
//               assigned a value of get_sort() - 1, so that it
//               will be rendered before this window is rendered; but
//               sometimes this isn't sufficiently early, especially
//               if other buffers also have a view into the same
//               scene.
//
//               If you specify a value here, then new buffers created
//               via make_texture_buffer() will be given that sort
//               value instead of get_sort() - 1.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  10 child_sort 1 1317  
459 14 Dtool_62HU_qOW 0 4 472 1318 0 14 Dtool_62HU_qOW 390 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::clear_child_sort
//       Access: Published
//  Description: Resets the sort value of future offscreen buffers
//               created by make_texture_sort() to the default value.
//               See set_child_sort().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
460 14 Dtool_62HUx5eS 0 6 473 1317 0 14 Dtool_62HUx5eS 351 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_child_sort
//       Access: Published
//  Description: Returns the sort value of future offscreen buffers
//               created by make_texture_sort(). See set_child_sort().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
461 14 Dtool_62HUys0m 0 4 474 1318 0 14 Dtool_62HUys0m 376 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::trigger_copy
//       Access: Published
//  Description: When the GraphicsOutput is in triggered copy mode,
//               this function triggers the copy (at the end of the
//               next frame).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
462 14 Dtool_62HUDSih 0 7 475 1354 837 14 Dtool_62HUDSih 652 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
463 14 Dtool_62HUB1Dz 0 7 475 1354 837 14 Dtool_62HUB1Dz 735 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  10 dimensions 1 1328  
464 14 Dtool_62HUefSE 0 7 475 1354 837 14 Dtool_62HUefSE 735 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               If is_stereo() is true for this window, and
//               default-stereo-camera is configured true, this
//               actually makes a StereoDisplayRegion.  Call
//               make_mono_display_region() or
//               make_stereo_display_region() if you want to insist on
//               one or the other.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1356  1 l 1 1331  1 r 1 1331  1 b 1 1331  1 t 1 1331  
465 14 Dtool_62HUrH1t 0 7 476 1354 837 14 Dtool_62HUrH1t 732 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
466 14 Dtool_62HUN35Q 0 7 476 1354 837 14 Dtool_62HUN35Q 815 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  10 dimensions 1 1328  
467 14 Dtool_62HUN6dz 0 7 476 1354 837 14 Dtool_62HUN6dz 732 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_mono_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This generally returns a mono DisplayRegion, even if
//               is_stereo() is true.  However, if side-by-side stereo
//               is enabled, this will return a StereoDisplayRegion
//               whose two eyes are both set to SC_mono.  (This is
//               necessary because in side-by-side stereo mode, it is
//               necessary to draw even mono DisplayRegions twice).
//////////////////////////////////////////////////////////////////// 5 4 this 3 1356  1 l 1 1331  1 r 1 1331  1 b 1 1331  1 t 1 1331  
468 14 Dtool_62HUbYGK 0 7 477 1377 837 14 Dtool_62HUbYGK 428 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
469 14 Dtool_62HUKmoh 0 7 477 1377 837 14 Dtool_62HUKmoh 511 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the indicated
//               sub-rectangle within the window.  The range on all
//               parameters is 0..1.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  10 dimensions 1 1328  
470 14 Dtool_62HUa2ry 0 7 477 1377 837 14 Dtool_62HUa2ry 428 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_stereo_display_region
//       Access: Published
//  Description: Creates a new DisplayRegion that covers the entire
//               window.
//
//               This always returns a stereo DisplayRegion, even if
//               is_stereo() is false.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1356  1 l 1 1331  1 r 1 1331  1 b 1 1331  1 t 1 1331  
471 14 Dtool_62HUyMVJ 0 6 478 1324 0 14 Dtool_62HUyMVJ 492 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::remove_display_region
//       Access: Published
//  Description: Removes the indicated DisplayRegion from the window,
//               and destructs it if there are no other references.
//
//               Returns true if the DisplayRegion is found and
//               removed, false if it was not a part of the window.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  14 display_region 1 1354  
472 14 Dtool_62HUVlIl 0 4 479 1318 0 14 Dtool_62HUVlIl 359 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::remove_all_display_regions
//       Access: Published
//  Description: Removes all display regions from the window, except
//               the default one that is created with the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
473 14 Dtool_62HUlL68 0 7 480 1354 837 14 Dtool_62HUlL68 951 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_overlay_display_region
//       Access: Published
//  Description: Returns the special "overlay" DisplayRegion that is
//               created for each window or buffer.  This
//               DisplayRegion covers the entire window, but cannot be
//               used for rendering.  It is a placeholder only, to
//               indicate the dimensions of the window, and is usually
//               used internally for purposes such as clearing the
//               window, or grabbing a screenshot of the window.
//
//               There are very few applications that require access
//               to this DisplayRegion.  Normally, you should create
//               your own DisplayRegion that covers the window, if you
//               want to render to the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
474 14 Dtool_62HUXV31 0 4 481 1318 0 14 Dtool_62HUXV31 1132 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::set_overlay_display_region
//       Access: Published
//  Description: Replaces the special "overlay" DisplayRegion that is
//               created for each window or buffer.  See
//               get_overlay_display_region().  This must be a new
//               DisplayRegion that has already been created for this
//               window, for instance via a call to
//               make_mono_display_region().  You are responsible for
//               ensuring that the new DisplayRegion covers the entire
//               window.  The previous overlay display region is not
//               automatically removed; you must explicitly call
//               remove_display_region() on it after replacing it with
//               this method, if you wish it to be removed.
//
//               Normally, there is no reason to change the overlay
//               DisplayRegion, so this method should be used only
//               in very unusual circumstances.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  14 display_region 1 1354  
475 14 Dtool_62HUHxxm 0 6 482 1317 0 14 Dtool_62HUHxxm 355 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_num_display_regions
//       Access: Published
//  Description: Returns the number of DisplayRegions that have
//               been created within the window, active or otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
476 14 Dtool_62HU1bhW 0 7 483 1354 837 14 Dtool_62HU1bhW 542 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_display_region
//       Access: Published
//  Description: Returns the nth DisplayRegion of those that have been
//               created within the window.  This may return NULL if n
//               is out of bounds; particularly likely if the number
//               of display regions has changed since the last call to
//               get_num_display_regions().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1403  1 n 1 1317  
477 14 Dtool_62HU_TMd 0 6 484 1317 0 14 Dtool_62HU_TMd 348 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_num_active_display_regions
//       Access: Published
//  Description: Returns the number of active DisplayRegions that have
//               been created within the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
478 14 Dtool_62HUjI4S 0 7 485 1354 837 14 Dtool_62HUjI4S 563 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_active_display_region
//       Access: Published
//  Description: Returns the nth active DisplayRegion of those that
//               have been created within the window.  This may return
//               NULL if n is out of bounds; particularly likely if
//               the number of display regions has changed since the
//               last call to get_num_active_display_regions().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1403  1 n 1 1317  
479 14 Dtool_62HUOgc9 0 7 486 1356 1045 14 Dtool_62HUOgc9 1790 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_texture_buffer
//       Access: Published
//  Description: Creates and returns an offscreen buffer for rendering
//               into, the result of which will be a texture suitable
//               for applying to geometry within the scene rendered
//               into this window.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created.  In either case, the target
//               texture can be retrieved from the return value with
//               buffer->get_texture() (assuming the return value is
//               not NULL).
//
//               If to_ram is true, the buffer will be set up to
//               download its contents to the system RAM memory
//               associated with the Texture object, instead of
//               keeping it strictly within texture memory; this is
//               much slower, but it allows using the texture with any
//               GSG.
//
//               This will attempt to be smart about maximizing render
//               performance while minimizing framebuffer waste.  It
//               might return a GraphicsBuffer set to render directly
//               into a texture, if possible; or it might return a
//               ParasiteBuffer that renders into this window.  The
//               return value is NULL if the buffer could not be
//               created for some reason.
//
//               When you are done using the buffer, you should remove
//               it with a call to GraphicsEngine::remove_window().
//////////////////////////////////////////////////////////////////// 7 4 this 3 1356  4 name 1 1321  6 x_size 1 1317  6 y_size 1 1317  3 tex 1 1371  6 to_ram 1 1324  3 fbp 1 1378  
480 14 Dtool_62HUoo09 0 7 486 1356 1045 14 Dtool_62HUoo09 1790 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_texture_buffer
//       Access: Published
//  Description: Creates and returns an offscreen buffer for rendering
//               into, the result of which will be a texture suitable
//               for applying to geometry within the scene rendered
//               into this window.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created.  In either case, the target
//               texture can be retrieved from the return value with
//               buffer->get_texture() (assuming the return value is
//               not NULL).
//
//               If to_ram is true, the buffer will be set up to
//               download its contents to the system RAM memory
//               associated with the Texture object, instead of
//               keeping it strictly within texture memory; this is
//               much slower, but it allows using the texture with any
//               GSG.
//
//               This will attempt to be smart about maximizing render
//               performance while minimizing framebuffer waste.  It
//               might return a GraphicsBuffer set to render directly
//               into a texture, if possible; or it might return a
//               ParasiteBuffer that renders into this window.  The
//               return value is NULL if the buffer could not be
//               created for some reason.
//
//               When you are done using the buffer, you should remove
//               it with a call to GraphicsEngine::remove_window().
//////////////////////////////////////////////////////////////////// 6 4 this 3 1356  4 name 1 1321  6 x_size 1 1317  6 y_size 1 1317  3 tex 1 1371  6 to_ram 1 1324  
481 14 Dtool_62HU54eM 0 7 486 1356 1045 14 Dtool_62HU54eM 1790 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_texture_buffer
//       Access: Published
//  Description: Creates and returns an offscreen buffer for rendering
//               into, the result of which will be a texture suitable
//               for applying to geometry within the scene rendered
//               into this window.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created.  In either case, the target
//               texture can be retrieved from the return value with
//               buffer->get_texture() (assuming the return value is
//               not NULL).
//
//               If to_ram is true, the buffer will be set up to
//               download its contents to the system RAM memory
//               associated with the Texture object, instead of
//               keeping it strictly within texture memory; this is
//               much slower, but it allows using the texture with any
//               GSG.
//
//               This will attempt to be smart about maximizing render
//               performance while minimizing framebuffer waste.  It
//               might return a GraphicsBuffer set to render directly
//               into a texture, if possible; or it might return a
//               ParasiteBuffer that renders into this window.  The
//               return value is NULL if the buffer could not be
//               created for some reason.
//
//               When you are done using the buffer, you should remove
//               it with a call to GraphicsEngine::remove_window().
//////////////////////////////////////////////////////////////////// 5 4 this 3 1356  4 name 1 1321  6 x_size 1 1317  6 y_size 1 1317  3 tex 1 1371  
482 14 Dtool_62HU6cMF 0 7 486 1356 1045 14 Dtool_62HU6cMF 1790 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_texture_buffer
//       Access: Published
//  Description: Creates and returns an offscreen buffer for rendering
//               into, the result of which will be a texture suitable
//               for applying to geometry within the scene rendered
//               into this window.
//
//               If tex is not NULL, it is the texture that will be
//               set up for rendering into; otherwise, a new Texture
//               object will be created.  In either case, the target
//               texture can be retrieved from the return value with
//               buffer->get_texture() (assuming the return value is
//               not NULL).
//
//               If to_ram is true, the buffer will be set up to
//               download its contents to the system RAM memory
//               associated with the Texture object, instead of
//               keeping it strictly within texture memory; this is
//               much slower, but it allows using the texture with any
//               GSG.
//
//               This will attempt to be smart about maximizing render
//               performance while minimizing framebuffer waste.  It
//               might return a GraphicsBuffer set to render directly
//               into a texture, if possible; or it might return a
//               ParasiteBuffer that renders into this window.  The
//               return value is NULL if the buffer could not be
//               created for some reason.
//
//               When you are done using the buffer, you should remove
//               it with a call to GraphicsEngine::remove_window().
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  4 name 1 1321  6 x_size 1 1317  6 y_size 1 1317  
483 14 Dtool_62HUSG5G 0 7 487 1356 1045 14 Dtool_62HUSG5G 1206 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_cube_map
//       Access: Published
//  Description: This is similar to make_texture_buffer() in that it
//               allocates a separate buffer suitable for rendering to
//               a texture that can be assigned to geometry in this
//               window, but in this case, the buffer is set up to
//               render the six faces of a cube map.
//
//               The buffer is automatically set up with six display
//               regions and six cameras, each of which are assigned
//               the indicated draw_mask and parented to the given
//               camera_rig node (which you should then put in your
//               scene to render the cube map from the appropriate
//               point of view).
//
//               You may take the texture associated with the buffer
//               and apply it to geometry, particularly with
//               TexGenAttrib::M_world_cube_map also in effect, to
//               apply a reflection of everything seen by the camera
//               rig.
//////////////////////////////////////////////////////////////////// 7 4 this 3 1356  4 name 1 1321  4 size 1 1317  10 camera_rig 1 1362  11 camera_mask 1 1405  6 to_ram 1 1324  3 fbp 1 1378  
484 14 Dtool_62HUA8GH 0 7 487 1356 1045 14 Dtool_62HUA8GH 1206 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_cube_map
//       Access: Published
//  Description: This is similar to make_texture_buffer() in that it
//               allocates a separate buffer suitable for rendering to
//               a texture that can be assigned to geometry in this
//               window, but in this case, the buffer is set up to
//               render the six faces of a cube map.
//
//               The buffer is automatically set up with six display
//               regions and six cameras, each of which are assigned
//               the indicated draw_mask and parented to the given
//               camera_rig node (which you should then put in your
//               scene to render the cube map from the appropriate
//               point of view).
//
//               You may take the texture associated with the buffer
//               and apply it to geometry, particularly with
//               TexGenAttrib::M_world_cube_map also in effect, to
//               apply a reflection of everything seen by the camera
//               rig.
//////////////////////////////////////////////////////////////////// 6 4 this 3 1356  4 name 1 1321  4 size 1 1317  10 camera_rig 1 1362  11 camera_mask 1 1405  6 to_ram 1 1324  
485 14 Dtool_62HUEFcu 0 7 487 1356 1045 14 Dtool_62HUEFcu 1206 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_cube_map
//       Access: Published
//  Description: This is similar to make_texture_buffer() in that it
//               allocates a separate buffer suitable for rendering to
//               a texture that can be assigned to geometry in this
//               window, but in this case, the buffer is set up to
//               render the six faces of a cube map.
//
//               The buffer is automatically set up with six display
//               regions and six cameras, each of which are assigned
//               the indicated draw_mask and parented to the given
//               camera_rig node (which you should then put in your
//               scene to render the cube map from the appropriate
//               point of view).
//
//               You may take the texture associated with the buffer
//               and apply it to geometry, particularly with
//               TexGenAttrib::M_world_cube_map also in effect, to
//               apply a reflection of everything seen by the camera
//               rig.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1356  4 name 1 1321  4 size 1 1317  10 camera_rig 1 1362  11 camera_mask 1 1405  
486 14 Dtool_62HUVD6z 0 7 487 1356 1045 14 Dtool_62HUVD6z 1206 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_cube_map
//       Access: Published
//  Description: This is similar to make_texture_buffer() in that it
//               allocates a separate buffer suitable for rendering to
//               a texture that can be assigned to geometry in this
//               window, but in this case, the buffer is set up to
//               render the six faces of a cube map.
//
//               The buffer is automatically set up with six display
//               regions and six cameras, each of which are assigned
//               the indicated draw_mask and parented to the given
//               camera_rig node (which you should then put in your
//               scene to render the cube map from the appropriate
//               point of view).
//
//               You may take the texture associated with the buffer
//               and apply it to geometry, particularly with
//               TexGenAttrib::M_world_cube_map also in effect, to
//               apply a reflection of everything seen by the camera
//               rig.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1356  4 name 1 1321  4 size 1 1317  10 camera_rig 1 1362  
487 14 Dtool_62HUeFZK 0 7 488 1369 0 14 Dtool_62HUeFZK 806 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_screenshot_filename
//       Access: Published, Static
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The default filename is
//               generated from the supplied prefix and from the
//               Config variable screenshot-filename, which contains
//               the following strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
//////////////////////////////////////////////////////////////////// 1 6 prefix 1 1321  
488 14 Dtool_62HUPz_F 0 7 488 1369 0 14 Dtool_62HUPz_F 806 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::make_screenshot_filename
//       Access: Published, Static
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The default filename is
//               generated from the supplied prefix and from the
//               Config variable screenshot-filename, which contains
//               the following strings:
//
//                 %~p - the supplied prefix
//                 %~f - the frame count
//                 %~e - the value of screenshot-extension
//                 All other % strings in strftime().
//////////////////////////////////////////////////////////////////// 0 
489 14 Dtool_62HUbMge 0 7 489 1369 0 14 Dtool_62HUbMge 471 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  6 prefix 1 1321  
490 14 Dtool_62HU8zcS 0 7 489 1369 0 14 Dtool_62HU8zcS 471 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot_default
//       Access: Published
//  Description: Saves a screenshot of the region to a default
//               filename, and returns the filename, or empty string
//               if the screenshot failed.  The filename is generated
//               by make_screenshot_filename().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
491 14 Dtool_62HUrjOY 0 6 490 1324 0 14 Dtool_62HUrjOY 600 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  The image comment is an optional user
//               readable string that will be saved with the header
//               of the image (if the file format supports embedded
//               data; for example jpg allows comments).  Returns
//               true on success, false on failure.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1356  8 filename 1 1349  13 image_comment 1 1321  
492 14 Dtool_62HUoVLU 0 6 490 1324 0 14 Dtool_62HUoVLU 600 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::save_screenshot
//       Access: Published
//  Description: Saves a screenshot of the region to the indicated
//               filename.  The image comment is an optional user
//               readable string that will be saved with the header
//               of the image (if the file format supports embedded
//               data; for example jpg allows comments).  Returns
//               true on success, false on failure.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  8 filename 1 1349  
493 14 Dtool_62HUKXv9 0 7 491 1371 0 14 Dtool_62HUKXv9 373 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer and returns it as Texture, or NULL on
//               failure.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
494 14 Dtool_62HUIsHW 0 6 491 1324 0 14 Dtool_62HUIsHW 399 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_screenshot
//       Access: Published
//  Description: Captures the most-recently rendered image from the
//               framebuffer into the indicated PNMImage.  Returns
//               true on success, false on failure.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  5 image 1 1372  
495 14 Dtool_62HUUNk3 0 7 492 1362 0 14 Dtool_62HUUNk3 959 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_texture_card
//       Access: Published
//  Description: Returns a PandaNode containing a square polygon.
//               The dimensions are (-1,0,-1) to (1,0,1). The texture
//               coordinates are such that the texture of this
//               GraphicsOutput is aligned properly to the polygon.
//               The GraphicsOutput promises to surgically update
//               the Geom inside the PandaNode if necessary to maintain
//               this invariant.
//
//               Each invocation of this function returns a freshly-
//               allocated PandaNode.  You can therefore safely modify
//               the RenderAttribs of the PandaNode.  The
//               PandaNode is initially textured with the texture
//               of this GraphicOutput.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
496 14 Dtool_62HU2Eyc 0 6 493 1324 0 14 Dtool_62HU2Eyc 386 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::share_depth_buffer
//       Access: Published, Virtual
//  Description: Will attempt to use the depth buffer of the input
//               graphics_output. The buffer sizes must be exactly
//               the same.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1356  15 graphics_output 1 1356  
497 14 Dtool_62HUX5g9 0 4 494 1318 0 14 Dtool_62HUX5g9 282 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::unshare_depth_buffer
//       Access: Published, Virtual
//  Description: Discontinue sharing the depth buffer.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
498 14 Dtool_62HUHdDD 0 6 495 1324 0 14 Dtool_62HUHdDD 477 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_supports_render_texture
//       Access: Published, Virtual
//  Description: Returns true if this particular GraphicsOutput can
//               render directly into a texture, or false if it must
//               always copy-to-texture at the end of each frame to
//               achieve this effect.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
499 14 Dtool_62HUWtdR 0 6 496 1324 0 14 Dtool_62HUWtdR 335 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::flip_ready
//       Access: Published, Virtual
//  Description: Returns true if a frame has been rendered and needs
//               to be flipped, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1403  
500 14 Dtool_62HUybdT 0 7 497 1356 1045 14 Dtool_62HUybdT 502 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsOutput::get_host
//       Access: Published, Virtual
//  Description: This is normally called only from within
//               make_texture_buffer().  When called on a
//               ParasiteBuffer, it returns the host of that buffer;
//               but when called on some other buffer, it returns the
//               buffer itself.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1356  
501 14 Dtool_62HUg2P6 0 7 498 1315 0 14 Dtool_62HUg2P6 0 0 
502 14 Dtool_62HU_FL1 0 7 419 1407 0 14 Dtool_62HU_FL1 0 1 4 this 3 1356  
503 14 Dtool_62HUlfJN 0 7 420 1356 1045 14 Dtool_62HUlfJN 0 1 4 this 3 1407  
504 14 Dtool_62HUpLTb 0 6 421 1325 0 14 Dtool_62HUpLTb 0 1 4 this 3 1356  
505 14 Dtool_62HUuJDd 0 7 422 1356 1045 14 Dtool_62HUuJDd 0 1 4 this 3 1325  
506 14 Dtool_62HU_Z5p 0 4 501 1318 0 14 Dtool_62HU_Z5p 288 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  6 button 1 1409  4 time 1 1411  
507 14 Dtool_62HUEXB7 0 4 501 1318 0 14 Dtool_62HUEXB7 288 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  6 button 1 1409  
508 14 Dtool_62HUTe4Z 0 4 502 1318 0 14 Dtool_62HUTe4Z 465 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_resume_down
//       Access: Public
//  Description: Records that the indicated button was depressed
//               earlier, and we only just detected the event after
//               the fact.  This is mainly useful for tracking the
//               state of modifier keys.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  6 button 1 1409  4 time 1 1411  
509 14 Dtool_62HUCZR0 0 4 502 1318 0 14 Dtool_62HUCZR0 465 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_resume_down
//       Access: Public
//  Description: Records that the indicated button was depressed
//               earlier, and we only just detected the event after
//               the fact.  This is mainly useful for tracking the
//               state of modifier keys.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  6 button 1 1409  
510 14 Dtool_62HUEdRe 0 4 503 1318 0 14 Dtool_62HUEdRe 285 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  6 button 1 1409  4 time 1 1411  
511 14 Dtool_62HUt5Ix 0 4 503 1318 0 14 Dtool_62HUt5Ix 285 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  6 button 1 1409  
512 14 Dtool_62HU___s 0 4 504 1318 0 14 Dtool_62HU___s 306 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::keystroke
//       Access: Public
//  Description: Records that the indicated keystroke has been
//               generated.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  7 keycode 1 1317  4 time 1 1411  
513 14 Dtool_62HUW_pD 0 4 504 1318 0 14 Dtool_62HUW_pD 306 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::keystroke
//       Access: Public
//  Description: Records that the indicated keystroke has been
//               generated.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  7 keycode 1 1317  
514 14 Dtool_62HUXeYh 0 4 505 1318 0 14 Dtool_62HUXeYh 463 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::candidate
//       Access: Public
//  Description: Records that the indicated candidate string has been
//               highlighted.  This is used to implement IME support
//               for typing in international languages, especially
//               Chinese/Japanese/Korean.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1408  16 candidate_string 1 1321  15 highlight_start 1 1320  13 highlight_end 1 1320  10 cursor_pos 1 1320  
515 14 Dtool_62HUeu_I 0 4 506 1318 0 14 Dtool_62HUeu_I 668 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::focus_lost
//       Access: Public
//  Description: This should be called when the window focus is lost,
//               so that we may miss upcoming button events
//               (especially "up" events) for the next period of time.
//               It generates keyboard and mouse "up" events for those
//               buttons that we previously sent unpaired "down"
//               events, so that the Panda application will believe
//               all buttons are now released.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  4 time 1 1411  
516 14 Dtool_62HUXnr9 0 4 506 1318 0 14 Dtool_62HUXnr9 668 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::focus_lost
//       Access: Public
//  Description: This should be called when the window focus is lost,
//               so that we may miss upcoming button events
//               (especially "up" events) for the next period of time.
//               It generates keyboard and mouse "up" events for those
//               buttons that we previously sent unpaired "down"
//               events, so that the Panda application will believe
//               all buttons are now released.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1408  
517 14 Dtool_62HUgZL7 0 4 507 1318 0 14 Dtool_62HUgZL7 292 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  6 button 1 1409  4 time 1 1411  
518 14 Dtool_62HUIkQw 0 4 507 1318 0 14 Dtool_62HUIkQw 292 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_down
//       Access: Public
//  Description: Records that the indicated button has been depressed.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  6 button 1 1409  
519 14 Dtool_62HUpxaa 0 4 508 1318 0 14 Dtool_62HUpxaa 289 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  6 button 1 1409  4 time 1 1411  
520 14 Dtool_62HUOUoH 0 4 508 1318 0 14 Dtool_62HUOUoH 289 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::raw_button_up
//       Access: Public
//  Description: Records that the indicated button has been released.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  6 button 1 1409  
521 14 Dtool_62HUI9ni 0 4 509 1318 0 14 Dtool_62HUI9ni 413 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_in_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is within the window, at
//               the given pixel coordinates.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1408  1 x 1 1411  1 y 1 1411  4 time 1 1411  
522 14 Dtool_62HUdUWX 0 4 509 1318 0 14 Dtool_62HUdUWX 413 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_in_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is within the window, at
//               the given pixel coordinates.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1408  1 x 1 1411  1 y 1 1411  
523 14 Dtool_62HU1UCL 0 4 510 1318 0 14 Dtool_62HU1UCL 395 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_out_of_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is no longer within the
//               window.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1408  4 time 1 1411  
524 14 Dtool_62HUSIYw 0 4 510 1318 0 14 Dtool_62HUSIYw 395 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer_out_of_window
//       Access: Public
//  Description: To be called by a particular kind of GraphicsWindow
//               to indicate that the pointer is no longer within the
//               window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1408  
525 14 Dtool_62HU4aIN 0 4 511 1318 0 14 Dtool_62HU4aIN 281 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowInputDevice::set_pointer
//       Access: Public
//  Description: Records that a mouse movement has taken place.
//////////////////////////////////////////////////////////////////// 5 4 this 3 1408  5 inwin 1 1324  1 x 1 1411  1 y 1 1411  4 time 1 1411  
526 14 Dtool_62HUPUp1 0 6 514 1317 0 14 Dtool_62HUPUp1 0 1 4 this 3 1412  
527 14 Dtool_62HUHDz1 0 6 515 1317 0 14 Dtool_62HUHDz1 0 1 4 this 3 1412  
528 14 Dtool_62HUA_Db 0 6 516 1317 0 14 Dtool_62HUA_Db 0 1 4 this 3 1412  
529 14 Dtool_62HUMWv5 0 6 517 1317 0 14 Dtool_62HUMWv5 0 1 4 this 3 1412  
530 14 Dtool_62HU_0he 0 6 521 1317 0 14 Dtool_62HU_0he 280 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_hwnd
//       Access: Published
//  Description: Returns the Windows proc hwnd parameter.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1413  
531 14 Dtool_62HUPC0q 0 6 522 1317 0 14 Dtool_62HUPC0q 278 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_msg
//       Access: Published
//  Description: Returns the Windows proc msg parameter.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1413  
532 14 Dtool_62HUyLDI 0 6 523 1317 0 14 Dtool_62HUyLDI 284 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_wparam
//       Access: Published
//  Description: Returns the Windows proc wparam parameter.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1413  
533 14 Dtool_62HUAL2s 0 6 524 1317 0 14 Dtool_62HUAL2s 284 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_lparam
//       Access: Published
//  Description: Returns the Windows proc lparam parameter.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1413  
534 14 Dtool_62HUFsIL 0 6 525 1324 0 14 Dtool_62HUFsIL 313 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::is_touch_event
//       Access: Public, Virtual
//  Description: Returns whether the event is a touch event.
//               
//////////////////////////////////////////////////////////////////// 1 4 this 3 1415  
535 14 Dtool_62HUCdg3 0 6 526 1317 0 14 Dtool_62HUCdg3 323 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_num_touches
//       Access: Public, Virtual
//  Description: Returns the current number of touches on the window.
//               
//////////////////////////////////////////////////////////////////// 1 4 this 3 1415  
536 14 Dtool_62HU6s0U 0 7 527 1412 1135 14 Dtool_62HU6s0U 330 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindowProcCallbackData::get_touch_info
//       Access: Public, Virtual
//  Description: Returns the TouchInfo object describing the specified touch.
//               
//////////////////////////////////////////////////////////////////// 2 4 this 3 1415  5 index 1 1317  
537 14 Dtool_62HUt7d3 0 7 528 1315 0 14 Dtool_62HUt7d3 0 0 
538 14 Dtool_62HUhbmW 0 7 531 1341 0 14 Dtool_62HUhbmW 275 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_properties
//       Access: Published
//  Description: Returns the current properties of the window.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
539 14 Dtool_62HU0Htu 0 7 532 1341 0 14 Dtool_62HU0Htu 459 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_requested_properties
//       Access: Published
//  Description: Returns the properties of the window that are
//               currently requested.  These properties will be
//               applied to the window (if valid) at the next
//               execution of process_events().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
540 14 Dtool_62HUYZ4X 0 4 533 1318 0 14 Dtool_62HUYZ4X 346 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::clear_rejected_properties
//       Access: Published
//  Description: Empties the set of failed properties that will be
//               returned by get_rejected_properties().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1418  
541 14 Dtool_62HUcXSI 0 7 534 1340 753 14 Dtool_62HUcXSI 563 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_rejected_properties
//       Access: Published
//  Description: Returns the set of properties that have recently been
//               requested, but could not be applied to the window for
//               some reason.  This set of properties will remain
//               unchanged until they are changed by a new failed
//               request, or clear_rejected_properties() is called.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
542 14 Dtool_62HUGdcu 0 4 535 1318 0 14 Dtool_62HUGdcu 603 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::request_properties
//       Access: Published
//  Description: Requests a property change on the window.  For
//               example, use this method to request a window change
//               size or minimize or something.
//
//               The change is not made immediately; rather, the
//               request is saved and will be applied the next time
//               the window task is run (probably at the next frame).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  20 requested_properties 1 1341  
543 14 Dtool_62HUu9q8 0 6 536 1324 0 14 Dtool_62HUu9q8 1121 // Filename: graphicsWindow.I
// Created by:  frang (07Mar99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::is_closed
//       Access: Published
//  Description: Returns true if the window has not yet been opened,
//               or has been fully closed, false if it is open.  The
//               window is not opened immediately after
//               GraphicsEngine::make_window() is called; nor is it
//               closed immediately after
//               GraphicsEngine::remove_window() is called.  Either
//               operation may take a frame or two.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
544 14 Dtool_62HUJaEs 0 6 537 1324 0 14 Dtool_62HUJaEs 329 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::is_fullscreen
//       Access: Published
//  Description: Returns true if the window has been opened as a
//               fullscreen window, false otherwise.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
545 14 Dtool_62HUGNv6 0 4 538 1318 0 14 Dtool_62HUGNv6 630 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_window_event
//       Access: Published
//  Description: Changes the name of the event that is generated when
//               this window is modified externally, e.g. to be
//               resized or closed by the user.
//
//               By default, all windows have the same window event
//               unless they are explicitly changed.  When the event
//               is generated, it includes one parameter: the window
//               itself.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  12 window_event 1 1321  
546 14 Dtool_62HU_R55 0 6 539 1321 0 14 Dtool_62HU_R55 421 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_window_event
//       Access: Published
//  Description: Returns the name of the event that is generated when
//               this window is modified externally, e.g. to be
//               resized or closed by the user.  See set_window_event().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
547 14 Dtool_62HUuHKx 0 4 540 1318 0 14 Dtool_62HUuHKx 1393 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_close_request_event
//       Access: Published
//  Description: Sets the event that is triggered when the user
//               requests to close the window, e.g. via alt-F4, or
//               clicking on the close box.
//
//               The default for each window is for this event to be
//               the empty string, which means the window-close
//               request is handled immediately by Panda (and the
//               window will be closed without the app getting a
//               chance to intervene).  If you set this to a nonempty
//               string, then the window is not closed, but instead
//               the event is thrown.  It is then up to the app to
//               respond appropriately, for instance by presenting an
//               "are you sure?" dialog box, and eventually calling
//               close_window() when the user is sure.
//
//               It is considered poor form to set this string and
//               then not handle the event.  This can frustrate the
//               user by making it difficult for him to cleanly shut
//               down the application (and may force the user to
//               hard-kill the app, or reboot the machine).
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  19 close_request_event 1 1321  
548 14 Dtool_62HUg_ue 0 6 541 1321 0 14 Dtool_62HUg_ue 515 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_close_request_event
//       Access: Published
//  Description: Returns the name of the event set via
//               set_close_request_event().  If this string is
//               nonempty, then when the user requests to close
//               window, this event will be generated instead.  See
//               set_close_request_event().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
549 14 Dtool_62HUN9Aq 0 4 542 1318 0 14 Dtool_62HUN9Aq 894 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::set_unexposed_draw
//       Access: Published
//  Description: If this flag is false, the window is redrawn only
//               after it has received a recent "unexpose" or "draw"
//               event from the underlying windowing systme.  If this
//               flag is true, the window is redrawn every frame
//               regardless.  Setting this false may prevent the
//               window from redrawing unnecessarily when it is
//               hidden, and may play nicer with other windows on the
//               desktop, but may adversely affect frame rate even
//               when the window is fully visible; setting it true will
//               ensure that the window contents are always current.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  14 unexposed_draw 1 1324  
550 14 Dtool_62HULj90 0 6 543 1324 0 14 Dtool_62HULj90 259 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_unexposed_draw
//       Access: Published
//  Description: See set_unexposed_draw().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
551 14 Dtool_62HUYAaM 0 7 544 1334 0 14 Dtool_62HUYAaM 641 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_window_handle
//       Access: Published
//  Description: Returns the WindowHandle corresponding to this window
//               on the desktop.  This is mainly useful for
//               communicating with external libraries.  Use
//               window_handle->get_os_handle()->get_handle(), or
//               window_handle->get_string_handle(), to get the actual
//               OS-specific window handle object, whatever type that
//               might be.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
552 14 Dtool_62HUWc_C 0 6 545 1317 0 14 Dtool_62HUWc_C 594 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_num_input_devices
//       Access: Published
//  Description: Returns the number of separate input devices
//               associated with the window.  Typically, a window will
//               have exactly one input device: the keyboard/mouse
//               pair.  However, some windows may have no input
//               devices, and others may add additional devices, for
//               instance for a joystick.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
553 14 Dtool_62HUqhfW 0 6 546 1321 0 14 Dtool_62HUqhfW 278 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_input_device_name
//       Access: Published
//  Description: Returns the name of the nth input device.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1416  6 device 1 1317  
554 14 Dtool_62HUYErM 0 6 547 1324 0 14 Dtool_62HUYErM 366 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::has_pointer
//       Access: Published
//  Description: Returns true if the nth input device has a
//               screen-space pointer (for instance, a mouse), false
//               otherwise.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1416  6 device 1 1317  
555 14 Dtool_62HUeEpH 0 6 548 1324 0 14 Dtool_62HUeEpH 314 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::has_keyboard
//       Access: Published
//  Description: Returns true if the nth input device has a keyboard,
//               false otherwise.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1416  6 device 1 1317  
556 14 Dtool_62HUzz5k 0 7 549 1420 0 14 Dtool_62HUzz5k 348 ////////////////////////////////////////////////////////////////////
//     Function: x11GraphicsWindow::get_keyboard_map
//       Access: Published, Virtual
//  Description: Returns a ButtonMap containing the association
//               between raw buttons and virtual buttons.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1416  
557 14 Dtool_62HUCg1v 0 4 550 1318 0 14 Dtool_62HUCg1v 278 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::enable_pointer_events
//       Access: Published
//  Description: Turn on the generation of pointer events.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  6 device 1 1317  
558 14 Dtool_62HUyQiD 0 4 551 1318 0 14 Dtool_62HUyQiD 280 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::disable_pointer_events
//       Access: Published
//  Description: Turn off the generation of pointer events.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  6 device 1 1317  
559 14 Dtool_62HUN5RH 0 4 552 1318 0 14 Dtool_62HUN5RH 285 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::enable_pointer_mode
//       Access: Published
//  Description: See GraphicsWindowInputDevice::enable_pointer_mode
//////////////////////////////////////////////////////////////////// 3 4 this 3 1418  6 device 1 1317  5 speed 1 1411  
560 14 Dtool_62HU8M8I 0 4 553 1318 0 14 Dtool_62HU8M8I 289 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::disable_pointer_events
//       Access: Published
//  Description: See GraphicsWindowInputDevice::disable_pointer_mode
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  6 device 1 1317  
561 14 Dtool_62HUxqr_ 0 7 554 1422 0 14 Dtool_62HUxqr_ 471 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::get_pointer
//       Access: Published
//  Description: Returns the MouseData associated with the nth
//               input device's pointer.  This is deprecated; use
//               get_pointer_device().get_pointer() instead, or for
//               raw mice, use the InputDeviceManager interface.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1416  6 device 1 1317  
562 14 Dtool_62HUPl6f 0 6 555 1324 0 14 Dtool_62HUPl6f 540 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::move_pointer
//       Access: Published, Virtual
//  Description: Forces the pointer to the indicated position within
//               the window, if possible.
//
//               Returns true if successful, false on failure.  This
//               may fail if the mouse is not currently within the
//               window, or if the API doesn't support this operation.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1418  6 device 1 1317  1 x 1 1317  1 y 1 1317  
563 14 Dtool_62HU_nZW 0 4 556 1318 0 14 Dtool_62HU_nZW 274 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::close_ime
//       Access: Published, Virtual
//  Description: Forces the ime window to close if any
//
//////////////////////////////////////////////////////////////////// 1 4 this 3 1418  
564 14 Dtool_62HUbjlV 0 4 557 1318 0 14 Dtool_62HUbjlV 343 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::add_custom_event_handler
//       Access: Published
//  Description: Adds a python event handler to be called
//               when a window event occurs.
//               
//////////////////////////////////////////////////////////////////// 3 4 this 3 1418  7 handler 1 1399  4 name 1 1399  
565 14 Dtool_62HU4ul5 0 4 558 1318 0 14 Dtool_62HU4ul5 304 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsWindow::remove_custom_event_handler
//       Access: Published
//  Description: Removes the specified python event handler.
//               
//////////////////////////////////////////////////////////////////// 2 4 this 3 1418  4 name 1 1399  
566 14 Dtool_62HUjGVA 0 7 559 1315 0 14 Dtool_62HUjGVA 0 0 
567 14 Dtool_62HUw_oh 0 4 580 1318 0 14 Dtool_62HUw_oh 1327 // Filename: callbackGraphicsWindow.I
// Created by:  drose (06Jan11)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_events_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window is polled for window events, including
//               mouse and keyboard events, as well as window resize
//               events and other system-generated events.
//
//               This callback will receive a
//               CallbackGraphicsWindow::EventsCallbackData.
//
//               This callback should process any system-generated
//               events, and call data->upcall() to process requested
//               property change requests made via
//               request_properties().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1423  6 object 1 1367  
568 14 Dtool_62HUAR7V 0 4 581 1318 0 14 Dtool_62HUAR7V 331 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_events_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_events_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1423  
569 14 Dtool_62HUbexL 0 7 582 1367 0 14 Dtool_62HUbexL 299 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_events_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_events_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1424  
570 14 Dtool_62HU4DCQ 0 4 583 1318 0 14 Dtool_62HU4DCQ 1100 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_properties_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window receives a property change request from
//               user code (e.g. via request_properties).
//
//               This callback will receive a
//               CallbackGraphicsWindow::PropertiesCallbackData, which
//               provides a get_properties() method that returns a
//               modifiable reference to a WindowsProperties object.
//               This object will contain only those properties
//               requested by user code.  The callback should handle
//               any of the requests it finds, including and
//               especially set_open(), and remove them from the
//               object when it has handled them.  Any unhandled
//               properties should be left unchanged in the properties
//               object.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1423  6 object 1 1367  
571 14 Dtool_62HUn_i0 0 4 584 1318 0 14 Dtool_62HUn_i0 339 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_properties_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_properties_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1423  
572 14 Dtool_62HUUXfq 0 7 585 1367 0 14 Dtool_62HUUXfq 307 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_properties_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_properties_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1424  
573 14 Dtool_62HUetLf 0 4 586 1318 0 14 Dtool_62HUetLf 702 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::set_render_callback
//       Access: Published
//  Description: Sets the CallbackObject that will be notified when
//               this window is invoked (in the draw thread) to render
//               its contents, and/or flip the graphics buffers.
//
//               This callback will actually serve several different
//               functions.  It receivces a RenderCallbackData, and
//               you can query data->get_callback_type() to return the
//               actual function of each particular callback.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1423  6 object 1 1367  
574 14 Dtool_62HUxQAK 0 4 587 1318 0 14 Dtool_62HUxQAK 331 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::clear_render_callback
//       Access: Published
//  Description: Removes the callback set by an earlier call to
//               set_render_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1423  
575 14 Dtool_62HUvJVJ 0 7 588 1367 0 14 Dtool_62HUvJVJ 299 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_render_callback
//       Access: Published
//  Description: Returns the CallbackObject set by set_render_callback().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1424  
576 14 Dtool_62HU1QMX 0 6 589 1408 0 14 Dtool_62HU1QMX 480 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::get_input_device
//       Access: Published
//  Description: Returns a writable reference to the nth input device
//               (mouse).  This is intended to be used for the window
//               implementation to record mouse and keyboard input
//               information for the Panda system.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1423  6 device 1 1317  
577 14 Dtool_62HUWnP_ 0 6 590 1317 0 14 Dtool_62HUWnP_ 385 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::create_input_device
//       Access: Published
//  Description: Adds a new input device (mouse) to the window with
//               the indicated name.  Returns the index of the new
//               device.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1423  4 name 1 1321  
578 14 Dtool_62HUTKC9 0 7 591 1315 0 14 Dtool_62HUTKC9 0 0 
579 14 Dtool_62HURmD4 0 7 562 1423 1045 14 Dtool_62HURmD4 306 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::WindowCallbackData::get_window
//       Access: Published
//  Description: Returns the window this callback was triggered from.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1426  
580 14 Dtool_62HU5Nl6 0 7 563 1315 0 14 Dtool_62HU5Nl6 0 0 
581 14 Dtool_62HUQICH 0 7 566 1315 0 14 Dtool_62HUQICH 0 0 
582 14 Dtool_62HUpcBm 0 6 569 1340 0 14 Dtool_62HUpcBm 504 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::PropertiesCallbackData::get_properties
//       Access: Published
//  Description: Returns the WindowProperties object that this
//               callback should process.  Any properties that are
//               handled should be removed from this object;
//               properties that are unhandled should be left alone.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1428  
583 14 Dtool_62HUT67_ 0 7 570 1315 0 14 Dtool_62HUT67_ 0 0 
584 14 Dtool_62HUoeV8 0 6 574 1300 0 14 Dtool_62HUoeV8 467 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_callback_type
//       Access: Published
//  Description: Since the render callback is shared for several
//               functions, this method is needed to indicate which
//               particular function is being invoked with this
//               callback.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1430  
585 14 Dtool_62HU1jTM 0 6 575 1289 0 14 Dtool_62HU1jTM 507 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_frame_mode
//       Access: Published
//  Description: If the callback type (returned by get_callback_type)
//               is RCT_begin_frame or RCT_end_frame, then this method
//               will return the particular frame mode indicating
//               what, precisely, we want to do this frame.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1430  
586 14 Dtool_62HUELCp 0 4 576 1318 0 14 Dtool_62HUELCp 549 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::set_render_flag
//       Access: Published
//  Description: If the callback type is RCT_begin_frame, this call is
//               available to specify the return value from the
//               begin_frame() call.  If this is true (the default),
//               the frame is rendered normally; if it is false, the
//               frame is omitted.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1432  11 render_flag 1 1324  
587 14 Dtool_62HU9SDX 0 6 577 1324 0 14 Dtool_62HU9SDX 347 ////////////////////////////////////////////////////////////////////
//     Function: CallbackGraphicsWindow::RenderCallbackData::get_render_flag
//       Access: Published
//  Description: Returns the current setting of the render flag.  See
//               set_render_flag().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1430  
588 14 Dtool_62HUHK2f 0 7 578 1315 0 14 Dtool_62HUHK2f 0 0 
589 14 Dtool_62HUeb9k 0 6 593 1435 0 14 Dtool_62HUeb9k 869 // Filename: displayRegionCullCallbackData.I
// Created by:  drose (14Mar09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionCullCallbackData::get_cull_handler
//       Access: Published
//  Description: Returns a pointer to the CullHandler, which accepts
//               each object to be added to the list for drawing.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1433  
590 14 Dtool_62HUc6C0 0 7 594 1401 0 14 Dtool_62HUc6C0 360 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionCullCallbackData::get_scene_setup
//       Access: Published
//  Description: Returns a pointer to the SceneSetup object, which
//               contains information about the camera and such.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1433  
591 14 Dtool_62HU_hfB 0 7 595 1315 0 14 Dtool_62HU_hfB 0 0 
592 14 Dtool_62HU6KCi 0 7 598 1440 0 14 Dtool_62HU6KCi 893 // Filename: displayRegionDrawCallbackData.I
// Created by:  drose (13Mar09)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionDrawCallbackData::get_cull_result
//       Access: Published
//  Description: Returns a pointer to the CullResult, the list of
//               CullableObjects that should be drawn in this
//               DisplayRegion.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1438  
593 14 Dtool_62HU3Sjb 0 7 599 1401 0 14 Dtool_62HU3Sjb 360 ////////////////////////////////////////////////////////////////////
//     Function: DisplayRegionDrawCallbackData::get_scene_setup
//       Access: Published
//  Description: Returns a pointer to the SceneSetup object, which
//               contains information about the camera and such.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1438  
594 14 Dtool_62HUao_o 0 7 600 1315 0 14 Dtool_62HUao_o 0 0 
595 14 Dtool_62HULHQY 0 7 603 1441 1209 14 Dtool_62HULHQY 236 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::Constructor
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 0 
596 14 Dtool_62HU8Zgh 0 4 605 1318 0 14 Dtool_62HU8Zgh 242 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_width
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  13 minimum_width 1 1317  
597 14 Dtool_62HU6RSe 0 4 606 1318 0 14 Dtool_62HU6RSe 242 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_width
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  13 maximum_width 1 1317  
598 14 Dtool_62HUt5bs 0 4 607 1318 0 14 Dtool_62HUt5bs 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_height
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  14 minimum_height 1 1317  
599 14 Dtool_62HUXyNp 0 4 608 1318 0 14 Dtool_62HUXyNp 243 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_height
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  14 maximum_height 1 1317  
600 14 Dtool_62HUFe4X 0 4 609 1318 0 14 Dtool_62HUFe4X 251 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_minimum_bits_per_pixel
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  22 minimum_bits_per_pixel 1 1317  
601 14 Dtool_62HUbWqU 0 4 610 1318 0 14 Dtool_62HUbWqU 251 ////////////////////////////////////////////////////////////////////
//     Function: DisplaySearchParameters::set_maximum_bits_per_pixel
//       Access: Published
//  Description: 
//////////////////////////////////////////////////////////////////// 2 4 this 3 1441  22 maximum_bits_per_pixel 1 1317  
602 14 Dtool_62HUs2_j 0 4 612 1318 0 14 Dtool_62HUs2_j 548 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsBuffer::set_size
//       Access: Public, Virtual
//  Description: This is called by the GraphicsEngine to request that
//               the buffer resize itself.  Although calls to get the
//               size will return the new value, much of the actual
//               resizing work doesn't take place until the next
//               begin_frame.  Not all buffers are resizeable.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1442  1 x 1 1317  1 y 1 1317  
603 14 Dtool_62HUJuQB 0 7 613 1315 0 14 Dtool_62HUJuQB 0 0 
604 14 Dtool_62HUGcAr 0 7 616 1389 0 14 Dtool_62HUGcAr 448 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::Constructor
//       Access: Published
//  Description: Creates a new GraphicsEngine object.  The Pipeline is
//               normally left to default to NULL, which indicates the
//               global render pipeline, but it may be any Pipeline
//               you choose.
//////////////////////////////////////////////////////////////////// 1 8 pipeline 1 1443  
605 14 Dtool_62HU3Xr_ 0 7 616 1389 0 14 Dtool_62HU3Xr_ 448 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::Constructor
//       Access: Published
//  Description: Creates a new GraphicsEngine object.  The Pipeline is
//               normally left to default to NULL, which indicates the
//               global render pipeline, but it may be any Pipeline
//               you choose.
//////////////////////////////////////////////////////////////////// 0 
606 14 Dtool_62HUkzZy 0 4 617 1318 0 14 Dtool_62HUkzZy 422 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_threading_model
//       Access: Published
//  Description: Specifies how future objects created via make_gsg(),
//               make_buffer(), and make_window() will be threaded.
//               This does not affect any already-created objects.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  15 threading_model 1 1381  
607 14 Dtool_62HU_NLg 0 7 618 1383 960 14 Dtool_62HU_NLg 347 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_threading_model
//       Access: Published
//  Description: Returns the threading model that will be applied to
//               future objects.  See set_threading_model().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
608 14 Dtool_62HUbqNp 0 6 619 1447 0 14 Dtool_62HUbqNp 1010 // Filename: graphicsEngine.I
// Created by:  drose (24Feb02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_render_lock
//       Access: Published
//  Description: Returns a ReMutex object that is held by the
//               GraphicsEngine during the entire call to
//               render_frame().  While you hold this lock you can be
//               confident that no part of the frame will be rendered
//               (at least by the app thread).
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
609 14 Dtool_62HUpnHT 0 4 620 1318 0 14 Dtool_62HUpnHT 925 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_auto_flip
//       Access: Published
//  Description: Set this flag true to indicate the GraphicsEngine
//               should automatically cause windows to sync and flip
//               as soon as they have finished drawing, rather than
//               waiting for all of the windows to finish drawing
//               first so they can flip together.
//
//               This only affects the timing of when the flip occurs.
//               If this is true (the default), the flip occurs before
//               render_frame() returns.  If this is false, the flip
//               occurs whenever flip_frame() is called, or at the
//               beginning of the next call to render_frame(), if
//               flip_frame() is never called.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  9 auto_flip 1 1324  
610 14 Dtool_62HUdDTb 0 6 621 1324 0 14 Dtool_62HUdDTb 316 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_auto_flip
//       Access: Published
//  Description: Returns the current setting for the auto-flip flag.
//               See set_auto_flip.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
611 14 Dtool_62HU5bdZ 0 4 622 1318 0 14 Dtool_62HU5bdZ 325 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_portal_cull
//       Access: Published
//  Description: Set this flag true to indicate the GraphicsEngine
//               should start portal culling
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  5 value 1 1324  
612 14 Dtool_62HUsi85 0 6 623 1324 0 14 Dtool_62HUsi85 287 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_portal_cull
//       Access: Published
//  Description: Returns the current setting for the portal culling flag.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
613 14 Dtool_62HUm7fs 0 4 624 1318 0 14 Dtool_62HUm7fs 398 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::set_default_loader
//       Access: Public
//  Description: Sets the Loader object that will be assigned to every
//               GSG created with this GraphicsEngine.  See
//               GraphicsStateGuardian::set_loader().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  6 loader 1 1387  
614 14 Dtool_62HUL2Ib 0 7 625 1387 0 14 Dtool_62HUL2Ib 410 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_default_loader
//       Access: Public, Virtual
//  Description: Returns the Loader object that will be assigned to
//               every GSG created with this GraphicsEngine.  See
//               GraphicsStateGuardian::set_loader().
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
615 14 Dtool_62HU6E_Y 0 7 626 1356 1045 14 Dtool_62HU6E_Y 760 // THIS IS THE OLD CODE FOR make_gsg
//  PT(GraphicsStateGuardian) gsg = pipe->make_gsg(properties, share_with);
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_output
//       Access: Published
//  Description: Creates a new window (or buffer) and returns it.
//               The GraphicsEngine becomes the owner of the window,
//               it will persist at least until remove_window() is
//               called later.
//
//               If a null pointer is supplied for the gsg, then this
//               routine will create a new gsg.
//               
//               This routine is only called from the app thread.
//////////////////////////////////////////////////////////////////// 9 4 this 3 1389  4 pipe 1 1313  4 name 1 1321  4 sort 1 1317  7 fb_prop 1 1379  8 win_prop 1 1341  5 flags 1 1317  3 gsg 1 1384  4 host 1 1356  
616 14 Dtool_62HUHZRz 0 7 626 1356 1045 14 Dtool_62HUHZRz 760 // THIS IS THE OLD CODE FOR make_gsg
//  PT(GraphicsStateGuardian) gsg = pipe->make_gsg(properties, share_with);
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_output
//       Access: Published
//  Description: Creates a new window (or buffer) and returns it.
//               The GraphicsEngine becomes the owner of the window,
//               it will persist at least until remove_window() is
//               called later.
//
//               If a null pointer is supplied for the gsg, then this
//               routine will create a new gsg.
//               
//               This routine is only called from the app thread.
//////////////////////////////////////////////////////////////////// 8 4 this 3 1389  4 pipe 1 1313  4 name 1 1321  4 sort 1 1317  7 fb_prop 1 1379  8 win_prop 1 1341  5 flags 1 1317  3 gsg 1 1384  
617 14 Dtool_62HUo_rj 0 7 626 1356 1045 14 Dtool_62HUo_rj 760 // THIS IS THE OLD CODE FOR make_gsg
//  PT(GraphicsStateGuardian) gsg = pipe->make_gsg(properties, share_with);
////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_output
//       Access: Published
//  Description: Creates a new window (or buffer) and returns it.
//               The GraphicsEngine becomes the owner of the window,
//               it will persist at least until remove_window() is
//               called later.
//
//               If a null pointer is supplied for the gsg, then this
//               routine will create a new gsg.
//               
//               This routine is only called from the app thread.
//////////////////////////////////////////////////////////////////// 7 4 this 3 1389  4 pipe 1 1313  4 name 1 1321  4 sort 1 1317  7 fb_prop 1 1379  8 win_prop 1 1341  5 flags 1 1317  
618 14 Dtool_62HUQ92T 0 7 627 1356 1045 14 Dtool_62HUQ92T 723 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_buffer
//       Access: Published
//  Description: Syntactic shorthand for make_output.  This is the
//               preferred way to create an offscreen buffer, when you
//               already have an onscreen window or another buffer to
//               start with.  For the first parameter, pass an
//               existing GraphicsOutput object, e.g. the main window;
//               this allows the buffer to adapt itself to that
//               window's framebuffer properties, and allows maximum
//               sharing of resources.
//////////////////////////////////////////////////////////////////// 6 4 this 3 1389  4 host 1 1356  4 name 1 1321  4 sort 1 1317  6 x_size 1 1317  6 y_size 1 1317  
619 14 Dtool_62HUG7HJ 0 7 627 1356 1045 14 Dtool_62HUG7HJ 1177 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_buffer
//       Access: Published
//  Description: Syntactic shorthand for make_output.  This flavor
//               accepts a GSG rather than a GraphicsOutput as the
//               first parameter, which is too limiting and disallows
//               the possibility of creating a ParasiteBuffer if the
//               user's graphics hardware prefers that.  It also
//               attempts to request specific framebuffer properties
//               and may therefore do a poorer job of sharing the GSG
//               between the old buffer and the new.
//
//               For these reasons, this variant is a poor choice
//               unless you are creating an offscreen buffer for the
//               first time, without an onscreen window already in
//               existence.  If you already have an onscreen window,
//               you should use the other flavor of make_buffer()
//               instead, which accepts a GraphicsOutput as the first
//               parameter.
//////////////////////////////////////////////////////////////////// 6 4 this 3 1389  3 gsg 1 1384  4 name 1 1321  4 sort 1 1317  6 x_size 1 1317  6 y_size 1 1317  
620 14 Dtool_62HUs8x6 0 7 628 1356 1045 14 Dtool_62HUs8x6 265 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::make_parasite
//       Access: Published
//  Description: Syntactic shorthand for make_buffer.
//////////////////////////////////////////////////////////////////// 6 4 this 3 1389  4 host 1 1356  4 name 1 1321  4 sort 1 1317  6 x_size 1 1317  6 y_size 1 1317  
621 14 Dtool_62HUQEjj 0 6 629 1324 0 14 Dtool_62HUQEjj 1357 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::remove_window
//       Access: Published
//  Description: Removes the indicated window or offscreen buffer from
//               the set of windows that will be processed when
//               render_frame() is called.  This also closes the
//               window if it is open, and removes the window from its
//               GraphicsPipe, allowing the window to be destructed if
//               there are no other references to it.  (However, the
//               window may not be actually closed until next frame,
//               if it is controlled by a sub-thread.)
//
//               The return value is true if the window was removed,
//               false if it was not found.
//
//               Unlike remove_all_windows(), this function does not
//               terminate any of the threads that may have been
//               started to service this window; they are left running
//               (since you might open a new window later on these
//               threads).  If your intention is to clean up before
//               shutting down, it is better to call
//               remove_all_windows() then to call remove_window() one
//               at a time.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  6 window 1 1356  
622 14 Dtool_62HUbizP 0 4 630 1318 0 14 Dtool_62HUbizP 412 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::remove_all_windows
//       Access: Published
//  Description: Removes and closes all windows from the engine.  This
//               also cleans up and terminates any threads that have
//               been started to service those windows.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
623 14 Dtool_62HU7tzD 0 4 631 1318 0 14 Dtool_62HU7tzD 466 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::reset_all_windows
//       Access: Published
//  Description: Resets the framebuffer of the current window.  This
//               is currently used by DirectX 8 only. It calls a
//               reset_window function on each active window to 
//               release/create old/new framebuffer
//////////////////////////////////////////////////////////////////// 2 4 this 3 1389  9 swapchain 1 1324  
624 14 Dtool_62HUqWta 0 6 632 1324 0 14 Dtool_62HUqWta 360 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::is_empty
//       Access: Published
//  Description: Returns true if there are no windows or buffers
//               managed by the engine, false if there is at least
//               one.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
625 14 Dtool_62HUxJBp 0 6 633 1317 0 14 Dtool_62HUxJBp 313 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_num_windows
//       Access: Published
//  Description: Returns the number of windows (or buffers) managed by
//               the engine.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1445  
626 14 Dtool_62HULl7l 0 7 634 1356 1045 14 Dtool_62HULl7l 316 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_window
//       Access: Published
//  Description: Returns the nth window or buffers managed by the
//               engine, in sorted order.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1445  1 n 1 1317  
627 14 Dtool_62HU4GAK 0 4 635 1318 0 14 Dtool_62HU4GAK 334 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::render_frame
//       Access: Published
//  Description: Renders the next frame in all the registered windows,
//               and flips all of the frame buffers.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
628 14 Dtool_62HUfeD_ 0 4 636 1318 0 14 Dtool_62HUfeD_ 658 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::open_windows
//       Access: Published
//  Description: Fully opens (or closes) any windows that have
//               recently been requested open or closed, without
//               rendering any frames.  It is not necessary to call
//               this explicitly, since windows will be automatically
//               opened or closed when the next frame is rendered, but
//               you may call this if you want your windows now
//               without seeing a frame go by.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
629 14 Dtool_62HUNMb_ 0 4 637 1318 0 14 Dtool_62HUNMb_ 558 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::sync_frame
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing.  The windows are not
//               yet flipped when this returns; see also flip_frame().
//               It is not usually necessary to call this explicitly,
//               unless you need to see the previous frame right away.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
630 14 Dtool_62HUmoKK 0 4 638 1318 0 14 Dtool_62HUmoKK 963 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::ready_flip
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing. Returns when all threads have
//               actually finished drawing, as opposed to 'sync_frame'
//               we seems to return once all draw calls have been submitted.
//               Calling 'flip_frame' after this function should immediately
//               cause a buffer flip.  This function will only work in
//               opengl right now, for all other graphics pipelines it will 
//               simply return immediately.  In opengl it's a bit of a hack:
//               it will attempt to read a single pixel from the frame buffer to
//               force the graphics card to finish drawing before it returns
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
631 14 Dtool_62HUbWRO 0 4 639 1318 0 14 Dtool_62HUbWRO 516 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::flip_frame
//       Access: Published
//  Description: Waits for all the threads that started drawing their
//               last frame to finish drawing, and then flips all the
//               windows.  It is not usually necessary to call this
//               explicitly, unless you need to see the previous frame
//               right away.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1389  
632 14 Dtool_62HU8ADE 0 6 640 1324 0 14 Dtool_62HU8ADE 1560 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::extract_texture_data
//       Access: Published
//  Description: Asks the indicated GraphicsStateGuardian to retrieve
//               the texture memory image of the indicated texture and
//               store it in the texture's ram_image field.  The image
//               can then be written to disk via Texture::write(), or
//               otherwise manipulated on the CPU.
//
//               This is useful for retrieving the contents of a
//               texture that has been somehow generated on the
//               graphics card, instead of having been loaded the
//               normal way via Texture::read() or Texture::load().
//               It is particularly useful for getting the data
//               associated with a compressed texture image.
//
//               Since this requires a round-trip to the draw thread,
//               it may require waiting for the current thread to
//               finish rendering if it is called in a multithreaded
//               environment.  However, you can call this several
//               consecutive times on different textures for little
//               additional cost.
//
//               If the texture has not yet been loaded to the GSG in
//               question, it will be loaded immediately.
//
//               The return value is true if the operation is
//               successful, false otherwise.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1389  3 tex 1 1371  3 gsg 1 1384  
633 14 Dtool_62HUFtSe 0 4 641 1318 0 14 Dtool_62HUFtSe 1071 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::dispatch_compute
//       Access: Published
//  Description: Asks the indicated GraphicsStateGuardian to dispatch
//               the compute shader in the given ShaderAttrib using
//               the given work group counts.  This can act as an
//               interface for running a one-off compute shader,
//               without having to store it in the scene graph using
//               a ComputeNode.
//
//               Since this requires a round-trip to the draw thread,
//               it may require waiting for the current thread to
//               finish rendering if it is called in a multithreaded
//               environment.  However, you can call this several
//               consecutive times on different textures for little
//               additional cost.
//
//               The return value is true if the operation is
//               successful, false otherwise.
//////////////////////////////////////////////////////////////////// 4 4 this 3 1389  11 work_groups 1 1450  5 sattr 1 1453  3 gsg 1 1384  
634 14 Dtool_62HUB52G 0 7 642 1389 0 14 Dtool_62HUB52G 238 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsEngine::get_global_ptr
//       Access: Published, Static
//  Description: 
//////////////////////////////////////////////////////////////////// 0 
635 14 Dtool_62HUkGJV 0 6 644 1317 0 14 Dtool_62HUkGJV 382 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_num_pipe_types
//       Access: Published
//  Description: Returns the number of different types of
//               GraphicsPipes that are available to create through
//               this interface.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1456  
636 14 Dtool_62HUdWon 0 7 645 1315 0 14 Dtool_62HUdWon 323 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_pipe_type
//       Access: Published
//  Description: Returns the nth type of GraphicsPipe available
//               through this interface.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1456  1 n 1 1317  
637 14 Dtool_62HUKhch 0 4 646 1318 0 14 Dtool_62HUKhch 348 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::print_pipe_types
//       Access: Published
//  Description: Writes a list of the currently known GraphicsPipe
//               types to nout, for the user's information.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1456  
638 14 Dtool_62HUgtWV 0 7 647 1313 0 14 Dtool_62HUgtWV 456 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of the indicated type (or
//               a type more specific than the indicated type, if
//               necessary) and returns it.  Returns NULL if the type
//               cannot be matched.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1458  4 type 1 1315  
639 14 Dtool_62HU_DWW 0 7 647 1313 0 14 Dtool_62HU_DWW 651 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of the indicated type (or
//               a type more specific than the indicated type, if
//               necessary) and returns it.  Returns NULL if the type
//               cannot be matched.
//
//               If the type is not already defined, this will
//               implicitly load the named module, or if module_name
//               is empty, it will call load_aux_modules().
//////////////////////////////////////////////////////////////////// 3 4 this 3 1458  9 type_name 1 1321  11 module_name 1 1321  
640 14 Dtool_62HU053M 0 7 647 1313 0 14 Dtool_62HU053M 651 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of the indicated type (or
//               a type more specific than the indicated type, if
//               necessary) and returns it.  Returns NULL if the type
//               cannot be matched.
//
//               If the type is not already defined, this will
//               implicitly load the named module, or if module_name
//               is empty, it will call load_aux_modules().
//////////////////////////////////////////////////////////////////// 2 4 this 3 1458  9 type_name 1 1321  
641 14 Dtool_62HU7Nor 0 7 648 1313 0 14 Dtool_62HU7Nor 430 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_module_pipe
//       Access: Published
//  Description: Returns a new GraphicsPipe of a type defined by the
//               indicated module.  Returns NULL if the module is not
//               found or does not properly recommend a GraphicsPipe.
//////////////////////////////////////////////////////////////////// 2 4 this 3 1458  11 module_name 1 1321  
642 14 Dtool_62HUJlGM 0 7 649 1313 0 14 Dtool_62HUJlGM 426 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::make_default_pipe
//       Access: Published
//  Description: Creates a new GraphicsPipe of some arbitrary type.
//               The user may specify a preference using the Configrc
//               file; otherwise, one will be chosen arbitrarily.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1458  
643 14 Dtool_62HUtQ2r 0 6 650 1317 0 14 Dtool_62HUtQ2r 969 // Filename: graphicsPipeSelection.I
// Created by:  drose (15Aug02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_num_aux_modules
//       Access: Published
//  Description: Returns the number of display modules that are still
//               to be loaded.  If this is nonzero, then calling
//               load_aux_modules() will likely increase the number of
//               GraphicsPipes available.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1456  
644 14 Dtool_62HU4_4n 0 4 651 1318 0 14 Dtool_62HU4_4n 391 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::load_aux_modules
//       Access: Published
//  Description: Loads all the modules named in the aux-display
//               Configrc variable, making as many graphics pipes as
//               possible available.
//////////////////////////////////////////////////////////////////// 1 4 this 3 1458  
645 14 Dtool_62HUa86m 0 6 652 1458 0 14 Dtool_62HUa86m 327 ////////////////////////////////////////////////////////////////////
//     Function: GraphicsPipeSelection::get_global_ptr
//       Access: Published, Static
//  Description: Returns a pointer to the one global
//               GraphicsPipeSelection object.
//////////////////////////////////////////////////////////////////// 0 
646 14 Dtool_62HUzpWM 0 7 654 1334 0 14 Dtool_62HUzpWM 607 ////////////////////////////////////////////////////////////////////
//     Function: NativeWindowHandle::make_int
//       Access: Published, Static
//  Description: Constructs a new WindowHandle with an int value,
//               which is understood to be either an HWND or a Window,
//               cast to int.  This method exists for the convenience
//               of Python, which likes to deal with ints; C++ code
//               should use one of the more specific make_x11() or
//               make_win32() methods instead.
//////////////////////////////////////////////////////////////////// 1 6 window 1 1320  
647 14 Dtool_62HUP_i_ 0 7 655 1334 0 14 Dtool_62HUP_i_ 636 ////////////////////////////////////////////////////////////////////
//     Function: NativeWindowHandle::make_subprocess
//       Access: Published, Static
//  Description: Constructs a new WindowHandle that references a
//               SubprocessWindowBuffer read in another process, with
//               the named pipe filename that it uses for
//               communication.
//
//               This is (at present, and maybe always) useful only on
//               the OS X platform, where parenting child windows is
//               particularly problematic.
//////////////////////////////////////////////////////////////////// 1 8 filename 1 1349  
648 14 Dtool_62HU9VjG 0 7 656 1315 0 14 Dtool_62HU9VjG 0 0 
649 14 Dtool_62HUvamu 0 4 659 1318 0 14 Dtool_62HUvamu 548 ////////////////////////////////////////////////////////////////////
//     Function: ParasiteBuffer::set_size
//       Access: Public, Virtual
//  Description: This is called by the GraphicsEngine to request that
//               the buffer resize itself.  Although calls to get the
//               size will return the new value, much of the actual
//               resizing work doesn't take place until the next
//               begin_frame.  Not all buffers are resizeable.
//////////////////////////////////////////////////////////////////// 3 4 this 3 1459  1 x 1 1317  1 y 1 1317  
650 14 Dtool_62HUKj4L 0 7 660 1315 0 14 Dtool_62HUKj4L 0 0 
201
1260 14 GraphicsDevice 0 75777 14 GraphicsDevice 14 GraphicsDevice 0 0 0 0 0 0 2 651 652 0 0 1 0 1261 0 0 0 0 499
////////////////////////////////////////////////////////////////////
//       Class : GraphicsDevice
// Description : An abstract device object that is part of Graphics
//               Pipe. This device is set to NULL for OpenGL. But 
//               DirectX uses it to take control of multiple windows
//               under single device or multiple devices (i.e. more
//               than one adapters in the machine).   
//
////////////////////////////////////////////////////////////////////

1261 19 TypedReferenceCount 0 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710
////////////////////////////////////////////////////////////////////
//       Class : TypedReferenceCount
// Description : A base class for things which need to inherit from
//               both TypedObject and from ReferenceCount.  It's
//               convenient to define this intermediate base class
//               instead of multiply inheriting from the two classes
//               each time they are needed, so that we can sensibly
//               pass around pointers to things which are both
//               TypedObjects and ReferenceCounters.
//               
//               See also TypedObject for detailed instructions.
////////////////////////////////////////////////////////////////////

1262 18 DisplayInformation 0 26625 18 DisplayInformation 18 DisplayInformation 0 0 0 1 654 653 0 53 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 0 0 0 0 1 1263 239
////////////////////////////////////////////////////////////////////
//       Class : DisplayInformation
// Description : This class contains various display information.
////////////////////////////////////////////////////////////////////

1263 14 DetectionState 0 794624 34 DisplayInformation::DetectionState 34 DisplayInformation::DetectionState 1262 0 0 0 0 0 0 0 0 0 5 10 DS_unknown 30 DisplayInformation::DS_unknown 0 10 DS_success 30 DisplayInformation::DS_success 1 25 DS_direct_3d_create_error 45 DisplayInformation::DS_direct_3d_create_error 2 22 DS_create_window_error 42 DisplayInformation::DS_create_window_error 3 22 DS_create_device_error 42 DisplayInformation::DS_create_device_error 4 0 0

1264 12 GraphicsPipe 0 75777 12 GraphicsPipe 12 GraphicsPipe 0 0 0 0 0 0 9 708 709 710 711 712 713 714 715 716 0 0 1 0 1261 0 0 0 2 1265 1266 1126
////////////////////////////////////////////////////////////////////
//       Class : GraphicsPipe
// Description : An object to create GraphicsOutputs that share a
//               particular 3-D API.  Normally, there will only be one
//               GraphicsPipe in an application, although it is
//               possible to have multiple of these at once if there
//               are multiple different API's available in the same
//               machine.
//
//               Often, the GraphicsPipe corresponds to a physical
//               output device, hence the term "pipe", but this is not
//               necessarily the case.
//
//               The GraphicsPipe is used by the GraphicsEngine object
//               to create and destroy windows; it keeps ownership of
//               the windows it creates.
//
//               M. Asad added new/interim functionality where GraphicsPipe
//               now contains a device interface to directx/opengl which
//               will be used to handle multiple windows from same device.
//
////////////////////////////////////////////////////////////////////

1265 11 OutputTypes 0 794624 25 GraphicsPipe::OutputTypes 25 GraphicsPipe::OutputTypes 1264 0 0 0 0 0 0 0 0 0 4 9 OT_window 23 GraphicsPipe::OT_window 1 20 OT_fullscreen_window 34 GraphicsPipe::OT_fullscreen_window 2 9 OT_buffer 23 GraphicsPipe::OT_buffer 4 17 OT_texture_buffer 31 GraphicsPipe::OT_texture_buffer 8 0 0

1266 19 BufferCreationFlags 0 794624 33 GraphicsPipe::BufferCreationFlags 33 GraphicsPipe::BufferCreationFlags 1264 0 0 0 0 0 0 0 0 0 14 18 BF_refuse_parasite 32 GraphicsPipe::BF_refuse_parasite 1 19 BF_require_parasite 33 GraphicsPipe::BF_require_parasite 2 16 BF_refuse_window 30 GraphicsPipe::BF_refuse_window 4 17 BF_require_window 31 GraphicsPipe::BF_require_window 8 26 BF_require_callback_window 40 GraphicsPipe::BF_require_callback_window 16 17 BF_can_bind_color 31 GraphicsPipe::BF_can_bind_color 64 17 BF_can_bind_every 31 GraphicsPipe::BF_can_bind_every 128 13 BF_resizeable 27 GraphicsPipe::BF_resizeable 256 18 BF_size_track_host 32 GraphicsPipe::BF_size_track_host 512 17 BF_rtt_cumulative 31 GraphicsPipe::BF_rtt_cumulative 1024 20 BF_fb_props_optional 34 GraphicsPipe::BF_fb_props_optional 2048 14 BF_size_square 28 GraphicsPipe::BF_size_square 4096 15 BF_size_power_2 29 GraphicsPipe::BF_size_power_2 8192 19 BF_can_bind_layered 33 GraphicsPipe::BF_can_bind_layered 16384 0 0

1267 14 DrawableRegion 0 26625 14 DrawableRegion 14 DrawableRegion 0 0 0 0 717 0 23 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 0 0 0 0 1 1268 655
////////////////////////////////////////////////////////////////////
//       Class : DrawableRegion
// Description : This is a base class for GraphicsWindow (actually,
//               GraphicsOutput) and DisplayRegion, both of which are
//               conceptually rectangular regions into which drawing
//               commands may be issued.  Sometimes you want to deal
//               with a single display region, and sometimes you want
//               to deal with the whole window at once, particularly
//               for issuing clear commands and capturing screenshots.
////////////////////////////////////////////////////////////////////

1268 18 RenderTexturePlane 0 794624 34 DrawableRegion::RenderTexturePlane 34 DrawableRegion::RenderTexturePlane 1267 0 0 0 0 0 0 0 0 0 17 11 RTP_stencil 27 DrawableRegion::RTP_stencil 0 17 RTP_depth_stencil 33 DrawableRegion::RTP_depth_stencil 1 9 RTP_color 25 DrawableRegion::RTP_color 2 14 RTP_aux_rgba_0 30 DrawableRegion::RTP_aux_rgba_0 3 14 RTP_aux_rgba_1 30 DrawableRegion::RTP_aux_rgba_1 4 14 RTP_aux_rgba_2 30 DrawableRegion::RTP_aux_rgba_2 5 14 RTP_aux_rgba_3 30 DrawableRegion::RTP_aux_rgba_3 6 15 RTP_aux_hrgba_0 31 DrawableRegion::RTP_aux_hrgba_0 7 15 RTP_aux_hrgba_1 31 DrawableRegion::RTP_aux_hrgba_1 8 15 RTP_aux_hrgba_2 31 DrawableRegion::RTP_aux_hrgba_2 9 15 RTP_aux_hrgba_3 31 DrawableRegion::RTP_aux_hrgba_3 10 15 RTP_aux_float_0 31 DrawableRegion::RTP_aux_float_0 11 15 RTP_aux_float_1 31 DrawableRegion::RTP_aux_float_1 12 15 RTP_aux_float_2 31 DrawableRegion::RTP_aux_float_2 13 15 RTP_aux_float_3 31 DrawableRegion::RTP_aux_float_3 14 9 RTP_depth 25 DrawableRegion::RTP_depth 15 9 RTP_COUNT 25 DrawableRegion::RTP_COUNT 16 0 168
// It seems awkward to have this type, and also
// RenderBuffer::Type.  However, the fact that RenderBuffer::Type
// is a bitmask makes it awfully awkward to work with.

1269 12 WindowHandle 0 75777 12 WindowHandle 12 WindowHandle 0 0 0 1 741 0 0 6 742 743 744 745 746 750 0 0 1 0 1261 0 0 0 1 1270 859
////////////////////////////////////////////////////////////////////
//       Class : WindowHandle
// Description : This object represents a window on the desktop, not
//               necessarily a Panda window.  This structure can be
//               assigned to a WindowProperties to indicate a parent
//               window.
//
//               It also has callbacks so the Panda window can
//               communicate with its parent window, which is
//               particularly important when running embedded in a
//               browser.
//
//               To create a WindowHandle, you would usually call one
//               of the NativeWindowHandle::make_*() methods,
//               depending on the kind of native window handle object
//               you already have.
////////////////////////////////////////////////////////////////////

1270 8 OSHandle 0 337921 22 WindowHandle::OSHandle 22 WindowHandle::OSHandle 1269 0 0 0 0 0 3 747 748 749 0 0 1 0 1261 0 0 0 0 154
// This internal pointer within WindowHandle stores the actual
// OS-specific window handle type, whatever type that is.  It is
// subclassed for each OS.

1271 16 WindowProperties 0 26625 16 WindowProperties 16 WindowProperties 0 0 0 1 751 753 0 80 752 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 0 0 0 0 2 1272 1273 436
////////////////////////////////////////////////////////////////////
//       Class : WindowProperties
// Description : A container for the various kinds of properties we
//               might ask to have on a graphics window before we open
//               it.  This also serves to hold the current properties
//               for a window after it has been opened.
////////////////////////////////////////////////////////////////////

1272 6 ZOrder 0 794624 24 WindowProperties::ZOrder 24 WindowProperties::ZOrder 1271 0 0 0 0 0 0 0 0 0 3 8 Z_bottom 26 WindowProperties::Z_bottom 0 8 Z_normal 26 WindowProperties::Z_normal 1 5 Z_top 23 WindowProperties::Z_top 2 0 0

1273 9 MouseMode 0 794624 27 WindowProperties::MouseMode 27 WindowProperties::MouseMode 1271 0 0 0 0 0 0 0 0 0 2 10 M_absolute 28 WindowProperties::M_absolute 0 10 M_relative 28 WindowProperties::M_relative 1 0 0

1274 13 DisplayRegion 0 26625 13 DisplayRegion 13 DisplayRegion 0 0 0 0 837 0 47 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 0 0 2 3 1275 833 834 3 1267 835 836 0 0 677
////////////////////////////////////////////////////////////////////
//       Class : DisplayRegion
// Description : A rectangular subregion within a window for rendering
//               into.  Typically, there is one DisplayRegion that
//               covers the whole window, but you may also create
//               smaller DisplayRegions for having different regions
//               within the window that represent different scenes.
//               You may also stack up DisplayRegions like panes of
//               glass, usually for layering 2-d interfaces on top of
//               a 3-d scene.
////////////////////////////////////////////////////////////////////

1275 17 DisplayRegionBase 0 2049 17 DisplayRegionBase 17 DisplayRegionBase 0 0 0 0 0 0 0 0 0 0 0 0 307
////////////////////////////////////////////////////////////////////
//       Class : DisplayRegionBase
// Description : An abstract base class for DisplayRegion, mainly so
//               we can store DisplayRegion pointers in a Camera.
////////////////////////////////////////////////////////////////////

1276 19 StereoDisplayRegion 0 75777 19 StereoDisplayRegion 19 StereoDisplayRegion 0 0 0 0 837 0 3 885 886 887 0 0 1 0 1274 0 0 0 0 862
////////////////////////////////////////////////////////////////////
//       Class : StereoDisplayRegion
// Description : This is a special DisplayRegion wrapper that actually
//               includes a pair of DisplayRegions internally: the
//               left and right eyes.  The DisplayRegion represented
//               here does not have a physical association with the
//               window, but it pretends it does.  Instead, it
//               maintains a pointer to the left and right
//               DisplayRegions separately.
//
//               Operations on the StereoDisplayRegion object affect
//               both left and right eyes together.  To access the
//               left or right eyes independently, use get_left_eye()
//               and get_right_eye().
////////////////////////////////////////////////////////////////////

1277 21 FrameBufferProperties 0 26625 21 FrameBufferProperties 21 FrameBufferProperties 0 0 0 1 926 927 0 56 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 0 0 0 0 0 346
////////////////////////////////////////////////////////////////////
//       Class : FrameBufferProperties
// Description : A container for the various kinds of properties we
//               might ask to have on a graphics frameBuffer before we
//               create a GSG.
////////////////////////////////////////////////////////////////////

1278 22 GraphicsThreadingModel 0 141313 22 GraphicsThreadingModel 22 GraphicsThreadingModel 0 0 0 1 946 960 0 13 947 948 949 950 951 952 953 954 955 956 957 958 959 0 0 0 0 0 313
////////////////////////////////////////////////////////////////////
//       Class : GraphicsThreadingModel
// Description : This represents the user's specification of how a
//               particular frame is handled by the various threads.
////////////////////////////////////////////////////////////////////

1279 19 StencilRenderStates 0 26625 19 StencilRenderStates 19 StencilRenderStates 0 0 0 0 961 0 0 0 0 0 0 3 1280 1281 1282 516
////////////////////////////////////////////////////////////////////
//       Class : StencilRenderStates
// Description : An abstract cross-platform class for setting stencil
//               buffer render states.  Each gsg needs to create its
//               own low-level API specific functions on how to set
//               each render state. The "set_stencil_render_state"
//               function can be used in an immediate-mode fashion.
////////////////////////////////////////////////////////////////////

1280 18 StencilRenderState 0 794624 39 StencilRenderStates::StencilRenderState 39 StencilRenderStates::StencilRenderState 1279 0 0 0 0 0 0 0 0 0 17 16 SRS_front_enable 37 StencilRenderStates::SRS_front_enable 0 15 SRS_back_enable 36 StencilRenderStates::SRS_back_enable 1 29 SRS_front_comparison_function 50 StencilRenderStates::SRS_front_comparison_function 2 32 SRS_front_stencil_fail_operation 53 StencilRenderStates::SRS_front_stencil_fail_operation 3 39 SRS_front_stencil_pass_z_fail_operation 60 StencilRenderStates::SRS_front_stencil_pass_z_fail_operation 4 39 SRS_front_stencil_pass_z_pass_operation 60 StencilRenderStates::SRS_front_stencil_pass_z_pass_operation 5 13 SRS_reference 34 StencilRenderStates::SRS_reference 6 13 SRS_read_mask 34 StencilRenderStates::SRS_read_mask 7 14 SRS_write_mask 35 StencilRenderStates::SRS_write_mask 8 28 SRS_back_comparison_function 49 StencilRenderStates::SRS_back_comparison_function 9 31 SRS_back_stencil_fail_operation 52 StencilRenderStates::SRS_back_stencil_fail_operation 10 38 SRS_back_stencil_pass_z_fail_operation 59 StencilRenderStates::SRS_back_stencil_pass_z_fail_operation 11 38 SRS_back_stencil_pass_z_pass_operation 59 StencilRenderStates::SRS_back_stencil_pass_z_pass_operation 12 9 SRS_clear 30 StencilRenderStates::SRS_clear 13 15 SRS_clear_value 36 StencilRenderStates::SRS_clear_value 14 9 SRS_total 30 StencilRenderStates::SRS_total 15 9 SRS_first 30 StencilRenderStates::SRS_first 0 0 0

1281 25 StencilComparisonFunction 0 794624 46 StencilRenderStates::StencilComparisonFunction 46 StencilRenderStates::StencilComparisonFunction 1279 0 0 0 0 0 0 0 0 0 8 9 SCF_never 30 StencilRenderStates::SCF_never 0 13 SCF_less_than 34 StencilRenderStates::SCF_less_than 1 9 SCF_equal 30 StencilRenderStates::SCF_equal 2 22 SCF_less_than_or_equal 43 StencilRenderStates::SCF_less_than_or_equal 3 16 SCF_greater_than 37 StencilRenderStates::SCF_greater_than 4 13 SCF_not_equal 34 StencilRenderStates::SCF_not_equal 5 25 SCF_greater_than_or_equal 46 StencilRenderStates::SCF_greater_than_or_equal 6 10 SCF_always 31 StencilRenderStates::SCF_always 7 0 0

1282 16 StencilOperation 0 794624 37 StencilRenderStates::StencilOperation 37 StencilRenderStates::StencilOperation 1279 0 0 0 0 0 0 0 0 0 8 7 SO_keep 28 StencilRenderStates::SO_keep 0 7 SO_zero 28 StencilRenderStates::SO_zero 1 10 SO_replace 31 StencilRenderStates::SO_replace 2 12 SO_increment 33 StencilRenderStates::SO_increment 3 12 SO_decrement 33 StencilRenderStates::SO_decrement 4 9 SO_invert 30 StencilRenderStates::SO_invert 5 21 SO_increment_saturate 42 StencilRenderStates::SO_increment_saturate 6 21 SO_decrement_saturate 42 StencilRenderStates::SO_decrement_saturate 7 0 0

1283 21 GraphicsStateGuardian 0 75777 21 GraphicsStateGuardian 21 GraphicsStateGuardian 0 0 0 0 0 0 79 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 0 0 1 0 1284 0 0 0 1 1285 564
////////////////////////////////////////////////////////////////////
//       Class : GraphicsStateGuardian
// Description : Encapsulates all the communication with a particular
//               instance of a given rendering backend.  Tries to
//               guarantee that redundant state-change requests are
//               not issued (hence "state guardian").
//
//               There will be one of these objects for each different
//               graphics context active in the system.
////////////////////////////////////////////////////////////////////

1284 25 GraphicsStateGuardianBase 0 2049 25 GraphicsStateGuardianBase 25 GraphicsStateGuardianBase 0 0 0 0 0 0 0 1 1461 0 0 0 0 957
////////////////////////////////////////////////////////////////////
//       Class : GraphicsStateGuardianBase
// Description : This is a base class for the GraphicsStateGuardian
//               class, which is itself a base class for the various
//               GSG's for different platforms.  This class contains
//               all the function prototypes to support the
//               double-dispatch of GSG to geoms, transitions, etc.  It
//               lives in a separate class in its own package so we
//               can avoid circular build dependency problems.
//
//               GraphicsStateGuardians are not actually writable to
//               bam files, of course, but they may be passed as event
//               parameters, so they inherit from
//               TypedWritableReferenceCount instead of
//               TypedReferenceCount for that convenience.
////////////////////////////////////////////////////////////////////

1285 11 ShaderModel 0 794624 34 GraphicsStateGuardian::ShaderModel 34 GraphicsStateGuardian::ShaderModel 1283 0 0 0 0 0 0 0 0 0 7 5 SM_00 28 GraphicsStateGuardian::SM_00 0 5 SM_11 28 GraphicsStateGuardian::SM_11 1 5 SM_20 28 GraphicsStateGuardian::SM_20 2 5 SM_2X 28 GraphicsStateGuardian::SM_2X 3 5 SM_30 28 GraphicsStateGuardian::SM_30 4 5 SM_40 28 GraphicsStateGuardian::SM_40 5 5 SM_50 28 GraphicsStateGuardian::SM_50 6 0 0

1286 14 GraphicsOutput 0 26625 14 GraphicsOutput 14 GraphicsOutput 0 0 0 0 1045 0 73 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 2 1462 1463 0 2 3 1287 1041 1042 3 1267 1043 1044 0 2 1288 1289 1111
////////////////////////////////////////////////////////////////////
//       Class : GraphicsOutput
// Description : This is a base class for the various different
//               classes that represent the result of a frame of
//               rendering.  The most common kind of GraphicsOutput is
//               a GraphicsWindow, which is a real-time window on the
//               desktop, but another example is GraphicsBuffer, which
//               is an offscreen buffer.
//
//               The actual rendering, and anything associated with
//               the graphics context itself, is managed by the
//               associated GraphicsStateGuardian (which might output
//               to multiple GraphicsOutput objects).
//
//               GraphicsOutputs are not actually writable to bam
//               files, of course, but they may be passed as event
//               parameters, so they inherit from
//               TypedWritableReferenceCount instead of
//               TypedReferenceCount for that convenience.
////////////////////////////////////////////////////////////////////

1287 18 GraphicsOutputBase 0 2049 18 GraphicsOutputBase 18 GraphicsOutputBase 0 0 0 0 0 0 0 0 0 0 0 0 277
////////////////////////////////////////////////////////////////////
//       Class : GraphicsOutputBase
// Description : An abstract base class for GraphicsOutput, for all
//               the usual reasons.
////////////////////////////////////////////////////////////////////

1288 17 RenderTextureMode 0 794624 33 GraphicsOutput::RenderTextureMode 33 GraphicsOutput::RenderTextureMode 1286 0 0 0 0 0 0 0 0 0 7 8 RTM_none 24 GraphicsOutput::RTM_none 0 16 RTM_bind_or_copy 32 GraphicsOutput::RTM_bind_or_copy 1 16 RTM_copy_texture 32 GraphicsOutput::RTM_copy_texture 2 12 RTM_copy_ram 28 GraphicsOutput::RTM_copy_ram 3 26 RTM_triggered_copy_texture 42 GraphicsOutput::RTM_triggered_copy_texture 4 22 RTM_triggered_copy_ram 38 GraphicsOutput::RTM_triggered_copy_ram 5 16 RTM_bind_layered 32 GraphicsOutput::RTM_bind_layered 6 0 0

1289 9 FrameMode 0 794624 25 GraphicsOutput::FrameMode 25 GraphicsOutput::FrameMode 1286 0 0 0 0 0 0 0 0 0 3 9 FM_render 25 GraphicsOutput::FM_render 0 11 FM_parasite 27 GraphicsOutput::FM_parasite 1 10 FM_refresh 26 GraphicsOutput::FM_refresh 2 0 56
// There are many reasons to call begin_frame/end_frame.

1290 25 GraphicsWindowInputDevice 0 26625 25 GraphicsWindowInputDevice 25 GraphicsWindowInputDevice 0 0 0 0 1119 0 11 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 0 0 0 0 0 505
////////////////////////////////////////////////////////////////////
//       Class : GraphicsWindowInputDevice
// Description : This is a structure representing a single input
//               device that may be associated with a window.
//               Typically this will be a keyboard/mouse pair, and
//               there will be exactly one of these associated with
//               each window, but other variants are possible.
////////////////////////////////////////////////////////////////////

1291 9 TouchInfo 0 141313 9 TouchInfo 9 TouchInfo 0 0 0 0 1135 0 4 1131 1132 1133 1134 0 0 0 0 1 1292 226
////////////////////////////////////////////////////////////////////
//       Class : TouchInfo
// Description : Stores information for a single touch event.
////////////////////////////////////////////////////////////////////

1292 14 TouchInfoFlags 0 794624 25 TouchInfo::TouchInfoFlags 25 TouchInfo::TouchInfoFlags 1291 0 0 0 0 0 0 0 0 0 3 8 TIF_move 19 TouchInfo::TIF_move 1 8 TIF_down 19 TouchInfo::TIF_down 2 6 TIF_up 17 TouchInfo::TIF_up 4 0 0

1293 30 GraphicsWindowProcCallbackData 0 141313 30 GraphicsWindowProcCallbackData 30 GraphicsWindowProcCallbackData 0 0 0 0 1144 0 8 1136 1137 1138 1139 1140 1141 1142 1143 0 0 1 0 1294 0 0 0 0 408
////////////////////////////////////////////////////////////////////
//       Class : GraphicsWindowProcCallbackData
// Description : This specialization on CallbackData is passed when
//               the callback is initiated from from an implementation
//               of the GraphicsWindowProc class, such as PythonGraphicsWindowProc.
////////////////////////////////////////////////////////////////////

1294 12 CallbackData 0 2049 12 CallbackData 12 CallbackData 0 0 0 0 0 0 0 0 0 0 0 0 610
////////////////////////////////////////////////////////////////////
//       Class : CallbackData
// Description : This is a generic data block that is passed along to
//               a CallbackObject when a callback is made.  It
//               contains data specific to the particular callback
//               type in question.
//
//               This is actually an abstract base class and contains
//               no data.  Specializations of this class will contain
//               the actual data relevant to each callback type.
////////////////////////////////////////////////////////////////////

1295 14 GraphicsWindow 0 75777 14 GraphicsWindow 14 GraphicsWindow 0 0 0 0 1045 0 29 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1 1464 0 1 0 1286 0 0 0 0 329
////////////////////////////////////////////////////////////////////
//       Class : GraphicsWindow
// Description : A window, fullscreen or on a desktop, into which a
//               graphics device sends its output for interactive
//               display.
////////////////////////////////////////////////////////////////////

1296 22 CallbackGraphicsWindow 0 75777 22 CallbackGraphicsWindow 22 CallbackGraphicsWindow 0 0 0 0 1045 0 12 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 0 0 1 0 1295 0 0 0 5 1297 1298 1299 1300 1301 545
////////////////////////////////////////////////////////////////////
//       Class : CallbackGraphicsWindow
// Description : This special window object doesn't represent a window
//               in its own right, but instead hooks into some
//               third-party API for creating and rendering to windows
//               via callbacks.  This can be used to allow Panda to
//               render into an already-created OpenGL context, for
//               instance.
////////////////////////////////////////////////////////////////////

1297 18 WindowCallbackData 0 403457 42 CallbackGraphicsWindow::WindowCallbackData 42 CallbackGraphicsWindow::WindowCallbackData 1296 0 0 0 1176 0 2 1174 1175 0 0 1 0 1294 0 0 0 0 0

1298 18 EventsCallbackData 0 403457 42 CallbackGraphicsWindow::EventsCallbackData 42 CallbackGraphicsWindow::EventsCallbackData 1296 0 0 0 1178 0 1 1177 0 0 1 0 1297 0 0 0 0 0

1299 22 PropertiesCallbackData 0 403457 46 CallbackGraphicsWindow::PropertiesCallbackData 46 CallbackGraphicsWindow::PropertiesCallbackData 1296 0 0 0 1181 0 2 1179 1180 0 0 1 0 1297 0 0 0 0 0

1300 18 RenderCallbackType 0 794624 42 CallbackGraphicsWindow::RenderCallbackType 42 CallbackGraphicsWindow::RenderCallbackType 1296 0 0 0 0 0 0 0 0 0 4 15 RCT_begin_frame 39 CallbackGraphicsWindow::RCT_begin_frame 0 13 RCT_end_frame 37 CallbackGraphicsWindow::RCT_end_frame 1 14 RCT_begin_flip 38 CallbackGraphicsWindow::RCT_begin_flip 2 12 RCT_end_flip 36 CallbackGraphicsWindow::RCT_end_flip 3 0 0

1301 18 RenderCallbackData 0 403457 42 CallbackGraphicsWindow::RenderCallbackData 42 CallbackGraphicsWindow::RenderCallbackData 1296 0 0 0 1187 0 5 1182 1183 1184 1185 1186 0 0 1 0 1297 0 0 0 0 0

1302 29 DisplayRegionCullCallbackData 0 141313 29 DisplayRegionCullCallbackData 29 DisplayRegionCullCallbackData 0 0 0 0 1203 0 3 1200 1201 1202 0 0 1 0 1294 0 0 0 0 358
////////////////////////////////////////////////////////////////////
//       Class : DisplayRegionCullCallbackData
// Description : This specialization on CallbackData is passed when
//               the callback is initiated from the cull traversal,
//               for a DisplayRegion.
////////////////////////////////////////////////////////////////////

1303 29 DisplayRegionDrawCallbackData 0 141313 29 DisplayRegionDrawCallbackData 29 DisplayRegionDrawCallbackData 0 0 0 0 1207 0 3 1204 1205 1206 0 0 1 0 1294 0 0 0 0 358
////////////////////////////////////////////////////////////////////
//       Class : DisplayRegionDrawCallbackData
// Description : This specialization on CallbackData is passed when
//               the callback is initiated from the draw traversal,
//               for a DisplayRegion.
////////////////////////////////////////////////////////////////////

1304 23 DisplaySearchParameters 0 26625 23 DisplaySearchParameters 23 DisplaySearchParameters 0 0 0 1 1208 1209 0 6 1210 1211 1212 1213 1214 1215 0 0 0 0 0 247
////////////////////////////////////////////////////////////////////
//       Class : DisplaySearchParameters
// Description : Parameters used for searching display capabilities.
////////////////////////////////////////////////////////////////////

1305 14 GraphicsBuffer 0 75777 14 GraphicsBuffer 14 GraphicsBuffer 0 0 0 0 1045 0 2 1216 1217 0 0 1 0 1286 0 0 0 0 361
////////////////////////////////////////////////////////////////////
//       Class : GraphicsBuffer
// Description : An offscreen buffer for rendering into.  This is
//               similar in function to a GraphicsWindow, except that
//               the output is not visible to the user.
////////////////////////////////////////////////////////////////////

1306 14 GraphicsEngine 0 75777 14 GraphicsEngine 14 GraphicsEngine 0 0 0 1 1218 0 0 26 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1 1465 0 1 0 1307 0 0 0 0 823
////////////////////////////////////////////////////////////////////
//       Class : GraphicsEngine
// Description : This class is the main interface to controlling the
//               render process.  There is typically only one
//               GraphicsEngine in an application, and it synchronizes
//               rendering to all all of the active windows; although
//               it is possible to have multiple GraphicsEngine
//               objects if multiple synchronicity groups are
//               required.
//
//               The GraphicsEngine is responsible for managing the
//               various cull and draw threads.  The application
//               simply calls engine->render_frame() and considers it
//               done.
////////////////////////////////////////////////////////////////////

1307 14 ReferenceCount 0 2049 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 425
////////////////////////////////////////////////////////////////////
//       Class : ReferenceCount
// Description : A base class for all things that want to be
//               reference-counted.  ReferenceCount works in
//               conjunction with PointerTo to automatically delete
//               objects when the last pointer to them goes away.
////////////////////////////////////////////////////////////////////

1308 21 GraphicsPipeSelection 0 43009 21 GraphicsPipeSelection 21 GraphicsPipeSelection 0 0 0 0 0 0 9 1245 1246 1247 1248 1249 1250 1251 1252 1253 1 1466 0 0 0 0 425
////////////////////////////////////////////////////////////////////
//       Class : GraphicsPipeSelection
// Description : This maintains a list of GraphicsPipes by type that
//               are available for creation.  Normally there is one
//               default interactive GraphicsPipe, and possibly other
//               types available as well.
////////////////////////////////////////////////////////////////////

1309 18 NativeWindowHandle 0 141313 18 NativeWindowHandle 18 NativeWindowHandle 0 0 0 0 1257 0 3 1254 1255 1256 0 0 1 0 1269 0 0 0 0 510
////////////////////////////////////////////////////////////////////
//       Class : NativeWindowHandle
// Description : This subclass of WindowHandle exists to allow simple
//               creation of a WindowHandle of the appropriate type to
//               the current OS.
//
//               This class exists for name scoping only.  Don't use
//               the constructor directly; use one of the make_*
//               methods.
////////////////////////////////////////////////////////////////////

1310 14 ParasiteBuffer 0 75777 14 ParasiteBuffer 14 ParasiteBuffer 0 0 0 0 1045 0 2 1258 1259 0 0 1 0 1286 0 0 0 0 1508
////////////////////////////////////////////////////////////////////
//       Class : ParasiteBuffer
// Description : This is a special GraphicsOutput type that acts a lot
//               like a GraphicsBuffer, effectively allowing rendering
//               to an offscreen buffer, except it does not create any
//               framebuffer space for itself.  Instead, it renders
//               into the framebuffer owned by some other
//               GraphicsOutput.
//
//               The x_size and y_size must therefore fit within the
//               bounds of the source GraphicsOutput.
//
//               Since the framebuffer will be subsequently cleared
//               when the actual owner draws in it later, this only
//               makes sense if we are going to copy the contents of
//               the framebuffer to a texture immediately after we
//               draw it.  Thus, has_texture() is implicitly true for
//               a ParasiteBuffer.
//
//               This class is useful to render offscreen to a texture
//               while preventing the waste of framebuffer memory for
//               API's that are unable to render directly into a
//               texture (and must render into a separate framebuffer
//               first and then copy to texture).  It is also the only
//               way to render to a texture on API's that do not
//               support offscreen rendering.
////////////////////////////////////////////////////////////////////

1311 22 GraphicsDevice const * 0 8576 22 GraphicsDevice const * 22 GraphicsDevice const * 0 0 1312 0 0 0 0 0 0 0 0 0 0

1312 20 GraphicsDevice const 0 8832 20 GraphicsDevice const 20 GraphicsDevice const 0 0 1260 0 0 0 0 0 0 0 0 0 0

1313 14 GraphicsPipe * 0 8576 14 GraphicsPipe * 14 GraphicsPipe * 0 0 1264 0 0 0 0 0 0 0 0 0 0

1314 10 TypeHandle 0 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098
////////////////////////////////////////////////////////////////////
//       Class : TypeHandle
// Description : TypeHandle is the identifier used to differentiate
//               C++ class types.  Any C++ classes that inherit from
//               some base class, and must be differentiated at run
//               time, should store a static TypeHandle object that
//               can be queried through a static member function
//               named get_class_type().  Most of the time, it is also
//               desirable to inherit from TypedObject, which provides
//               some virtual functions to return the TypeHandle for a
//               particular instance.
//
//               At its essence, a TypeHandle is simply a unique
//               identifier that is assigned by the TypeRegistry.  The
//               TypeRegistry stores a tree of TypeHandles, so that
//               ancestry of a particular type may be queried, and the
//               type name may be retrieved for run-time display.
////////////////////////////////////////////////////////////////////

1315 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 1314 0 0 0 0 0 0 0 0 0 0

1316 20 DisplayInformation * 0 8576 20 DisplayInformation * 20 DisplayInformation * 0 0 1262 0 0 0 0 0 0 0 0 0 0

1317 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0

1318 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0

1319 16 unsigned __int64 0 8230 16 unsigned __int64 16 unsigned __int64 0 8 0 0 0 0 0 0 0 0 0 0 0

1320 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0

1321 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0

1322 20 GraphicsPipe const * 0 8576 20 GraphicsPipe const * 20 GraphicsPipe const * 0 0 1323 0 0 0 0 0 0 0 0 0 0

1323 18 GraphicsPipe const 0 8832 18 GraphicsPipe const 18 GraphicsPipe const 0 0 1264 0 0 0 0 0 0 0 0 0 0

1324 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0

1325 16 DrawableRegion * 0 8576 16 DrawableRegion * 16 DrawableRegion * 0 0 1267 0 0 0 0 0 0 0 0 0 0

1326 22 DrawableRegion const * 0 8576 22 DrawableRegion const * 22 DrawableRegion const * 0 0 1327 0 0 0 0 0 0 0 0 0 0

1327 20 DrawableRegion const 0 8832 20 DrawableRegion const 20 DrawableRegion const 0 0 1267 0 0 0 0 0 0 0 0 0 0

1328 18 LVecBase4f const * 0 8576 18 LVecBase4f const * 18 LVecBase4f const * 0 0 1329 0 0 0 0 0 0 0 0 0 0

1329 16 LVecBase4f const 0 8832 16 LVecBase4f const 16 LVecBase4f const 0 0 1330 0 0 0 0 0 0 0 0 0 0

1330 10 LVecBase4f 0 2048 10 LVecBase4f 10 LVecBase4f 0 0 0 0 0 0 0 0 0 0 0 0 265
////////////////////////////////////////////////////////////////////
//       Class : LVecBase4
// Description : This is the base class for all three-component
//               vectors and points.
////////////////////////////////////////////////////////////////////

1331 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0

1332 20 WindowHandle const * 0 8576 20 WindowHandle const * 20 WindowHandle const * 0 0 1333 0 0 0 0 0 0 0 0 0 0

1333 18 WindowHandle const 0 8832 18 WindowHandle const 18 WindowHandle const 0 0 1269 0 0 0 0 0 0 0 0 0 0

1334 14 WindowHandle * 0 8576 14 WindowHandle * 14 WindowHandle * 0 0 1269 0 0 0 0 0 0 0 0 0 0

1335 10 OSHandle * 0 8576 24 WindowHandle::OSHandle * 24 WindowHandle::OSHandle * 0 0 1270 0 0 0 0 0 0 0 0 0 0

1336 9 ostream * 0 8576 9 ostream * 9 ostream * 0 0 1337 0 0 0 0 0 0 0 0 0 0

1337 7 ostream 0 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0

1338 16 OSHandle const * 0 8576 30 WindowHandle::OSHandle const * 30 WindowHandle::OSHandle const * 0 0 1339 0 0 0 0 0 0 0 0 0 0

1339 14 OSHandle const 0 8832 28 WindowHandle::OSHandle const 28 WindowHandle::OSHandle const 0 0 1270 0 0 0 0 0 0 0 0 0 0

1340 18 WindowProperties * 0 8576 18 WindowProperties * 18 WindowProperties * 0 0 1271 0 0 0 0 0 0 0 0 0 0

1341 24 WindowProperties const * 0 8576 24 WindowProperties const * 24 WindowProperties const * 0 0 1342 0 0 0 0 0 0 0 0 0 0

1342 22 WindowProperties const 0 8832 22 WindowProperties const 22 WindowProperties const 0 0 1271 0 0 0 0 0 0 0 0 0 0

1343 16 LPoint2i const * 0 8576 16 LPoint2i const * 16 LPoint2i const * 0 0 1344 0 0 0 0 0 0 0 0 0 0

1344 14 LPoint2i const 0 8832 14 LPoint2i const 14 LPoint2i const 0 0 1345 0 0 0 0 0 0 0 0 0 0

1345 8 LPoint2i 0 2048 8 LPoint2i 8 LPoint2i 0 0 0 0 0 0 0 0 0 0 0 0 706
// Filename: lpoint2_src.h
// Created by:  drose (08Mar00)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//       Class : LPoint2
// Description : This is a two-component point in space.
////////////////////////////////////////////////////////////////////

1346 17 LVector2i const * 0 8576 17 LVector2i const * 17 LVector2i const * 0 0 1347 0 0 0 0 0 0 0 0 0 0

1347 15 LVector2i const 0 8832 15 LVector2i const 15 LVector2i const 0 0 1348 0 0 0 0 0 0 0 0 0 0

1348 9 LVector2i 0 2048 9 LVector2i 9 LVector2i 0 0 0 0 0 0 0 0 0 0 0 0 707
// Filename: lvector2_src.h
// Created by:  drose (08Mar00)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//       Class : LVector2
// Description : This is a two-component vector offset.
////////////////////////////////////////////////////////////////////

1349 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 1350 0 0 0 0 0 0 0 0 0 0

1350 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 1351 0 0 0 0 0 0 0 0 0 0

1351 8 Filename 0 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869
////////////////////////////////////////////////////////////////////
//       Class : Filename
// Description : The name of a file, such as a texture file or an Egg
//               file.  Stores the full pathname, and includes
//               functions for extracting out the directory prefix
//               part and the file extension and stuff.
//
//               A Filename is also aware of the mapping between the
//               Unix-like filename convention we use internally, and
//               the local OS's specific filename convention, and it
//               knows how to perform basic OS-specific I/O, like
//               testing for file existence and searching a
//               searchpath, as well as the best way to open an
//               fstream for reading or writing.
////////////////////////////////////////////////////////////////////

1352 21 DisplayRegion const * 0 8576 21 DisplayRegion const * 21 DisplayRegion const * 0 0 1353 0 0 0 0 0 0 0 0 0 0

1353 19 DisplayRegion const 0 8832 19 DisplayRegion const 19 DisplayRegion const 0 0 1274 0 0 0 0 0 0 0 0 0 0

1354 15 DisplayRegion * 0 8576 15 DisplayRegion * 15 DisplayRegion * 0 0 1274 0 0 0 0 0 0 0 0 0 0

1355 12 LVecBase4f * 0 8576 12 LVecBase4f * 12 LVecBase4f * 0 0 1330 0 0 0 0 0 0 0 0 0 0

1356 16 GraphicsOutput * 0 8576 16 GraphicsOutput * 16 GraphicsOutput * 0 0 1286 0 0 0 0 0 0 0 0 0 0

1357 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 1358 0 0 0 0 0 0 0 0 0 0

1358 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 1359 0 0 0 0 0 0 0 0 0 0

1359 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 2 1467 1468 0 0 0 0 4938
//
// A NodePath is the fundamental unit of high-level interaction with
// the scene graph.  It encapsulates the complete path down to a node
// from some other node, usually the root of the scene graph.  This is
// used to resolve ambiguities associated with instancing.
//
// NodePath also contains a number of handy high-level methods for
// common scene-graph manipulations, such as reparenting, and common
// state changes, such as repositioning.
//
// There are also a number of NodePath methods for finding nodes deep
// within the tree by name or by type.  These take a path string,
// which at its simplest consists of a series of node names separated
// by slashes, like a directory pathname.
//
// Each component of the path string may optionally consist of one of
// the following special names, instead of a node name:
//
//   *          -- matches exactly one node, with any name.
//   **         -- matches any sequence of zero or more nodes.
//   +typename  -- matches any node that is or derives from the given type.
//   -typename  -- matches any node that is the given type exactly.
//   =tag       -- matches any node that has the indicated tag.
//   =tag=value -- matches any node whose tag matches the indicated value.
//
// Furthermore, a node name may itself contain standard filename
// globbing characters, like *, ?, and [a-z], that will be accepted as
// a partial match.  (In fact, the '*' special name may be seen as
// just a special case of this.)  The globbing characters may not be
// used with the typename matches or with tag matches, but they may
// be used to match a tag's value in the =tag=value syntax.
//
// The special characters "@@", appearing at the beginning of a node
// name, indicate a stashed node.  Normally, stashed nodes are not
// returned by a find (but see the special flags, below), but a
// stashed node may be found if it is explicitly named with its
// leading @@ characters.  By extension, "@@*" may be used to identify
// any stashed node.
//
// Examples:
//
// "room//graph" will look for a node named "graph", which is a child
// of an unnamed node, which is a child of a node named "room", which
// is a child of the starting path.
//
// "**/red*" will look for any node anywhere in the tree (below the
// starting path) with a name that begins with "red".
//
// "**/+PartBundleNode/**/head" will look for a node named "head",
// somewhere below a PartBundleNode anywhere in the tree.
//
//
// The search is always potentially ambiguous, even if the special
// wildcard operators are not used, because there may be multiple
// nodes in the tree with the same name.  In general, in the case of
// an ambiguity, the shortest path is preferred; when a method (such
// as extend_by) must choose only only one of several possible paths,
// it will choose the shortest available; on the other hand, when a
// method (such as find_all_matches) is to return all of the matching
// paths, it will sort them so that the shortest paths appear first in
// the output.
//
//
// Special flags.  The entire string may optionally be followed by the
// ";" character, followed by one or more of the following special
// control flags, with no intervening spaces or punctuation:
//
//    -h    Do not return hidden nodes.
//    +h    Do return hidden nodes.
//    -s    Do not return stashed nodes unless explicitly referenced with @@.
//    +s    Return stashed nodes even without any explicit @@ characters.
//    -i    Node name comparisons are not case insensitive: case must match
//          exactly.
//    +i    Node name comparisons are case insensitive: case is not important.
//          This affects matches against the node name only; node type
//          and tag strings are always case sensitive.
//
// The default flags are +h-s-i.
//
////////////////////////////////////////////////////////////////////
//       Class : NodePath
// Description : NodePath is the fundamental system for disambiguating
//               instances, and also provides a higher-level interface
//               for manipulating the scene graph.
//
//               A NodePath is a list of connected nodes from the root
//               of the graph to any sub-node.  Each NodePath
//               therefore uniquely describes one instance of a node.
//
//               NodePaths themselves are lightweight objects that may
//               easily be copied and passed by value.  Their data is
//               stored as a series of NodePathComponents that are
//               stored on the nodes.  Holding a NodePath will keep a
//               reference count to all the nodes in the path.
//               However, if any node in the path is removed or
//               reparented (perhaps through a different NodePath),
//               the NodePath will automatically be updated to reflect
//               the changes.
////////////////////////////////////////////////////////////////////

1360 8 Thread * 0 8576 8 Thread * 8 Thread * 0 0 1361 0 0 0 0 0 0 0 0 0 0

1361 6 Thread 0 2048 6 Thread 6 Thread 0 0 0 0 0 0 0 0 0 0 0 0 668
////////////////////////////////////////////////////////////////////
//       Class : Thread
// Description : A thread; that is, a lightweight process.  This is an
//               abstract base class; to use it, you must subclass
//               from it and redefine thread_main().
//
//               The thread itself will keep a reference count on the
//               Thread object while it is running; when the thread
//               returns from its root function, the Thread object
//               will automatically be destructed if no other pointers
//               are referencing it.
////////////////////////////////////////////////////////////////////

1362 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 1359 0 0 0 0 0 0 0 0 0 0

1363 13 StereoChannel 0 794624 19 Lens::StereoChannel 19 Lens::StereoChannel 1364 0 0 0 0 0 0 0 0 0 4 7 SC_mono 13 Lens::SC_mono 0 7 SC_left 13 Lens::SC_left 1 8 SC_right 14 Lens::SC_right 2 9 SC_stereo 15 Lens::SC_stereo 3 0 0

1364 4 Lens 0 2048 4 Lens 4 Lens 0 0 0 0 0 0 0 0 0 0 0 0 668
////////////////////////////////////////////////////////////////////
//       Class : Lens
// Description : A base class for any number of different kinds of
//               lenses, linear and otherwise.  Presently, this
//               includes perspective and orthographic lenses.
//
//               A Lens object is the main part of a Camera node,
//               which defines the fundamental interface to
//               point-of-view for rendering.  Lenses are also used in
//               other contexts, however; for instance, a Spotlight is
//               also defined using a lens.
////////////////////////////////////////////////////////////////////

1365 15 CullTraverser * 0 8576 15 CullTraverser * 15 CullTraverser * 0 0 1366 0 0 0 0 0 0 0 0 0 0

1366 13 CullTraverser 0 2048 13 CullTraverser 13 CullTraverser 0 0 0 0 0 0 0 0 0 0 0 0 512
////////////////////////////////////////////////////////////////////
//       Class : CullTraverser
// Description : This object performs a depth-first traversal of the
//               scene graph, with optional view-frustum culling,
//               collecting CullState and searching for GeomNodes.
//               Each renderable Geom encountered is passed along with
//               its associated RenderState to the CullHandler object.
////////////////////////////////////////////////////////////////////

1367 16 CallbackObject * 0 8576 16 CallbackObject * 16 CallbackObject * 0 0 1368 0 0 0 0 0 0 0 0 0 0

1368 14 CallbackObject 0 2048 14 CallbackObject 14 CallbackObject 0 0 0 0 0 0 0 0 0 0 0 0 527
////////////////////////////////////////////////////////////////////
//       Class : CallbackObject
// Description : This is a generic object that can be assigned to a
//               callback at various points in the rendering process.
//               This is actually a base class for a handful of
//               specialized callback object types.  You can also
//               subclass it yourself to make your own callback
//               handler.
////////////////////////////////////////////////////////////////////

1369 10 Filename * 0 8576 10 Filename * 10 Filename * 0 0 1351 0 0 0 0 0 0 0 0 0 0

1370 7 Texture 0 2048 7 Texture 7 Texture 0 0 0 0 0 0 0 0 0 0 0 0 1051
////////////////////////////////////////////////////////////////////
//       Class : Texture
// Description : Represents a texture object, which is typically a
//               single 2-d image but may also represent a 1-d or 3-d
//               texture image, or the six 2-d faces of a cube map
//               texture.
//
//               A texture's image data might be stored in system RAM
//               (see get_ram_image()) or its image may be represented
//               in texture memory on one or more
//               GraphicsStateGuardians (see prepare()), or both.  The
//               typical usage pattern is that a texture is loaded
//               from an image file on disk, which copies its image
//               data into system RAM; then the first time the texture
//               is rendered its image data is copied to texture
//               memory (actually, to the graphics API), and the
//               system RAM image is automatically freed.
////////////////////////////////////////////////////////////////////

1371 9 Texture * 0 8576 9 Texture * 9 Texture * 0 0 1370 0 0 0 0 0 0 0 0 0 0

1372 10 PNMImage * 0 8576 10 PNMImage * 10 PNMImage * 0 0 1373 0 0 0 0 0 0 0 0 0 0

1373 8 PNMImage 0 2048 8 PNMImage 8 PNMImage 0 0 0 0 0 0 0 0 0 0 0 0 1506
////////////////////////////////////////////////////////////////////
//       Class : PNMImage
// Description : The name of this class derives from the fact that we
//               originally implemented it as a layer on top of the
//               "pnm library", based on netpbm, which was built to
//               implement pbm, pgm, and pbm files, and is the
//               underlying support of a number of public-domain image
//               file converters.  Nowadays we are no longer derived
//               directly from the pnm library, mainly to allow
//               support of C++ iostreams instead of the C stdio FILE
//               interface.
//
//               Conceptually, a PNMImage is a two-dimensional array
//               of xels, which are the PNM-defined generic pixel
//               type.  Each xel may have a red, green, and blue
//               component, or (if the image is grayscale) a gray
//               component.  The image may be read in, the individual
//               xels manipulated, and written out again, or a black
//               image may be constructed from scratch.
//
//               The image is of size XSize() by YSize() xels,
//               numbered from top to bottom, left to right, beginning
//               at zero.
//
//               Files can be specified by filename, or by an iostream
//               pointer.  The filename "-" refers to stdin or stdout.
////////////////////////////////////////////////////////////////////

1374 9 PandaNode 0 2048 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 374
////////////////////////////////////////////////////////////////////
//       Class : PandaNode
// Description : A basic node of the scene graph or data graph.  This
//               is the base class of all specialized nodes, and also
//               serves as a generic node with no special properties.
////////////////////////////////////////////////////////////////////

1375 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 1374 0 0 0 0 0 0 0 0 0 0

1376 19 DisplayRegionBase * 0 8576 19 DisplayRegionBase * 19 DisplayRegionBase * 0 0 1275 0 0 0 0 0 0 0 0 0 0

1377 21 StereoDisplayRegion * 0 8576 21 StereoDisplayRegion * 21 StereoDisplayRegion * 0 0 1276 0 0 0 0 0 0 0 0 0 0

1378 23 FrameBufferProperties * 0 8576 23 FrameBufferProperties * 23 FrameBufferProperties * 0 0 1277 0 0 0 0 0 0 0 0 0 0

1379 29 FrameBufferProperties const * 0 8576 29 FrameBufferProperties const * 29 FrameBufferProperties const * 0 0 1380 0 0 0 0 0 0 0 0 0 0

1380 27 FrameBufferProperties const 0 8832 27 FrameBufferProperties const 27 FrameBufferProperties const 0 0 1277 0 0 0 0 0 0 0 0 0 0

1381 30 GraphicsThreadingModel const * 0 8576 30 GraphicsThreadingModel const * 30 GraphicsThreadingModel const * 0 0 1382 0 0 0 0 0 0 0 0 0 0

1382 28 GraphicsThreadingModel const 0 8832 28 GraphicsThreadingModel const 28 GraphicsThreadingModel const 0 0 1278 0 0 0 0 0 0 0 0 0 0

1383 24 GraphicsThreadingModel * 0 8576 24 GraphicsThreadingModel * 24 GraphicsThreadingModel * 0 0 1278 0 0 0 0 0 0 0 0 0 0

1384 23 GraphicsStateGuardian * 0 8576 23 GraphicsStateGuardian * 23 GraphicsStateGuardian * 0 0 1283 0 0 0 0 0 0 0 0 0 0

1385 29 GraphicsStateGuardian const * 0 8576 29 GraphicsStateGuardian const * 29 GraphicsStateGuardian const * 0 0 1386 0 0 0 0 0 0 0 0 0 0

1386 27 GraphicsStateGuardian const 0 8832 27 GraphicsStateGuardian const 27 GraphicsStateGuardian const 0 0 1283 0 0 0 0 0 0 0 0 0 0

1387 8 Loader * 0 8576 8 Loader * 8 Loader * 0 0 1388 0 0 0 0 0 0 0 0 0 0

1388 6 Loader 0 2048 6 Loader 6 Loader 0 0 0 0 0 0 0 0 0 0 0 0 819
////////////////////////////////////////////////////////////////////
//       Class : Loader
// Description : A convenient class for loading models from disk, in
//               bam or egg format (or any of a number of other
//               formats implemented by a LoaderFileType, such as
//               ptloader).
//
//               This class supports synchronous as well as
//               asynchronous loading.  In asynchronous loading, the
//               model is loaded in the background by a thread, and an
//               event will be generated when the model is available.
//               If threading is not available, the asynchronous
//               loading interface may be used, but it loads
//               synchronously.
////////////////////////////////////////////////////////////////////

1389 16 GraphicsEngine * 0 8576 16 GraphicsEngine * 16 GraphicsEngine * 0 0 1306 0 0 0 0 0 0 0 0 0 0

1390 21 TextureAttrib const * 0 8576 21 TextureAttrib const * 21 TextureAttrib const * 0 0 1391 0 0 0 0 0 0 0 0 0 0

1391 19 TextureAttrib const 0 8832 19 TextureAttrib const 19 TextureAttrib const 0 0 1392 0 0 0 0 0 0 0 0 0 0

1392 13 TextureAttrib 0 2048 13 TextureAttrib 13 TextureAttrib 0 0 0 0 0 0 0 3 1469 1470 1471 0 0 0 0 336
////////////////////////////////////////////////////////////////////
//       Class : TextureAttrib
// Description : Indicates the set of TextureStages and their
//               associated Textures that should be applied to (or
//               removed from) a node.
////////////////////////////////////////////////////////////////////

1393 12 TextureStage 0 2048 12 TextureStage 12 TextureStage 0 0 0 0 0 0 0 0 0 0 0 0 600
////////////////////////////////////////////////////////////////////
//       Class : TextureStage
// Description : Defines the properties of a named stage of the
//               multitexture pipeline.  The TextureAttrib will
//               associated a number of these stages with Texture
//               objects, and the GSG will render geometry by sorting
//               all of the currently active TextureStages in order
//               and then issuing the appropriate rendering calls to
//               activate them.
////////////////////////////////////////////////////////////////////

1394 14 TextureStage * 0 8576 14 TextureStage * 14 TextureStage * 0 0 1393 0 0 0 0 0 0 0 0 0 0

1395 16 CoordinateSystem 0 532480 16 CoordinateSystem 16 CoordinateSystem 0 0 0 0 0 0 0 0 0 0 6 10 CS_default 10 CS_default 0 12 CS_zup_right 12 CS_zup_right 1 12 CS_yup_right 12 CS_yup_right 2 11 CS_zup_left 11 CS_zup_left 3 11 CS_yup_left 11 CS_yup_left 4 10 CS_invalid 10 CS_invalid 5 0 0

1396 23 PreparedGraphicsObjects 0 2048 23 PreparedGraphicsObjects 23 PreparedGraphicsObjects 0 0 0 0 0 0 0 0 0 0 0 0 1037
////////////////////////////////////////////////////////////////////
//       Class : PreparedGraphicsObjects
// Description : A table of objects that are saved within the graphics
//               context for reference by handle later.  Generally,
//               this represents things like OpenGL texture objects or
//               display lists (or their equivalent on other
//               platforms).
//
//               This object simply records the pointers to the
//               context objects created by the individual GSG's;
//               these context objects will contain enough information
//               to reference or release the actual object stored
//               within the graphics context.
//
//               These tables may potentially be shared between
//               related graphics contexts, hence their storage here
//               in a separate object rather than as a part of the
//               GraphicsStateGuardian.
////////////////////////////////////////////////////////////////////

1397 25 PreparedGraphicsObjects * 0 8576 25 PreparedGraphicsObjects * 25 PreparedGraphicsObjects * 0 0 1396 0 0 0 0 0 0 0 0 0 0

1398 12 QualityLevel 0 794624 21 Texture::QualityLevel 21 Texture::QualityLevel 1370 0 0 0 0 0 0 0 0 0 4 10 QL_default 19 Texture::QL_default 0 10 QL_fastest 19 Texture::QL_fastest 1 9 QL_normal 18 Texture::QL_normal 2 7 QL_best 16 Texture::QL_best 3 0 0

1399 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 1400 0 0 0 0 0 0 0 0 0 0

1400 8 PyObject 0 2048 8 PyObject 8 PyObject 0 0 0 0 0 0 0 0 0 0 0 0 0

1401 12 SceneSetup * 0 8576 12 SceneSetup * 12 SceneSetup * 0 0 1402 0 0 0 0 0 0 0 0 0 0

1402 10 SceneSetup 0 2048 10 SceneSetup 10 SceneSetup 0 0 0 0 0 0 0 0 0 0 0 0 331
////////////////////////////////////////////////////////////////////
//       Class : SceneSetup
// Description : This object holds the camera position, etc., and
//               other general setup information for rendering a
//               particular scene.
////////////////////////////////////////////////////////////////////

1403 22 GraphicsOutput const * 0 8576 22 GraphicsOutput const * 22 GraphicsOutput const * 0 0 1404 0 0 0 0 0 0 0 0 0 0

1404 20 GraphicsOutput const 0 8832 20 GraphicsOutput const 20 GraphicsOutput const 0 0 1286 0 0 0 0 0 0 0 0 0 0

1405 29 BitMask< unsigned int, 32 > * 0 8576 29 BitMask< unsigned int, 32 > * 29 BitMask< unsigned int, 32 > * 0 0 1406 0 0 0 0 0 0 0 0 0 0

1406 9 BitMask32 0 2048 27 BitMask< unsigned int, 32 > 27 BitMask< unsigned int, 32 > 0 0 0 0 0 0 0 0 0 0 0 0 0

1407 20 GraphicsOutputBase * 0 8576 20 GraphicsOutputBase * 20 GraphicsOutputBase * 0 0 1287 0 0 0 0 0 0 0 0 0 0

1408 27 GraphicsWindowInputDevice * 0 8576 27 GraphicsWindowInputDevice * 27 GraphicsWindowInputDevice * 0 0 1290 0 0 0 0 0 0 0 0 0 0

1409 14 ButtonHandle * 0 8576 14 ButtonHandle * 14 ButtonHandle * 0 0 1410 0 0 0 0 0 0 0 0 0 0

1410 12 ButtonHandle 0 2048 12 ButtonHandle 12 ButtonHandle 0 0 0 0 0 0 0 0 0 0 0 0 364
////////////////////////////////////////////////////////////////////
//       Class : ButtonHandle
// Description : A ButtonHandle represents a single button from any
//               device, including keyboard buttons and mouse buttons
//               (but see KeyboardButton and MouseButton).
////////////////////////////////////////////////////////////////////

1411 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0

1412 11 TouchInfo * 0 8576 11 TouchInfo * 11 TouchInfo * 0 0 1291 0 0 0 0 0 0 0 0 0 0

1413 38 GraphicsWindowProcCallbackData const * 0 8576 38 GraphicsWindowProcCallbackData const * 38 GraphicsWindowProcCallbackData const * 0 0 1414 0 0 0 0 0 0 0 0 0 0

1414 36 GraphicsWindowProcCallbackData const 0 8832 36 GraphicsWindowProcCallbackData const 36 GraphicsWindowProcCallbackData const 0 0 1293 0 0 0 0 0 0 0 0 0 0

1415 32 GraphicsWindowProcCallbackData * 0 8576 32 GraphicsWindowProcCallbackData * 32 GraphicsWindowProcCallbackData * 0 0 1293 0 0 0 0 0 0 0 0 0 0

1416 22 GraphicsWindow const * 0 8576 22 GraphicsWindow const * 22 GraphicsWindow const * 0 0 1417 0 0 0 0 0 0 0 0 0 0

1417 20 GraphicsWindow const 0 8832 20 GraphicsWindow const 20 GraphicsWindow const 0 0 1295 0 0 0 0 0 0 0 0 0 0

1418 16 GraphicsWindow * 0 8576 16 GraphicsWindow * 16 GraphicsWindow * 0 0 1295 0 0 0 0 0 0 0 0 0 0

1419 9 ButtonMap 0 2048 9 ButtonMap 9 ButtonMap 0 0 0 0 0 0 0 0 0 0 0 0 571
////////////////////////////////////////////////////////////////////
//       Class : ButtonMap
// Description : This class represents a map containing all of the
//               buttons of a (keyboard) device, though it can also
//               be used as a generic mapping between ButtonHandles.
//               It maps an underlying 'raw' button to a 'virtual'
//               button, which may optionally be associated with an
//               appropriate platform-specific name for the button.
////////////////////////////////////////////////////////////////////

1420 11 ButtonMap * 0 8576 11 ButtonMap * 11 ButtonMap * 0 0 1419 0 0 0 0 0 0 0 0 0 0

1421 9 MouseData 0 2048 9 MouseData 9 MouseData 0 0 0 0 0 0 0 0 0 0 0 0 326
////////////////////////////////////////////////////////////////////
//       Class : MouseData
// Description : Holds the data that might be generated by a 2-d
//               pointer input device, such as the mouse in the
//               GraphicsWindow.
////////////////////////////////////////////////////////////////////

1422 11 MouseData * 0 8576 11 MouseData * 11 MouseData * 0 0 1421 0 0 0 0 0 0 0 0 0 0

1423 24 CallbackGraphicsWindow * 0 8576 24 CallbackGraphicsWindow * 24 CallbackGraphicsWindow * 0 0 1296 0 0 0 0 0 0 0 0 0 0

1424 30 CallbackGraphicsWindow const * 0 8576 30 CallbackGraphicsWindow const * 30 CallbackGraphicsWindow const * 0 0 1425 0 0 0 0 0 0 0 0 0 0

1425 28 CallbackGraphicsWindow const 0 8832 28 CallbackGraphicsWindow const 28 CallbackGraphicsWindow const 0 0 1296 0 0 0 0 0 0 0 0 0 0

1426 26 WindowCallbackData const * 0 8576 50 CallbackGraphicsWindow::WindowCallbackData const * 50 CallbackGraphicsWindow::WindowCallbackData const * 0 0 1427 0 0 0 0 0 0 0 0 0 0

1427 24 WindowCallbackData const 0 8832 48 CallbackGraphicsWindow::WindowCallbackData const 48 CallbackGraphicsWindow::WindowCallbackData const 0 0 1297 0 0 0 0 0 0 0 0 0 0

1428 30 PropertiesCallbackData const * 0 8576 54 CallbackGraphicsWindow::PropertiesCallbackData const * 54 CallbackGraphicsWindow::PropertiesCallbackData const * 0 0 1429 0 0 0 0 0 0 0 0 0 0

1429 28 PropertiesCallbackData const 0 8832 52 CallbackGraphicsWindow::PropertiesCallbackData const 52 CallbackGraphicsWindow::PropertiesCallbackData const 0 0 1299 0 0 0 0 0 0 0 0 0 0

1430 26 RenderCallbackData const * 0 8576 50 CallbackGraphicsWindow::RenderCallbackData const * 50 CallbackGraphicsWindow::RenderCallbackData const * 0 0 1431 0 0 0 0 0 0 0 0 0 0

1431 24 RenderCallbackData const 0 8832 48 CallbackGraphicsWindow::RenderCallbackData const 48 CallbackGraphicsWindow::RenderCallbackData const 0 0 1301 0 0 0 0 0 0 0 0 0 0

1432 20 RenderCallbackData * 0 8576 44 CallbackGraphicsWindow::RenderCallbackData * 44 CallbackGraphicsWindow::RenderCallbackData * 0 0 1301 0 0 0 0 0 0 0 0 0 0

1433 37 DisplayRegionCullCallbackData const * 0 8576 37 DisplayRegionCullCallbackData const * 37 DisplayRegionCullCallbackData const * 0 0 1434 0 0 0 0 0 0 0 0 0 0

1434 35 DisplayRegionCullCallbackData const 0 8832 35 DisplayRegionCullCallbackData const 35 DisplayRegionCullCallbackData const 0 0 1302 0 0 0 0 0 0 0 0 0 0

1435 13 CullHandler * 0 8576 13 CullHandler * 13 CullHandler * 0 0 1436 0 0 0 0 0 0 0 0 0 0

1436 11 CullHandler 0 2048 11 CullHandler 11 CullHandler 0 0 0 0 0 0 0 0 0 0 0 0 0

1437 10 CullResult 0 2048 10 CullResult 10 CullResult 0 0 0 0 0 0 0 0 0 0 0 0 611
////////////////////////////////////////////////////////////////////
//       Class : CullResult
// Description : This stores the result of a BinCullHandler traversal:
//               an ordered collection of CullBins, each of which
//               holds a number of Geoms and RenderStates to be
//               rendered in some defined order.
//
//               This is also used to keep the results of last frame's
//               cull traversal around to make next frame's traversal
//               of the same scene a little easier.
////////////////////////////////////////////////////////////////////

1438 37 DisplayRegionDrawCallbackData const * 0 8576 37 DisplayRegionDrawCallbackData const * 37 DisplayRegionDrawCallbackData const * 0 0 1439 0 0 0 0 0 0 0 0 0 0

1439 35 DisplayRegionDrawCallbackData const 0 8832 35 DisplayRegionDrawCallbackData const 35 DisplayRegionDrawCallbackData const 0 0 1303 0 0 0 0 0 0 0 0 0 0

1440 12 CullResult * 0 8576 12 CullResult * 12 CullResult * 0 0 1437 0 0 0 0 0 0 0 0 0 0

1441 25 DisplaySearchParameters * 0 8576 25 DisplaySearchParameters * 25 DisplaySearchParameters * 0 0 1304 0 0 0 0 0 0 0 0 0 0

1442 16 GraphicsBuffer * 0 8576 16 GraphicsBuffer * 16 GraphicsBuffer * 0 0 1305 0 0 0 0 0 0 0 0 0 0

1443 10 Pipeline * 0 8576 10 Pipeline * 10 Pipeline * 0 0 1444 0 0 0 0 0 0 0 0 0 0

1444 8 Pipeline 0 2048 8 Pipeline 8 Pipeline 0 0 0 0 0 0 0 0 0 0 0 0 0

1445 22 GraphicsEngine const * 0 8576 22 GraphicsEngine const * 22 GraphicsEngine const * 0 0 1446 0 0 0 0 0 0 0 0 0 0

1446 20 GraphicsEngine const 0 8832 20 GraphicsEngine const 20 GraphicsEngine const 0 0 1306 0 0 0 0 0 0 0 0 0 0

1447 15 ReMutex const * 0 8576 15 ReMutex const * 15 ReMutex const * 0 0 1448 0 0 0 0 0 0 0 0 0 0

1448 13 ReMutex const 0 8832 13 ReMutex const 13 ReMutex const 0 0 1449 0 0 0 0 0 0 0 0 0 0

1449 7 ReMutex 0 2048 7 ReMutex 7 ReMutex 0 0 0 0 0 0 0 0 0 0 0 0 0

1450 18 LVecBase3i const * 0 8576 18 LVecBase3i const * 18 LVecBase3i const * 0 0 1451 0 0 0 0 0 0 0 0 0 0

1451 16 LVecBase3i const 0 8832 16 LVecBase3i const 16 LVecBase3i const 0 0 1452 0 0 0 0 0 0 0 0 0 0

1452 10 LVecBase3i 0 2048 10 LVecBase3i 10 LVecBase3i 0 0 0 0 0 0 0 0 0 0 0 0 754
// Filename: lvecBase3_src.h
// Created by:  drose (08Mar00)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University.  All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license.  You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//       Class : LVecBase3
// Description : This is the base class for all three-component
//               vectors and points.
////////////////////////////////////////////////////////////////////

1453 20 ShaderAttrib const * 0 8576 20 ShaderAttrib const * 20 ShaderAttrib const * 0 0 1454 0 0 0 0 0 0 0 0 0 0

1454 18 ShaderAttrib const 0 8832 18 ShaderAttrib const 18 ShaderAttrib const 0 0 1455 0 0 0 0 0 0 0 0 0 0

1455 12 ShaderAttrib 0 2048 12 ShaderAttrib 12 ShaderAttrib 0 0 0 0 0 0 0 0 0 0 0 0 185
////////////////////////////////////////////////////////////////////
//       Class : ShaderAttrib
// Description : 
////////////////////////////////////////////////////////////////////

1456 29 GraphicsPipeSelection const * 0 8576 29 GraphicsPipeSelection const * 29 GraphicsPipeSelection const * 0 0 1457 0 0 0 0 0 0 0 0 0 0

1457 27 GraphicsPipeSelection const 0 8832 27 GraphicsPipeSelection const 27 GraphicsPipeSelection const 0 0 1308 0 0 0 0 0 0 0 0 0 0

1458 23 GraphicsPipeSelection * 0 8576 23 GraphicsPipeSelection * 23 GraphicsPipeSelection * 0 0 1308 0 0 0 0 0 0 0 0 0 0

1459 16 ParasiteBuffer * 0 8576 16 ParasiteBuffer * 16 ParasiteBuffer * 0 0 1310 0 0 0 0 0 0 0 0 0 0

1460 6 string 0 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0

0
0
11
1461 0 0 336 8 get_gsgs 12 get_num_gsgs 7 get_gsg 
1462 0 0 417 19 get_display_regions 23 get_num_display_regions 18 get_display_region 
1463 0 0 417 26 get_active_display_regions 30 get_num_active_display_regions 25 get_active_display_region 
1464 0 0 530 22 get_input_device_names 21 get_num_input_devices 21 get_input_device_name 
1465 0 0 614 11 get_windows 15 get_num_windows 10 get_window 
1466 0 0 643 14 get_pipe_types 18 get_num_pipe_types 13 get_pipe_type 
1467 0 0 914 9 get_nodes 13 get_num_nodes 8 get_node 
1468 0 0 914 13 get_ancestors 13 get_num_nodes 12 get_ancestor 
1469 0 0 1122 13 get_on_stages 17 get_num_on_stages 12 get_on_stage 
1470 0 0 1122 16 get_on_ff_stages 20 get_num_on_ff_stages 15 get_on_ff_stage 
1471 0 0 1122 14 get_off_stages 18 get_num_off_stages 13 get_off_stage 
