summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-01-14 13:57:18 +0900
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-01-16 13:18:30 +0100
commit0f291b37ca5dd0b86fc2324756761a163727e355 (patch)
tree9b9b529b201edf6dea2ad50298638ee1e760e897 /android
parentc4cdb699e427c71617daff9ca780b0b13a9fc3e6 (diff)
android: remove CheckerboardImage class as it is not needed
Change-Id: I937eac9e613695490c8617aac85575f5e6fe290b
Diffstat (limited to 'android')
-rw-r--r--android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/CheckerboardImage.java146
1 files changed, 0 insertions, 146 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/CheckerboardImage.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/CheckerboardImage.java
deleted file mode 100644
index 13437330818c..000000000000
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/CheckerboardImage.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * 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/. */
-
-package org.mozilla.gecko.gfx;
-
-import android.graphics.Color;
-
-import org.libreoffice.kit.DirectBufferAllocator;
-
-import java.nio.ByteBuffer;
-import java.nio.ShortBuffer;
-import java.util.Arrays;
-
-/** A Cairo image that displays a tinted checkerboard. */
-public class CheckerboardImage extends CairoImage {
- // The width and height of the checkerboard tile.
- private static final int SIZE = 16;
- // The pixel format of the checkerboard tile.
- private static final int FORMAT = CairoImage.FORMAT_RGB16_565;
- // The color to mix in to tint the background color.
- private static final int TINT_COLOR = Color.GRAY;
- // The amount to mix in.
- private static final float TINT_OPACITY = 0.4f;
-
- private ByteBuffer mBuffer;
- private int mMainColor;
- private boolean mShowChecks;
-
- /** Creates a new checkerboard image. */
- public CheckerboardImage() {
- int bpp = CairoUtils.bitsPerPixelForCairoFormat(FORMAT);
- mBuffer = DirectBufferAllocator.allocate(SIZE * SIZE * bpp / 8);
- update(true, Color.WHITE);
- }
-
- /** Returns the current color of the checkerboard. */
- public int getColor() {
- return mMainColor;
- }
-
- /** Returns whether or not we are currently showing checks on the checkerboard. */
- public boolean getShowChecks() {
- return mShowChecks;
- }
-
- /** Updates the checkerboard image. If showChecks is true, then create a
- checkerboard image that is tinted to the color. Otherwise just return a flat
- image of the color. */
- public void update(boolean showChecks, int color) {
- mMainColor = color;
- mShowChecks = showChecks;
-
- short mainColor16 = convertTo16Bit(mMainColor);
-
- mBuffer.rewind();
- ShortBuffer shortBuffer = mBuffer.asShortBuffer();
-
- if (!mShowChecks) {
- short color16 = convertTo16Bit(mMainColor);
- short[] fillBuffer = new short[SIZE];
- Arrays.fill(fillBuffer, color16);
-
- for (int i = 0; i < SIZE; i++) {
- shortBuffer.put(fillBuffer);
- }
-
- return;
- }
-
- short tintColor16 = convertTo16Bit(tint(mMainColor));
-
- short[] mainPattern = new short[SIZE / 2], tintPattern = new short[SIZE / 2];
- Arrays.fill(mainPattern, mainColor16);
- Arrays.fill(tintPattern, tintColor16);
-
- // The checkerboard pattern looks like this:
- //
- // +---+---+
- // | N | T | N = normal
- // +---+---+ T = tinted
- // | T | N |
- // +---+---+
-
- for (int i = 0; i < SIZE / 2; i++) {
- shortBuffer.put(mainPattern);
- shortBuffer.put(tintPattern);
- }
- for (int i = SIZE / 2; i < SIZE; i++) {
- shortBuffer.put(tintPattern);
- shortBuffer.put(mainPattern);
- }
- }
-
- // Tints the given color appropriately and returns the tinted color.
- private int tint(int color) {
- float negTintOpacity = 1.0f - TINT_OPACITY;
- float r = Color.red(color) * negTintOpacity + Color.red(TINT_COLOR) * TINT_OPACITY;
- float g = Color.green(color) * negTintOpacity + Color.green(TINT_COLOR) * TINT_OPACITY;
- float b = Color.blue(color) * negTintOpacity + Color.blue(TINT_COLOR) * TINT_OPACITY;
- return Color.rgb(Math.round(r), Math.round(g), Math.round(b));
- }
-
- // Converts a 32-bit ARGB color to 16-bit R5G6B5, truncating values and discarding the alpha
- // channel.
- private short convertTo16Bit(int color) {
- int r = Color.red(color) >> 3, g = Color.green(color) >> 2, b = Color.blue(color) >> 3;
- int c = ((r << 11) | (g << 5) | b);
- // Swap endianness.
- return (short)((c >> 8) | ((c & 0xff) << 8));
- }
-
- @Override
- protected void finalize() throws Throwable {
- try {
- if (mBuffer != null) {
- DirectBufferAllocator.free(mBuffer);
- mBuffer = null;
- }
- } finally {
- super.finalize();
- }
- }
-
- @Override
- public ByteBuffer getBuffer() {
- return mBuffer;
- }
-
- @Override
- public void destroy() {
-
- }
-
- @Override
- public IntSize getSize() {
- return new IntSize(SIZE, SIZE);
- }
-
- @Override
- public int getFormat() {
- return FORMAT;
- }
-}
-