    FOREIGN MODULE java_awt_peer;

    IMPORT
        java_lang,
        java_awt,
        java_awt_image,
        java_io,
        java_awt_event;

    TYPE

      ButtonPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                    END;

      CanvasPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                    END;

      CheckboxMenuItemPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + MenuItemPeer)
                              END;

      CheckboxPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                      END;

      ChoicePeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                    END;

      ComponentPeer* = POINTER TO INTERFACE RECORD (java_lang.Object)
                       END;

      ContainerPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                       END;

      DialogPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + WindowPeer)
                    END;

      FileDialogPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + DialogPeer)
                        END;

      FontPeer* = POINTER TO INTERFACE RECORD (java_lang.Object)
                  END;

      FramePeer* = POINTER TO INTERFACE RECORD (java_lang.Object + WindowPeer)
                   END;

      LabelPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                   END;

      LightweightPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                         END;

      ListPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                  END;

      MenuBarPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + MenuComponentPeer)
                     END;

      MenuComponentPeer* = POINTER TO INTERFACE RECORD (java_lang.Object)
                           END;

      MenuItemPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + MenuComponentPeer)
                      END;

      MenuPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + MenuItemPeer)
                  END;

      PanelPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ContainerPeer)
                   END;

      PopupMenuPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + MenuPeer)
                       END;

      ScrollbarPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                       END;

      ScrollPanePeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ContainerPeer)
                        END;

      TextAreaPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + TextComponentPeer)
                      END;

      TextComponentPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ComponentPeer)
                           END;

      TextFieldPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + TextComponentPeer)
                       END;

      WindowPeer* = POINTER TO INTERFACE RECORD (java_lang.Object + ContainerPeer)
                    STATIC
                      IGNORE_EVENT* = 0;
                      CONSUME_EVENT* = 1;
                      FOCUS_NEXT* = 2;
                      FOCUS_PREVIOUS* = 3;
                    END;

    PROCEDURE (self:ButtonPeer) setLabel*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:CheckboxMenuItemPeer) setState*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:CheckboxPeer) setCheckboxGroup*(p0 : java_awt.CheckboxGroup),NEW,ABSTRACT;

    PROCEDURE (self:CheckboxPeer) setLabel*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:CheckboxPeer) setState*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:ChoicePeer) add*(p0 : java_lang.String;
                                     p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ChoicePeer) addItem*(p0 : java_lang.String;
                                         p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ChoicePeer) remove*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ChoicePeer) select*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) checkImage*(p0 : java_awt.Image;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                               p3 : java_awt_image.ImageObserver) : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) createImage*(p0 : INTEGER;
                                                p1 : INTEGER) : java_awt.Image,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) createImage*(p0 : java_awt_image.ImageProducer) : java_awt.Image,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) disable*(),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) dispose*(),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) enable*(),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getColorModel*() : java_awt_image.ColorModel,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getFontMetrics*(p0 : java_awt.Font) : java_awt.FontMetrics,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getGraphics*() : java_awt.Graphics,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getLocationOnScreen*() : java_awt.Point,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getMinimumSize*() : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getPreferredSize*() : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) getToolkit*() : java_awt.Toolkit,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) handleEvent*(p0 : java_awt.AWTEvent),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) hide*(),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) isFocusTraversable*() : BOOLEAN,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) minimumSize*() : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) paint*(p0 : java_awt.Graphics),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) preferredSize*() : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) prepareImage*(p0 : java_awt.Image;
                                                 p1 : INTEGER;
                                                 p2 : INTEGER;
                                                 p3 : java_awt_image.ImageObserver) : BOOLEAN,NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) print*(p0 : java_awt.Graphics),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) repaint*(p0 : LONGINT;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) requestFocus*(),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) reshape*(p0 : INTEGER;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setBackground*(p0 : java_awt.Color),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setBounds*(p0 : INTEGER;
                                              p1 : INTEGER;
                                              p2 : INTEGER;
                                              p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setCursor*(p0 : java_awt.Cursor),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setEnabled*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setFont*(p0 : java_awt.Font),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setForeground*(p0 : java_awt.Color),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) setVisible*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:ComponentPeer) show*(),NEW,ABSTRACT;

    PROCEDURE (self:ContainerPeer) beginValidate*(),NEW,ABSTRACT;

    PROCEDURE (self:ContainerPeer) endValidate*(),NEW,ABSTRACT;

    PROCEDURE (self:ContainerPeer) getInsets*() : java_awt.Insets,NEW,ABSTRACT;

    PROCEDURE (self:ContainerPeer) insets*() : java_awt.Insets,NEW,ABSTRACT;

    PROCEDURE (self:DialogPeer) setResizable*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:DialogPeer) setTitle*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:FileDialogPeer) setDirectory*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:FileDialogPeer) setFile*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:FileDialogPeer) setFilenameFilter*(p0 : java_io.FilenameFilter),NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) getState*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) setIconImage*(p0 : java_awt.Image),NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) setMenuBar*(p0 : java_awt.MenuBar),NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) setResizable*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) setState*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:FramePeer) setTitle*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:LabelPeer) setAlignment*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:LabelPeer) setText*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) add*(p0 : java_lang.String;
                                   p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) addItem*(p0 : java_lang.String;
                                       p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) clear*(),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) delItems*(p0 : INTEGER;
                                        p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) deselect*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) getMinimumSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) getPreferredSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) getSelectedIndexes*() : POINTER TO ARRAY OF INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) makeVisible*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) minimumSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) preferredSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) removeAll*(),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) select*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) setMultipleMode*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:ListPeer) setMultipleSelections*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:MenuBarPeer) addHelpMenu*(p0 : java_awt.Menu),NEW,ABSTRACT;

    PROCEDURE (self:MenuBarPeer) addMenu*(p0 : java_awt.Menu),NEW,ABSTRACT;

    PROCEDURE (self:MenuBarPeer) delMenu*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:MenuComponentPeer) dispose*(),NEW,ABSTRACT;

    PROCEDURE (self:MenuItemPeer) disable*(),NEW,ABSTRACT;

    PROCEDURE (self:MenuItemPeer) enable*(),NEW,ABSTRACT;

    PROCEDURE (self:MenuItemPeer) setEnabled*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:MenuItemPeer) setLabel*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:MenuPeer) addItem*(p0 : java_awt.MenuItem),NEW,ABSTRACT;

    PROCEDURE (self:MenuPeer) addSeparator*(),NEW,ABSTRACT;

    PROCEDURE (self:MenuPeer) delItem*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PopupMenuPeer) show*(p0 : java_awt.Event),NEW,ABSTRACT;

    PROCEDURE (self:ScrollbarPeer) setLineIncrement*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollbarPeer) setPageIncrement*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollbarPeer) setValues*(p0 : INTEGER;
                                              p1 : INTEGER;
                                              p2 : INTEGER;
                                              p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) childResized*(p0 : INTEGER;
                                                  p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) getHScrollbarHeight*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) getVScrollbarWidth*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) setScrollPosition*(p0 : INTEGER;
                                                       p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) setUnitIncrement*(p0 : java_awt.Adjustable;
                                                      p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ScrollPanePeer) setValue*(p0 : java_awt.Adjustable;
                                              p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) getMinimumSize*(p0 : INTEGER;
                                                  p1 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) getPreferredSize*(p0 : INTEGER;
                                                    p1 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) insert*(p0 : java_lang.String;
                                          p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) insertText*(p0 : java_lang.String;
                                              p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) minimumSize*(p0 : INTEGER;
                                               p1 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) preferredSize*(p0 : INTEGER;
                                                 p1 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) replaceRange*(p0 : java_lang.String;
                                                p1 : INTEGER;
                                                p2 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextAreaPeer) replaceText*(p0 : java_lang.String;
                                               p1 : INTEGER;
                                               p2 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) getCaretPosition*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) getSelectionEnd*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) getSelectionStart*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) getText*() : java_lang.String,NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) select*(p0 : INTEGER;
                                               p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) setCaretPosition*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) setEditable*(p0 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:TextComponentPeer) setText*(p0 : java_lang.String),NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) getMinimumSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) getPreferredSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) minimumSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) preferredSize*(p0 : INTEGER) : java_awt.Dimension,NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) setEchoChar*(p0 : CHAR),NEW,ABSTRACT;

    PROCEDURE (self:TextFieldPeer) setEchoCharacter*(p0 : CHAR),NEW,ABSTRACT;

    PROCEDURE (self:WindowPeer) handleFocusTraversalEvent*(p0 : java_awt_event.KeyEvent) : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:WindowPeer) toBack*(),NEW,ABSTRACT;

    PROCEDURE (self:WindowPeer) toFront*(),NEW,ABSTRACT;

    END java_awt_peer.