FOREIGN MODULE sun_awt_im;

IMPORT
    java_awt := "java.awt",
    java_lang := "java.lang",
    java_awt_event := "java.awt.event",
    java_util := "java.util",
    java_awt_font := "java.awt.font",
    javax_swing := "javax.swing",
    java_awt_im := "java.awt.im",
    java_text := "java.text",
    javax_accessibility := "javax.accessibility",
    javax_swing_plaf := "javax.swing.plaf",
    java_io := "java.io",
    javax_swing_event := "javax.swing.event",
    java_beans := "java.beans",
    javax_swing_border := "javax.swing.border",
    sun_awt := "sun.awt",
    java_util_logging := "java.util.logging",
    java_awt_peer := "java.awt.peer",
    sun_java2d_pipe := "sun.java2d.pipe",
    java_awt_image := "java.awt.image",
    java_awt_dnd := "java.awt.dnd",
    java_security := "java.security",
    java_util_prefs := "java.util.prefs",
    java_awt_im_spi := "java.awt.im.spi",
    sun_awt_util := "sun.awt.util",
    java_lang_ref := "java.lang.ref",
    java_util_concurrent_atomic := "java.util.concurrent.atomic",
    java_awt_geom := "java.awt.geom";

TYPE

  CompositionArea* = POINTER TO RECORD (javax_swing.JPanel + java_awt_event.InputMethodListener)    (* Typebound Procedures *)
                     END;

  InputContext* = POINTER TO EXTENSIBLE RECORD (java_awt_im.InputContext + java_awt_event.ComponentListener + java_awt_event.WindowListener)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init!() : InputContext,CONSTRUCTOR;
                  END;

  InputMethodAdapter* = POINTER TO ABSTRACT RECORD (java_lang.Object + java_awt_im_spi.InputMethod)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE Init*() : InputMethodAdapter,CONSTRUCTOR;
                        END;

  InputMethodContext* = POINTER TO EXTENSIBLE RECORD (InputContext + java_awt_im_spi.InputMethodContext)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE Init*() : InputMethodContext,CONSTRUCTOR;
                        END;

  InputMethodJFrame* = POINTER TO EXTENSIBLE RECORD (javax_swing.JFrame + InputMethodWindow)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.String;
                                         p1 : InputContext) : InputMethodJFrame,CONSTRUCTOR;
                       END;

  InputMethodManager* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE getInstance*() : InputMethodManager;
                          PROCEDURE Init*() : InputMethodManager,CONSTRUCTOR;
                        END;

  InputMethodWindow* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                       END;

  SimpleInputMethodWindow* = POINTER TO EXTENSIBLE RECORD (java_awt.Frame + InputMethodWindow)    (* Typebound Procedures *)
                             STATIC
                               PROCEDURE Init*(p0 : java_lang.String;
                                               p1 : InputContext) : SimpleInputMethodWindow,CONSTRUCTOR;
                             END;




PROCEDURE (self:CompositionArea) caretPositionChanged*(p0 : java_awt_event.InputMethodEvent),NEW,EXTENSIBLE;

PROCEDURE (self:CompositionArea) getInputMethodRequests*() : java_awt_im.InputMethodRequests,EXTENSIBLE;

PROCEDURE (self:CompositionArea) inputMethodTextChanged*(p0 : java_awt_event.InputMethodEvent),NEW,EXTENSIBLE;

PROCEDURE (self:CompositionArea) paint*(p0 : java_awt.Graphics),EXTENSIBLE;

PROCEDURE (self:InputContext) componentHidden*(p0 : java_awt_event.ComponentEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) componentMoved*(p0 : java_awt_event.ComponentEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) componentResized*(p0 : java_awt_event.ComponentEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) componentShown*(p0 : java_awt_event.ComponentEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) disableNativeIM*(),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) dispatchEvent*(p0 : java_awt.AWTEvent),EXTENSIBLE;

PROCEDURE (self:InputContext) dispose*(),EXTENSIBLE;

PROCEDURE (self:InputContext) endComposition*(),EXTENSIBLE;

PROCEDURE (self:InputContext) getInputMethodControlObject*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:InputContext) getInputMethodInfo*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) getLocale*() : java_util.Locale,EXTENSIBLE;

PROCEDURE (self:InputContext) isCompositionEnabled*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:InputContext) reconvert*(),EXTENSIBLE;

PROCEDURE (self:InputContext) removeNotify*(p0 : java_awt.Component),EXTENSIBLE;

PROCEDURE (self:InputContext) selectInputMethod*(p0 : java_util.Locale) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:InputContext) setCharacterSubsets*(IN  p0 : ARRAY OF java_lang.Character$Subset),EXTENSIBLE;

PROCEDURE (self:InputContext) setCompositionEnabled*(p0 : BOOLEAN),EXTENSIBLE;

PROCEDURE (self:InputContext) windowActivated*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowClosed*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowClosing*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowDeactivated*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowDeiconified*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowIconified*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputContext) windowOpened*(p0 : java_awt_event.WindowEvent),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) disableInputMethod*(),NEW,ABSTRACT;

PROCEDURE (self:InputMethodAdapter) getClientComponent!() : java_awt.Component,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) getNativeInputMethodInfo*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:InputMethodAdapter) haveActiveClient!() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) notifyClientWindowChange*(p0 : java_awt.Rectangle),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) reconvert*(),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) setAWTFocussedComponent!(p0 : java_awt.Component),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) stopListening!(),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodAdapter) supportsBelowTheSpot!() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) cancelLatestCommittedText*(IN  p0 : ARRAY OF java_text.AttributedCharacterIterator$Attribute) : java_text.AttributedCharacterIterator,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) createInputMethodJFrame*(p0 : java_lang.String;
                                                             p1 : BOOLEAN) : javax_swing.JFrame,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) createInputMethodWindow*(p0 : java_lang.String;
                                                             p1 : BOOLEAN) : java_awt.Window,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) dispatchEvent*(p0 : java_awt.AWTEvent),EXTENSIBLE;

PROCEDURE (self:InputMethodContext) dispatchInputMethodEvent*(p0 : INTEGER;
                                                              p1 : java_text.AttributedCharacterIterator;
                                                              p2 : INTEGER;
                                                              p3 : java_awt_font.TextHitInfo;
                                                              p4 : java_awt_font.TextHitInfo),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) enableClientWindowNotification*(p0 : java_awt_im_spi.InputMethod;
                                                                    p1 : BOOLEAN),EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getCommittedText*(    p0 : INTEGER;
                                                          p1 : INTEGER;
                                                      IN  p2 : ARRAY OF java_text.AttributedCharacterIterator$Attribute) : java_text.AttributedCharacterIterator,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getCommittedTextLength*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getInsertPositionOffset*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getLocationOffset*(p0 : INTEGER;
                                                       p1 : INTEGER) : java_awt_font.TextHitInfo,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getSelectedText*(IN  p0 : ARRAY OF java_text.AttributedCharacterIterator$Attribute) : java_text.AttributedCharacterIterator,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodContext) getTextLocation*(p0 : java_awt_font.TextHitInfo) : java_awt.Rectangle,NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodJFrame) getInputContext*() : java_awt_im.InputContext,EXTENSIBLE;

PROCEDURE (self:InputMethodJFrame) setInputContext*(p0 : InputContext),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethodManager) getTriggerMenuString*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:InputMethodManager) notifyChangeRequest*(p0 : java_awt.Component),NEW,ABSTRACT;

PROCEDURE (self:InputMethodManager) notifyChangeRequestByHotKey*(p0 : java_awt.Component),NEW,ABSTRACT;

PROCEDURE (self:InputMethodWindow) setInputContext*(p0 : InputContext),NEW,ABSTRACT;

PROCEDURE (self:SimpleInputMethodWindow) getInputContext*() : java_awt_im.InputContext,EXTENSIBLE;

PROCEDURE (self:SimpleInputMethodWindow) setInputContext*(p0 : InputContext),NEW,EXTENSIBLE;

END sun_awt_im.