Panda3D
Public Member Functions | List of all members
ConfigVariableColor Class Reference

This is a convenience class to specialize ConfigVariable as a set of floating-point types representing a color value. More...

#include "configVariableColor.h"

Inheritance diagram for ConfigVariableColor:
ConfigVariable ConfigVariableBase ConfigFlags

Public Member Functions

 ConfigVariableColor (const std::string &name)
 
 ConfigVariableColor (const std::string &name, const LColor &default_value, const std::string &description=std::string(), int flags=0)
 
 ConfigVariableColor (const std::string &name, const std::string &default_value, const std::string &description=std::string(), int flags=0)
 
LColor get_default_value () const
 Returns the variable's default value. More...
 
const LColor & get_value () const
 Returns the variable's value. More...
 
PN_stdfloat operator [] (int n) const
 Returns the value of the color's nth component (which is not necessarily the same thing as the variable's nth word). More...
 
 operator const LColor & () const
 Returns the variable's value. More...
 
void operator= (const LColor &value)
 Reassigns the variable's local value. More...
 
void set_value (const LColor &value)
 Reassigns the variable's local value. More...
 
- Public Member Functions inherited from ConfigVariable
 ConfigVariable (const std::string &name)
 Use this constructor to make a ConfigVariable of an unspecified type. More...
 
void clear_value ()
 Removes the value assigned to this variable, and lets its original value (as read from the prc files) show through. More...
 
size_t get_num_words () const
 Returns the number of words in the variable's value. More...
 
const std::string & get_string_value () const
 Returns the toplevel value of the variable, formatted as a string. More...
 
void set_string_value (const std::string &value)
 Changes the value assigned to this variable. More...
 
- Public Member Functions inherited from ConfigVariableBase
bool clear_local_value ()
 Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files. More...
 
const std::string & get_description () const
 
int get_flags () const
 Returns the flags value as set by set_flags(). More...
 
const std::string & get_name () const
 
int get_trust_level () const
 
ValueType get_value_type () const
 
bool has_local_value () const
 Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise. More...
 
bool has_value () const
 Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value. More...
 
bool is_closed () const
 
bool is_dynamic () const
 
void output (std::ostream &out) const
 
void write (std::ostream &out) const
 

Additional Inherited Members

- Public Types inherited from ConfigFlags
enum  ValueType {
  VT_undefined, VT_list, VT_string, VT_filename,
  VT_bool, VT_int, VT_double, VT_enum,
  VT_search_path, VT_int64, VT_color
}
 
enum  VariableFlags {
  F_trust_level_mask = 0x00000fff, F_open = 0x00001000, F_closed = 0x00002000, F_dynamic = 0x00004000,
  F_dconfig = 0x00008000
}
 
- Public Attributes inherited from ConfigVariableBase
 get_description
 Returns the brief description of this variable, if it has been defined. More...
 
 get_name
 Returns the name of the variable. More...
 
 get_trust_level
 Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. More...
 
 get_value_type
 Returns the stated type of this variable. More...
 
 is_closed
 Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()). More...
 
 is_dynamic
 Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables. More...
 

Detailed Description

This is a convenience class to specialize ConfigVariable as a set of floating-point types representing a color value.

It interprets the color differently depending on how many words were specified: if only one, it is interpreted as a shade of gray with alpha 1. If two values were specified, a grayscale and alpha pair. If three, a set of R, G, B values with alpha 1, and if four, a complete RGBA color.

This isn't defined in dtool because it relies on the LColor class, which is defined in linmath.

Definition at line 35 of file configVariableColor.h.

Member Function Documentation

◆ get_default_value()

LColor ConfigVariableColor::get_default_value ( ) const
inline

Returns the variable's default value.

Definition at line 142 of file configVariableColor.I.

References ConfigDeclaration::get_num_words().

◆ get_value()

const LColor & ConfigVariableColor::get_value ( ) const
inline

Returns the variable's value.

Definition at line 103 of file configVariableColor.I.

Referenced by operator []().

◆ operator []()

PN_stdfloat ConfigVariableColor::operator [] ( int  n) const
inline

Returns the value of the color's nth component (which is not necessarily the same thing as the variable's nth word).

Definition at line 83 of file configVariableColor.I.

References get_value().

◆ operator const LColor &()

ConfigVariableColor::operator const LColor & ( ) const
inline

Returns the variable's value.

Definition at line 74 of file configVariableColor.I.

◆ operator=()

void ConfigVariableColor::operator= ( const LColor &  value)
inline

Reassigns the variable's local value.

Definition at line 66 of file configVariableColor.I.

References set_value().

◆ set_value()

void ConfigVariableColor::set_value ( const LColor &  value)
inline

Reassigns the variable's local value.

Definition at line 91 of file configVariableColor.I.

References ConfigVariable::set_string_value().

Referenced by operator=().


The documentation for this class was generated from the following files: