Example usage for com.google.common.css.compiler.ast CssFunctionNode CssFunctionNode

List of usage examples for com.google.common.css.compiler.ast CssFunctionNode CssFunctionNode

Introduction

In this page you can find the example usage for com.google.common.css.compiler.ast CssFunctionNode CssFunctionNode.

Prototype

protected CssFunctionNode(@Nullable SourceCodeLocation sourceCodeLocation, @Nullable Function function) 

Source Link

Document

Constructor used by the proxy mechanism, avoids unnecessary arguments node initialization.

Usage

From source file:com.google.gwt.resources.gss.ImageSpriteCreator.java

private CssDeclarationNode buildBackgroundDeclaration(String imageResource, String repeatText,
        SourceCodeLocation location) {//from w  ww  .  j av  a  2 s  . co m
    // build the url function
    CssFunctionNode urlFunction = new CssFunctionNode(Function.byName("url"), location);
    CssDotPathNode imageUrl = new CssDotPathNode(resourceThisPrefix,
            imageResource + ".getSafeUri" + ".asString", null, null, location);
    CssFunctionArgumentsNode urlFunctionArguments = new CssFunctionArgumentsNode();
    urlFunctionArguments.addChildToBack(imageUrl);
    urlFunction.setArguments(urlFunctionArguments);

    // build left offset
    CssDotPathNode left = new CssDotPathNode(resourceThisPrefix, imageResource + ".getLeft", "-", "px",
            location);

    // build top offset
    CssDotPathNode top = new CssDotPathNode(resourceThisPrefix, imageResource + ".getTop", "-", "px", location);

    // build repeat
    CssLiteralNode repeat = new CssLiteralNode(repeatText, location);

    CssPropertyNode propertyNode = new CssPropertyNode("background", location);
    CssPropertyValueNode propertyValueNode = new CssPropertyValueNode(
            ImmutableList.of(urlFunction, left, top, repeat));
    propertyValueNode.setSourceCodeLocation(location);

    return createDeclarationNode(propertyNode, propertyValueNode, location, true);
}