FOREIGN MODULE sun_awt_im;

IMPORT
    java_awt_event,
    java_lang,
    java_awt_im,
    java_text,
    java_awt_font,
    java_awt,
    java_awt_image,
    java_io,
    java_awt_peer,
    sun_awt,
    java_util,
    java_awt_dnd,
    java_beans,
    java_security,
    sun_awt_im_resources;

TYPE

  InputContext* = POINTER TO EXTENSIBLE RECORD (java_awt_im.InputContext)
                  STATIC
                    PROCEDURE Init!() : InputContext,CONSTRUCTOR;
                  END;

  InputMethod* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                   inputContext! : InputMethodContext;
                 STATIC
                   PROCEDURE Init!() : InputMethod,CONSTRUCTOR;
                 END;

  InputMethodAdapter* = POINTER TO ABSTRACT RECORD (InputMethod)
                        STATIC
                          PROCEDURE Init*() : InputMethodAdapter,CONSTRUCTOR;
                        END;

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

  InputMethodHighlightMapping$InputMethodHighlightAttribute* = POINTER TO RECORD (java_text.AttributedCharacterIterator$Attribute)
                                                               STATIC
                                                                 INPUT_METHOD_UNDERLINE* : InputMethodHighlightMapping$InputMethodHighlightAttribute;
                                                                 UNDERLINE_LOW_ONE_PIXEL* : java_lang.Integer;
                                                                 UNDERLINE_LOW_TWO_PIXEL* : java_lang.Integer;
                                                                 UNDERLINE_LOW_DOTTED* : java_lang.Integer;
                                                                 UNDERLINE_LOW_GRAY* : java_lang.Integer;
                                                                 UNDERLINE_LOW_DASHED* : java_lang.Integer;
                                                                 PROCEDURE Init!(p0 : java_lang.String) : InputMethodHighlightMapping$InputMethodHighlightAttribute,CONSTRUCTOR;
                                                               END;

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

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




PROCEDURE (self:InputContext) changeInputMethod*(p0 : InputMethodDescriptor),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) 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:InputMethod) activate*(),NEW,ABSTRACT;

PROCEDURE (self:InputMethod) deactivate*(p0 : BOOLEAN),NEW,ABSTRACT;

PROCEDURE (self:InputMethod) dispatchEvent*(p0 : java_awt.AWTEvent),NEW,ABSTRACT;

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

PROCEDURE (self:InputMethod) endComposition*(),NEW,ABSTRACT;

PROCEDURE (self:InputMethod) getControlObject*() : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:InputMethod) removeNotify*(),NEW,ABSTRACT;

PROCEDURE (self:InputMethod) setCharacterSubsets*(IN  p0 : ARRAY OF java_lang.Character$Subset),NEW,ABSTRACT;

PROCEDURE (self:InputMethod) setInputContext*(p0 : InputMethodContext),NEW,EXTENSIBLE;

PROCEDURE (self:InputMethod) setLocale*(p0 : java_util.Locale) : BOOLEAN,NEW,ABSTRACT;

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

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

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

PROCEDURE (self:InputMethodContext) cancelLatestCommittedText*(IN  p0 : ARRAY OF java_text.AttributedCharacterIterator$Attribute) : java_text.AttributedCharacterIterator,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) 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:InputMethodHighlightMapping$InputMethodHighlightAttribute) readResolve!() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:InputMethodHighlightMapping) mapHighlight*(p0 : java_awt_im.InputMethodHighlight) : java_util.Map,NEW,ABSTRACT;

PROCEDURE (self:InputMethodManager) getCurrentInputMethod*() : InputMethodDescriptor,NEW,ABSTRACT;

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

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

END sun_awt_im.