diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index f1e8578c9b..efac2a7902 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -1932,9 +1932,11 @@ get_make_property(CPPMakeProperty *make_property, CPPStructType *struct_type, CP CPPFunctionGroup::Instances::const_iterator fi; for (fi = fgroup->_instances.begin(); fi != fgroup->_instances.end(); ++fi) { CPPInstance *function = (*fi); - CPPFunctionType *ftype = - function->_type->as_function_type(); - if (ftype != NULL/* && ftype->_parameters->_parameters.size() == 0*/) { + CPPFunctionType *ftype = function->_type->as_function_type(); + + // The getter must either take no arguments, or all defaults. + if (ftype != NULL && (ftype->_parameters->_parameters.size() == 0 || + ftype->_parameters->_parameters[0]->_initializer != NULL)) { getter = function; return_type = ftype->_return_type; diff --git a/panda/src/display/displayRegion.I b/panda/src/display/displayRegion.I index 112b612de4..23cbe092cc 100644 --- a/panda/src/display/displayRegion.I +++ b/panda/src/display/displayRegion.I @@ -498,6 +498,18 @@ get_pixel_height(int i) const { return cdata->_regions[i]._pixels[3] - cdata->_regions[i]._pixels[2]; } +//////////////////////////////////////////////////////////////////// +// Function: DisplayRegion::get_pixel_size +// Access: Published +// Description: Returns the size of the DisplayRegion in pixels. +//////////////////////////////////////////////////////////////////// +INLINE LVecBase2i DisplayRegion:: +get_pixel_size(int i) const { + CDReader cdata(_cycler); + return LVecBase2i(cdata->_regions[i]._pixels[1] - cdata->_regions[i]._pixels[0], + cdata->_regions[i]._pixels[3] - cdata->_regions[i]._pixels[2]); +} + //////////////////////////////////////////////////////////////////// // Function: DisplayRegion::get_pixels // Access: Public diff --git a/panda/src/display/displayRegion.h b/panda/src/display/displayRegion.h index ce13bbcf15..588d122acc 100644 --- a/panda/src/display/displayRegion.h +++ b/panda/src/display/displayRegion.h @@ -86,10 +86,14 @@ PUBLISHED: INLINE void set_dimensions(int i, PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t); INLINE void set_dimensions(const LVecBase4 &dimensions); virtual void set_dimensions(int i, const LVecBase4 &dimensions); + MAKE_PROPERTY(dimensions, get_dimensions, set_dimensions); INLINE GraphicsOutput *get_window() const; GraphicsPipe *get_pipe() const; virtual bool is_stereo() const; + MAKE_PROPERTY(window, get_window); + MAKE_PROPERTY(pipe, get_pipe); + MAKE_PROPERTY(stereo, is_stereo); virtual void set_camera(const NodePath &camera); INLINE NodePath get_camera(Thread *current_thread = Thread::get_current_thread()) const; @@ -140,13 +144,17 @@ PUBLISHED: INLINE void set_cull_callback(CallbackObject *object); INLINE void clear_cull_callback(); INLINE CallbackObject *get_cull_callback() const; + MAKE_PROPERTY(cull_callback, get_cull_callback, set_cull_callback); INLINE void set_draw_callback(CallbackObject *object); INLINE void clear_draw_callback(); INLINE CallbackObject *get_draw_callback() const; + MAKE_PROPERTY(draw_callback, get_draw_callback, set_draw_callback); INLINE int get_pixel_width(int i = 0) const; INLINE int get_pixel_height(int i = 0) const; + INLINE LVecBase2i get_pixel_size(int i = 0) const; + MAKE_PROPERTY(pixel_size, get_pixel_size); virtual void output(ostream &out) const; diff --git a/panda/src/display/stereoDisplayRegion.h b/panda/src/display/stereoDisplayRegion.h index a6a8b0b6cc..e6f3d57197 100644 --- a/panda/src/display/stereoDisplayRegion.h +++ b/panda/src/display/stereoDisplayRegion.h @@ -68,6 +68,8 @@ PUBLISHED: INLINE DisplayRegion *get_left_eye(); INLINE DisplayRegion *get_right_eye(); + MAKE_PROPERTY(left_eye, get_left_eye); + MAKE_PROPERTY(right_eye, get_right_eye); private: PT(DisplayRegion) _left_eye; diff --git a/panda/src/gobj/bufferContext.h b/panda/src/gobj/bufferContext.h index 3eff1d29d3..a449299486 100644 --- a/panda/src/gobj/bufferContext.h +++ b/panda/src/gobj/bufferContext.h @@ -49,6 +49,11 @@ PUBLISHED: INLINE bool get_active() const; INLINE bool get_resident() const; + MAKE_PROPERTY(data_size_bytes, get_data_size_bytes); + MAKE_PROPERTY(modified, get_modified); + MAKE_PROPERTY(active, get_active); + MAKE_PROPERTY(resident, get_resident); + public: INLINE void set_active(bool flag); INLINE void set_resident(bool flag); diff --git a/panda/src/gobj/geom.h b/panda/src/gobj/geom.h index e1acb5f465..4a29611419 100644 --- a/panda/src/gobj/geom.h +++ b/panda/src/gobj/geom.h @@ -75,9 +75,13 @@ PUBLISHED: INLINE PrimitiveType get_primitive_type() const; INLINE ShadeModel get_shade_model() const; INLINE int get_geom_rendering() const; + MAKE_PROPERTY(primitive_type, get_primitive_type); + MAKE_PROPERTY(shade_model, get_shade_model); + MAKE_PROPERTY(geom_rendering, get_geom_rendering); INLINE UsageHint get_usage_hint() const; void set_usage_hint(UsageHint usage_hint); + MAKE_PROPERTY(usage_hint, get_usage_hint, set_usage_hint); INLINE CPT(GeomVertexData) get_vertex_data(Thread *current_thread = Thread::get_current_thread()) const; PT(GeomVertexData) modify_vertex_data(); @@ -118,6 +122,8 @@ PUBLISHED: int get_num_bytes() const; INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(num_bytes, get_num_bytes); + MAKE_PROPERTY(modified, get_modified); bool request_resident() const; @@ -132,6 +138,7 @@ PUBLISHED: INLINE BoundingVolume::BoundsType get_bounds_type() const; INLINE void set_bounds(const BoundingVolume *volume); INLINE void clear_bounds(); + MAKE_PROPERTY(bounds_type, get_bounds_type, set_bounds_type); virtual void output(ostream &out) const; virtual void write(ostream &out, int indent_level = 0) const; diff --git a/panda/src/gobj/geomContext.h b/panda/src/gobj/geomContext.h index 8432f1141a..f80b9ec4af 100644 --- a/panda/src/gobj/geomContext.h +++ b/panda/src/gobj/geomContext.h @@ -42,6 +42,7 @@ public: PUBLISHED: INLINE Geom *get_geom() const; + MAKE_PROPERTY(geom, get_geom); public: // This cannot be a PT(Geom), because the geom and the GSG diff --git a/panda/src/gobj/geomPrimitive.h b/panda/src/gobj/geomPrimitive.h index d2a2f4cbd1..2cf5e67d0d 100644 --- a/panda/src/gobj/geomPrimitive.h +++ b/panda/src/gobj/geomPrimitive.h @@ -76,15 +76,20 @@ PUBLISHED: virtual PrimitiveType get_primitive_type() const=0; virtual int get_geom_rendering() const; + MAKE_PROPERTY(primitive_type, get_primitive_type); + MAKE_PROPERTY(geom_rendering, get_geom_rendering); INLINE ShadeModel get_shade_model() const; INLINE void set_shade_model(ShadeModel shade_model); + MAKE_PROPERTY(shade_model, get_shade_model); INLINE UsageHint get_usage_hint() const; void set_usage_hint(UsageHint usage_hint); + MAKE_PROPERTY(usage_hint, get_usage_hint); INLINE NumericType get_index_type() const; void set_index_type(NumericType index_type); + MAKE_PROPERTY(index_type, get_index_type); // The following published methods are provided for safe, high-level // iteration through the vertices and sub-primitives within the @@ -140,6 +145,9 @@ PUBLISHED: int get_num_bytes() const; INLINE int get_data_size_bytes() const; INLINE UpdateSeq get_modified() const; + MAKE_PROPERTY(num_bytes, get_num_bytes); + MAKE_PROPERTY(data_size_bytes, get_data_size_bytes); + MAKE_PROPERTY(modified, get_modified); bool request_resident() const; @@ -166,6 +174,8 @@ PUBLISHED: INLINE int get_index_stride() const; INLINE int get_strip_cut_index() const; + MAKE_PROPERTY(index_stride, get_index_stride); + MAKE_PROPERTY(strip_cut_index, get_strip_cut_index); INLINE CPTA_int get_ends() const; PTA_int modify_ends(); @@ -173,6 +183,8 @@ PUBLISHED: INLINE CPT(GeomVertexArrayData) get_mins() const; INLINE CPT(GeomVertexArrayData) get_maxs() const; + MAKE_PROPERTY(mins, get_mins); + MAKE_PROPERTY(maxs, get_maxs); void set_minmax(int min_vertex, int max_vertex, GeomVertexArrayData *mins, GeomVertexArrayData *maxs); @@ -181,6 +193,9 @@ PUBLISHED: virtual int get_num_vertices_per_primitive() const; virtual int get_min_num_vertices_per_primitive() const; virtual int get_num_unused_vertices_per_primitive() const; + MAKE_PROPERTY(num_vertices_per_primitive, get_num_vertices_per_primitive); + MAKE_PROPERTY(min_num_vertices_per_primitive, get_min_num_vertices_per_primitive); + MAKE_PROPERTY(num_unused_vertices_per_primitive, get_num_unused_vertices_per_primitive); public: void prepare(PreparedGraphicsObjects *prepared_objects); diff --git a/panda/src/gobj/geomVertexAnimationSpec.h b/panda/src/gobj/geomVertexAnimationSpec.h index 5b81aaff33..ae265fee1d 100644 --- a/panda/src/gobj/geomVertexAnimationSpec.h +++ b/panda/src/gobj/geomVertexAnimationSpec.h @@ -46,9 +46,12 @@ PUBLISHED: INLINE void operator = (const GeomVertexAnimationSpec &other); INLINE AnimationType get_animation_type() const; + MAKE_PROPERTY(animation_type, get_animation_type); INLINE int get_num_transforms() const; INLINE bool get_indexed_transforms() const; + MAKE_PROPERTY(num_transforms, get_num_transforms); + MAKE_PROPERTY(indexed_transforms, get_indexed_transforms); INLINE void set_none(); INLINE void set_panda(); @@ -66,7 +69,7 @@ public: void write_datagram(BamWriter *manager, Datagram &dg); void fillin(DatagramIterator &scan, BamReader *manager); -private: +private: AnimationType _animation_type; int _num_transforms; diff --git a/panda/src/gobj/geomVertexArrayData.h b/panda/src/gobj/geomVertexArrayData.h index 740b512044..172c67b69b 100644 --- a/panda/src/gobj/geomVertexArrayData.h +++ b/panda/src/gobj/geomVertexArrayData.h @@ -78,9 +78,11 @@ PUBLISHED: int compare_to(const GeomVertexArrayData &other) const; INLINE const GeomVertexArrayFormat *get_array_format() const; + MAKE_PROPERTY(array_format, get_array_format); INLINE UsageHint get_usage_hint() const; void set_usage_hint(UsageHint usage_hint); + MAKE_PROPERTY(usage_hint, get_usage_hint, set_usage_hint); INLINE bool has_column(const InternalName *name) const; @@ -92,6 +94,8 @@ PUBLISHED: INLINE size_t get_data_size_bytes() const; INLINE UpdateSeq get_modified() const; + MAKE_PROPERTY(data_size_bytes, get_data_size_bytes); + MAKE_PROPERTY(modified, get_modified); void output(ostream &out) const; void write(ostream &out, int indent_level = 0) const; @@ -274,9 +278,12 @@ public: PUBLISHED: INLINE const GeomVertexArrayData *get_object() const; INLINE GeomVertexArrayData *get_object(); + MAKE_PROPERTY(object, get_object); INLINE const GeomVertexArrayFormat *get_array_format() const; INLINE UsageHint get_usage_hint() const; + MAKE_PROPERTY(array_format, get_array_format); + MAKE_PROPERTY(usage_hint, get_usage_hint); INLINE int get_num_rows() const; bool set_num_rows(int n); @@ -286,6 +293,8 @@ PUBLISHED: INLINE size_t get_data_size_bytes() const; INLINE UpdateSeq get_modified() const; + MAKE_PROPERTY(data_size_bytes, get_data_size_bytes); + MAKE_PROPERTY(modified, get_modified); INLINE bool request_resident() const; diff --git a/panda/src/gobj/geomVertexArrayFormat.h b/panda/src/gobj/geomVertexArrayFormat.h index 9e150d596b..29076c3ca8 100644 --- a/panda/src/gobj/geomVertexArrayFormat.h +++ b/panda/src/gobj/geomVertexArrayFormat.h @@ -81,17 +81,22 @@ PUBLISHED: INLINE bool is_registered() const; INLINE static CPT(GeomVertexArrayFormat) register_format(const GeomVertexArrayFormat *format); + MAKE_PROPERTY(registered, is_registered); INLINE int get_stride() const; INLINE void set_stride(int stride); + MAKE_PROPERTY(stride, get_stride, set_stride); INLINE int get_pad_to() const; INLINE void set_pad_to(int pad_to); + MAKE_PROPERTY(pad_to, get_pad_to, set_pad_to); INLINE int get_divisor() const; INLINE void set_divisor(int divisor); + MAKE_PROPERTY(divisor, get_divisor, set_divisor); INLINE int get_total_bytes() const; + MAKE_PROPERTY(total_bytes, get_total_bytes); int add_column(CPT_InternalName name, int num_components, NumericType numeric_type, Contents contents, diff --git a/panda/src/gobj/geomVertexData.h b/panda/src/gobj/geomVertexData.h index 08fbdcc4cc..bddeb44b1b 100644 --- a/panda/src/gobj/geomVertexData.h +++ b/panda/src/gobj/geomVertexData.h @@ -94,13 +94,16 @@ PUBLISHED: INLINE const string &get_name() const; void set_name(const string &name); + MAKE_PROPERTY(name, get_name, set_name); INLINE UsageHint get_usage_hint() const; void set_usage_hint(UsageHint usage_hint); + MAKE_PROPERTY(usage_hint, get_usage_hint, set_usage_hint); INLINE const GeomVertexFormat *get_format() const; void set_format(const GeomVertexFormat *format); void unclean_set_format(const GeomVertexFormat *format); + MAKE_PROPERTY(format, get_format, set_format); INLINE bool has_column(const InternalName *name) const; @@ -119,6 +122,7 @@ PUBLISHED: INLINE const TransformTable *get_transform_table() const; void set_transform_table(const TransformTable *table); INLINE void clear_transform_table(); + MAKE_PROPERTY(transform_table, get_transform_table, set_transform_table); INLINE CPT(TransformBlendTable) get_transform_blend_table() const; PT(TransformBlendTable) modify_transform_blend_table(); @@ -128,9 +132,12 @@ PUBLISHED: INLINE const SliderTable *get_slider_table() const; void set_slider_table(const SliderTable *table); INLINE void clear_slider_table(); + MAKE_PROPERTY(slider_table, get_slider_table, set_slider_table); INLINE int get_num_bytes() const; INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(num_bytes, get_num_bytes); + MAKE_PROPERTY(modified, get_modified); bool request_resident() const; diff --git a/panda/src/gobj/geomVertexFormat.h b/panda/src/gobj/geomVertexFormat.h index d3401911d1..9b84da3534 100644 --- a/panda/src/gobj/geomVertexFormat.h +++ b/panda/src/gobj/geomVertexFormat.h @@ -71,9 +71,11 @@ PUBLISHED: INLINE bool is_registered() const; INLINE static CPT(GeomVertexFormat) register_format(const GeomVertexFormat *format); INLINE static CPT(GeomVertexFormat) register_format(const GeomVertexArrayFormat *format); + MAKE_PROPERTY(registered, is_registered); INLINE const GeomVertexAnimationSpec &get_animation() const; INLINE void set_animation(const GeomVertexAnimationSpec &animation); + MAKE_PROPERTY(animation, get_animation, set_animation); CPT(GeomVertexFormat) get_post_animated_format() const; CPT(GeomVertexFormat) get_union_format(const GeomVertexFormat *other) const; diff --git a/panda/src/gobj/internalName.h b/panda/src/gobj/internalName.h index a8fde6729f..d6b9912bb4 100644 --- a/panda/src/gobj/internalName.h +++ b/panda/src/gobj/internalName.h @@ -62,6 +62,10 @@ PUBLISHED: string join(const string &sep) const; INLINE const string &get_basename() const; + MAKE_PROPERTY(parent, get_parent); + MAKE_PROPERTY(name, get_name); + MAKE_PROPERTY(basename, get_basename); + int find_ancestor(const string &basename) const; const InternalName *get_ancestor(int n) const; const InternalName *get_top() const; diff --git a/panda/src/gobj/lens.h b/panda/src/gobj/lens.h index e2e8a1c794..c1b43e6d2e 100644 --- a/panda/src/gobj/lens.h +++ b/panda/src/gobj/lens.h @@ -74,6 +74,8 @@ PUBLISHED: void set_coordinate_system(CoordinateSystem cs); INLINE CoordinateSystem get_coordinate_system() const; + MAKE_PROPERTY(coordinate_system, get_coordinate_system, + set_coordinate_system); void clear(); diff --git a/panda/src/gobj/material.h b/panda/src/gobj/material.h index a34eac6a34..d9accd24dc 100644 --- a/panda/src/gobj/material.h +++ b/panda/src/gobj/material.h @@ -44,29 +44,40 @@ PUBLISHED: INLINE const LColor &get_ambient() const; void set_ambient(const LColor &color); INLINE void clear_ambient(); + MAKE_PROPERTY2(ambient, has_ambient, get_ambient, + set_ambient, clear_ambient); INLINE bool has_diffuse() const; INLINE const LColor &get_diffuse() const; void set_diffuse(const LColor &color); INLINE void clear_diffuse(); + MAKE_PROPERTY2(diffuse, has_diffuse, get_diffuse, + set_diffuse, clear_diffuse); INLINE bool has_specular() const; INLINE const LColor &get_specular() const; void set_specular(const LColor &color); INLINE void clear_specular(); + MAKE_PROPERTY2(specular, has_specular, get_specular, + set_specular, clear_specular); INLINE bool has_emission() const; INLINE const LColor &get_emission() const; void set_emission(const LColor &color); INLINE void clear_emission(); + MAKE_PROPERTY2(emission, has_emission, get_emission, + set_emission, clear_emission); INLINE PN_stdfloat get_shininess() const; INLINE void set_shininess(PN_stdfloat shininess); + MAKE_PROPERTY(shininess, get_shininess, set_shininess); INLINE bool get_local() const; INLINE void set_local(bool local); INLINE bool get_twoside() const; INLINE void set_twoside(bool twoside); + MAKE_PROPERTY(local, get_local, set_local); + MAKE_PROPERTY(twoside, get_twoside, set_twoside); INLINE bool operator == (const Material &other) const; INLINE bool operator != (const Material &other) const; diff --git a/panda/src/gobj/matrixLens.h b/panda/src/gobj/matrixLens.h index 45f77a07ad..3dda5b3058 100644 --- a/panda/src/gobj/matrixLens.h +++ b/panda/src/gobj/matrixLens.h @@ -39,6 +39,7 @@ public: PUBLISHED: INLINE void set_user_mat(const LMatrix4 &user_mat); INLINE const LMatrix4 &get_user_mat() const; + MAKE_PROPERTY(user_mat, get_user_mat, set_user_mat); INLINE void set_left_eye_mat(const LMatrix4 &user_mat); INLINE void clear_left_eye_mat(); diff --git a/panda/src/gobj/paramTexture.h b/panda/src/gobj/paramTexture.h index 4d87226594..4e3ec91e90 100644 --- a/panda/src/gobj/paramTexture.h +++ b/panda/src/gobj/paramTexture.h @@ -37,6 +37,9 @@ PUBLISHED: INLINE Texture *get_texture() const; INLINE const SamplerState &get_sampler() const; + MAKE_PROPERTY(texture, get_texture); + MAKE_PROPERTY(sampler, get_sampler); + virtual void output(ostream &out) const; private: @@ -102,6 +105,12 @@ PUBLISHED: INLINE int get_bind_level() const; INLINE int get_bind_layer() const; + MAKE_PROPERTY(texture, get_texture); + MAKE_PROPERTY(read_access, has_read_access); + MAKE_PROPERTY(write_access, has_write_access); + MAKE_PROPERTY(bind_level, get_bind_level); + MAKE_PROPERTY2(bind_layer, get_bind_layered, get_bind_layer); + virtual void output(ostream &out) const; private: diff --git a/panda/src/gobj/shaderContext.h b/panda/src/gobj/shaderContext.h index 8531966a10..424d6df0e9 100644 --- a/panda/src/gobj/shaderContext.h +++ b/panda/src/gobj/shaderContext.h @@ -52,6 +52,7 @@ public: PUBLISHED: INLINE Shader *get_shader() const; + MAKE_PROPERTY(shader, get_shader); public: Shader *_shader; diff --git a/panda/src/gobj/sliderTable.h b/panda/src/gobj/sliderTable.h index cdb8548b80..b6f8920800 100644 --- a/panda/src/gobj/sliderTable.h +++ b/panda/src/gobj/sliderTable.h @@ -57,7 +57,8 @@ PUBLISHED: INLINE const SparseArray &find_sliders(const InternalName *name) const; INLINE bool has_slider(const InternalName *name) const; INLINE bool is_empty() const; - INLINE UpdateSeq get_modified(Thread *current_thread) const; + INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(modified, get_modified); void set_slider(size_t n, const VertexSlider *slider); void set_slider_rows(size_t n, const SparseArray &rows); diff --git a/panda/src/gobj/texture.I b/panda/src/gobj/texture.I index 83ebd1fe88..1888933dc7 100644 --- a/panda/src/gobj/texture.I +++ b/panda/src/gobj/texture.I @@ -334,6 +334,19 @@ set_clear_color(const LColor &color) { cdata->_has_clear_color = true; } +//////////////////////////////////////////////////////////////////// +// Function: Texture::clear_clear_color +// Access: Published +// Description: The opposite of set_clear_color. If the image is +// cleared after setting this, its contents may be +// undefined (or may in fact not be cleared at all). +//////////////////////////////////////////////////////////////////// +INLINE void Texture:: +clear_clear_color() { + CDWriter cdata(_cycler, true); + cdata->_has_clear_color = true; +} + //////////////////////////////////////////////////////////////////// // Function: Texture::get_clear_data // Access: Published diff --git a/panda/src/gobj/texture.h b/panda/src/gobj/texture.h index 3ab9d33f02..0b1e2546a1 100644 --- a/panda/src/gobj/texture.h +++ b/panda/src/gobj/texture.h @@ -260,7 +260,10 @@ PUBLISHED: INLINE bool has_clear_color() const; INLINE LColor get_clear_color() const; INLINE void set_clear_color(const LColor &color); + INLINE void clear_clear_color(); INLINE string get_clear_data() const; + MAKE_PROPERTY2(clear_color, has_clear_color, get_clear_color, + set_clear_color, clear_clear_color); BLOCKING bool read(const Filename &fullpath, const LoaderOptions &options = LoaderOptions()); BLOCKING bool read(const Filename &fullpath, const Filename &alpha_fullpath, @@ -301,11 +304,15 @@ PUBLISHED: INLINE const Filename &get_filename() const; INLINE bool has_alpha_filename() const; INLINE const Filename &get_alpha_filename() const; + MAKE_PROPERTY2(filename, has_filename, get_filename); + MAKE_PROPERTY2(alpha_filename, has_alpha_filename, get_alpha_filename); INLINE bool has_fullpath() const; INLINE const Filename &get_fullpath() const; INLINE bool has_alpha_fullpath() const; INLINE const Filename &get_alpha_fullpath() const; + MAKE_PROPERTY2(fullpath, has_fullpath, get_fullpath); + MAKE_PROPERTY2(alpha_fullpath, has_alpha_fullpath, get_alpha_fullpath); INLINE int get_x_size() const; INLINE int get_y_size() const; @@ -318,6 +325,14 @@ PUBLISHED: INLINE Format get_format() const; INLINE ComponentType get_component_type() const; INLINE GeomEnums::UsageHint get_usage_hint() const; + MAKE_PROPERTY(num_views, get_num_views); + MAKE_PROPERTY(num_pages, get_num_pages); + MAKE_PROPERTY(num_components, get_num_components); + MAKE_PROPERTY(component_width, get_component_width); + MAKE_PROPERTY(texture_type, get_texture_type); + MAKE_PROPERTY(format, get_format); + MAKE_PROPERTY(component_type, get_component_type); + MAKE_PROPERTY(usage_hint, get_usage_hint); INLINE void set_wrap_u(WrapMode wrap); INLINE void set_wrap_v(WrapMode wrap); @@ -345,10 +360,14 @@ PUBLISHED: INLINE bool has_compression() const; INLINE bool get_render_to_texture() const; INLINE bool uses_mipmaps() const; + MAKE_PROPERTY(default_sampler, get_default_sampler, set_default_sampler); + MAKE_PROPERTY(compression, get_compression, set_compression); INLINE void set_quality_level(QualityLevel quality_level); INLINE QualityLevel get_quality_level() const; INLINE QualityLevel get_effective_quality_level() const; + MAKE_PROPERTY(quality_level, get_quality_level, set_quality_level); + MAKE_PROPERTY(effective_quality_level, get_effective_quality_level); INLINE int get_expected_num_mipmap_levels() const; INLINE int get_expected_mipmap_x_size(int n) const; @@ -420,10 +439,15 @@ PUBLISHED: INLINE UpdateSeq get_properties_modified() const; INLINE UpdateSeq get_image_modified() const; INLINE UpdateSeq get_simple_image_modified() const; + MAKE_PROPERTY(properties_modified, get_properties_modified); + MAKE_PROPERTY(image_modified, get_image_modified); + MAKE_PROPERTY(simple_image_modified, get_simple_image_modified); INLINE void set_auto_texture_scale(AutoTextureScale scale); INLINE AutoTextureScale get_auto_texture_scale() const; INLINE bool has_auto_texture_scale() const; + MAKE_PROPERTY(auto_texture_scale, get_auto_texture_scale, + set_auto_texture_scale); void prepare(PreparedGraphicsObjects *prepared_objects); bool is_prepared(PreparedGraphicsObjects *prepared_objects) const; diff --git a/panda/src/gobj/textureStage.h b/panda/src/gobj/textureStage.h index 9623f141a8..518ee14dfa 100644 --- a/panda/src/gobj/textureStage.h +++ b/panda/src/gobj/textureStage.h @@ -188,6 +188,24 @@ PUBLISHED: INLINE static TextureStage *get_default(); +PUBLISHED: + MAKE_PROPERTY(name, get_name, set_name); + MAKE_PROPERTY(sort, get_sort, set_sort); + MAKE_PROPERTY(priority, get_priority, set_priority); + + MAKE_PROPERTY(texcoord_name, get_texcoord_name, set_texcoord_name); + MAKE_PROPERTY(tangent_name, get_tangent_name); + MAKE_PROPERTY(binormal_name, get_binormal_name); + + MAKE_PROPERTY(mode, get_mode, set_mode); + + MAKE_PROPERTY(color, get_color, set_color); + MAKE_PROPERTY(rgb_scale, get_rgb_scale, set_rgb_scale); + MAKE_PROPERTY(alpha_scale, get_alpha_scale, set_alpha_scale); + MAKE_PROPERTY(saved_result, get_saved_result, set_saved_result); + + MAKE_PROPERTY(tex_view_offset, get_tex_view_offset, set_tex_view_offset); + public: INLINE static UpdateSeq get_sort_seq(); diff --git a/panda/src/gobj/transformBlend.h b/panda/src/gobj/transformBlend.h index d85908bfd4..d9e2a40c2e 100644 --- a/panda/src/gobj/transformBlend.h +++ b/panda/src/gobj/transformBlend.h @@ -81,7 +81,8 @@ PUBLISHED: INLINE void transform_point(LPoint3d &point, Thread *current_thread) const; INLINE void transform_vector(LVector3d &point, Thread *current_thread) const; - INLINE UpdateSeq get_modified(Thread *current_thread) const; + INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(modified, get_modified); void output(ostream &out) const; void write(ostream &out, int indent_level) const; diff --git a/panda/src/gobj/vertexSlider.h b/panda/src/gobj/vertexSlider.h index 122bf9a1d0..f8c25244a7 100644 --- a/panda/src/gobj/vertexSlider.h +++ b/panda/src/gobj/vertexSlider.h @@ -44,9 +44,12 @@ PUBLISHED: virtual ~VertexSlider(); INLINE const InternalName *get_name() const; + MAKE_PROPERTY(name, get_name); virtual PN_stdfloat get_slider() const=0; - INLINE UpdateSeq get_modified(Thread *current_thread) const; + INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(slider, get_slider); + MAKE_PROPERTY(modified, get_modified); virtual void output(ostream &out) const; virtual void write(ostream &out, int indent_level) const; diff --git a/panda/src/gobj/vertexTransform.h b/panda/src/gobj/vertexTransform.h index 66f16a95e5..ae002a1c32 100644 --- a/panda/src/gobj/vertexTransform.h +++ b/panda/src/gobj/vertexTransform.h @@ -45,7 +45,8 @@ PUBLISHED: virtual void mult_matrix(LMatrix4 &result, const LMatrix4 &previous) const; virtual void accumulate_matrix(LMatrix4 &accum, PN_stdfloat weight) const; - INLINE UpdateSeq get_modified(Thread *current_thread) const; + INLINE UpdateSeq get_modified(Thread *current_thread = Thread::get_current_thread()) const; + MAKE_PROPERTY(modified, get_modified); virtual void output(ostream &out) const; virtual void write(ostream &out, int indent_level) const; diff --git a/panda/src/gobj/videoTexture.h b/panda/src/gobj/videoTexture.h index a133d43641..dcdc483183 100644 --- a/panda/src/gobj/videoTexture.h +++ b/panda/src/gobj/videoTexture.h @@ -38,6 +38,8 @@ PUBLISHED: INLINE int get_video_width() const; INLINE int get_video_height() const; + MAKE_PROPERTY(video_width, get_video_width); + MAKE_PROPERTY(video_height, get_video_height); public: virtual bool has_cull_callback() const; diff --git a/panda/src/grutil/movieTexture.h b/panda/src/grutil/movieTexture.h index 8dd78481ca..1a3680cde5 100644 --- a/panda/src/grutil/movieTexture.h +++ b/panda/src/grutil/movieTexture.h @@ -62,7 +62,18 @@ PUBLISHED: bool is_playing() const; void synchronize_to(AudioSound *sound); void unsynchronize(); - + +PUBLISHED: + MAKE_PROPERTY(video_length, get_video_length); + MAKE_PROPERTY(video_width, get_video_width); + MAKE_PROPERTY(video_height, get_video_height); + + MAKE_PROPERTY(time, get_time, set_time); + MAKE_PROPERTY(loop, get_loop, set_loop); + MAKE_PROPERTY(loop_count, get_loop_count, set_loop_count); + MAKE_PROPERTY(play_rate, get_play_rate, set_play_rate); + MAKE_PROPERTY(playing, is_playing); + public: virtual void ensure_loader_type(const Filename &filename); diff --git a/panda/src/grutil/nodeVertexTransform.h b/panda/src/grutil/nodeVertexTransform.h index 6b5652cadb..c7e31f4f8c 100644 --- a/panda/src/grutil/nodeVertexTransform.h +++ b/panda/src/grutil/nodeVertexTransform.h @@ -37,6 +37,8 @@ PUBLISHED: INLINE const PandaNode *get_node() const; INLINE const VertexTransform *get_prev() const; + MAKE_PROPERTY(node, get_node); + MAKE_PROPERTY(prev, get_prev); virtual void get_matrix(LMatrix4 &matrix) const; diff --git a/panda/src/grutil/rigidBodyCombiner.h b/panda/src/grutil/rigidBodyCombiner.h index 10a792837f..2f821b263d 100644 --- a/panda/src/grutil/rigidBodyCombiner.h +++ b/panda/src/grutil/rigidBodyCombiner.h @@ -60,6 +60,7 @@ PUBLISHED: void collect(); NodePath get_internal_scene(); + MAKE_PROPERTY(internal_scene, get_internal_scene); public: // From parent class PandaNode diff --git a/panda/src/pgraph/fog.h b/panda/src/pgraph/fog.h index 68be446df4..5e27b32aed 100644 --- a/panda/src/pgraph/fog.h +++ b/panda/src/pgraph/fog.h @@ -65,25 +65,30 @@ PUBLISHED: INLINE Mode get_mode() const; INLINE void set_mode(Mode mode); + MAKE_PROPERTY(mode, get_mode, set_mode); INLINE const LColor &get_color() const; INLINE void set_color(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b); INLINE void set_color(const LColor &color); + MAKE_PROPERTY(color, get_color, set_color); INLINE void set_linear_range(PN_stdfloat onset, PN_stdfloat opaque); INLINE const LPoint3 &get_linear_onset_point() const; INLINE void set_linear_onset_point(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z); INLINE void set_linear_onset_point(const LPoint3 &linear_onset_point); + MAKE_PROPERTY(linear_onset_point, get_linear_onset_point, set_linear_onset_point); INLINE const LPoint3 &get_linear_opaque_point() const; INLINE void set_linear_opaque_point(const LPoint3 &linear_opaque_point); INLINE void set_linear_opaque_point(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z); + MAKE_PROPERTY(linear_opaque_point, get_linear_opaque_point, set_linear_opaque_point); INLINE void set_linear_fallback(PN_stdfloat angle, PN_stdfloat onset, PN_stdfloat opaque); INLINE PN_stdfloat get_exp_density() const; INLINE void set_exp_density(PN_stdfloat exp_density); + MAKE_PROPERTY(exp_density, get_exp_density, set_exp_density); void output(ostream &out) const; diff --git a/panda/src/pgraph/modelRoot.h b/panda/src/pgraph/modelRoot.h index d0bdd750cb..d8ff784a69 100644 --- a/panda/src/pgraph/modelRoot.h +++ b/panda/src/pgraph/modelRoot.h @@ -31,7 +31,7 @@ class EXPCL_PANDA_PGRAPH ModelRoot : public ModelNode { PUBLISHED: INLINE ModelRoot(const string &name); - INLINE ModelRoot(const Filename &fulllpath, time_t timestamp); + INLINE ModelRoot(const Filename &fullpath, time_t timestamp); INLINE int get_model_ref_count() const; MAKE_PROPERTY(model_ref_count, get_model_ref_count); diff --git a/panda/src/pgraphnodes/callbackNode.h b/panda/src/pgraphnodes/callbackNode.h index c8720d98c2..e17d52a789 100644 --- a/panda/src/pgraphnodes/callbackNode.h +++ b/panda/src/pgraphnodes/callbackNode.h @@ -32,10 +32,12 @@ PUBLISHED: INLINE void set_cull_callback(CallbackObject *object); INLINE void clear_cull_callback(); INLINE CallbackObject *get_cull_callback() const; + MAKE_PROPERTY(cull_callback, get_cull_callback, set_cull_callback); INLINE void set_draw_callback(CallbackObject *object); INLINE void clear_draw_callback(); INLINE CallbackObject *get_draw_callback() const; + MAKE_PROPERTY(draw_callback, get_draw_callback, set_draw_callback); public: CallbackNode(const CallbackNode ©); diff --git a/panda/src/pgraphnodes/fadeLodNode.h b/panda/src/pgraphnodes/fadeLodNode.h index 4a840fa9ab..d11459a9ce 100644 --- a/panda/src/pgraphnodes/fadeLodNode.h +++ b/panda/src/pgraphnodes/fadeLodNode.h @@ -37,13 +37,18 @@ public: PUBLISHED: INLINE void set_fade_time(PN_stdfloat t); INLINE PN_stdfloat get_fade_time() const; + MAKE_PROPERTY(fade_time, get_fade_time, set_fade_time); void set_fade_bin(const string &name, int draw_order); INLINE const string &get_fade_bin_name() const; INLINE int get_fade_bin_draw_order() const; + MAKE_PROPERTY(fade_bin_name, get_fade_bin_name); + MAKE_PROPERTY(fade_bin_draw_order, get_fade_bin_draw_order); void set_fade_state_override(int override); INLINE int get_fade_state_override() const; + MAKE_PROPERTY(fade_state_override, get_fade_state_override, + set_fade_state_override); private: CPT(RenderState) get_fade_1_old_state(); diff --git a/panda/src/pgraphnodes/spotlight.h b/panda/src/pgraphnodes/spotlight.h index 62ffb5f914..46bd3578f2 100644 --- a/panda/src/pgraphnodes/spotlight.h +++ b/panda/src/pgraphnodes/spotlight.h @@ -53,12 +53,15 @@ public: PUBLISHED: INLINE PN_stdfloat get_exponent() const FINAL; INLINE void set_exponent(PN_stdfloat exponent); + MAKE_PROPERTY(exponent, get_exponent, set_exponent); INLINE const LColor &get_specular_color() const FINAL; INLINE void set_specular_color(const LColor &color); + MAKE_PROPERTY(specular_color, get_specular_color, set_specular_color); INLINE const LVecBase3 &get_attenuation() const FINAL; INLINE void set_attenuation(const LVecBase3 &attenuation); + MAKE_PROPERTY(attenuation, get_attenuation, set_attenuation); virtual int get_class_priority() const; diff --git a/panda/src/pgraphnodes/switchNode.h b/panda/src/pgraphnodes/switchNode.h index 053dc9bfb2..6bb0c50066 100644 --- a/panda/src/pgraphnodes/switchNode.h +++ b/panda/src/pgraphnodes/switchNode.h @@ -43,6 +43,8 @@ PUBLISHED: INLINE void set_visible_child(int index); virtual int get_visible_child() const; + MAKE_PROPERTY(visible_child, get_visible_child, set_visible_child); + private: class EXPCL_PANDA_PGRAPHNODES CData : public CycleData { public: diff --git a/panda/src/pgraphnodes/uvScrollNode.h b/panda/src/pgraphnodes/uvScrollNode.h index 759d5cd2b4..6eadda9ed5 100644 --- a/panda/src/pgraphnodes/uvScrollNode.h +++ b/panda/src/pgraphnodes/uvScrollNode.h @@ -50,6 +50,12 @@ PUBLISHED: INLINE PN_stdfloat get_w_speed() const; INLINE PN_stdfloat get_r_speed() const; +PUBLISHED: + MAKE_PROPERTY(u_speed, get_u_speed, set_u_speed); + MAKE_PROPERTY(v_speed, get_v_speed, set_v_speed); + MAKE_PROPERTY(w_speed, get_w_speed, set_w_speed); + MAKE_PROPERTY(r_speed, get_r_speed, set_r_speed); + private: PN_stdfloat _u_speed; PN_stdfloat _v_speed; diff --git a/panda/src/pnmimage/pfmFile.h b/panda/src/pnmimage/pfmFile.h index 1b82f91d65..0b6ce06dad 100644 --- a/panda/src/pnmimage/pfmFile.h +++ b/panda/src/pnmimage/pfmFile.h @@ -52,9 +52,11 @@ PUBLISHED: BLOCKING bool store_mask(PNMImage &pnmimage) const; INLINE bool is_valid() const; + MAKE_PROPERTY(valid, is_valid); INLINE PN_float32 get_scale() const; INLINE void set_scale(PN_float32 scale); + MAKE_PROPERTY(scale, get_scale, set_scale); INLINE bool has_point(int x, int y) const; INLINE PN_float32 get_channel(int x, int y, int c) const; diff --git a/panda/src/pnmimage/pnmImageHeader.I b/panda/src/pnmimage/pnmImageHeader.I index 18d7d5b3df..31a2997f15 100644 --- a/panda/src/pnmimage/pnmImageHeader.I +++ b/panda/src/pnmimage/pnmImageHeader.I @@ -191,6 +191,18 @@ get_y_size() const { return _y_size; } +//////////////////////////////////////////////////////////////////// +// Function: PNMImageHeader::get_size +// Access: Published +// Description: Returns the number of pixels in each direction. +// This is one more than the largest allowable +// coordinates. +//////////////////////////////////////////////////////////////////// +INLINE LVecBase2i PNMImageHeader:: +get_size() const { + return LVecBase2i(_x_size, _y_size); +} + //////////////////////////////////////////////////////////////////// // Function: PNMImageHeader::get_comment // Access: Published diff --git a/panda/src/pnmimage/pnmImageHeader.h b/panda/src/pnmimage/pnmImageHeader.h index a70bce197c..38dee38432 100644 --- a/panda/src/pnmimage/pnmImageHeader.h +++ b/panda/src/pnmimage/pnmImageHeader.h @@ -25,6 +25,7 @@ #include "pmap.h" #include "pvector.h" #include "colorSpace.h" +#include "lvecBase2.h" class PNMFileType; class PNMReader; @@ -60,6 +61,7 @@ PUBLISHED: INLINE ColorType get_color_type() const; INLINE int get_num_channels() const; + MAKE_PROPERTY(num_channels, get_num_channels); INLINE static bool is_grayscale(ColorType color_type); INLINE bool is_grayscale() const; @@ -69,16 +71,22 @@ PUBLISHED: INLINE xelval get_maxval() const; INLINE ColorSpace get_color_space() const; + MAKE_PROPERTY(maxval, get_maxval); + MAKE_PROPERTY(color_space, get_color_space); INLINE int get_x_size() const; INLINE int get_y_size() const; + INLINE LVecBase2i get_size() const; + MAKE_PROPERTY(size, get_size); INLINE string get_comment() const; INLINE void set_comment(const string &comment); + MAKE_PROPERTY(comment, get_comment, set_comment); INLINE bool has_type() const; INLINE PNMFileType *get_type() const; INLINE void set_type(PNMFileType *type); + MAKE_PROPERTY2(type, has_type, get_type); BLOCKING bool read_header(const Filename &filename, PNMFileType *type = NULL, bool report_unknown_type = true); diff --git a/panda/src/pnmimage/pnmPainter.h b/panda/src/pnmimage/pnmPainter.h index 29d8be1883..8ea7c38b1f 100644 --- a/panda/src/pnmimage/pnmPainter.h +++ b/panda/src/pnmimage/pnmPainter.h @@ -41,6 +41,9 @@ PUBLISHED: INLINE void set_fill(PNMBrush *fill); INLINE PNMBrush *get_fill() const; + MAKE_PROPERTY(pen, get_pen, set_pen); + MAKE_PROPERTY(fill, get_fill, set_fill); + INLINE void draw_point(float x, float y); void draw_line(float xa, float ya, float xb, float yb); void draw_rectangle(float xa, float ya, float xb, float yb); diff --git a/panda/src/putil/animInterface.h b/panda/src/putil/animInterface.h index 3ee3787743..8c0e40665d 100644 --- a/panda/src/putil/animInterface.h +++ b/panda/src/putil/animInterface.h @@ -66,6 +66,18 @@ PUBLISHED: virtual void output(ostream &out) const; +PUBLISHED: + MAKE_PROPERTY(play_rate, get_play_rate, set_play_rate); + MAKE_PROPERTY(frame_rate, get_frame_rate); + MAKE_PROPERTY(num_frames, get_num_frames); + + MAKE_PROPERTY(frame, get_frame); + MAKE_PROPERTY(next_frame, get_next_frame); + MAKE_PROPERTY(frac, get_frac); + MAKE_PROPERTY(full_frame, get_full_frame); + MAKE_PROPERTY(full_fframe, get_full_fframe); + MAKE_PROPERTY(playing, is_playing); + protected: INLINE void set_frame_rate(double frame_rate); INLINE void set_num_frames(int num_frames); diff --git a/panda/src/putil/bamCache.h b/panda/src/putil/bamCache.h index f0615111a1..f99ba321d9 100644 --- a/panda/src/putil/bamCache.h +++ b/panda/src/putil/bamCache.h @@ -86,6 +86,17 @@ PUBLISHED: INLINE static void consider_flush_global_index(); INLINE static void flush_global_index(); +PUBLISHED: + MAKE_PROPERTY(active, get_active, set_active); + MAKE_PROPERTY(cache_models, get_cache_models, set_cache_models); + MAKE_PROPERTY(cache_textures, get_cache_textures, set_cache_textures); + MAKE_PROPERTY(cache_compressed_textures, get_cache_compressed_textures, + set_cache_compressed_textures); + MAKE_PROPERTY(root, get_root, set_root); + MAKE_PROPERTY(flush_time, get_flush_time, set_flush_time); + MAKE_PROPERTY(cache_max_kbytes, get_cache_max_kbytes, set_cache_max_kbytes); + MAKE_PROPERTY(read_only, get_read_only, set_read_only); + private: void read_index(); bool read_index_pathname(Filename &index_pathname, diff --git a/panda/src/putil/bamCacheRecord.h b/panda/src/putil/bamCacheRecord.h index 97dde69552..c6260141ac 100644 --- a/panda/src/putil/bamCacheRecord.h +++ b/panda/src/putil/bamCacheRecord.h @@ -55,6 +55,11 @@ PUBLISHED: INLINE time_t get_source_timestamp() const; INLINE time_t get_recorded_time() const; + MAKE_PROPERTY(source_pathname, get_source_pathname); + MAKE_PROPERTY(cache_filename, get_cache_filename); + MAKE_PROPERTY(source_timestamp, get_source_timestamp); + MAKE_PROPERTY(recorded_time, get_recorded_time); + INLINE int get_num_dependent_files() const; INLINE const Filename &get_dependent_pathname(int n) const; diff --git a/panda/src/putil/bamReader.h b/panda/src/putil/bamReader.h index 9c65856ae7..60dd47a3dc 100644 --- a/panda/src/putil/bamReader.h +++ b/panda/src/putil/bamReader.h @@ -143,7 +143,7 @@ PUBLISHED: INLINE const LoaderOptions &get_loader_options() const; INLINE void set_loader_options(const LoaderOptions &options); - + TypedWritable *read_object(); bool read_object(TypedWritable *&ptr, ReferenceCount *&ref_ptr); @@ -160,6 +160,14 @@ PUBLISHED: INLINE int get_current_major_ver() const; INLINE int get_current_minor_ver() const; +PUBLISHED: + MAKE_PROPERTY(source, get_source, set_source); + MAKE_PROPERTY(filename, get_filename); + MAKE_PROPERTY(loader_options, get_loader_options, set_loader_options); + + MAKE_PROPERTY(file_endian, get_file_endian); + MAKE_PROPERTY(file_stdfloat_double, get_file_stdfloat_double); + public: // Functions to support classes that read themselves from the Bam. diff --git a/panda/src/putil/bamWriter.h b/panda/src/putil/bamWriter.h index 8db23684eb..4d4529360f 100644 --- a/panda/src/putil/bamWriter.h +++ b/panda/src/putil/bamWriter.h @@ -90,6 +90,13 @@ PUBLISHED: INLINE BamTextureMode get_file_texture_mode() const; INLINE void set_file_texture_mode(BamTextureMode file_texture_mode); +PUBLISHED: + MAKE_PROPERTY(target, get_target, set_target); + MAKE_PROPERTY(filename, get_filename); + MAKE_PROPERTY(file_endian, get_file_endian); + MAKE_PROPERTY(file_stdfloat_double, get_file_stdfloat_double); + MAKE_PROPERTY(file_texture_mode, get_file_texture_mode); + public: // Functions to support classes that write themselves to the Bam. diff --git a/panda/src/putil/buttonHandle.h b/panda/src/putil/buttonHandle.h index 071abf3d39..40dc06865c 100644 --- a/panda/src/putil/buttonHandle.h +++ b/panda/src/putil/buttonHandle.h @@ -58,6 +58,8 @@ PUBLISHED: MAKE_PROPERTY(index, get_index); MAKE_PROPERTY(name, get_name); + MAKE_PROPERTY2(ascii_equivalent, has_ascii_equivalent, + get_ascii_equivalent); MAKE_PROPERTY(alias, get_alias); private: diff --git a/panda/src/putil/cachedTypedWritableReferenceCount.h b/panda/src/putil/cachedTypedWritableReferenceCount.h index c59ae6af62..f57c58a157 100644 --- a/panda/src/putil/cachedTypedWritableReferenceCount.h +++ b/panda/src/putil/cachedTypedWritableReferenceCount.h @@ -50,6 +50,8 @@ PUBLISHED: INLINE bool cache_unref() const; INLINE bool test_ref_count_integrity() const; + MAKE_PROPERTY(cache_ref_count, get_cache_ref_count); + protected: INLINE void cache_unref_only() const; bool do_test_ref_count_integrity() const; @@ -77,4 +79,4 @@ INLINE void cache_unref_delete(RefCountType *ptr); #include "cachedTypedWritableReferenceCount.I" -#endif +#endif diff --git a/panda/src/text/textAssembler.h b/panda/src/text/textAssembler.h index 24db6244c6..66feb30677 100644 --- a/panda/src/text/textAssembler.h +++ b/panda/src/text/textAssembler.h @@ -107,6 +107,13 @@ PUBLISHED: static bool has_character(wchar_t character, const TextProperties &properties); static bool is_whitespace(wchar_t character, const TextProperties &properties); +PUBLISHED: + MAKE_PROPERTY(usage_hint, get_usage_hint, set_usage_hint); + MAKE_PROPERTY(max_rows, get_max_rows, set_max_rows); + MAKE_PROPERTY(dynamic_merge, get_dynamic_merge, set_dynamic_merge); + MAKE_PROPERTY(multiline_mode, get_multiline_mode, set_multiline_mode); + MAKE_PROPERTY(properties, get_properties, set_properties); + private: class ComputedProperties : public ReferenceCount { public: diff --git a/panda/src/text/textProperties.h b/panda/src/text/textProperties.h index e3478d41fa..bb27aa49e3 100644 --- a/panda/src/text/textProperties.h +++ b/panda/src/text/textProperties.h @@ -170,6 +170,40 @@ PUBLISHED: void write(ostream &out, int indent_level = 0) const; +PUBLISHED: + MAKE_PROPERTY2(font, has_font, get_font, set_font, clear_font); + MAKE_PROPERTY2(small_caps, has_small_caps, get_small_caps, + set_small_caps, clear_small_caps); + MAKE_PROPERTY2(small_caps_scale, has_small_caps_scale, get_small_caps_scale, + set_small_caps_scale, clear_small_caps_scale); + MAKE_PROPERTY2(slant, has_slant, get_slant, set_slant, clear_slant); + MAKE_PROPERTY2(underscore, has_underscore, get_underscore, + set_underscore, clear_underscore); + MAKE_PROPERTY2(underscore_height, has_underscore_height, get_underscore_height, + set_underscore_height, clear_underscore_height); + MAKE_PROPERTY2(align, has_align, get_align, set_align, clear_align); + MAKE_PROPERTY2(indent, has_indent, get_indent, set_indent, clear_indent); + MAKE_PROPERTY2(wordwrap, has_wordwrap, get_wordwrap, set_wordwrap, clear_wordwrap); + MAKE_PROPERTY2(preserve_trailing_whitespace, + has_preserve_trailing_whitespace, get_preserve_trailing_whitespace, + set_preserve_trailing_whitespace, clear_preserve_trailing_whitespace); + MAKE_PROPERTY2(text_color, has_text_color, get_text_color, + set_text_color, clear_text_color); + MAKE_PROPERTY2(shadow_color, has_shadow_color, get_shadow_color, + set_shadow_color, clear_shadow_color); + MAKE_PROPERTY2(shadow, has_shadow, get_shadow, set_shadow, clear_shadow); + MAKE_PROPERTY2(bin, has_bin, get_bin, set_bin, clear_bin); + MAKE_PROPERTY2(draw_order, has_draw_order, get_draw_order, + set_draw_order, clear_draw_order); + MAKE_PROPERTY2(tab_width, has_tab_width, get_tab_width, + set_tab_width, clear_tab_width); + MAKE_PROPERTY2(glyph_scale, has_glyph_scale, get_glyph_scale, + set_glyph_scale, clear_glyph_scale); + MAKE_PROPERTY2(glyph_shift, has_glyph_shift, get_glyph_shift, + set_glyph_shift, clear_glyph_shift); + MAKE_PROPERTY2(text_scale, has_text_scale, get_text_scale, + set_text_scale, clear_text_scale); + public: const RenderState *get_text_state() const; const RenderState *get_shadow_state() const;