Avoid potential negative array index access to cached text.
[LibreOffice.git] / android / source / src / java / org / mozilla / gecko / gfx / CairoGLInfo.java
blob078aa41baee7713ad71f0ab23b65872fa38d51d9
1 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 package org.mozilla.gecko.gfx;
8 import javax.microedition.khronos.opengles.GL10;
10 /** Information needed to render Cairo bitmaps using OpenGL ES. */
11 public class CairoGLInfo {
12 public final int internalFormat;
13 public final int format;
14 public final int type;
16 public CairoGLInfo(int cairoFormat) {
17 switch (cairoFormat) {
18 case CairoImage.FORMAT_ARGB32:
19 internalFormat = format = GL10.GL_RGBA; type = GL10.GL_UNSIGNED_BYTE;
20 break;
21 case CairoImage.FORMAT_RGB24:
22 internalFormat = format = GL10.GL_RGB; type = GL10.GL_UNSIGNED_BYTE;
23 break;
24 case CairoImage.FORMAT_RGB16_565:
25 internalFormat = format = GL10.GL_RGB; type = GL10.GL_UNSIGNED_SHORT_5_6_5;
26 break;
27 case CairoImage.FORMAT_A8:
28 case CairoImage.FORMAT_A1:
29 throw new RuntimeException("Cairo FORMAT_A1 and FORMAT_A8 unsupported");
30 default:
31 throw new RuntimeException("Unknown Cairo format");