void GPolygon::setFillColor(string color) {
    fillColor = color;
    if (fillColor != "") {
        fillColor = convertRGBToColor(convertColorToRGB(color));
    }
    pp->setFillColor(this, fillColor);
}
void GArc::setFillColor(const std::string& color) {
    fillColor = color;
    if (fillColor == "") {
        if (isFilled()) {
            setFilled(false);
        }
    } else {
        fillColor = convertRGBToColor(convertColorToRGB(color));
        if (!isFilled()) {
            setFilled(true);
        }
    }
    stanfordcpplib::getPlatform()->gobject_setFillColor(this, fillColor);
}
void GArc::setFillColor(int color) {
    fillColor = convertRGBToColor(color);
    stanfordcpplib::getPlatform()->gobject_setFillColor(this, fillColor);
}
void GRect::setFillColor(int rgb) {
    fillColor = convertRGBToColor(rgb);
    stanfordcpplib::getPlatform()->gobject_setFillColor(this, fillColor);
}
void GObject::setColor(int rgb) {
    this->color = convertRGBToColor(rgb);
    stanfordcpplib::getPlatform()->gobject_setColor(this, this->color);
}
void GPolygon::setFillColor(int rgb) {
    fillColor = convertRGBToColor(rgb);
    pp->setFillColor(this, fillColor);
}
void GObject::setColor(int rgb) {
    this->color = convertRGBToColor(rgb);
    pp->setColor(this, this->color);
}
void GArc::setFillColor(int color) {
    fillColor = convertRGBToColor(color);
    pp->setFillColor(this, fillColor);
}
void GObject::setColor(int rgb) {
   setColor(convertRGBToColor(rgb));
}
string GObject::getColor() const {
   return convertRGBToColor(convertColorToRGB(color));
}
std::string GBufferedImage::getRGBString(double x, double y) const {
    return convertRGBToColor(getRGB(x, y));
}