Exemple #1
0
std::unique_ptr<IObject> deserializeAnimatedTextBoxSkin(Deserializer& deserializer)
{
    DESERIALIZE(std::shared_ptr<IRelativeBox>, box);
    DESERIALIZE(std::shared_ptr<EditableLabel>, label);
    DESERIALIZE(std::shared_ptr<TextBoxCursor>, cursor);
    DESERIALIZE(std::shared_ptr<IRelativeGeometry>, geometry);
    DESERIALIZE_OPT(Time, shiftPeriod, 0);

    std::unique_ptr<AnimatedTextBoxSkin> result(new AnimatedTextBoxSkin(box, label, cursor, geometry));
    result->setShiftPeriod(shiftPeriod);
    deserializeAnimatedObjectElements(deserializer, result.get());
    return std::move(result);
}
Exemple #2
0
std::unique_ptr<IObject> deserializeCanvasLayout(Deserializer& deserializer)
{
    typedef std::map<int, std::shared_ptr<IObject>> Objects;
    DESERIALIZE(std::shared_ptr<IRelativeBox>, box);
    DESERIALIZE(std::shared_ptr<IRelativeOffset>, position);
    DESERIALIZE_OPT(Adjustment::Enum, adjustment, Adjustment::None);
    std::unique_ptr<CanvasLayout> result(new CanvasLayout(box, position));
    if (deserializer.hasMember("objects")) {
        DESERIALIZE(Objects, objects);
        result->insertObjects(objects);
    } else {
        DESERIALIZE(std::vector<std::shared_ptr<IObject>>, list);
        result->addObjects(list);
    }

    result->setAdjustment(adjustment);
    return std::move(result);
}