blob: f9c76bd9fdad841d42b222cb4d90daf9f662bd33 [file] [log] [blame]
/*
* (C) Copyright IBM Corp. 1998-2004. All Rights Reserved.
*
* The program is provided "as is" without any warranty express or
* implied, including the warranty of non-infringement and the implied
* warranties of merchantibility and fitness for a particular purpose.
* IBM will not be liable for any damages suffered by you as a result
* of using the Program. In no event will IBM be liable for any
* special, indirect or consequential damages or lost profits even if
* IBM has been advised of the possibility of their occurrence. IBM
* will not be liable for any third party claims against you.
*/
package com.ibm.richtext.textpanel;
import java.awt.Image;
import java.awt.Component;
class OffscreenBufferCache {
static final String COPYRIGHT =
"(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
private Image fOffscreenBuffer = null;
private Component fHost;
OffscreenBufferCache(Component host) {
fHost = host;
}
private Image makeBuffer(int width, int height) {
return fHost.createImage(Math.max(width, 1), Math.max(height, 1));
}
Image getBuffer(int width, int height) {
Image buffer = fOffscreenBuffer;
if (buffer != null) {
if (buffer.getWidth(fHost) >= width &&
buffer.getHeight(fHost) >= height) {
return buffer;
}
}
buffer = makeBuffer(width, height);
fOffscreenBuffer = buffer;
return buffer;
}
}