home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.macos;
-
- 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.SystemColor;
- import java.awt.Toolkit;
- import java.awt.event.FocusEvent;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseEvent;
- 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 sun.awt.ScreenUpdater;
- import sun.awt.UpdateClient;
-
- public abstract class MComponentPeer extends MObjectPeer implements ComponentPeer, UpdateClient {
- Component target;
- int pData;
- int pInternationalData;
- boolean repaintPending;
- Rectangle repaintRect;
- int mOwnerPane;
- int mFont;
- int mSize;
- int mStyle;
- Color mForeColor;
- Color mBackColor;
- boolean mRecalculateClip;
- boolean mIsContainer;
- boolean mIsButton;
- boolean mIsChoice;
- boolean mIsResizableFrame;
- int mObscuredRgn;
- int mClipRgn;
-
- MComponentPeer(Component var1) {
- this.target = var1;
- this.repaintRect = new Rectangle();
- this.repaintPending = false;
- Container var2 = var1.getParent();
- MComponentPeer var3 = (MComponentPeer)MToolkit.targetToPeer(var2);
- this.setup();
- this.create(var3);
- this.initialize();
- }
-
- abstract void create(MComponentPeer var1);
-
- void create(MComponentPeer var1, Object var2) {
- this.create(var1);
- }
-
- void setup() {
- this.mForeColor = new Color(0, 0, 0);
- this.mBackColor = new Color(192, 192, 192);
- this.pSetup();
- }
-
- void initialize() {
- Rectangle var1 = this.target.bounds();
- this.reshape(var1.x, var1.y, var1.width, var1.height);
- if (this.target.isVisible()) {
- this.show();
- } else {
- this.hide();
- }
-
- Color var2;
- if ((var2 = this.target.getForeground()) != null) {
- this.setForeground(var2);
- }
-
- if ((var2 = this.target.getBackground()) != null) {
- this.setBackground(var2);
- }
-
- Font var3;
- if ((var3 = this.target.getFont()) != null) {
- this.setFont(var3);
- }
-
- }
-
- public void dispose() {
- MToolkit.targetDisposedPeer(this.target, this);
- ScreenUpdater.updater.removeClient(this);
- this.pDispose();
- }
-
- public ColorModel getColorModel() {
- return MToolkit.getStaticColorModel();
- }
-
- public Toolkit getToolkit() {
- return Toolkit.getDefaultToolkit();
- }
-
- public Graphics getGraphics() {
- MacGraphics var1 = new MacGraphics(this);
- ((Graphics)var1).setColor(this.target.getForeground());
- ((Graphics)var1).setFont(this.target.getFont());
- return var1;
- }
-
- public FontMetrics getFontMetrics(Font var1) {
- return MacFontMetrics.getFontMetrics(var1);
- }
-
- public void setVisible(boolean var1) {
- if (var1) {
- this.show();
- } else {
- this.hide();
- }
- }
-
- public void show() {
- this.pShow();
- }
-
- public void hide() {
- this.pHide();
- }
-
- public void setEnabled(boolean var1) {
- if (var1) {
- this.enable();
- } else {
- this.disable();
- }
- }
-
- public void enable() {
- this.pEnable();
- }
-
- public void disable() {
- this.pDisable();
- }
-
- public void paint(Graphics var1) {
- var1.setColor(this.target.getForeground());
- var1.setFont(this.target.getFont());
- this.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 updateClient(Object var1) {
- Rectangle var2 = null;
- synchronized(this){}
-
- try {
- if (this.repaintPending) {
- var2 = this.repaintRect;
- this.repaintPending = false;
- }
- } catch (Throwable var5) {
- throw var5;
- }
-
- if (var2 != null) {
- MToolkit.postEvent(new PaintEvent(this.target, 801, var2));
- }
-
- }
-
- 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));
- }
- }
-
- public void print(Graphics var1) {
- Dimension var2 = this.target.size();
- var1.setColor(this.target.getForeground());
- var1.setFont(this.target.getFont());
- var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
- this.target.print(var1);
- }
-
- public void reshape(int var1, int var2, int var3, int var4) {
- this.pReshape(var1, var2, var3, var4);
- }
-
- public native void pSetForeground(Color var1);
-
- public synchronized void setForeground(Color var1) {
- if (var1 instanceof SystemColor) {
- var1 = new Color(var1.getRGB());
- }
-
- this.pSetForeground(var1);
- }
-
- public native void pSetBackground(Color var1);
-
- public synchronized void setBackground(Color var1) {
- if (var1 instanceof SystemColor) {
- var1 = new Color(var1.getRGB());
- }
-
- this.pSetBackground(var1);
- }
-
- public native void setFont(Font var1);
-
- public native void setCursor(Cursor var1);
-
- public native void handleEvent(AWTEvent var1);
-
- public Image createImage(ImageProducer var1) {
- return new MacImage(var1);
- }
-
- public Image createImage(int var1, int var2) {
- return new MacImage(this.target, var1, var2);
- }
-
- public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
- return MToolkit.prepareScrImage(var1, var2, var3, var4);
- }
-
- public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
- return MToolkit.checkScrImage(var1, var2, var3, var4);
- }
-
- public void setBounds(int var1, int var2, int var3, int var4) {
- this.reshape(var1, var2, var3, var4);
- }
-
- public native Point getLocationOnScreen();
-
- public Dimension getPreferredSize() {
- return this.preferredSize();
- }
-
- public Dimension getMinimumSize() {
- return this.minimumSize();
- }
-
- public Dimension minimumSize() {
- return this.target.size();
- }
-
- public Dimension preferredSize() {
- return this.minimumSize();
- }
-
- public native void requestFocus();
-
- protected void gotFocus() {
- MToolkit.postEvent(new FocusEvent(this.target, 1004));
- }
-
- protected void lostFocus() {
- MToolkit.postEvent(new FocusEvent(this.target, 1005));
- }
-
- public boolean isFocusTraversable() {
- return false;
- }
-
- private native void pSetup();
-
- private native void pShow();
-
- private native void pHide();
-
- private native void pEnable();
-
- private native void pDisable();
-
- private native void pPrint(Graphics var1);
-
- private native void pReshape(int var1, int var2, int var3, int var4);
-
- private native void pRepaint(long var1, int var3, int var4, int var5, int var6);
-
- private native void pDispose();
-
- public void finalize() {
- this.dispose();
- }
-
- void handleExpose() {
- Graphics var1 = this.getGraphics();
-
- try {
- var1.clearRect(0, 0, this.target.getSize().width, this.target.getSize().height);
- } catch (NullPointerException var2) {
- }
-
- MToolkit.postEvent(new PaintEvent(this.target, 800, new Rectangle(0, 0, this.target.getSize().width, this.target.getSize().height)));
- }
-
- void handleRepaint(int var1, int var2, int var3, int var4) {
- }
-
- public static int modifiersToJavaFlags(int var0) {
- int var1 = 0;
- if ((var0 & 256) != 0) {
- var1 |= 4;
- }
-
- if ((var0 & 512) != 0) {
- var1 |= 1;
- }
-
- if ((var0 & 2048) != 0) {
- var1 |= 8;
- }
-
- if ((var0 & 4096) != 0) {
- var1 |= 2;
- }
-
- return var1;
- }
-
- protected void handleKeyEvent(int var1, int var2, int var3, int var4, int var5, boolean var6, int var7) {
- long var8 = 0L;
- int var10 = modifiersToJavaFlags(var5);
- char var13 = (char)var4;
- var8 = System.currentTimeMillis();
- short var11;
- if (var6) {
- var11 = 401;
- } else {
- var11 = 402;
- }
-
- KeyEvent var14 = new KeyEvent(this.target, var11, var8, var10, var3, var13);
- MToolkit.addNativeEventInfo(var14, var7);
- MToolkit.postEvent(var14);
- if (var6 && var13 != 0) {
- var11 = 400;
- var14 = new KeyEvent(this.target, var11, var8, var10, 0, var13);
- MToolkit.addNativeEventInfo(var14, var7);
- MToolkit.postEvent(var14);
- }
-
- }
-
- protected void handleMouseChanged(int var1, int var2, int var3, int var4, boolean var5, int var6) {
- long var7 = System.currentTimeMillis();
- int var9 = modifiersToJavaFlags(var3);
- short var10;
- if (var5) {
- var10 = 501;
- } else {
- var10 = 502;
- }
-
- MouseEvent var11 = new MouseEvent(this.target, var10, var7, var9, var1, var2, var4, true);
- MToolkit.addNativeEventInfo(var11, var6);
- MToolkit.postEvent(var11);
- }
-
- protected void handleMouseClicked(int var1, int var2, int var3, int var4, int var5) {
- long var6 = System.currentTimeMillis();
- int var8 = modifiersToJavaFlags(var3);
- MouseEvent var9 = new MouseEvent(this.target, 500, var6, var8, var1, var2, var4, false);
- MToolkit.addNativeEventInfo(var9, var5);
- MToolkit.postEvent(var9);
- }
-
- protected void handleMouseMoved(int var1, int var2, int var3, boolean var4) {
- long var5 = System.currentTimeMillis();
- int var7 = modifiersToJavaFlags(var3);
- short var8;
- if (var4) {
- var8 = 506;
- } else {
- var8 = 503;
- }
-
- MouseEvent var9 = new MouseEvent(this.target, var8, var5, var7, var1, var2, 0, false);
- MToolkit.postEvent(var9);
- }
-
- protected void handleMouseEnter(int var1, int var2, int var3) {
- long var4 = System.currentTimeMillis();
- int var6 = modifiersToJavaFlags(var3);
- MouseEvent var7 = new MouseEvent(this.target, 504, var4, var6, var1, var2, 0, false);
- MToolkit.postEvent(var7);
- }
-
- protected void handleMouseExit(int var1, int var2, int var3) {
- long var4 = System.currentTimeMillis();
- int var6 = modifiersToJavaFlags(var3);
- MouseEvent var7 = new MouseEvent(this.target, 505, var4, var6, var1, var2, 0, false);
- MToolkit.postEvent(var7);
- }
- }
-