Exemplo n.º 1
0
void DivNode::registerType()
{
    string sChildArray[] = {"image", "div", "canvas", "words", "video", "camera", 
            "panoimage", "sound", "line", "rect", "curve", "polyline", "polygon",
            "circle", "mesh"};
    vector<string> sChildren = vectorFromCArray(
            sizeof(sChildArray) / sizeof(*sChildArray), sChildArray);
    NodeDefinition def = NodeDefinition("div", "areanode", Node::buildNode<DivNode>)
        .addChildren(sChildren)
        .addArg(Arg<bool>("crop", false, false, offsetof(DivNode, m_bCrop)))
        .addArg(Arg<UTF8String>("mediadir", "", false, offsetof(DivNode, m_sMediaDir)));
    NodeRegistry::get()->registerNodeType(def);
}
Exemplo n.º 2
0
void RectNode::registerType()
{
    float texCoords[] = {0, 0.25f, 0.5f, 0.75f, 1};
    NodeDefinition def = NodeDefinition("rect", "filledvectornode",
            Node::buildNode<RectNode>)
        .addArg(Arg<glm::vec2>("pos", glm::vec2(0,0), false, 
                offsetof(RectNode, m_Rect.tl)))
        .addArg(Arg<glm::vec2>("size", glm::vec2(0,0)))
        .addArg(Arg<float>("angle", 0.0f, false, offsetof(RectNode, m_Angle)))
        .addArg(Arg<vector<float> >("texcoords", vectorFromCArray(5, texCoords), false,
                offsetof(RectNode, m_TexCoords)))
        ;
    NodeRegistry::get()->registerNodeType(def);
}
Exemplo n.º 3
0
NodeDefinition DivNode::createDefinition()
{
    string sChildArray[] = {"image", "div", "canvas", "words", "video", "camera", 
            "panoimage", "sound", "line", "rect", "curve", "polyline", "polygon",
            "circle", "mesh"};
    vector<string> sChildren = vectorFromCArray(
            sizeof(sChildArray) / sizeof(*sChildArray), sChildArray);
    return NodeDefinition("div", Node::buildNode<DivNode>)
        .extendDefinition(AreaNode::createDefinition())
        .addChildren(sChildren)
        .addArg(Arg<bool>("crop", false, false, offsetof(DivNode, m_bCrop)))
        .addArg(Arg<string>("elementoutlinecolor", "", false, 
                offsetof(DivNode, m_sElementOutlineColor)))
        .addArg(Arg<UTF8String>("mediadir", "", false, offsetof(DivNode, m_sMediaDir)));
}
Exemplo n.º 4
0
void NodeRegistry::registerNodeType(const NodeDefinition& def, const char* pParentNames[])
{
    m_NodeDefs.insert(NodeDefMap::value_type(def.getName(), def));

    if (pParentNames) {
        string sChildArray[1];
        sChildArray[0] = def.getName();
        vector<string> sChildren = vectorFromCArray(1, sChildArray);
        const char **ppCurParentName = pParentNames;

        while (*ppCurParentName) {
            NodeDefinition nodeDefinition = getNodeDef(*ppCurParentName);
            nodeDefinition.addChildren(sChildren);
            updateNodeDefinition(nodeDefinition);

            ++ppCurParentName;
        }
    }
}
Exemplo n.º 5
0
void TypeRegistry::registerType(const TypeDefinition& def, const char* pParentNames[])
{
    m_TypeDefs.insert(TypeDefMap::value_type(def.getName(), def));

    if (pParentNames) {
        string sChildArray[1];
        sChildArray[0] = def.getName();
        vector<string> sChildren = vectorFromCArray(1, sChildArray);
        const char **ppCurParentName = pParentNames;

        while (*ppCurParentName) {
            TypeDefinition def = getTypeDef(*ppCurParentName);
            def.addChildren(sChildren);
            updateDefinition(def);

            ++ppCurParentName;
        }
    }
}