Example #1
0
void RuntimeSpriteObject::ChangeScale( const gd::String & operatorStr, double newScale)
{
    //TODO : Generate appropriate code calling SetScaleX/Y instead of this.
    if ( operatorStr == "=" )
    {
        SetScaleX(newScale);
        SetScaleY(newScale);
    }
    else if ( operatorStr == "+" )
    {
        SetScaleX(GetScaleX()+newScale);
        SetScaleY(GetScaleY()+newScale);
    }
    else if ( operatorStr == "-" )
    {
        SetScaleX(GetScaleX()-newScale);
        SetScaleY(GetScaleY()-newScale);
    }
    else if ( operatorStr == "*" )
    {
        SetScaleX(GetScaleX()*newScale);
        SetScaleY(GetScaleY()*newScale);
    }
    else if ( operatorStr == "/" )
    {
        SetScaleX(GetScaleX()/newScale);
        SetScaleY(GetScaleY()/newScale);
    }

    return;
}
Example #2
0
bool RuntimeSpriteObject::ChangeProperty(std::size_t propertyNb, gd::String newValue)
{
    if ( propertyNb == 0 ) { return SetCurrentAnimation(newValue.To<int>()); }
    else if ( propertyNb == 1 )
    {
        if ( currentAnimation >= GetAnimationsCount() ) return false;

        return animations[currentAnimation].Get().useMultipleDirections ? SetDirection(newValue.To<std::size_t>()) : SetAngle(newValue.To<float>());
    }
    else if ( propertyNb == 2 ) { return SetSprite(newValue.To<int>()); }
    else if ( propertyNb == 3 ) { SetOpacity(newValue.To<float>()); }
    else if ( propertyNb == 4 ) { SetBlendMode(newValue.To<int>()); }
    else if ( propertyNb == 5 ) {SetScaleX(newValue.To<float>());}
    else if ( propertyNb == 6 ) {SetScaleY(newValue.To<float>());}

    return true;
}
Example #3
0
bool RuntimeSpriteObject::ChangeProperty(unsigned int propertyNb, std::string newValue)
{
    if ( propertyNb == 0 ) { return SetCurrentAnimation(ToInt(newValue)); }
    else if ( propertyNb == 1 )
    {
        if ( currentAnimation >= GetAnimationsCount() ) return false;

        return animations[currentAnimation].Get().useMultipleDirections ? SetDirection(ToInt(newValue)) : SetAngle(ToFloat(newValue));
    }
    else if ( propertyNb == 2 ) { return SetSprite(ToInt(newValue)); }
    else if ( propertyNb == 3 ) { SetOpacity(ToFloat(newValue)); }
    else if ( propertyNb == 4 ) { SetBlendMode(ToInt(newValue)); }
    else if ( propertyNb == 5 ) {SetScaleX(ToFloat(newValue));}
    else if ( propertyNb == 6 ) {SetScaleY(ToFloat(newValue));}

    return true;
}
Example #4
0
////////////////////////////////////////////////////////////
/// Set the position of a shape
////////////////////////////////////////////////////////////
void sfShape_SetPosition(sfShape* Shape, float X, float Y)
{
    CSFML_CALL(Shape, SetPosition(sf::Vector2f(X, Y)))
}


////////////////////////////////////////////////////////////
/// Set the horizontal scale of a shape
////////////////////////////////////////////////////////////
void sfShape_SetScaleX(sfShape* Shape, float Scale)
{
    CSFML_CALL(Shape, SetScaleX(Scale))
}


////////////////////////////////////////////////////////////
/// Set the vertical scale of a shape
////////////////////////////////////////////////////////////
void sfShape_SetScaleY(sfShape* Shape, float Scale)
{
    CSFML_CALL(Shape, SetScaleY(Scale))
}


////////////////////////////////////////////////////////////
/// Set the scale of a shape
////////////////////////////////////////////////////////////
Example #5
0
	void Object::ScaleX(float scaleFactorX)
	{
		SetScaleX(scale.x * scaleFactorX);
	}
Example #6
0
void Drawable::SetScale(float factorX, float factorY)
{
    SetScaleX(factorX);
    SetScaleY(factorY);
}
/* ----------------------------------
sprite operation
---------------------------------- */
void ofxSpriteQuad::SetScale(float value)
{
	SetScaleX(value);
	SetScaleY(value);
}
Example #8
0
void Drawable::SetScale(const Vector2f& factors)
{
    SetScaleX(factors.x);
    SetScaleY(factors.y);
}
Example #9
0
////////////////////////////////////////////////////////////
/// Scale the object (take 2 values)
////////////////////////////////////////////////////////////
void Drawable::Scale(float FactorX, float FactorY)
{
    SetScaleX(myScale.x * FactorX);
    SetScaleY(myScale.y * FactorY);
}
Example #10
0
////////////////////////////////////////////////////////////
/// Set the scale of the object (take a 2D vector)
////////////////////////////////////////////////////////////
void Drawable::SetScale(const Vector2f& Scale)
{
    SetScaleX(Scale.x);
    SetScaleY(Scale.y);
}
Example #11
0
////////////////////////////////////////////////////////////
/// Set the scale of the object (take 2 values)
////////////////////////////////////////////////////////////
void Drawable::SetScale(float ScaleX, float ScaleY)
{
    SetScaleX(ScaleX);
    SetScaleY(ScaleY);
}
void
SimilarityTransformAttributes::SetFromNode(DataNode *parentNode)
{
    if(parentNode == 0)
        return;

    DataNode *searchNode = parentNode->GetNode("SimilarityTransformAttributes");
    if(searchNode == 0)
        return;

    DataNode *node;
    if((node = searchNode->GetNode("doRotate")) != 0)
        SetDoRotate(node->AsBool());
    if((node = searchNode->GetNode("rotateOrigin")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_ARRAY_NODE)
        {
            SetRotateOrigin(node->AsDoubleArray());
        }
        else if(node->GetNodeType() == FLOAT_ARRAY_NODE)
        {
            const float *fa = node->AsFloatArray();
            double da[3] = {fa[0], fa[1], fa[2]};
            SetRotateOrigin(da);
        }
    }
    if((node = searchNode->GetNode("rotateAxis")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_ARRAY_NODE)
        {
            SetRotateAxis(node->AsDoubleArray());
        }
        else if(node->GetNodeType() == FLOAT_ARRAY_NODE)
        {
            const float *fa = node->AsFloatArray();
            double da[3] = {fa[0], fa[1], fa[2]};
            SetRotateAxis(da);
        }
    }
    if((node = searchNode->GetNode("rotateAmount")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetRotateAmount(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetRotateAmount((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("rotateType")) != 0)
    {
        // Allow enums to be int or string in the config file
        if(node->GetNodeType() == INT_NODE)
        {
            int ival = node->AsInt();
            if(ival >= 0 && ival < 2)
                SetRotateType(AngleType(ival));
        }
        else if(node->GetNodeType() == STRING_NODE)
        {
            AngleType value;
            if(AngleType_FromString(node->AsString(), value))
                SetRotateType(value);
        }
    }
    if((node = searchNode->GetNode("doScale")) != 0)
        SetDoScale(node->AsBool());
    if((node = searchNode->GetNode("scaleOrigin")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_ARRAY_NODE)
        {
            SetScaleOrigin(node->AsDoubleArray());
        }
        else if(node->GetNodeType() == FLOAT_ARRAY_NODE)
        {
            const float *fa = node->AsFloatArray();
            double da[3] = {fa[0], fa[1], fa[2]};
            SetScaleOrigin(da);
        }
    }
    if((node = searchNode->GetNode("scaleX")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetScaleX(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetScaleX((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("scaleY")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetScaleY(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetScaleY((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("scaleZ")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetScaleZ(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetScaleZ((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("doTranslate")) != 0)
        SetDoTranslate(node->AsBool());
    if((node = searchNode->GetNode("translateX")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetTranslateX(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetTranslateX((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("translateY")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetTranslateY(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetTranslateY((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("translateZ")) != 0)
    {
        if(node->GetNodeType() == DOUBLE_NODE)
            SetTranslateZ(node->AsDouble());
        else if(node->GetNodeType() == FLOAT_NODE)
            SetTranslateZ((double)node->AsFloat());
    }
    if((node = searchNode->GetNode("transformVectors")) != 0)
        SetTransformVectors(node->AsBool());
}