{"body":" 118    IntRect tileRect = tile()->image()->rect();\n 119    if (tileRect.width() > patternBoundaries().width() || tileRect.height() > patternBoundaries().height()) {\n 120        // Draw the first cell of the pattern manually to support overflow=\"visible\" on all platforms.\n 121        int tileWidth = static_cast<int>(patternBoundaries().width() + 0.5f);\n 122        int tileHeight = static_cast<int>(patternBoundaries().height() + 0.5f);\n 123        std::auto_ptr<ImageBuffer> tileImage = ImageBuffer::create(IntSize(tileWidth, tileHeight), false);\n 124  \n 125        GraphicsContext* tileImageContext = tileImage->context();\n 126\n 127        int numY = static_cast<int>(ceilf(tileRect.height() / tileHeight)) + 1;\n 128        int numX = static_cast<int>(ceilf(tileRect.width() / tileWidth)) + 1;\n 129\n 130        tileImageContext->save();\n 131        tileImageContext->translate(-patternBoundaries().width() * numX, -patternBoundaries().height() * numY);\n 132        for (int i = numY; i > 0; i--) {\n 133            tileImageContext->translate(0, patternBoundaries().height());\n 134            for (int j = numX; j > 0; j--) {\n 135                tileImageContext->translate(patternBoundaries().width(), 0);\n 136                tileImageContext->drawImage(tile()->image(), tileRect, tileRect);\n 137            }\n 138            tileImageContext->translate(-patternBoundaries().width() * numX, 0);\n 139        }\n 140        tileImageContext->restore();\n 141\n 142        m_pattern = Pattern::create(tileImage->image(), true, true);\n 143    }\n 144    else\n 145        m_pattern = Pattern::create(tile()->image(), true, true);","name":"","extension":"","url":"https://www.irccloud.com/pastebin/GPmO7I4h","modified":1417786955,"id":"GPmO7I4h","size":1624,"lines":28,"own_paste":false,"theme":"","date":1417786955}