/// **************************************************************************
///
/// $Id: RestrictedICCProfile.java,v 1.1 2002/07/25 14:56:56 grosbois Exp $
///
/// Copyright Eastman Kodak Company, 343 State Street, Rochester, NY 14650
/// $Date $
/// ***************************************************************************
///
using System;
using ICCCurveType = CSJ2K.Icc.Tags.ICCCurveType;
using ICCXYZType = CSJ2K.Icc.Tags.ICCXYZType;
using ICCTagTable = CSJ2K.Icc.Tags.ICCTagTable;
using ICCTag = CSJ2K.Icc.Tags.ICCTag;
namespace CSJ2K.Icc
{
/// This profile is constructed by parsing an ICCProfile and
/// is the profile actually applied to the image.
///
///
///
///
/// 1.0
///
/// Bruce A. Kern
///
public abstract class RestrictedICCProfile
{
/// Returns the appropriate input type enum.
public abstract int Type{get;}
//UPGRADE_NOTE: Final was removed from the declaration of 'eol '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
protected internal static readonly System.String eol = System.Environment.NewLine;
/// Factory method for creating a RestrictedICCProfile from
/// 3 component curve and colorant data.
///
/// red curve
///
/// green curve
///
/// blue curve
///
/// red colorant
///
/// green colorant
///
/// blue colorant
///
/// MatrixBasedRestrictedProfile
///
public static RestrictedICCProfile createInstance(ICCCurveType rcurve, ICCCurveType gcurve, ICCCurveType bcurve, ICCXYZType rcolorant, ICCXYZType gcolorant, ICCXYZType bcolorant)
{
return MatrixBasedRestrictedProfile.createInstance(rcurve, gcurve, bcurve, rcolorant, gcolorant, bcolorant);
}
/// Factory method for creating a RestrictedICCProfile from
/// gray curve data.
///
/// gray curve
///
/// MonochromeInputRestrictedProfile
///
public static RestrictedICCProfile createInstance(ICCCurveType gcurve)
{
return MonochromeInputRestrictedProfile.createInstance(gcurve);
}
/// Component index
//UPGRADE_NOTE: Final was removed from the declaration of 'GRAY '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
//UPGRADE_NOTE: The initialization of 'GRAY' was moved to static method 'icc.RestrictedICCProfile'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
protected internal static readonly int GRAY;
/// Component index
//UPGRADE_NOTE: Final was removed from the declaration of 'RED '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
//UPGRADE_NOTE: The initialization of 'RED' was moved to static method 'icc.RestrictedICCProfile'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
protected internal static readonly int RED;
/// Component index
//UPGRADE_NOTE: Final was removed from the declaration of 'GREEN '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
//UPGRADE_NOTE: The initialization of 'GREEN' was moved to static method 'icc.RestrictedICCProfile'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
protected internal static readonly int GREEN;
/// Component index
//UPGRADE_NOTE: Final was removed from the declaration of 'BLUE '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
//UPGRADE_NOTE: The initialization of 'BLUE' was moved to static method 'icc.RestrictedICCProfile'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
protected internal static readonly int BLUE;
/// input type enumerator
public const int kMonochromeInput = 0;
/// input type enumerator
public const int kThreeCompInput = 1;
/// Curve data
public ICCCurveType[] trc;
/// Colorant data
public ICCXYZType[] colorant;
/// Construct the common state of all gray RestrictedICCProfiles
/// curve data
///
protected internal RestrictedICCProfile(ICCCurveType gcurve)
{
trc = new ICCCurveType[1];
colorant = null;
trc[GRAY] = gcurve;
}
/// Construct the common state of all 3 component RestrictedICCProfiles
///
///
/// red curve
///
/// green curve
///
/// blue curve
///
/// red colorant
///
/// green colorant
///
/// blue colorant
///
protected internal RestrictedICCProfile(ICCCurveType rcurve, ICCCurveType gcurve, ICCCurveType bcurve, ICCXYZType rcolorant, ICCXYZType gcolorant, ICCXYZType bcolorant)
{
trc = new ICCCurveType[3];
colorant = new ICCXYZType[3];
trc[RED] = rcurve;
trc[GREEN] = gcurve;
trc[BLUE] = bcurve;
colorant[RED] = rcolorant;
colorant[GREEN] = gcolorant;
colorant[BLUE] = bcolorant;
}
/* end class RestrictedICCProfile */
static RestrictedICCProfile()
{
GRAY = ICCProfile.GRAY;
RED = ICCProfile.RED;
GREEN = ICCProfile.GREEN;
BLUE = ICCProfile.BLUE;
}
}
}