/*
* @(#)ExtBuffer.java 1.4 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media;
import javax.media.Buffer;
public class ExtBuffer extends javax.media.Buffer {
protected NBA nativeData = null;
protected boolean nativePreferred = false;
public void setNativeData(NBA nativeData) {
this.nativeData = nativeData;
}
public NBA getNativeData() {
return nativeData;
}
public boolean isNativePreferred() {
return nativePreferred;
}
public void setNativePreferred(boolean prefer) {
nativePreferred = prefer;
}
public Object getData() {
if (nativeData != null)
return nativeData.getData();
else
return data;
}
public void setData(Object data) {
nativeData = null;
this.data = data;
}
/**
* Copy the attributes from the specified <CODE>Buffer</CODE> into this
* <CODE>Buffer</CODE>
* @param buffer The input <CODE>Buffer</code> the copy the attributes from.
*/
public void copy(Buffer buffer, boolean swap) {
super.copy(buffer, swap);
if (buffer instanceof ExtBuffer) {
ExtBuffer fromBuf = (ExtBuffer) buffer;
if (swap) {
NBA temp = fromBuf.nativeData;
fromBuf.nativeData = nativeData;
nativeData = temp;
boolean prefer = fromBuf.nativePreferred;
fromBuf.nativePreferred = nativePreferred;
nativePreferred = prefer;
} else {
nativeData = fromBuf.nativeData;
nativePreferred = fromBuf.nativePreferred;
}
}
}
}
|