diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/ProtoBufUtils.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/ProtoBufUtils.java | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/ProtoBufUtils.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/ProtoBufUtils.java deleted file mode 100644 index 074e4409e..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/ProtoBufUtils.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.gltrace; - -import com.android.ide.eclipse.gltrace.GLProtoBuf.GLMessage; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.graphics.PaletteData; -import org.eclipse.swt.widgets.Display; -import org.liblzf.CLZF; - -/** Utilities to deal with protobuf encoded {@link GLMessage}. */ -public class ProtoBufUtils { - private static ImageData getImageData(GLMessage glMsg) { - int width = glMsg.getFb().getWidth(); - int height = glMsg.getFb().getHeight(); - - if (width * height == 0) { - return null; - } - - byte[] compressed = glMsg.getFb().getContents(0).toByteArray(); - byte[] uncompressed = new byte[width * height * 4]; - - int size = CLZF.lzf_decompress(compressed, compressed.length, - uncompressed, uncompressed.length); - assert size == width * height * 4 : "Unexpected image size after decompression."; - - int redMask = 0xff000000; - int greenMask = 0x00ff0000; - int blueMask = 0x0000ff00; - PaletteData palette = new PaletteData(redMask, greenMask, blueMask); - ImageData imageData = new ImageData( - width, - height, - 32, // depth - palette, - 1, // scan line padding - uncompressed); - byte[] alpha = new byte[width*height]; - for (int i = 0; i < width * height; i++) { - alpha[i] = uncompressed[i * 4 + 3]; - } - imageData.alphaData = alpha; - - imageData = imageData.scaledTo(imageData.width, -imageData.height); - return imageData; - } - - /** Obtains the image stored in provided protocol buffer message. */ - public static Image getImage(Display display, GLMessage glMsg) { - if (!glMsg.hasFb()) { - return null; - } - - ImageData imageData = null; - try { - imageData = getImageData(glMsg); - } catch (Exception e) { - GlTracePlugin.getDefault().logMessage( - "Unexpected error while retrieving framebuffer image: " + e); - return null; - } - - if (imageData == null) { - return null; - } - - return new Image(display, imageData); - } -} |