/*
* @(#)VideoSizingControl.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.controls;
import java.awt.*;
import javax.media.*;
import com.sun.media.*;
public interface VideoSizingControl extends Control {
/**
* Returns true if the video window can be scaled to any size.
*/
boolean supportsAnyScale();
/**
* Sets the video window to an arbitrary size causing the video to be
* scaled accordingly. Returns the actual size that the window was set to,
* which might be different from the requested size due to constraints.
*/
Dimension setVideoSize(Dimension size);
/**
* Returns the current size of the video window.
*/
Dimension getVideoSize();
/**
* Returns the actual frame size of the video input stream.
*/
Dimension getInputVideoSize();
/**
* Returns true if the video can be scaled to fixed zoom factors.
* Use this only if <B>supportsAnyScale</B> returns false.
* @see #getValidZoomFactors
*/
boolean supportsZoom();
/**
* If the control supports fixed zoom factors then this method returns
* a list of zoom factors that are available.
*/
float[] getValidZoomFactors();
/**
* Returns a zoom control if available, else returns null.
*/
NumericControl getZoomControl();
/**
* Returns true if the video can be clipped to a rectangular region
* before it is displayed.
*/
boolean supportsClipping();
/**
* Sets the clip region if the player supports clipping. Returns the
* actual clip rectangle that was set.
* @see #getClipRegion
*/
Rectangle setClipRegion(Rectangle clip);
/**
* Returns the current clip rectangle in effect.
* @see #setClipRegion
*/
Rectangle getClipRegion();
/**
* Freezes the video window, i.e., continues reading/decoding the video but
* does not update the video window. Audio, if available, will
* continue playing.
*/
BooleanControl getVideoMute();
}
|