/*
* @(#)ColorControlAdapter.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.controls;
import javax.media.*;
import com.sun.media.*;
import com.sun.media.controls.*;
import java.awt.*;
/**
* A group of controls that modify the color of the video output from this
* player.
*/
public class ColorControlAdapter extends AtomicControlAdapter
implements ColorControl {
/*************************************************************************
* VARIABLES
*************************************************************************/
NumericControl brightness;
NumericControl contrast;
NumericControl saturation;
NumericControl hue;
BooleanControl grayscale;
Control [] controls;
/*************************************************************************
* METHODS
*************************************************************************/
public ColorControlAdapter(NumericControl b,
NumericControl c,
NumericControl s,
NumericControl h,
BooleanControl g,
Component comp,
boolean def,
Control parent) {
super(comp, def, parent);
brightness = b;
contrast = c;
saturation = s;
hue = h;
grayscale = g;
int n = 0;
n += (b == null) ? 0 : 1;
n += (c == null) ? 0 : 1;
n += (s == null) ? 0 : 1;
n += (h == null) ? 0 : 1;
n += (g == null) ? 0 : 1;
controls = new Control[n];
n = 0;
if (b != null)
controls[n++] = b;
if (c != null)
controls[n++] = c;
if (s != null)
controls[n++] = s;
if (h != null)
controls[n++] = h;
if (g != null)
controls[n++] = g;
}
/*************************************************************************
* IMPLEMENTS GroupControl
*************************************************************************/
public Control [] getControls() {
return controls;
}
/*************************************************************************
* IMPLEMENTS ColorControl
*************************************************************************/
/**
* Returns a brightness control object for the video output.
*/
public NumericControl getBrightness() {
return brightness;
}
/**
* Returns a contrast control object for the video output.
*/
public NumericControl getContrast() {
return contrast;
}
/**
* Returns a color saturation control object for the video output.
*/
public NumericControl getSaturation() {
return saturation;
}
/**
* Returns a hue control object for the video output.
*/
public NumericControl getHue() {
return hue;
}
/**
* Returns a grayscale control object for the video output. Grayscale
* output can be turned on or off.
*/
public BooleanControl getGrayscale() {
return grayscale;
}
}
|