/*
ISwtVideoRenderer.java
(c) 2008-2013 Edward Swartz
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
*/
package v9t9.gui.client.swt;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import v9t9.common.client.IVideoRenderer;
import v9t9.gui.common.BaseEmulatorWindow;
/**
* Interface implemented by SWT-compatible video renderers.
* @author ejs
*
*/
public interface ISwtVideoRenderer extends IVideoRenderer {
Control createControl(BaseEmulatorWindow window, Composite parent, int flags);
Control getControl();
void addMouseEventListener(MouseListener listener);
void addMouseMotionListener(MouseMoveListener listener);
boolean isVisible();
void setFocus();
/**
* Reblit the screen (for indicator changes)
*/
void reblit();
ImageData getPlainScreenshotImageData();
ImageData getActualScreenshotImageData();
void addSprite(ISwtSprite sprite);
void removeSprite(ISwtSprite sprite);
BaseEmulatorWindow getWindow();
}