blob: 64be6b8e488ec214d293e394d5b6b493cf78f6a1 [file] [log] [blame]
/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.media.videoeditor;
import android.graphics.Rect;
/**
* This class represents a Ken Burns effect.
* {@hide}
*/
public class EffectKenBurns extends Effect {
/**
* Instance variables
*/
private Rect mStartRect;
private Rect mEndRect;
/**
* Objects of this type cannot be instantiated by using the default
* constructor
*/
@SuppressWarnings("unused")
private EffectKenBurns() {
this(null, null, null, null, 0, 0);
}
/**
* Constructor
*
* @param mediaItem The media item owner
* @param effectId The effect id
* @param startRect The start rectangle
* @param endRect The end rectangle
* @param startTimeMs The start time
* @param durationMs The duration of the Ken Burns effect in milliseconds
*/
public EffectKenBurns(MediaItem mediaItem, String effectId, Rect startRect,
Rect endRect, long startTimeMs, long durationMs) {
super(mediaItem, effectId, startTimeMs, durationMs);
if ( (startRect.width() <= 0) || (startRect.height() <= 0) ) {
throw new IllegalArgumentException("Invalid Start rectangle");
}
if ( (endRect.width() <= 0) || (endRect.height() <= 0) ) {
throw new IllegalArgumentException("Invalid End rectangle");
}
mStartRect = startRect;
mEndRect = endRect;
}
/**
* Get the start rectangle.
*
* @return The start rectangle
*/
public Rect getStartRect() {
return mStartRect;
}
/**
* Get the end rectangle.
*
* @return The end rectangle
*/
public Rect getEndRect() {
return mEndRect;
}
/**
* Get the KenBurn effect start and end rectangle coordinates
* @param start The rect object to be populated with start
* rectangle coordinates
*
* @param end The rect object to be populated with end
* rectangle coordinates
*/
void getKenBurnsSettings(Rect start, Rect end) {
start.left = getStartRect().left;
start.top = getStartRect().top;
start.right = getStartRect().right;
start.bottom = getStartRect().bottom;
end.left = getEndRect().left;
end.top = getEndRect().top;
end.right = getEndRect().right;
end.bottom = getEndRect().bottom;
}
}