18 #include <sbml/packages/render/sbml/ColorDefinition.h>
23 # include <inttypes.h>
69 mGreen(source.mGreen),
71 mAlpha(source.mAlpha),
84 mRed(source.getRed()),
85 mGreen(source.getGreen()),
86 mBlue(source.getBlue()),
87 mAlpha(source.getAlpha()),
186 size_t first_letter = valueString.find_first_not_of(std::string(
" \t\r\n"));
188 if (first_letter == std::string::npos)
194 std::string trimmed = valueString.substr(first_letter, valueString.find_last_not_of(
" \t\r\n") - first_letter + 1);
196 if (trimmed[0] ==
'#' && (trimmed.size() == 7 || trimmed.size() == 9) && trimmed.find_first_not_of(
"0123456789ABCDEFabcdef", 1) == std::string::npos)
198 this->
mRed = (
unsigned char)strtol(trimmed.substr(1, 2).c_str(), NULL, 16);
199 this->
mGreen = (
unsigned char)strtol(trimmed.substr(3, 2).c_str(), NULL, 16);
200 this->
mBlue = (
unsigned char)strtol(trimmed.substr(5, 2).c_str(), NULL, 16);
202 if (trimmed.size() == 9)
205 this->
mAlpha = (
unsigned char)strtol(trimmed.substr(7, 2).c_str(), NULL, 16);
235 std::ostringstream os;
236 os <<
"#" << std::hex << std::setw(2) << std::setfill(
'0') << (
unsigned int)
mRed << std::hex << std::setw(2) << std::setfill(
'0') << (
unsigned int)
mGreen << std::hex << std::setw(2) << std::setfill(
'0') << (
unsigned int)
mBlue;
240 os << std::hex << std::setw(2) << std::setfill(
'0') << (
unsigned int)
mAlpha;
259 ColorDefinition* pCD =
new ColorDefinition(level, version);
260 pCD->setId(this->
mId);
bool remove(const std::string &key)
void setBlue(unsigned char c)
void setRed(unsigned char c)
const std::string & getKey() const
bool setColorValue(const std::string &valueString)
unsigned char getBlue() const
virtual ~CLColorDefinition()
CLColorDefinition(CCopasiContainer *pParent=NULL)
unsigned char getGreen() const
void setRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
unsigned char getRed() const
std::string add(const std::string &prefix, CCopasiObject *pObject)
void setId(const std::string &id)
unsigned char getAlpha() const
static CKeyFactory * getKeyFactory()
void setAlpha(unsigned char c)
std::string createValueString() const
const std::string & getId() const
void setGreen(unsigned char c)
ColorDefinition * toSBML(unsigned int level, unsigned int version) const