• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17 /**
18  * @author Igor V. Stolyarov
19  * @version $Revision$
20  * Created on 23.11.2005
21  *
22  */
23 
24 package java.awt.image;
25 
26 import java.awt.Image;
27 import java.awt.image.DataBuffer;
28 import java.awt.image.DataBufferByte;
29 import java.awt.image.DataBufferDouble;
30 import java.awt.image.DataBufferFloat;
31 import java.awt.image.DataBufferInt;
32 import java.awt.image.DataBufferShort;
33 import java.awt.image.DataBufferUShort;
34 
35 import org.apache.harmony.awt.gl.AwtImageBackdoorAccessor;
36 import org.apache.harmony.awt.gl.GLVolatileImage;
37 import org.apache.harmony.awt.gl.Surface;
38 import org.apache.harmony.awt.gl.image.DataBufferListener;
39 import org.apache.harmony.awt.internal.nls.Messages;
40 
41 /**
42  * This class not part of public API. It useful for receiving package private
43  * data from other packages.
44  *
45  * @since Android 1.0
46  */
47 class AwtImageBackdoorAccessorImpl extends AwtImageBackdoorAccessor {
48 
init()49     static void init() {
50         inst = new AwtImageBackdoorAccessorImpl();
51     }
52 
53     @Override
getImageSurface(Image image)54     public Surface getImageSurface(Image image) {
55         if (image instanceof BufferedImage) {
56             return ((BufferedImage)image).getImageSurface();
57         } else if (image instanceof GLVolatileImage) {
58             return ((GLVolatileImage)image).getImageSurface();
59         }
60         return null;
61     }
62 
63     @Override
isGrayPallete(IndexColorModel icm)64     public boolean isGrayPallete(IndexColorModel icm) {
65         return icm.isGrayPallete();
66     }
67 
68     @Override
getData(DataBuffer db)69     public Object getData(DataBuffer db) {
70         if (db instanceof DataBufferByte) {
71             return ((DataBufferByte)db).getData();
72         } else if (db instanceof DataBufferUShort) {
73             return ((DataBufferUShort)db).getData();
74         } else if (db instanceof DataBufferShort) {
75             return ((DataBufferShort)db).getData();
76         } else if (db instanceof DataBufferInt) {
77             return ((DataBufferInt)db).getData();
78         } else if (db instanceof DataBufferFloat) {
79             return ((DataBufferFloat)db).getData();
80         } else if (db instanceof DataBufferDouble) {
81             return ((DataBufferDouble)db).getData();
82         } else {
83             // awt.235=Wrong Data Buffer type : {0}
84             throw new IllegalArgumentException(Messages.getString("awt.235", //$NON-NLS-1$
85                     db.getClass()));
86         }
87     }
88 
89     @Override
getDataInt(DataBuffer db)90     public int[] getDataInt(DataBuffer db) {
91         if (db instanceof DataBufferInt) {
92             return ((DataBufferInt)db).getData();
93         }
94         return null;
95     }
96 
97     @Override
getDataByte(DataBuffer db)98     public byte[] getDataByte(DataBuffer db) {
99         if (db instanceof DataBufferByte) {
100             return ((DataBufferByte)db).getData();
101         }
102         return null;
103     }
104 
105     @Override
getDataShort(DataBuffer db)106     public short[] getDataShort(DataBuffer db) {
107         if (db instanceof DataBufferShort) {
108             return ((DataBufferShort)db).getData();
109         }
110         return null;
111     }
112 
113     @Override
getDataUShort(DataBuffer db)114     public short[] getDataUShort(DataBuffer db) {
115         if (db instanceof DataBufferUShort) {
116             return ((DataBufferUShort)db).getData();
117         }
118         return null;
119     }
120 
121     @Override
getDataDouble(DataBuffer db)122     public double[] getDataDouble(DataBuffer db) {
123         if (db instanceof DataBufferDouble) {
124             return ((DataBufferDouble)db).getData();
125         }
126         return null;
127     }
128 
129     @Override
getDataFloat(DataBuffer db)130     public float[] getDataFloat(DataBuffer db) {
131         if (db instanceof DataBufferFloat) {
132             return ((DataBufferFloat)db).getData();
133         }
134         return null;
135     }
136 
137     @Override
addDataBufferListener(DataBuffer db, DataBufferListener listener)138     public void addDataBufferListener(DataBuffer db, DataBufferListener listener) {
139         db.addDataBufferListener(listener);
140     }
141 
142     @Override
removeDataBufferListener(DataBuffer db)143     public void removeDataBufferListener(DataBuffer db) {
144         db.removeDataBufferListener();
145     }
146 
147     @Override
validate(DataBuffer db)148     public void validate(DataBuffer db) {
149         db.validate();
150     }
151 
152     @Override
releaseData(DataBuffer db)153     public void releaseData(DataBuffer db) {
154         db.releaseData();
155     }
156 }
157