gfx/wr/examples/common/image_helper.rs
author Kartikaya Gupta <kgupta@mozilla.com>
Thu, 22 Nov 2018 21:47:48 +0000
changeset 447760 89caaea53d18aaf2d4b90b98a2f989a8cdc7062b
permissions -rw-r--r--
Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel This patch copies the webrender repository contents into gfx/wr. The existing files from gfx/webrender, gfx/webrender_api, and gfx/wrench are moved, and the remaining files are added. The revision being used is the same as before. In addition, the mozilla-central top-level Cargo.toml and the gfx/webrender_bindings/Cargo.toml files are updated to reflect the new structure. Differential Revision: https://phabricator.services.mozilla.com/D12059

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

use webrender::api::{ImageData, ImageDescriptor, ImageFormat};

pub fn make_checkerboard(width: u32, height: u32) -> (ImageDescriptor, ImageData) {
    let mut image_data = Vec::new();
    for y in 0 .. height {
        for x in 0 .. width {
            let lum = 255 * (((x & 8) == 0) ^ ((y & 8) == 0)) as u8;
            image_data.extend_from_slice(&[lum, lum, lum, 0xff]);
        }
    }
    (
        ImageDescriptor::new(width as i32, height as i32, ImageFormat::BGRA8, true, false),
        ImageData::new(image_data)
    )
}