void RelativePositionedRectangle::restoreFromXml (const XmlElement& e, const RelativePositionedRectangle& defaultPos) { rect = PositionedRectangle (e.getStringAttribute ("pos", defaultPos.rect.toString())); relativeToX = e.getStringAttribute ("posRelativeX", String::toHexString (defaultPos.relativeToX)).getHexValue64(); relativeToY = e.getStringAttribute ("posRelativeY", String::toHexString (defaultPos.relativeToY)).getHexValue64(); relativeToW = e.getStringAttribute ("posRelativeW", String::toHexString (defaultPos.relativeToW)).getHexValue64(); relativeToH = e.getStringAttribute ("posRelativeH", String::toHexString (defaultPos.relativeToH)).getHexValue64(); }
void JucerFillType::reset() { ImageCache::release (image); image = 0; mode = solidColour; colour = Colours::brown.withHue (Random::getSystemRandom().nextFloat()); gradCol1 = Colours::red; gradCol2 = Colours::green; gradPos1 = RelativePositionedRectangle(); gradPos1.rect = PositionedRectangle (T("50 50")); gradPos2 = RelativePositionedRectangle(); gradPos2.rect = PositionedRectangle (T("100 100")); imageResourceName = String::empty; imageOpacity = 1.0; imageAnchor = RelativePositionedRectangle(); imageAnchor.rect = PositionedRectangle (T("0 0")); }
void PaintElementPath::restorePathFromString (const String& s) { points.clear(); StringArray tokens; tokens.addTokens (s, false); tokens.trim(); tokens.removeEmptyStrings(); for (int i = 0; i < tokens.size(); ++i) { ScopedPointer<PathPoint> p (new PathPoint (this)); if (tokens[i] == "s") { p->type = Path::Iterator::startNewSubPath; p->pos [0] = RelativePositionedRectangle(); p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); i += 2; } else if (tokens[i] == "l") { p->type = Path::Iterator::lineTo; p->pos [0] = RelativePositionedRectangle(); p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); i += 2; } else if (tokens[i] == "q") { p->type = Path::Iterator::quadraticTo; p->pos [0] = RelativePositionedRectangle(); p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); p->pos [1] = RelativePositionedRectangle(); p->pos [1].rect = PositionedRectangle (tokens [i + 3] + " " + tokens [i + 4]); i += 4; } else if (tokens[i] == "c") { p->type = Path::Iterator::cubicTo; p->pos [0] = RelativePositionedRectangle(); p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); p->pos [1] = RelativePositionedRectangle(); p->pos [1].rect = PositionedRectangle (tokens [i + 3] + " " + tokens [i + 4]); p->pos [2] = RelativePositionedRectangle(); p->pos [2].rect = PositionedRectangle (tokens [i + 5] + " " + tokens [i + 6]); i += 6; } else if (tokens[i] == "x") { p->type = Path::Iterator::closePath; } else continue; points.add (p.release()); } }
const RelativePositionedRectangle ComponentTypeHandler::getComponentPosition (Component* comp) { RelativePositionedRectangle rp; rp.rect = PositionedRectangle (comp->getProperties() ["pos"]); rp.relativeToX = comp->getProperties() ["relativeToX"].toString().getHexValue64(); rp.relativeToY = comp->getProperties() ["relativeToY"].toString().getHexValue64(); rp.relativeToW = comp->getProperties() ["relativeToW"].toString().getHexValue64(); rp.relativeToH = comp->getProperties() ["relativeToH"].toString().getHexValue64(); return rp; }
void JucerFillType::restoreFromString (const String& s) { reset(); if (s.isNotEmpty()) { StringArray toks; toks.addTokens (s, T(",:"), 0); toks.trim(); if (toks[0] == T("solid")) { mode = solidColour; colour = Colour (toks[1].getHexValue32()); } else if (toks[0] == T("linear") || toks[0] == T("radial")) { mode = (toks[0] == T("linear")) ? linearGradient : radialGradient; gradPos1 = RelativePositionedRectangle(); gradPos1.rect = PositionedRectangle (toks[1]); gradPos2 = RelativePositionedRectangle(); gradPos2.rect = PositionedRectangle (toks[2]); gradCol1 = Colour (toks[3].fromFirstOccurrenceOf (T("="), false, false).getHexValue32()); gradCol2 = Colour (toks[4].fromFirstOccurrenceOf (T("="), false, false).getHexValue32()); } else if (toks[0] == T("image")) { mode = imageBrush; imageResourceName = toks[1]; imageOpacity = toks[2].getDoubleValue(); imageAnchor= RelativePositionedRectangle(); imageAnchor.rect = PositionedRectangle (toks[3]); } else { jassertfalse } }