Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'openjdk/sun/java2d/cmm/lcms/LCMS.java')
-rw-r--r--openjdk/sun/java2d/cmm/lcms/LCMS.java185
1 files changed, 0 insertions, 185 deletions
diff --git a/openjdk/sun/java2d/cmm/lcms/LCMS.java b/openjdk/sun/java2d/cmm/lcms/LCMS.java
deleted file mode 100644
index 06bff7bf..00000000
--- a/openjdk/sun/java2d/cmm/lcms/LCMS.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- Copyright (C) 2009 Jeroen Frijters
- Copyright (C) 2010 Volker Berlin (i-net software)
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jeroen Frijters
- jeroen@frijters.net
-
-*/
-package sun.java2d.cmm.lcms;
-
-import gnu.java.awt.color.TagEntry;
-
-import java.awt.color.CMMException;
-import java.awt.color.ColorSpace;
-import java.awt.color.ICC_Profile;
-import java.awt.color.ICC_ProfileGray;
-import java.awt.color.ICC_ProfileRGB;
-import java.awt.image.BufferedImage;
-import java.awt.image.Raster;
-import java.awt.image.WritableRaster;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import sun.java2d.cmm.ColorTransform;
-import sun.java2d.cmm.PCMM;
-
-// dummy color management implementation
-public class LCMS implements PCMM {
-
- private static final int HEADER_SIZE = 128;
-
- private final ArrayList<ProfileData> profiles = new ArrayList<ProfileData>();
-
- public synchronized long loadProfile( byte[] data ) {
- int free = profiles.indexOf( null );
- if( free != -1 ) {
- profiles.set( free, new ProfileData( data.clone()) );
- return free;
- } else {
- long id = profiles.size();
- profiles.add( new ProfileData( data.clone()) );
- return id;
- }
- }
-
- public synchronized void freeProfile( long profileID ) {
- profiles.set( (int)profileID, null );
- }
-
- public synchronized int getProfileSize( long profileID ) {
- return profiles.get( (int)profileID ).data.length;
- }
-
- public synchronized void getProfileData( long profileID, byte[] data ) {
- byte[] src = profiles.get( (int)profileID ).data;
- System.arraycopy( src, 0, data, 0, src.length );
- }
-
- public void getTagData( long profileID, int tagSignature, byte[] data ) {
- ProfileData profile = profiles.get( (int)profileID );
- if( tagSignature == ICC_Profile.icSigHead ) {
- byte[] src = profile.data;
- System.arraycopy( src, 0, data, 0, HEADER_SIZE );
- } else {
- TagEntry entry = profile.tags.get( tagSignature );
- if( entry == null ){
- throw new CMMException( "tag does not exist: " + tagSignature );
- }
- byte[] src = entry.getData();
- System.arraycopy( src, 0, data, 0, src.length );
- }
-
- }
-
- public int getTagSize( long profileID, int tagSignature ) {
- if( tagSignature == ICC_Profile.icSigHead ) {
- return HEADER_SIZE;
- }
- ProfileData profile = profiles.get( (int)profileID );
- TagEntry entry = profile.tags.get( tagSignature );
- if( entry == null ){
- throw new CMMException( "tag does not exist: " + tagSignature );
- }
- return entry.getData().length;
- }
-
- public void setTagData(long profileID, int tagSignature, byte[] data)
- {
- throw new CMMException("Not implemented");
- }
-
- public ColorTransform createTransform(ICC_Profile profile, int renderType, int transformType)
- {
- return new DummyColorTransform();
- }
-
- public ColorTransform createTransform(ColorTransform[] transforms)
- {
- return new DummyColorTransform();
- }
-
- private static class ProfileData{
-
- private final byte[] data;
- private final Hashtable<Integer, TagEntry> tags;
-
- private ProfileData(byte[] data){
- this.data = data;
- this.tags = createTagTable( data );
- }
-
- private static Hashtable<Integer, TagEntry> createTagTable( byte[] data ) throws IllegalArgumentException {
- ByteBuffer buf = ByteBuffer.wrap( data );
- int nTags = buf.getInt( HEADER_SIZE );
-
- Hashtable<Integer, TagEntry> tagTable = new Hashtable<Integer, TagEntry>();
- for( int i = 0; i < nTags; i++ ) {
- int sig = buf.getInt( HEADER_SIZE + i * TagEntry.entrySize + 4 );
- int offset = buf.getInt( HEADER_SIZE + i * TagEntry.entrySize + 8 );
- int size = buf.getInt( HEADER_SIZE + i * TagEntry.entrySize + 12 );
- TagEntry te = new TagEntry( sig, offset, size, data );
-
- if( tagTable.put( sig, te ) != null )
- throw new IllegalArgumentException( "Duplicate tag in profile:" + te );
- }
- return tagTable;
- }
-
- }
-
- static class DummyColorTransform implements ColorTransform
- {
- public int getNumInComponents()
- {
- throw new CMMException("Not implemented");
- }
-
- public int getNumOutComponents()
- {
- throw new CMMException("Not implemented");
- }
-
- public void colorConvert(BufferedImage src, BufferedImage dst)
- {
- throw new CMMException("Not implemented");
- }
-
- public void colorConvert(Raster src, WritableRaster dst, float[] srcMinVal, float[] srcMaxVal, float[] dstMinVal, float[]dstMaxVal)
- {
- throw new CMMException("Not implemented");
- }
-
- public void colorConvert(Raster src, WritableRaster dst)
- {
- throw new CMMException("Not implemented");
- }
-
- public short[] colorConvert(short[] src, short[] dest)
- {
- throw new CMMException("Not implemented");
- }
-
- public byte[] colorConvert(byte[] src, byte[] dest)
- {
- throw new CMMException("Not implemented");
- }
- }
-}