home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.AWTEvent;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Cursor;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.Toolkit;
- import java.awt.event.PaintEvent;
- import java.awt.image.ColorModel;
- import java.awt.image.ImageObserver;
- import java.awt.image.ImageProducer;
- import java.awt.peer.ComponentPeer;
- import java.awt.peer.LightweightPeer;
- import sun.awt.ScreenUpdater;
- import sun.awt.SunToolkit;
- import sun.awt.UpdateClient;
-
- abstract class WComponentPeer extends WObjectPeer implements ComponentPeer, UpdateClient {
- private boolean repaintPending;
- private Rectangle repaintRect;
- private int updateX1;
- private int updateY1;
- private int updateX2;
- private int updateY2;
-
- public synchronized native void show();
-
- public synchronized native void hide();
-
- public synchronized native void enable();
-
- public synchronized native void disable();
-
- public native Point getLocationOnScreen();
-
- public void setVisible(boolean var1) {
- if (var1) {
- this.show();
- } else {
- this.hide();
- }
- }
-
- public void setEnabled(boolean var1) {
- if (var1) {
- this.enable();
- } else {
- this.disable();
- }
- }
-
- public void setBounds(int var1, int var2, int var3, int var4) {
- this.reshape(var1, var2, var3, var4);
- }
-
- public void paint(Graphics var1) {
- var1.setColor(((Component)super.target).getForeground());
- var1.setFont(((Component)super.target).getFont());
- ((Component)super.target).paint(var1);
- }
-
- public void repaint(long var1, int var3, int var4, int var5, int var6) {
- this.addRepaintArea(var3, var4, var5, var6);
- ScreenUpdater.updater.notify(this, var1);
- }
-
- public void print(Graphics var1) {
- ((WGraphics)var1).print(this);
- }
-
- public synchronized native void reshape(int var1, int var2, int var3, int var4);
-
- public native void handleEvent(AWTEvent var1);
-
- public Dimension getMinimumSize() {
- return ((Component)super.target).getSize();
- }
-
- public Dimension getPreferredSize() {
- return this.getMinimumSize();
- }
-
- public boolean isFocusTraversable() {
- return false;
- }
-
- public ColorModel getColorModel() {
- return WToolkit.getStaticColorModel();
- }
-
- public Toolkit getToolkit() {
- return Toolkit.getDefaultToolkit();
- }
-
- public Graphics getGraphics() {
- WGraphics var1 = new WGraphics(this);
- ((Graphics)var1).setColor(((Component)super.target).getForeground());
- ((Graphics)var1).setFont(((Component)super.target).getFont());
- return var1;
- }
-
- public FontMetrics getFontMetrics(Font var1) {
- return WFontMetrics.getFontMetrics(var1);
- }
-
- public void dispose() {
- WToolkit.targetDisposedPeer(super.target, this);
- ScreenUpdater.updater.removeClient(this);
- this._dispose();
- }
-
- synchronized native void _dispose();
-
- public synchronized void setForeground(Color var1) {
- this._setForeground(var1.getRGB());
- }
-
- public synchronized void setBackground(Color var1) {
- this._setBackground(var1.getRGB());
- }
-
- public native void _setForeground(int var1);
-
- public native void _setBackground(int var1);
-
- public synchronized native void setFont(Font var1);
-
- public synchronized native void requestFocus();
-
- public synchronized native void setCursor(Cursor var1);
-
- public Image createImage(ImageProducer var1) {
- return new WImage(var1);
- }
-
- public Image createImage(int var1, int var2) {
- return new WOffScreenImage((Component)super.target, var1, var2);
- }
-
- public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
- return WToolkit.prepareScrImage(var1, var2, var3, var4);
- }
-
- public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
- return WToolkit.checkScrImage(var1, var2, var3, var4);
- }
-
- public void updateClient(Object var1) {
- if (this.repaintPending) {
- this.postEvent(new PaintEvent((Component)super.target, 801, this.repaintRect));
- this.repaintPending = false;
- }
-
- }
-
- public String toString() {
- return this.getClass().getName() + "[" + super.target + "]";
- }
-
- WComponentPeer(Component var1) {
- super.target = var1;
- this.repaintRect = new Rectangle();
- this.repaintPending = false;
- Container var2 = SunToolkit.getNativeContainer(var1);
- WComponentPeer var3 = (WComponentPeer)WToolkit.targetToPeer(var2);
- this.create(var3);
- this.initialize();
- this.start();
- }
-
- abstract void create(WComponentPeer var1);
-
- synchronized native void start();
-
- void initialize() {
- this.initZOrderPosition();
- if (((Component)super.target).isVisible()) {
- this.show();
- }
-
- Color var1 = ((Component)super.target).getForeground();
- if (var1 != null) {
- this.setForeground(var1);
- }
-
- Font var2 = ((Component)super.target).getFont();
- if (var2 != null) {
- this.setFont(var2);
- }
-
- if (!((Component)super.target).isEnabled()) {
- this.disable();
- }
-
- Rectangle var3 = ((Component)super.target).getBounds();
- this.setBounds(var3.x, var3.y, var3.width, var3.height);
- Cursor var4 = ((Component)super.target).getCursor();
- if (var4 != Cursor.getPredefinedCursor(0)) {
- this.setCursor(var4);
- }
-
- }
-
- private synchronized void addRepaintArea(int var1, int var2, int var3, int var4) {
- if (!this.repaintPending) {
- this.repaintPending = true;
- this.repaintRect = new Rectangle(var1, var2, var3, var4);
- } else {
- this.repaintRect = this.repaintRect.union(new Rectangle(var1, var2, var3, var4));
- }
- }
-
- void handleRepaint(int var1, int var2, int var3, int var4) {
- }
-
- void handleExpose(int var1, int var2, int var3, int var4) {
- Graphics var5 = this.getGraphics();
-
- try {
- var5.clearRect(var1, var2, var3, var4);
- } catch (NullPointerException var6) {
- }
-
- this.postEvent(new PaintEvent((Component)super.target, 800, new Rectangle(var1, var2, var3, var4)));
- }
-
- void handlePaint(int var1, int var2, int var3, int var4) {
- this.postEvent(new PaintEvent((Component)super.target, 800, new Rectangle(var1, var2, var3, var4)));
- }
-
- void postEvent(AWTEvent var1) {
- WToolkit.postEvent(var1);
- }
-
- protected void finalize() throws Throwable {
- this._dispose();
- super.finalize();
- }
-
- public void beginValidate() {
- this._beginValidate();
- }
-
- public native void _beginValidate();
-
- public native void endValidate();
-
- public void initZOrderPosition() {
- Container var1 = ((Component)super.target).getParent();
- WComponentPeer var2 = null;
- if (var1 != null) {
- Component[] var3 = var1.getComponents();
-
- for(int var4 = 0; var4 < var3.length && var3[var4] != super.target; ++var4) {
- Object var5 = WToolkit.targetToPeer(var3[var4]);
- if (var5 != null && !(var5 instanceof LightweightPeer)) {
- var2 = (WComponentPeer)var5;
- }
- }
- }
-
- this.setZOrderPosition(var2);
- }
-
- native void setZOrderPosition(WComponentPeer var1);
-
- public Dimension minimumSize() {
- return this.getMinimumSize();
- }
-
- public Dimension preferredSize() {
- return this.getPreferredSize();
- }
- }
-