提交 371182f4 编写于 作者: S serb

6996291: command line selection of MToolkit by...

6996291: command line selection of MToolkit by -Dawt.toolkit=sun.awt.motif.MToolkit fails from jdk7 b21 on
Reviewed-by: art, dcherepanov, bae, prr
上级 8f6ce60e
......@@ -140,71 +140,12 @@ FILES_2D_c = \
debug_trace.c \
debug_util.c
# These files rely on motif to be built, and should not be included
# in a headless build.
#FILES_MOTIF_c = \
#keep awt_AWTEvent.c \
# awt_Button.c \
# awt_Canvas.c \
# awt_Checkbox.c \
#keep .h awt_Component.c \
#keep .h awt_Cursor.c \
# awt_DataTransferer.c \
# awt_DrawingSurface.c \
# awt_Event.c \
# awt_FileDialog.c \
# awt_GlobalCursorManager.c \
# awt_GraphicsEnv.c \
# awt_InputMethod.c \
#keep awt_Insets.c \
# awt_KeyboardFocusManager.c \
# awt_Label.c \
# awt_List.c \
# awt_Menu.c \
# awt_MenuBar.c \
# awt_MenuComponent.c \
# awt_MenuItem.c \
# awt_motif.c \
# awt_Plugin.c \
# awt_PopupMenu.c \
# awt_Robot.c \
# awt_Scrollbar.c \
# awt_ScrollPane.c \
# awt_Selection.c \
# awt_UNIXToolkit.c \
# awt_TextArea.c \
# awt_TextField.c \
# awt_TopLevel.c \
# awt_mgrsel.c \
# awt_util.c \
# awt_wm.c \
# awt_XmDnD.c \
# awt_dnd.c \
# awt_dnd_ds.c \
# awt_dnd_dt.c \
# canvas.c \
# cursor.c \
# multi_font.c \
# robot_common.c \
# list.c \
# multiVis.c \
# XDrawingArea.c \
# MouseInfo.c \
# awt_xembed.c \
# awt_xembed_server.c \
# gtk2_interface.c \
# swing_GTKEngine.c \
# swing_GTKStyle.c
# These files are required to be built, with or without motif. Some of
# these are only dependent on X11, and some contain native source that
# is required, even in a headless build.
FILES_NO_MOTIF_c = \
awt_Font.c \
awt_MToolkit.c \
fontpath.c \
VDrawingArea.c \
X11Color.c \
......
......@@ -61,11 +61,8 @@ FILES_export = \
sun/awt/image/BufImgSurfaceData.java \
sun/awt/image/DataBufferNative.java \
\
sun/awt/motif/X11FontMetrics.java \
sun/awt/X11InputMethod.java \
sun/awt/motif/MFontConfiguration.java \
sun/awt/motif/MFontPeer.java \
sun/awt/motif/MToolkit.java \
sun/awt/DebugSettings.java \
sun/awt/EmbeddedFrame.java \
sun/awt/PlatformFont.java \
......@@ -93,7 +90,6 @@ FILES_export = \
sun/java2d/cmm/ColorTransform.java \
sun/awt/datatransfer/DataTransferer.java \
sun/awt/dnd/SunDragSourceContextPeer.java \
sun/awt/motif/MToolkitThreadBlockedHandler.java \
sun/java2d/opengl/OGLBlitLoops.java \
sun/java2d/opengl/OGLContext.java \
sun/java2d/opengl/OGLMaskFill.java \
......
......@@ -31,7 +31,6 @@ SUNWprivate_1.1 {
global:
JNI_OnLoad;
#Java_sun_awt_motif_MComponentPeer_restoreFocus;
Java_sun_awt_DefaultMouseInfoPeer_fillPointWithCoords;
Java_sun_awt_DefaultMouseInfoPeer_isWindowUnderMouse;
Java_java_awt_AWTEvent_nativeSetSource;
......@@ -56,230 +55,11 @@ SUNWprivate_1.1 {
Java_sun_awt_UNIXToolkit_load_1stock_1icon;
Java_sun_awt_UNIXToolkit_load_1gtk_1icon;
Java_sun_awt_UNIXToolkit_nativeSync;
#Java_sun_awt_motif_MButtonPeer_create;
#Java_sun_awt_motif_MButtonPeer_setLabel;
#Java_sun_awt_motif_MPanelPeer_pEnsureIndex;
#Java_sun_awt_motif_MPanelPeer_pRestack;
#Java_sun_awt_motif_MCanvasPeer_create;
#Java_sun_awt_motif_MCanvasPeer_initIDs;
#Java_sun_awt_motif_MCanvasPeer_resetTargetGC;
#Java_sun_awt_motif_MCheckboxMenuItemPeer_pSetState;
#Java_sun_awt_motif_MCheckboxPeer_create;
#Java_sun_awt_motif_MCheckboxPeer_setCheckboxGroup;
#Java_sun_awt_motif_MCheckboxPeer_setLabel;
#Java_sun_awt_motif_MCheckboxPeer_pSetState;
#Java_sun_awt_motif_MCheckboxPeer_pGetState;
#Java_sun_awt_motif_MChoicePeer_addItem;
#Java_sun_awt_motif_MChoicePeer_appendItems;
#Java_sun_awt_motif_MChoicePeer_create;
#Java_sun_awt_motif_MChoicePeer_pReshape;
#Java_sun_awt_motif_MChoicePeer_remove;
#Java_sun_awt_motif_MChoicePeer_removeAll;
#Java_sun_awt_motif_MChoicePeer_setBackground;
#Java_sun_awt_motif_MChoicePeer_pSelect;
#Java_sun_awt_motif_MChoicePeer_setFont;
#Java_sun_awt_motif_MChoicePeer_setForeground;
#Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
#Java_sun_awt_motif_MComponentPeer_getNativeColor;
#Java_sun_awt_motif_MComponentPeer_getWindow;
#Java_sun_awt_motif_MComponentPeer_pDisable;
#Java_sun_awt_motif_MComponentPeer_pDispose;
#Java_sun_awt_motif_MComponentPeer_pEnable;
#Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen;
#Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen2;
#Java_sun_awt_motif_MComponentPeer_pHide;
#Java_sun_awt_motif_MComponentPeer_pInitialize;
#Java_sun_awt_motif_MComponentPeer_pMakeCursorVisible;
#Java_sun_awt_motif_MComponentPeer_pReshape;
#Java_sun_awt_motif_MComponentPeer_pShow;
#Java_sun_awt_motif_MComponentPeer_removeNativeDropTarget;
#Java_sun_awt_motif_MComponentPeer_pSetBackground;
#Java_sun_awt_motif_MComponentPeer_pSetFont;
#Java_sun_awt_motif_MComponentPeer_processSynchronousLightweightTransfer;
#Java_sun_awt_motif_MComponentPeer__1requestFocus;
#Java_sun_awt_motif_MComponentPeer_getNativeFocusedWindow;
#Java_sun_awt_motif_MCheckboxMenuItemPeer_getState;
#Java_sun_awt_motif_MComponentPeer_pSetForeground;
#Java_sun_awt_motif_MDragSourceContextPeer_startDrag;
#Java_sun_awt_motif_MDragSourceContextPeer_setNativeCursor;
#Java_sun_awt_motif_MDropTargetContextPeer_addTransfer;
#Java_sun_awt_motif_MDropTargetContextPeer_dropDone;
#Java_sun_awt_motif_MDropTargetContextPeer_startTransfer;
#Java_sun_awt_motif_X11DragSourceContextPeer_startDrag;
#Java_sun_awt_motif_X11DragSourceContextPeer_setNativeCursor;
#Java_sun_awt_motif_X11DropTargetContextPeer_sendResponse;
#Java_sun_awt_motif_X11DropTargetContextPeer_dropDone;
#Java_sun_awt_motif_X11DropTargetContextPeer_getData;
#Java_sun_awt_motif_MEmbeddedFramePeer_NEFcreate;
#Java_sun_awt_motif_MEmbeddedFramePeer_pShowImpl;
#Java_sun_awt_motif_MEmbeddedFramePeer_requestXEmbedFocus;
#Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedApplicationActive;
#Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedActive;
#Java_sun_awt_motif_MEmbeddedFramePeer_synthesizeFocusInOut;
#Java_sun_awt_motif_MEmbeddedFramePeer_pReshapePrivate;
#Java_sun_awt_motif_MEmbeddedFramePeer_getBoundsPrivate;
#Java_sun_awt_motif_MEmbeddedFrame_getWidget;
#Java_sun_awt_motif_MEmbeddedFrame_mapWidget;
#Java_sun_awt_motif_MEmbedCanvasPeer_forwardEventToEmbedded;
#Java_sun_awt_motif_MFramePeer_pSetIconImage___3B_3I_3SII;
#Java_sun_awt_motif_MFileDialogPeer_create;
#Java_sun_awt_motif_MFileDialogPeer_pDispose;
#Java_sun_awt_motif_MFileDialogPeer_pHide;
#Java_sun_awt_motif_MFileDialogPeer_pReshape;
#Java_sun_awt_motif_MFileDialogPeer_pShow;
#Java_sun_awt_motif_MFileDialogPeer_setFileEntry;
#Java_sun_awt_motif_MFileDialogPeer_setFont;
#Java_sun_awt_motif_MFramePeer_pGetIconSize;
#Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
#Java_sun_awt_motif_MGlobalCursorManager_findComponentAt;
#Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
#Java_sun_awt_motif_MGlobalCursorManager_getCursorPos;
#Java_sun_awt_motif_MGlobalCursorManager_getLocationOnScreen;
#Java_sun_awt_motif_MLabelPeer_create;
#Java_sun_awt_motif_MLabelPeer_setAlignment;
#Java_sun_awt_motif_MLabelPeer_setText;
#Java_sun_awt_motif_MListPeer_addItem;
#Java_sun_awt_motif_MListPeer_create;
#Java_sun_awt_motif_MListPeer_delItems;
#Java_sun_awt_motif_MListPeer_deselect;
#Java_sun_awt_motif_MListPeer_isSelected;
#Java_sun_awt_motif_MListPeer_makeVisible;
#Java_sun_awt_motif_MListPeer_nativeHandleMouseWheel;
#Java_sun_awt_motif_MListPeer_select;
#Java_sun_awt_motif_MListPeer_setMultipleSelections;
#Java_sun_awt_motif_MMenuBarPeer_create;
#Java_sun_awt_motif_MMenuItemPeer_createMenuItem;
#Java_sun_awt_motif_MMenuItemPeer_pDisable;
#Java_sun_awt_motif_MMenuItemPeer_pDispose;
#Java_sun_awt_motif_MMenuItemPeer_pEnable;
#Java_sun_awt_motif_MMenuItemPeer_pSetLabel;
#Java_sun_awt_motif_MMenuPeer_createMenu;
#Java_sun_awt_motif_MMenuPeer_createSubMenu;
#Java_sun_awt_motif_MMenuPeer_pDispose;
#Java_sun_awt_motif_MPopupMenuPeer_createMenu;
#Java_sun_awt_motif_MPopupMenuPeer_pDispose;
#Java_sun_awt_motif_MPopupMenuPeer_pShow;
#Java_sun_awt_motif_MRobotPeer_getRGBPixelsImpl;
#Java_sun_awt_motif_MRobotPeer_keyPressImpl;
#Java_sun_awt_motif_MRobotPeer_keyReleaseImpl;
#Java_sun_awt_motif_MRobotPeer_mouseMoveImpl;
#Java_sun_awt_motif_MRobotPeer_mousePressImpl;
#Java_sun_awt_motif_MRobotPeer_mouseReleaseImpl;
#Java_sun_awt_motif_MRobotPeer_mouseWheelImpl;
#Java_sun_awt_motif_MRobotPeer_setup;
#Java_sun_awt_motif_MScrollbarPeer_create;
#Java_sun_awt_motif_MScrollbarPeer_setLineIncrement;
#Java_sun_awt_motif_MScrollbarPeer_setPageIncrement;
#Java_sun_awt_motif_MScrollbarPeer_pSetValues;
#Java_sun_awt_motif_MScrollPanePeer_create;
#Java_sun_awt_motif_MScrollPanePeer_pGetBlockIncrement;
#Java_sun_awt_motif_MScrollPanePeer_pGetScrollbarSpace;
#Java_sun_awt_motif_MScrollPanePeer_pGetShadow;
#Java_sun_awt_motif_MScrollPanePeer_pInsets;
#Java_sun_awt_motif_MScrollPanePeer_pSetIncrement;
#Java_sun_awt_motif_MScrollPanePeer_pSetScrollChild;
#Java_sun_awt_motif_MScrollPanePeer_setScrollPosition;
#Java_sun_awt_motif_MScrollPanePeer_setTypedValue;
#Java_sun_awt_motif_MTextAreaPeer_initIDs;
#Java_sun_awt_motif_MTextAreaPeer_pCreate;
#Java_sun_awt_motif_MTextAreaPeer_getCaretPosition;
#Java_sun_awt_motif_MTextAreaPeer_getExtraHeight;
#Java_sun_awt_motif_MTextAreaPeer_getExtraWidth;
#Java_sun_awt_motif_MTextAreaPeer_getSelectionEnd;
#Java_sun_awt_motif_MTextAreaPeer_getSelectionStart;
#Java_sun_awt_motif_MTextAreaPeer_getText;
#Java_sun_awt_motif_MTextAreaPeer_insert;
#Java_sun_awt_motif_MTextAreaPeer_nativeHandleMouseWheel;
#Java_sun_awt_motif_MTextAreaPeer_pMakeCursorVisible;
#Java_sun_awt_motif_MTextAreaPeer_pSetEditable;
#Java_sun_awt_motif_MTextAreaPeer_pShow2;
#Java_sun_awt_motif_MTextAreaPeer_replaceRange;
#Java_sun_awt_motif_MTextAreaPeer_select;
#Java_sun_awt_motif_MTextAreaPeer_setCaretPosition;
#Java_sun_awt_motif_MTextAreaPeer_setFont;
#Java_sun_awt_motif_MTextAreaPeer_setText;
#Java_sun_awt_motif_MTextAreaPeer_setTextBackground;
#Java_sun_awt_motif_MTextFieldPeer_initIDs;
#Java_sun_awt_motif_MTextFieldPeer_pCreate;
#Java_sun_awt_motif_MTextFieldPeer_getCaretPosition;
#Java_sun_awt_motif_MTextFieldPeer_getSelectionEnd;
#Java_sun_awt_motif_MTextFieldPeer_getSelectionStart;
#Java_sun_awt_motif_MTextFieldPeer_getText;
#Java_sun_awt_motif_MTextFieldPeer_insertReplaceText;
#Java_sun_awt_motif_MTextFieldPeer_preDispose;
#Java_sun_awt_motif_MTextFieldPeer_pSetEditable;
#Java_sun_awt_motif_MTextFieldPeer_select;
#Java_sun_awt_motif_MTextFieldPeer_setCaretPosition;
#Java_sun_awt_motif_MTextFieldPeer_setEchoChar;
#Java_sun_awt_motif_MTextFieldPeer_setFont;
#Java_sun_awt_motif_MTextFieldPeer_setText;
Java_sun_awt_motif_MToolkit_beep;
Java_sun_awt_motif_MToolkit_getLockingKeyStateNative;
Java_sun_awt_motif_MToolkit_getMulticlickTime;
Java_sun_awt_motif_MToolkit_getNumMouseButtons;
Java_sun_awt_motif_MToolkit_loadXSettings;
Java_sun_awt_motif_MToolkit_getScreenHeight;
Java_sun_awt_motif_MToolkit_getScreenResolution;
Java_sun_awt_motif_MToolkit_getScreenWidth;
Java_sun_awt_motif_MToolkit_init;
Java_sun_awt_motif_MToolkit_isDynamicLayoutSupportedNative;
Java_sun_awt_motif_MToolkit_isFrameStateSupported;
Java_sun_awt_motif_MToolkit_loadSystemColors;
Java_sun_awt_motif_MToolkit_makeColorModel;
Java_sun_awt_motif_MToolkit_run;
Java_sun_awt_motif_MToolkit_isAlwaysOnTopSupported;
Java_sun_awt_motif_MToolkit_getEventNumber;
Java_sun_awt_motif_MToolkit_updateSyncSelection;
Java_sun_awt_motif_MToolkit_isSyncUpdated;
Java_sun_awt_motif_MToolkit_isSyncFailed;
Java_sun_awt_motif_MToolkit_nativeUnGrab;
Java_sun_awt_motif_MToolkit_nativeGrab;
Java_sun_awt_motif_MToolkit_getWMName;
Java_sun_awt_motif_MWindowAttributes_initIDs;
#Java_sun_awt_motif_MWindowPeer_pDispose;
#Java_sun_awt_motif_MWindowPeer_pHide;
#Java_sun_awt_motif_MWindowPeer_pReshape;
#Java_sun_awt_motif_MWindowPeer_pSetTitle;
#Java_sun_awt_motif_MWindowPeer_pShow;
#Java_sun_awt_motif_MWindowPeer_setResizable;
#Java_sun_awt_motif_MWindowPeer_toBack;
#Java_sun_awt_motif_MWindowPeer_addTextComponentNative;
#Java_sun_awt_motif_MWindowPeer_getState;
#Java_sun_awt_motif_MWindowPeer_pSetIMMOption;
#Java_sun_awt_motif_MWindowPeer_pSetMenuBar;
#Java_sun_awt_motif_MWindowPeer_pShowModal;
#Java_sun_awt_motif_MWindowPeer_removeTextComponentNative;
#Java_sun_awt_motif_MWindowPeer_setSaveUnder;
#Java_sun_awt_motif_MWindowPeer_setState;
#Java_sun_awt_motif_MWindowPeer_resetTargetGC;
#Java_sun_awt_motif_MWindowPeer_registerX11DropTarget;
#Java_sun_awt_motif_MWindowPeer_unregisterX11DropTarget;
#Java_sun_awt_motif_MWindowPeer_updateAlwaysOnTop;
#Java_sun_awt_motif_MWindowPeer_setFocusableWindow;
#Java_sun_awt_motif_MWindowPeer_pToFront;
#Java_sun_awt_motif_MCustomCursor_cacheInit;
#Java_sun_awt_motif_MCustomCursor_createCursor;
#Java_sun_awt_motif_MCustomCursor_queryBestCursor;
Java_sun_awt_motif_X11FontMetrics_bytesWidth;
Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11InputMethod_disposeXIC;
Java_sun_awt_X11InputMethod_isCompositionEnabledNative;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_setCompositionEnabledNative;
Java_sun_awt_X11InputMethod_turnoffStatusWindow;
#Java_sun_awt_motif_MInputMethod_openXIMNative;
#Java_sun_awt_motif_MInputMethod_configureStatusAreaNative;
#Java_sun_awt_motif_MInputMethod_createXICNative;
#Java_sun_awt_motif_MInputMethod_reconfigureXICNative;
#Java_sun_awt_motif_MInputMethod_setXICFocusNative;
#Java_sun_awt_motif_X11Clipboard_getClipboardData;
#Java_sun_awt_motif_X11Clipboard_getClipboardFormats;
#Java_sun_awt_motif_X11Clipboard_registerClipboardViewer;
#Java_sun_awt_motif_X11Clipboard_unregisterClipboardViewer;
#Java_sun_awt_motif_X11Selection_init;
#Java_sun_awt_motif_X11Selection_pGetSelectionOwnership;
#Java_sun_awt_motif_X11Selection_clearNativeContext;
Java_sun_awt_SunToolkit_closeSplashScreen;
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_X11GraphicsConfig_init;
......@@ -313,25 +93,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama;
Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint;
Java_sun_awt_X11GraphicsEnvironment_initXRender;
#Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive;
#Java_sun_awt_motif_MEmbedCanvasPeer_initDispatching;
#Java_sun_awt_motif_MEmbedCanvasPeer_endDispatching;
#Java_sun_awt_motif_MEmbedCanvasPeer_embedChild;
#Java_sun_awt_motif_MEmbedCanvasPeer_childDestroyed;
#Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedPreferredSize;
#Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedMinimumSize;
#Java_sun_awt_motif_MEmbedCanvasPeer_getClientBounds;
#Java_sun_awt_motif_MEmbedCanvasPeer_notifyChildEmbedded;
#Java_sun_awt_motif_MEmbedCanvasPeer_detachChild;
#Java_sun_awt_motif_MEmbedCanvasPeer_forwardKeyEvent;
#Java_sun_awt_motif_MEmbedCanvasPeer_getAWTKeyCodeForKeySym;
#Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__I;
#Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__IJJJ;
#Java_sun_awt_motif_MEmbedCanvasPeer_getWindow;
#Java_sun_awt_motif_GrabbedKey_initKeySymAndModifiers;
#Java_sun_awt_motif_MEmbeddedFramePeer_traverseOut;
Java_java_awt_AWTEvent_initIDs;
Java_java_awt_Button_initIDs;
Java_java_awt_Container_initIDs;
......@@ -345,41 +106,6 @@ SUNWprivate_1.1 {
Java_java_awt_Insets_initIDs;
Java_java_awt_TextField_initIDs;
Java_java_awt_Window_initIDs;
#Java_sun_awt_motif_MCheckboxPeer_getIndicatorSize;
#Java_sun_awt_motif_MCheckboxPeer_getSpacing;
#Java_sun_awt_motif_MChoicePeer_freeNativeData;
#Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
#Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
#Java_sun_awt_motif_MComponentPeer_initIDs;
#Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
#Java_sun_awt_motif_MComponentPeer_pSetCursor;
#Java_sun_awt_motif_MComponentPeer_pSetInnerForeground;
#Java_sun_awt_motif_MComponentPeer_pSetScrollbarBackground;
#Java_sun_awt_motif_MComponentPeer_setTargetBackground;
#Java_sun_awt_motif_MDataTransferer_dragQueryFile;
#Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
#Java_sun_awt_motif_MDataTransferer_getTargetNameForAtom;
#Java_sun_awt_motif_MFileDialogPeer_insertReplaceFileDialogText;
Java_sun_awt_motif_MFontPeer_initIDs;
#Java_sun_awt_motif_MListPeer_setBackground;
#Java_sun_awt_motif_MMenuBarPeer_initIDs;
#Java_sun_awt_motif_MMenuBarPeer_pDispose;
#Java_sun_awt_motif_MMenuItemPeer_getParent_1NoClientCode;
#Java_sun_awt_motif_MMenuItemPeer_initIDs;
#Java_sun_awt_motif_MMenuItemPeer_pSetShortcut;
#Java_sun_awt_motif_MPopupMenuPeer_initIDs;
#Java_sun_awt_motif_MScrollbarPeer_initIDs;
#Java_sun_awt_motif_MScrollPanePeer_initIDs;
#Java_sun_awt_motif_MTextAreaPeer_pSetCursor;
Java_sun_awt_motif_MToolkit_shutdown;
#Java_sun_awt_motif_MWindowPeer_initIDs;
#Java_sun_awt_motif_MWindowPeer_pCreate;
#Java_sun_awt_motif_MWindowPeer_wrapInSequenced;
Java_sun_awt_motif_X11FontMetrics_initIDs;
#Java_sun_awt_X11InputMethod_initIDs;
#Java_sun_awt_motif_X11Selection_initIDs;
Java_sun_awt_motif_MToolkitThreadBlockedHandler_enter;
Java_sun_awt_motif_MToolkitThreadBlockedHandler_exit;
Java_sun_awt_X11GraphicsConfig_init;
Java_sun_awt_X11GraphicsConfig_initIDs;
Java_sun_awt_X11GraphicsConfig_makeColorModel;
......
......@@ -170,7 +170,6 @@ SUNWprivate_1.1 {
GrPrim_Sg2dGetPixel;
GrPrim_Sg2dGetLCDTextContrast;
#Java_sun_awt_motif_MComponentPeer_restoreFocus;
Java_sun_awt_DefaultMouseInfoPeer_fillPointWithCoords;
Java_sun_awt_DefaultMouseInfoPeer_isWindowUnderMouse;
Java_java_awt_AWTEvent_nativeSetSource;
......@@ -189,216 +188,11 @@ SUNWprivate_1.1 {
Java_java_awt_ScrollPane_initIDs;
Java_java_awt_TextArea_initIDs;
Java_sun_awt_FontDescriptor_initIDs;
#Java_sun_awt_motif_MButtonPeer_create;
#Java_sun_awt_motif_MButtonPeer_setLabel;
#Java_sun_awt_motif_MCanvasPeer_create;
#Java_sun_awt_motif_MCanvasPeer_initIDs;
#Java_sun_awt_motif_MCanvasPeer_resetTargetGC;
#Java_sun_awt_motif_MCheckboxMenuItemPeer_pSetState;
#Java_sun_awt_motif_MCheckboxPeer_create;
#Java_sun_awt_motif_MCheckboxPeer_setCheckboxGroup;
#Java_sun_awt_motif_MCheckboxPeer_setLabel;
#Java_sun_awt_motif_MCheckboxPeer_pSetState;
#Java_sun_awt_motif_MCheckboxPeer_pGetState;
#Java_sun_awt_motif_MChoicePeer_addItem;
#Java_sun_awt_motif_MChoicePeer_appendItems;
#Java_sun_awt_motif_MChoicePeer_create;
#Java_sun_awt_motif_MChoicePeer_pReshape;
#Java_sun_awt_motif_MChoicePeer_remove;
#Java_sun_awt_motif_MChoicePeer_removeAll;
#Java_sun_awt_motif_MChoicePeer_setBackground;
#Java_sun_awt_motif_MChoicePeer_pSelect;
#Java_sun_awt_motif_MChoicePeer_setFont;
#Java_sun_awt_motif_MChoicePeer_setForeground;
#Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
#Java_sun_awt_motif_MComponentPeer_createBackBuffer;
#Java_sun_awt_motif_MComponentPeer_destroyBackBuffer;
#Java_sun_awt_motif_MComponentPeer_getNativeColor;
#Java_sun_awt_motif_MComponentPeer_getWindow;
#Java_sun_awt_motif_MComponentPeer_pDisable;
#Java_sun_awt_motif_MComponentPeer_pDispose;
#Java_sun_awt_motif_MComponentPeer_pEnable;
#Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen;
#Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen2;
#Java_sun_awt_motif_MComponentPeer_pHide;
#Java_sun_awt_motif_MComponentPeer_pInitialize;
#Java_sun_awt_motif_MComponentPeer_pMakeCursorVisible;
#Java_sun_awt_motif_MComponentPeer_pReshape;
#Java_sun_awt_motif_MComponentPeer_pShow;
#Java_sun_awt_motif_MComponentPeer_removeNativeDropTarget;
#Java_sun_awt_motif_MComponentPeer_swapBuffers;
#Java_sun_awt_motif_MComponentPeer_pSetBackground;
#Java_sun_awt_motif_MComponentPeer_pSetFont;
#Java_sun_awt_motif_MComponentPeer_processSynchronousLightweightTransfer;
#Java_sun_awt_motif_MComponentPeer__1requestFocus;
#Java_sun_awt_motif_MCheckboxMenuItemPeer_getState;
#Java_sun_awt_motif_MComponentPeer_pSetForeground;
#Java_sun_awt_motif_MDragSourceContextPeer_startDrag;
#Java_sun_awt_motif_MDragSourceContextPeer_setNativeCursor;
#Java_sun_awt_motif_MDropTargetContextPeer_addTransfer;
#Java_sun_awt_motif_MDropTargetContextPeer_dropDone;
#Java_sun_awt_motif_MDropTargetContextPeer_startTransfer;
#Java_sun_awt_motif_X11DragSourceContextPeer_startDrag;
#Java_sun_awt_motif_X11DragSourceContextPeer_setNativeCursor;
#Java_sun_awt_motif_X11DropTargetContextPeer_sendResponse;
#Java_sun_awt_motif_X11DropTargetContextPeer_dropDone;
#Java_sun_awt_motif_X11DropTargetContextPeer_getData;
#Java_sun_awt_motif_MEmbeddedFramePeer_NEFcreate;
#Java_sun_awt_motif_MEmbeddedFramePeer_pShowImpl;
#Java_sun_awt_motif_MEmbeddedFramePeer_pReshapePrivate;
#Java_sun_awt_motif_MEmbeddedFramePeer_getBoundsPrivate;
#Java_sun_awt_motif_MFramePeer_pSetIconImage___3B_3I_3SII;
#Java_sun_awt_motif_MEmbeddedFramePeer_requestXEmbedFocus;
#Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedApplicationActive;
#Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedActive;
#Java_sun_awt_motif_MEmbeddedFrame_getWidget;
#Java_sun_awt_motif_MEmbeddedFrame_mapWidget;
#Java_sun_awt_motif_MFileDialogPeer_create;
#Java_sun_awt_motif_MFileDialogPeer_pDispose;
#Java_sun_awt_motif_MFileDialogPeer_pHide;
#Java_sun_awt_motif_MFileDialogPeer_pReshape;
#Java_sun_awt_motif_MFileDialogPeer_pShow;
#Java_sun_awt_motif_MFileDialogPeer_setFileEntry;
#Java_sun_awt_motif_MFileDialogPeer_setFont;
#Java_sun_awt_motif_MFramePeer_pGetIconSize;
#Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
#Java_sun_awt_motif_MGlobalCursorManager_findComponentAt;
#Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
#Java_sun_awt_motif_MGlobalCursorManager_getCursorPos;
#Java_sun_awt_motif_MGlobalCursorManager_getLocationOnScreen;
#Java_sun_awt_motif_MLabelPeer_create;
#Java_sun_awt_motif_MLabelPeer_setAlignment;
#Java_sun_awt_motif_MLabelPeer_setText;
#Java_sun_awt_motif_MListPeer_addItem;
#Java_sun_awt_motif_MListPeer_create;
#Java_sun_awt_motif_MListPeer_delItems;
#Java_sun_awt_motif_MListPeer_deselect;
#Java_sun_awt_motif_MListPeer_isSelected;
#Java_sun_awt_motif_MListPeer_makeVisible;
#Java_sun_awt_motif_MListPeer_select;
#Java_sun_awt_motif_MListPeer_setMultipleSelections;
#Java_sun_awt_motif_MMenuBarPeer_create;
#Java_sun_awt_motif_MMenuItemPeer_createMenuItem;
#Java_sun_awt_motif_MMenuItemPeer_pDisable;
#Java_sun_awt_motif_MMenuItemPeer_pDispose;
#Java_sun_awt_motif_MMenuItemPeer_pEnable;
#Java_sun_awt_motif_MMenuItemPeer_pSetLabel;
#Java_sun_awt_motif_MMenuPeer_createMenu;
#Java_sun_awt_motif_MMenuPeer_createSubMenu;
#Java_sun_awt_motif_MMenuPeer_pDispose;
#Java_sun_awt_motif_MPopupMenuPeer_createMenu;
#Java_sun_awt_motif_MPopupMenuPeer_pDispose;
#Java_sun_awt_motif_MPopupMenuPeer_pShow;
#Java_sun_awt_motif_MRobotPeer_getRGBPixelsImpl;
#Java_sun_awt_motif_MRobotPeer_keyPressImpl;
#Java_sun_awt_motif_MRobotPeer_keyReleaseImpl;
#Java_sun_awt_motif_MRobotPeer_mouseMoveImpl;
#Java_sun_awt_motif_MRobotPeer_mousePressImpl;
#Java_sun_awt_motif_MRobotPeer_mouseReleaseImpl;
#Java_sun_awt_motif_MRobotPeer_mouseWheelImpl;
#Java_sun_awt_motif_MRobotPeer_setup;
#Java_sun_awt_motif_MScrollbarPeer_create;
#Java_sun_awt_motif_MScrollbarPeer_setLineIncrement;
#Java_sun_awt_motif_MScrollbarPeer_setPageIncrement;
#Java_sun_awt_motif_MScrollbarPeer_pSetValues;
#Java_sun_awt_motif_MScrollPanePeer_create;
#Java_sun_awt_motif_MScrollPanePeer_pGetBlockIncrement;
#Java_sun_awt_motif_MScrollPanePeer_pGetScrollbarSpace;
#Java_sun_awt_motif_MScrollPanePeer_pGetShadow;
#Java_sun_awt_motif_MScrollPanePeer_pInsets;
#Java_sun_awt_motif_MScrollPanePeer_pSetIncrement;
#Java_sun_awt_motif_MScrollPanePeer_pSetScrollChild;
#Java_sun_awt_motif_MScrollPanePeer_setScrollPosition;
#Java_sun_awt_motif_MTextAreaPeer_initIDs;
#Java_sun_awt_motif_MTextAreaPeer_pCreate;
#Java_sun_awt_motif_MTextAreaPeer_getCaretPosition;
#Java_sun_awt_motif_MTextAreaPeer_getExtraHeight;
#Java_sun_awt_motif_MTextAreaPeer_getExtraWidth;
#Java_sun_awt_motif_MTextAreaPeer_getSelectionEnd;
#Java_sun_awt_motif_MTextAreaPeer_getSelectionStart;
#Java_sun_awt_motif_MTextAreaPeer_getText;
#Java_sun_awt_motif_MTextAreaPeer_insert;
#Java_sun_awt_motif_MTextAreaPeer_pMakeCursorVisible;
#Java_sun_awt_motif_MTextAreaPeer_pSetEditable;
#Java_sun_awt_motif_MTextAreaPeer_pShow2;
#Java_sun_awt_motif_MTextAreaPeer_replaceRange;
#Java_sun_awt_motif_MTextAreaPeer_select;
#Java_sun_awt_motif_MTextAreaPeer_setCaretPosition;
#Java_sun_awt_motif_MTextAreaPeer_setFont;
#Java_sun_awt_motif_MTextAreaPeer_setText;
#Java_sun_awt_motif_MTextAreaPeer_setTextBackground;
#Java_sun_awt_motif_MTextFieldPeer_initIDs;
#Java_sun_awt_motif_MTextFieldPeer_pCreate;
#Java_sun_awt_motif_MTextFieldPeer_getCaretPosition;
#Java_sun_awt_motif_MTextFieldPeer_getSelectionEnd;
#Java_sun_awt_motif_MTextFieldPeer_getSelectionStart;
#Java_sun_awt_motif_MTextFieldPeer_getText;
#Java_sun_awt_motif_MTextFieldPeer_insertReplaceText;
#Java_sun_awt_motif_MTextFieldPeer_preDispose;
#Java_sun_awt_motif_MTextFieldPeer_pSetEditable;
#Java_sun_awt_motif_MTextFieldPeer_select;
#Java_sun_awt_motif_MTextFieldPeer_setCaretPosition;
#Java_sun_awt_motif_MTextFieldPeer_setEchoChar;
#Java_sun_awt_motif_MTextFieldPeer_setFont;
#Java_sun_awt_motif_MTextFieldPeer_setText;
Java_sun_awt_motif_MToolkit_beep;
Java_sun_awt_motif_MToolkit_getLockingKeyStateNative;
Java_sun_awt_motif_MToolkit_getMulticlickTime;
Java_sun_awt_motif_MToolkit_getNumMouseButtons;
Java_sun_awt_motif_MToolkit_getScreenHeight;
Java_sun_awt_motif_MToolkit_getScreenResolution;
Java_sun_awt_motif_MToolkit_getScreenWidth;
Java_sun_awt_motif_MToolkit_init;
Java_sun_awt_motif_MToolkit_isDynamicLayoutSupportedNative;
Java_sun_awt_motif_MToolkit_isFrameStateSupported;
Java_sun_awt_motif_MToolkit_loadSystemColors;
Java_sun_awt_motif_MToolkit_makeColorModel;
Java_sun_awt_motif_MToolkit_run;
Java_sun_awt_motif_MToolkit_sync;
Java_sun_awt_motif_MToolkit_isAlwaysOnTopSupported;
Java_sun_awt_motif_MWindowAttributes_initIDs;
#Java_sun_awt_motif_MWindowPeer_pDispose;
#Java_sun_awt_motif_MWindowPeer_pHide;
#Java_sun_awt_motif_MWindowPeer_pReshape;
#Java_sun_awt_motif_MWindowPeer_pSetTitle;
#Java_sun_awt_motif_MWindowPeer_pShow;
#Java_sun_awt_motif_MWindowPeer_setResizable;
#Java_sun_awt_motif_MWindowPeer_toBack;
#Java_sun_awt_motif_MWindowPeer_addTextComponentNative;
#Java_sun_awt_motif_MWindowPeer_getState;
#Java_sun_awt_motif_MWindowPeer_pSetIMMOption;
#Java_sun_awt_motif_MWindowPeer_pSetMenuBar;
#Java_sun_awt_motif_MWindowPeer_pShowModal;
#Java_sun_awt_motif_MWindowPeer_removeTextComponentNative;
#Java_sun_awt_motif_MWindowPeer_setSaveUnder;
#Java_sun_awt_motif_MWindowPeer_setState;
#Java_sun_awt_motif_MWindowPeer_resetTargetGC;
#Java_sun_awt_motif_MWindowPeer_registerX11DropTarget;
#Java_sun_awt_motif_MWindowPeer_unregisterX11DropTarget;
#Java_sun_awt_motif_MWindowPeer_updateAlwaysOnTop;
#Java_sun_awt_motif_X11CustomCursor_cacheInit;
#Java_sun_awt_motif_X11CustomCursor_createCursor;
#Java_sun_awt_motif_X11CustomCursor_queryBestCursor;
Java_sun_awt_motif_X11FontMetrics_bytesWidth;
Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11InputMethod_disposeXIC;
Java_sun_awt_X11InputMethod_isCompositionEnabledNative;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_setCompositionEnabledNative;
Java_sun_awt_X11InputMethod_turnoffStatusWindow;
#Java_sun_awt_motif_MInputMethod_openXIMNative;
#Java_sun_awt_motif_MInputMethod_configureStatusAreaNative;
#Java_sun_awt_motif_MInputMethod_createXICNative;
#Java_sun_awt_motif_MInputMethod_reconfigureXICNative;
#Java_sun_awt_motif_MInputMethod_setXICFocusNative;
#Java_sun_awt_motif_X11Clipboard_getClipboardData;
#Java_sun_awt_motif_X11Clipboard_getClipboardFormats;
#Java_sun_awt_motif_X11Clipboard_registerClipboardViewer;
#Java_sun_awt_motif_X11Clipboard_unregisterClipboardViewer;
#Java_sun_awt_motif_X11Selection_init;
#Java_sun_awt_motif_X11Selection_pGetSelectionOwnership;
#Java_sun_awt_motif_X11Selection_clearNativeContext;
Java_sun_awt_SunToolkit_closeSplashScreen;
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_X11GraphicsConfig_init;
......@@ -444,42 +238,7 @@ SUNWprivate_1.1 {
Java_java_awt_Insets_initIDs;
Java_java_awt_TextField_initIDs;
Java_java_awt_Window_initIDs;
#Java_sun_awt_motif_MCheckboxPeer_getIndicatorSize;
#Java_sun_awt_motif_MCheckboxPeer_getSpacing;
#Java_sun_awt_motif_MChoicePeer_freeNativeData;
#Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
#Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
#Java_sun_awt_motif_MComponentPeer_initIDs;
#Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
#Java_sun_awt_motif_MComponentPeer_pSetCursor;
#Java_sun_awt_motif_MComponentPeer_pSetInnerForeground;
#Java_sun_awt_motif_MComponentPeer_pSetScrollbarBackground;
#Java_sun_awt_motif_MComponentPeer_setTargetBackground;
#Java_sun_awt_motif_MDataTransferer_dragQueryFile;
#Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
#Java_sun_awt_motif_MDataTransferer_getTargetNameForAtom;
#Java_sun_awt_motif_MFileDialogPeer_insertReplaceFileDialogText;
Java_sun_awt_motif_MFontPeer_initIDs;
#Java_sun_awt_motif_MListPeer_setBackground;
#Java_sun_awt_motif_MMenuBarPeer_initIDs;
#Java_sun_awt_motif_MMenuBarPeer_pDispose;
#Java_sun_awt_motif_MMenuItemPeer_getParent_1NoClientCode;
#Java_sun_awt_motif_MMenuItemPeer_initIDs;
#Java_sun_awt_motif_MMenuItemPeer_pSetShortcut;
#Java_sun_awt_motif_MPopupMenuPeer_initIDs;
#Java_sun_awt_motif_MScrollbarPeer_initIDs;
#Java_sun_awt_motif_MScrollPanePeer_initIDs;
#Java_sun_awt_motif_MTextAreaPeer_pSetCursor;
Java_sun_awt_motif_MToolkit_shutdown;
#Java_sun_awt_motif_MWindowPeer_initIDs;
#Java_sun_awt_motif_MWindowPeer_pCreate;
#Java_sun_awt_motif_MWindowPeer_wrapInSequenced;
Java_sun_awt_motif_X11FontMetrics_initIDs;
#Java_sun_awt_X11InputMethod_initIDs;
Java_sun_awt_motif_X11OffScreenImage_updateBitmask;
#Java_sun_awt_motif_X11Selection_initIDs;
Java_sun_awt_motif_MToolkitThreadBlockedHandler_enter;
Java_sun_awt_motif_MToolkitThreadBlockedHandler_exit;
Java_sun_awt_X11GraphicsConfig_init;
Java_sun_awt_X11GraphicsConfig_initIDs;
Java_sun_awt_X11GraphicsConfig_makeColorModel;
......@@ -505,26 +264,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11SurfaceData_isDgaAvailable;
Java_sun_awt_X11SurfaceData_setInvalid;
Java_sun_awt_X11SurfaceData_flushNativeSurface;
#Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive;
#Java_sun_awt_motif_MEmbedCanvasPeer_initDispatching;
#Java_sun_awt_motif_MEmbedCanvasPeer_endDispatching;
#Java_sun_awt_motif_MEmbedCanvasPeer_embedChild;
#Java_sun_awt_motif_MEmbedCanvasPeer_childDestroyed;
#Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedPreferredSize;
#Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedMinimumSize;
#Java_sun_awt_motif_MEmbedCanvasPeer_getClientBounds;
#Java_sun_awt_motif_MEmbedCanvasPeer_notifyChildEmbedded;
#Java_sun_awt_motif_MEmbedCanvasPeer_detachChild;
#Java_sun_awt_motif_MEmbedCanvasPeer_forwardKeyEvent;
#Java_sun_awt_motif_MEmbedCanvasPeer_getAWTKeyCodeForKeySym;
#Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__I;
#Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__IJJJ;
#Java_sun_awt_motif_MEmbedCanvasPeer_getWindow;
#Java_sun_awt_motif_MEmbedCanvasPeer_forwardEventToEmbedded;
#Java_sun_awt_motif_GrabbedKey_initKeySymAndModifiers;
#Java_sun_awt_motif_MEmbeddedFramePeer_traverseOut;
awt_display;
awt_lock;
awt_Lock;
......
......@@ -41,13 +41,7 @@ include $(BUILDDIR)/sun/awt/FILES_export_unix.gmk
# Check which C files should be built. Headless uses only
# non-motif files. Also, a version-specific motif file is
# compiled based on the motif version.
ifdef HEADLESS
FILES_c = $(FILES_NO_MOTIF_c)
else
# FILES_c = $(FILES_MOTIF_c) $(FILES_NO_MOTIF_c)
# XXX if in FILES_MOTIF_c there are unrelated to motif stuff, create a separate list!
FILES_c = $(FILES_NO_MOTIF_c)
endif
FILES_c = $(FILES_NO_MOTIF_c)
ifeq ($(PLATFORM), solaris)
ifneq ($(ARCH), amd64)
......@@ -116,32 +110,6 @@ CFLAGS += -DHEADLESS=$(HEADLESS)
CPPFLAGS += -DHEADLESS=$(HEADLESS)
OTHER_LDLIBS =
else
#CFLAGS += -DMOTIF_VERSION=$(MOTIF_VERSION)
#ifeq ($(STATIC_MOTIF),true)
# LIBXM = $(MOTIF_LIB)/libXm.a -lXp -lXmu
# ifeq ($(PLATFORM), linux)
# ifeq ($(ARCH_DATA_MODEL), 64)
# LIBXT = -lXt
# else
# # Allows for builds on Debian GNU Linux, X11 is in a different place
# LIBXT = $(firstword $(wildcard /usr/X11R6/lib/libXt.a) \
# $(wildcard /usr/lib/libXt.a))
# LIBSM = $(firstword $(wildcard /usr/X11R6/lib/libSM.a) \
# $(wildcard /usr/lib/libSM.a))
# LIBICE = $(firstword $(wildcard /usr/X11R6/lib/libICE.a) \
# $(wildcard /usr/lib/libICE.a))
# endif
# endif
#else
# LIBXM = -L$(MOTIF_LIB) -lXm -lXp
# ifeq ($(PLATFORM), linux)
# LIBXT = -lXt
# LIBSM =
# LIBICE =
# endif
#endif
LIBXTST = -lXtst
ifeq ($(PLATFORM), linux)
ifeq ($(ARCH_DATA_MODEL), 64)
......
data = R0x2000;
text = LOAD ?RXO;
# Test Null
# Test Exit
# Test Hello
# Test Sleep
# Test IntToString
# Test LoadToolkit
text: .text%JNI_OnLoad;
text: .text%awt_util_debug_init;
text: .text%Java_sun_awt_X11GraphicsEnvironment_initDisplay;
text: .text%awt_init_Display;
text: .text%makeDefaultConfig: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%awt_allocate_colors;
text: .text%alloc_col: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11Color.o;
text: .text%getVirtCubeSize;
text: .text%uname: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11Color.o;
text: .text%Java_sun_awt_font_NativeFontWrapper_getFontPath;
text: .text%getPlatformFontPathChars: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%getSolarisFontLocations: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%fstat: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%AppendFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%freePlatformFontPathChars: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%checkFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_Font.o;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNativeFonts;
text: .text%Java_sun_awt_font_NativeFontWrapper_setNativeFontPath;
text: .text%isDisplayLocal;
text: .text%Java_sun_awt_X11GraphicsEnvironment_checkShmExt;
text: .text%TryInitMITShm: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%awt_output_flush;
text: .text%awtJNI_TimeMillis: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%AddFontsToX11FontPath: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNumScreens;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum;
text: .text%Java_sun_awt_X11GraphicsDevice_getConfigVisualId;
text: .text%Java_sun_awt_X11GraphicsDevice_isDBESupported;
text: .text%Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
text: .text%Java_sun_awt_X11GraphicsConfig_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_init;
text: .text%getAllConfigs: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%Java_sun_awt_motif_MToolkit_init;
text: .text%getDefaultConfig;
text: .text%getScreenData;
text: .text%Java_sun_awt_PlatformFont_initIDs;
text: .text%Java_sun_awt_motif_MFontPeer_initIDs;
text: .text%awt_wm_init;
text: .text%awt_wm_initAtoms: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_getRunningWM;
text: .text%xerror_detect_wm: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_prepareIsIceWM: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isNetSupporting: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_checkAnchor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_getProperty32: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isWinSupporting: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isIceWM: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isEnlightenment: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_getECommsWindowIDProperty: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isSawfish: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isNetWMName: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isKDE2: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isCDE: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_color_match;
text: .text%setup_modifier_map: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%set_mod_mask: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_initialize_DataTransferer;
text: .text%awt_initialize_Xm_DnD;
text: .text%cacheDropDone: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_XmDnD.o;
text: .text%awt_motif_enableSingleDragInitiator;
text: .text%Java_java_awt_Cursor_initIDs;
text: .text%Java_sun_awt_motif_X11CustomCursor_cacheInit;
text: .text%Java_sun_awt_motif_MToolkit_run;
text: .text%awtJNI_GetCurrentThread;
text: .text%awt_MToolkit_loop: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_pipe_init: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_set_poll_timeout: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_events_pending: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%processOneEvent: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%set_toolkit_busy;
text: .text%waitForEvents;
text: .text%performPoll: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_get_poll_timeout: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awtJNI_CleanupGlobalRefs;
text: .text%Java_java_awt_AWTEvent_initIDs;
text: .text%Java_sun_awt_SunToolkit_wakeupEventQueue;
text: .text%Java_sun_awt_motif_MToolkit_shutdown;
text: .text%X11SD_LibDispose;
text: .text%LibDisposeStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
# Test LoadFrame
text: .text%Java_java_awt_Component_initIDs;
text: .text%Java_java_awt_Container_initIDs;
text: .text%Java_java_awt_Window_initIDs;
text: .text%Java_java_awt_Frame_initIDs;
text: .text%Java_sun_awt_SunToolkit_getPrivateKey;
text: .text%Java_java_awt_MenuComponent_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_pGetBounds;
text: .text%Java_java_awt_Insets_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_initIDs;
text: .text%Java_sun_awt_motif_MWindowAttributes_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_pCreate;
text: .text%awtJNI_CreateAndSetGlobalRef;
text: .text%copyGraphicsConfigToPeer;
text: .text%awt_Frame_guessInsets;
text: .text%awtJNI_ChangeInsets: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%getMotifFontList;
text: .text%getMotifFontStruct;
text: .text%setDeleteCallback: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_canvas_create;
text: .text%awt_util_show;
text: .text%addTopLevel;
text: .text%Java_sun_awt_motif_MWindowPeer_pHide;
text: .text%Java_sun_awt_motif_MComponentPeer_pInitialize;
text: .text%awt_addWidget;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetCursor;
text: .text%getCursor;
text: .text%awt_util_setCursor;
text: .text%Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
text: .text%Java_sun_awt_motif_MWindowPeer_pReshape;
text: .text%reshape: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awtJNI_setMbAndWwHeightAndOffsets: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_wm_configureGravityBuggy;
text: .text%Java_sun_awt_X11SurfaceData_initIDs;
text: .text%Java_sun_awt_motif_MToolkit_loadSystemColors;
text: .text%colorToRGB: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_allocate_systemcolors;
text: .text%Java_sun_awt_X11GraphicsConfig_makeColorModel;
text: .text%awtJNI_GetColorModel;
text: .text%Java_sun_awt_X11SurfaceData_initOps;
text: .text%Java_sun_awt_motif_MWindowPeer_pSetTitle;
text: .text%Java_sun_awt_motif_MWindowPeer_setResizable;
text: .text%Java_java_awt_Font_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetFont;
text: .text%awt_util_mapChildren;
text: .text%changeFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_Component.o;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetBackground;
text: .text%getGraphicsConfigFromComponentPeer;
text: .text%awtJNI_GetColorForVis;
text: .text%ColorProc;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetForeground;
text: .text%Java_sun_awt_motif_MWindowPeer_pShow;
text: .text%Java_sun_awt_motif_MWindowPeer_pShowModal;
text: .text%awt_wm_setExtendedState;
text: .text%awt_wm_doStateProtocolNet: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_doStateProtocolWin: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_setShellDecor;
text: .text%awt_wm_setMotifDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_setOLDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_normalizeMotifDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_removeSizeHints;
text: .text%shellEH: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_wm_isStateChange;
text: .text%awt_wm_getWMState;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
text: .text%innerCanvasEH: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%reconfigureOuterCanvas: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%outerCanvasResizeCB: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
text: .text%awt_wm_getInsetsFromProp;
text: .text%syncTopLevelPos;
text: .text%raiseInputMethodWindow;
text: .text%awt_wm_getExtendedState: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_canvas_event_handler;
text: .text%awt_canvas_handleEvent;
text: .text%HandleExposeEvent: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%checkForExpose: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%expandDamageRect: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%getCurComponent;
text: .text%Java_java_awt_KeyboardFocusManager_initIDs;
text: .text%Java_java_awt_event_InputEvent_initIDs;
text: .text%Java_java_awt_event_KeyEvent_initIDs;
text: .text%Java_java_awt_AWTKeyStroke_allocateNewInstance;
text: .text%Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
text: .text%Java_java_awt_Event_initIDs;
# Test LoadJFrame
text: .text%Java_sun_awt_motif_MToolkit_getScreenWidth;
text: .text%Java_sun_awt_motif_MToolkit_getScreenHeight;
text: .text%X11SD_Lock: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_InitWindow: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%GetLockStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_GetRasInfo: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_Unlock: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_InitClip: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%XRequestSentStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
# Test JHello
text: .text%AWTLoadFont;
text: .text%AWTFontMaxByte1;
text: .text%AWTFontMaxCharOrByte2;
text: .text%AWTFontMaxBounds;
text: .text%AWTCharAscent;
text: .text%AWTCharDescent;
text: .text%AWTCharWidth;
text: .text%AWTFontMinByte1;
text: .text%AWTFontMinCharOrByte2;
text: .text%AWTFontPerChar;
text: .text%AWTCharRBearing;
text: .text%AWTCharLBearing;
text: .text%Java_sun_awt_X11SurfaceData_setInvalid;
text: .text%Java_sun_awt_X11SurfaceData_nativeDispose;
text: .text%X11SurfaceData_GetOps;
# SwingSet
text: .text%Java_sun_awt_motif_MWindowPeer_setSaveUnder;
text: .text%Java_sun_awt_motif_MCanvasPeer_create;
text: .text%awt_util_insertCallback;
text: .text%Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
text: .text%Java_sun_awt_motif_MComponentPeer_pReshape;
text: .text%awt_util_reshape;
text: .text%Java_sun_awt_motif_MComponentPeer_pShow;
text: .text%Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
text: .text%Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
text: .text%register_drop_site;
text: .text%update_drop_site_hierarchy: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_XmDnD.o;
text: .text%AWTFontDefaultChar;
text: .text%AWTFontGenerateImage;
text: .text%CreatePixmapAndGC;
text: .text%isAncestor;
text: .text%xerror_handler;
data = R0x2000;
text = LOAD ?RXO;
# Test Null
# Test Exit
# Test Hello
# Test Sleep
# Test IntToString
# Test LoadToolkit
text: .text%JNI_OnLoad;
text: .text%awt_util_debug_init;
text: .text%Java_sun_awt_X11GraphicsEnvironment_initDisplay;
text: .text%awt_init_Display;
text: .text%makeDefaultConfig: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%awt_allocate_colors;
text: .text%Java_sun_awt_font_NativeFontWrapper_getFontPath;
text: .text%getPlatformFontPathChars: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%getSolarisFontLocations: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%AppendFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%freePlatformFontPathChars: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%checkFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_Font.o;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNativeFonts;
text: .text%Java_sun_awt_font_NativeFontWrapper_setNativeFontPath;
text: .text%isDisplayLocal;
text: .text%Java_sun_awt_X11GraphicsEnvironment_checkShmExt;
text: .text%TryInitMITShm: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%awt_output_flush;
text: .text%awtJNI_TimeMillis: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%AddFontsToX11FontPath: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/fontpath.o;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNumScreens;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum;
text: .text%Java_sun_awt_X11GraphicsDevice_getConfigVisualId;
text: .text%Java_sun_awt_X11GraphicsDevice_isDBESupported;
text: .text%Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
text: .text%Java_sun_awt_X11GraphicsConfig_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_init;
text: .text%getAllConfigs: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_GraphicsEnv.o;
text: .text%Java_sun_awt_motif_MToolkit_init;
text: .text%getDefaultConfig;
text: .text%getScreenData;
text: .text%Java_sun_awt_PlatformFont_initIDs;
text: .text%Java_sun_awt_motif_MFontPeer_initIDs;
text: .text%awt_wm_init;
text: .text%awt_wm_initAtoms: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_getRunningWM;
text: .text%xerror_detect_wm: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_prepareIsIceWM: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isNetSupporting: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_checkAnchor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_getProperty32: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isWinSupporting: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isIceWM: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isEnlightenment: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_getECommsWindowIDProperty: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isSawfish: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isNetWMName: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isKDE2: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_isCDE: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_color_matchTC;
text: .text%setup_modifier_map: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%set_mod_mask: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_initialize_DataTransferer;
text: .text%awt_initialize_Xm_DnD;
text: .text%cacheDropDone: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_XmDnD.o;
text: .text%awt_motif_enableSingleDragInitiator;
text: .text%Java_java_awt_Cursor_initIDs;
text: .text%Java_sun_awt_motif_X11CustomCursor_cacheInit;
text: .text%Java_sun_awt_motif_MToolkit_run;
text: .text%awtJNI_GetCurrentThread;
text: .text%awt_MToolkit_loop: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_pipe_init: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_set_poll_timeout: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_events_pending: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%processOneEvent: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%set_toolkit_busy;
text: .text%waitForEvents;
text: .text%performPoll: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awt_get_poll_timeout: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%awtJNI_CleanupGlobalRefs;
text: .text%Java_java_awt_AWTEvent_initIDs;
text: .text%Java_sun_awt_SunToolkit_wakeupEventQueue;
text: .text%Java_sun_awt_motif_MToolkit_shutdown;
text: .text%X11SD_LibDispose;
text: .text%LibDisposeStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
# Test LoadFrame
text: .text%Java_java_awt_Component_initIDs;
text: .text%Java_java_awt_Container_initIDs;
text: .text%Java_java_awt_Window_initIDs;
text: .text%Java_java_awt_Frame_initIDs;
text: .text%Java_sun_awt_SunToolkit_getPrivateKey;
text: .text%Java_java_awt_MenuComponent_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_pGetBounds;
text: .text%Java_java_awt_Insets_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_initIDs;
text: .text%Java_sun_awt_motif_MWindowAttributes_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_pCreate;
text: .text%awtJNI_CreateAndSetGlobalRef;
text: .text%copyGraphicsConfigToPeer;
text: .text%awt_Frame_guessInsets;
text: .text%awtJNI_ChangeInsets: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%getMotifFontList;
text: .text%getMotifFontStruct;
text: .text%setDeleteCallback: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%ColorProc;
text: .text%awt_canvas_create;
text: .text%awt_util_show;
text: .text%addTopLevel;
text: .text%Java_sun_awt_motif_MWindowPeer_pHide;
text: .text%Java_sun_awt_motif_MComponentPeer_pInitialize;
text: .text%awt_addWidget;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetCursor;
text: .text%getCursor;
text: .text%awt_util_setCursor;
text: .text%Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
text: .text%Java_sun_awt_motif_MWindowPeer_pReshape;
text: .text%reshape: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awtJNI_setMbAndWwHeightAndOffsets: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_wm_configureGravityBuggy;
text: .text%Java_sun_awt_X11SurfaceData_initIDs;
text: .text%Java_sun_awt_motif_MToolkit_loadSystemColors;
text: .text%colorToRGB: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_MToolkit.o;
text: .text%Java_sun_awt_X11GraphicsConfig_makeColorModel;
text: .text%awtJNI_GetColorModel;
text: .text%Java_sun_awt_X11SurfaceData_initOps;
text: .text%Java_sun_awt_motif_MWindowPeer_pSetTitle;
text: .text%Java_sun_awt_motif_MWindowPeer_setResizable;
text: .text%Java_java_awt_Font_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetFont;
text: .text%awt_util_mapChildren;
text: .text%changeFont: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_Component.o;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetBackground;
text: .text%getGraphicsConfigFromComponentPeer;
text: .text%awtJNI_GetColorForVis;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetForeground;
text: .text%Java_sun_awt_motif_MWindowPeer_pShow;
text: .text%Java_sun_awt_motif_MWindowPeer_pShowModal;
text: .text%awt_wm_setExtendedState;
text: .text%awt_wm_doStateProtocolNet: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_doStateProtocolWin: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_setShellDecor;
text: .text%awt_wm_setMotifDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_setOLDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_normalizeMotifDecor: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%awt_wm_removeSizeHints;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
text: .text%getCurComponent;
text: .text%shellEH: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_wm_isStateChange;
text: .text%awt_wm_getWMState;
text: .text%innerCanvasEH: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%reconfigureOuterCanvas: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%outerCanvasResizeCB: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_TopLevel.o;
text: .text%awt_wm_getInsetsFromProp;
text: .text%syncTopLevelPos;
text: .text%raiseInputMethodWindow;
text: .text%awt_canvas_event_handler;
text: .text%awt_canvas_handleEvent;
text: .text%HandleExposeEvent: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%checkForExpose: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%awt_wm_getExtendedState: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_wm.o;
text: .text%expandDamageRect: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/canvas.o;
text: .text%Java_java_awt_KeyboardFocusManager_initIDs;
text: .text%Java_java_awt_event_InputEvent_initIDs;
text: .text%Java_java_awt_event_KeyEvent_initIDs;
text: .text%Java_java_awt_AWTKeyStroke_allocateNewInstance;
text: .text%Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
text: .text%Java_java_awt_Event_initIDs;
# Test LoadJFrame
text: .text%awtJNI_ThreadYield;
text: .text%Java_sun_awt_motif_MToolkit_getScreenWidth;
text: .text%Java_sun_awt_motif_MToolkit_getScreenHeight;
text: .text%X11SD_Lock: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_InitWindow: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%GetLockStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_GetRasInfo: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_Unlock: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%X11SD_InitClip: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
text: .text%XRequestSentStub: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/X11SurfaceData.o;
# Test JHello
text: .text%AWTLoadFont;
text: .text%AWTFontMaxByte1;
text: .text%AWTFontMaxCharOrByte2;
text: .text%AWTFontMaxBounds;
text: .text%AWTCharAscent;
text: .text%AWTCharDescent;
text: .text%AWTCharWidth;
text: .text%AWTFontMinByte1;
text: .text%AWTFontMinCharOrByte2;
text: .text%AWTFontPerChar;
text: .text%AWTCharRBearing;
text: .text%AWTCharLBearing;
text: .text%Java_sun_awt_X11SurfaceData_setInvalid;
# SwingSet
text: .text%Java_sun_awt_motif_MWindowPeer_setSaveUnder;
text: .text%Java_sun_awt_X11SurfaceData_nativeDispose;
text: .text%X11SurfaceData_GetOps;
text: .text%Java_sun_awt_motif_MCanvasPeer_create;
text: .text%awt_util_insertCallback;
text: .text%Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
text: .text%Java_sun_awt_motif_MComponentPeer_pReshape;
text: .text%awt_util_reshape;
text: .text%Java_sun_awt_motif_MComponentPeer_pShow;
text: .text%Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
text: .text%Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
text: .text%register_drop_site;
text: .text%update_drop_site_hierarchy: OUTPUTDIR/tmp/sun/sun.awt/motif12/obj/awt_XmDnD.o;
text: .text%AWTFontDefaultChar;
text: .text%isAncestor;
text: .text%xerror_handler;
text: .text%AWTFontGenerateImage;
text: .text%CreatePixmapAndGC;
data = R0x2000;
text = LOAD ?RXO;
# Test Null
# Test Exit
# Test Hello
# Test Sleep
# Test IntToString
# Test LoadToolkit
text: .text%JNI_OnLoad;
text: .text%awt_util_debug_init;
text: .text%Java_java_awt_Toolkit_initIDs;
text: .text%Java_sun_awt_X11GraphicsEnvironment_initDisplay;
text: .text%awt_init_Display;
text: .text%makeDefaultConfig: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_GraphicsEnv.o;
text: .text%awt_allocate_colors;
text: .text%make_uns_ordered_dither_array;
text: .text%checkFont: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Font.o;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNativeFonts;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getNumScreens;
text: .text%Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum;
text: .text%Java_sun_awt_X11GraphicsDevice_getConfigVisualId;
text: .text%Java_sun_awt_X11GraphicsConfig_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_init;
text: .text%getAllConfigs: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_GraphicsEnv.o;
text: .text%awt_output_flush;
text: .text%awtJNI_TimeMillis: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%Java_sun_awt_motif_MToolkit_init;
text: .text%getDefaultConfig;
text: .text%getScreenData;
text: .text%Java_sun_awt_PlatformFont_initIDs;
text: .text%Java_sun_awt_motif_MFontPeer_initIDs;
text: .text%awt_color_matchTC;
text: .text%setup_modifier_map: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%set_mod_mask: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_initialize_Xm_DnD;
text: .text%Java_java_awt_Cursor_initIDs;
text: .text%Java_sun_awt_motif_X11CustomCursor_cacheInit;
text: .text%Java_java_awt_Dimension_initIDs;
text: .text%Java_sun_awt_motif_MToolkit_run;
text: .text%awtJNI_GetCurrentThread;
text: .text%awt_MToolkit_loop: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_pipe_init: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_set_poll_timeout: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_events_pending: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%processOneEvent: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%waitForEvents: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%performPoll: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_get_poll_timeout: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awtJNI_CleanupGlobalRefs;
# Test LoadFrame
text: .text%Java_java_awt_Component_initIDs;
text: .text%Java_java_awt_Container_initIDs;
text: .text%Java_java_awt_Window_initIDs;
text: .text%Java_java_awt_Frame_initIDs;
text: .text%Java_sun_awt_SunToolkit_getPrivateKey;
text: .text%Java_java_awt_MenuComponent_initIDs;
text: .text%Java_sun_awt_X11GraphicsConfig_pGetBounds;
text: .text%Java_java_awt_Rectangle_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_initIDs;
text: .text%Java_java_awt_Insets_initIDs;
text: .text%Java_sun_awt_motif_MWindowAttributes_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_create;
text: .text%awtJNI_CreateAndSetGlobalRef;
text: .text%copyGraphicsConfigToPeer;
text: .text%awt_Frame_guessInsets;
text: .text%awt_util_runningWindowManager;
text: .text%awt_winmgrerr: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_util.o;
text: .text%awtJNI_ChangeInsets: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%getMotifFontList;
text: .text%getMotifFontStruct;
text: .text%setDeleteCallback: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%ColorProc;
text: .text%awt_canvas_create;
text: .text%awt_util_show;
text: .text%addTopLevel;
text: .text%Java_sun_awt_motif_MWindowPeer_pHide;
text: .text%Java_sun_awt_motif_MComponentPeer_pInitialize;
text: .text%awt_addWidget;
text: .text%Java_sun_awt_motif_MComponentPeer_setCursor;
text: .text%getCursor;
text: .text%awt_util_setCursor;
text: .text%Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
text: .text%Java_sun_awt_motif_MWindowPeer_pReshape;
text: .text%reshape: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%awtJNI_setMbAndWwHeightAndOffsets: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%awt_util_wmPositionsShellXY;
text: .text%Java_sun_awt_motif_MWindowPeer_pSetTitle;
text: .text%Java_sun_awt_motif_MWindowPeer_setResizable;
text: .text%Java_java_awt_Font_initIDs;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetFont;
text: .text%awt_util_mapChildren;
text: .text%changeFont: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Component.o;
text: .text%Java_java_awt_Color_initIDs;
text: .text%Java_sun_awt_motif_MToolkit_loadSystemColors;
text: .text%colorToRGB: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetBackground;
text: .text%getGraphicsConfigFromComponentPeer;
text: .text%awtJNI_GetColorForVis;
text: .text%Java_sun_awt_motif_MComponentPeer_pSetForeground;
text: .text%Java_sun_awt_motif_MWindowPeer_pShow;
text: .text%Java_sun_awt_motif_MWindowPeer_pShowModal;
text: .text%setStateHints: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%awt_util_setMinMaxSizeProps;
text: .text%innerCanvasEH: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%reconfigureOuterCanvas: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%Java_java_awt_AWTEvent_initIDs;
text: .text%outerCanvasResizeCB: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
text: .text%shellEH: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
text: .text%getCurComponent;
text: .text%get_awt_TopLevelInsetsProp;
text: .text%syncTopLevelPos;
text: .text%Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
text: .text%raiseInputMethodWindow;
text: .text%getWindowState: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
text: .text%awt_canvas_event_handler;
text: .text%awt_canvas_handleEvent;
text: .text%HandleExposeEvent: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/canvas.o;
text: .text%checkForExpose: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/canvas.o;
text: .text%Java_java_awt_Event_initIDs;
text: .text%Java_java_awt_image_ColorModel_initIDs;
text: .text%Java_sun_awt_motif_X11Graphics_cacheInit;
text: .text%InitMITShm: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Graphics.o;
text: .text%Java_sun_java2d_loops_RasterOutputManager_getPlatformFontVar;
text: .text%Java_sun_awt_motif_X11Graphics_createFromComponent;
text: .text%Java_sun_awt_motif_X11Graphics_pSetForeground;
text: .text%awt_init_gc;
text: .text%Java_sun_awt_motif_X11Graphics_pSetFont;
text: .text%awtJNI_GetFontData;
text: .text%awtJNI_IsMultiFont;
text: .text%Java_sun_awt_FontDescriptor_initIDs;
text: .text%loadFont;
text: .text%Java_sun_awt_motif_X11Graphics_setOrigin;
text: .text%Java_sun_awt_motif_X11Graphics_setLineAttrs;
text: .text%Java_sun_awt_motif_X11Graphics_changeClip;
text: .text%Java_sun_awt_motif_X11Graphics_devClearRect;
text: .text%Java_sun_awt_motif_X11Graphics_disposeImpl;
# Test LoadJFrame
text: .text%Java_java_awt_event_InputEvent_initIDs;
text: .text%Java_java_awt_event_KeyEvent_initIDs;
text: .text%expandDamageRect: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/canvas.o;
text: .text%awtJNI_ThreadYield;
text: .text%Java_sun_awt_motif_X11Graphics_createFromGraphics;
text: .text%Java_sun_awt_motif_MToolkit_getScreenWidth;
text: .text%Java_sun_awt_motif_MToolkit_getScreenHeight;
text: .text%Java_sun_awt_X11GraphicsConfig_makeColorModel;
text: .text%awtJNI_GetColorModel;
text: .text%Java_java_awt_image_BufferedImage_initIDs;
text: .text%Java_java_awt_image_Raster_initIDs;
text: .text%Java_java_awt_image_SampleModel_initIDs;
text: .text%Java_java_awt_image_SinglePixelPackedSampleModel_initIDs;
text: .text%Java_sun_awt_image_IntegerComponentRaster_initIDs;
text: .text%Java_sun_java2d_loops_ImageData_initIDs;
text: .text%Java_sun_java2d_loops_IntDiscreteRenderer_devSetRect;
text: .text%Java_sun_awt_motif_X11Graphics_X11LockViewResources;
text: .text%X11DeferredLockViewResources: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Graphics.o;
text: .text%getLockMethod: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Graphics.o;
text: .text%DGA_DeferredLockViewResources;
text: .text%setLockMethod: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Graphics.o;
text: .text%getPrimitiveType: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_Graphics.o;
text: .text%Java_sun_awt_motif_X11Graphics_X11UnLockViewResources;
text: .text%DGA_UnlockViewResources;
text: .text%Java_sun_java2d_loops_DefaultComponent_IntIsomorphicCopy;
text: .text%minImageWidths;
text: .text%minImageRows;
text: .text%getIntImageLockInfo;
text: .text%lockIntImageData;
text: .text%unlockIntImageData;
# Test JHello
text: .text%Java_java_awt_FontMetrics_initIDs;
# SwingSet
text: .text%Java_sun_awt_image_Image_initIDs;
text: .text%Java_sun_awt_image_ImageRepresentation_initIDs;
text: .text%Java_java_awt_image_IndexColorModel_initIDs;
text: .text%Java_sun_awt_motif_MWindowPeer_setSaveUnder;
text: .text%Java_java_awt_AWTEvent_freeNativeData;
text: .text%Java_sun_java2d_loops_DefaultComponent_IntRgbToXbgr;
text: .text%Java_sun_awt_motif_MCanvasPeer_create;
text: .text%awt_util_insertCallback;
text: .text%Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
text: .text%Java_sun_awt_motif_MComponentPeer_pReshape;
text: .text%awt_util_reshape;
text: .text%Java_sun_awt_motif_MComponentPeer_pShow;
text: .text%Java_sun_java2d_loops_IntDiscreteRenderer_devDrawLine;
text: .text%doDrawLine: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/IntDiscreteRenderer.o;
text: .text%adjustLine: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/IntDiscreteRenderer.o;
text: .text%Java_sun_awt_image_GifImageDecoder_initIDs;
text: .text%Java_java_awt_image_ComponentSampleModel_initIDs;
text: .text%Java_sun_awt_image_ByteComponentRaster_initIDs;
text: .text%Java_sun_awt_image_GifImageDecoder_parseImage;
text: .text%Java_sun_awt_image_ImageRepresentation_setBytePixels;
text: .text%Java_sun_java2d_loops_IntDiscreteRenderer_devDrawRect;
text: .text%outcode: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/IntDiscreteRenderer.o;
text: .text%Java_sun_java2d_loops_ImageData_isAllOpaqueGrayICM;
text: .text%Java_sun_java2d_loops_GIFAcceleratorLoops_LUTcopyTo32BitXBgr;
text: .text%getByteIndexedImageLockInfo;
text: .text%lockByteIndexedImageData;
text: .text%unlockByteIndexedImageData;
text: .text%Java_sun_java2d_loops_GIFAcceleratorLoops_LUTxparTo32BitXBgr;
text: .text%shouldDispatchToWidget: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awtMenuIsActive;
text: .text%awt_util_focusIsOnMenu;
text: .text%awt_isModal;
text: .text%findWidgetInfo: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%awt_copyXEvent;
text: .text%awt_post_java_mouse_event;
text: .text%Java_java_awt_event_MouseEvent_initIDs;
text: .text%sysTimeMillis;
text: .text%updateCursor;
text: .text%awt_setActivatedShell;
text: .text%handleFocusEvent;
text: .text%awt_post_java_focus_event;
text: .text%getModifiers;
text: .text%Java_java_awt_AWTEvent_copyDataFieldInto;
text: .text%Java_sun_awt_motif_X11InputMethod_initIDs;
text: .text%Java_sun_awt_motif_X11InputMethod_openXIM;
text: .text%awt_put_back_event;
text: .text%awt_get_next_put_back_event: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%null_event_handler: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_MToolkit.o;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_getCursorPos;
text: .text%Java_sun_awt_motif_MGlobalCursorManager_findComponentAt;
text: .text%Java_sun_awt_motif_MWindowPeer_hasTextComponents;
text: .text%Java_sun_awt_motif_X11InputMethod_createXICNative;
text: .text%findClass: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_InputMethod.o;
text: .text%createXIC: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_InputMethod.o;
text: .text%Java_sun_awt_motif_X11InputMethod_setXICFocus;
text: .text%setXICWindowFocus: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_InputMethod.o;
text: .text%setXICFocus: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_InputMethod.o;
text: .text%getAncestorShell;
text: .text%Java_sun_awt_motif_X11InputMethod_turnoffStatusWindow;
text: .text%Frame_quit: ../../../build/solaris-sparcv9/tmp/sun/sun.awt/motif12/obj64/awt_TopLevel.o;
......@@ -256,8 +256,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XToolkit_waitForEvents;
Java_java_awt_Event_initIDs;
Java_sun_awt_motif_X11FontMetrics_initIDs;
Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11_XWindow_x11inputMethodLookupString;
Java_sun_awt_X11_XWindow_haveCurrentX11InputMethodInstance;
Java_java_awt_AWTEvent_nativeSetSource;
......@@ -265,7 +263,6 @@ SUNWprivate_1.1 {
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_FontDescriptor_initIDs;
Java_sun_awt_X11_XFontPeer_initIDs;
Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
Java_sun_awt_X11InputMethod_initIDs;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_disposeXIC;
......
......@@ -29,10 +29,8 @@ import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelEvent;
import java.awt.event.AdjustmentEvent;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import sun.awt.motif.X11FontMetrics;
import sun.util.logging.PlatformLogger;
// FIXME: implement multi-select
......
......@@ -35,7 +35,6 @@ import java.awt.image.ImageProducer;
import java.awt.image.VolatileImage;
import java.awt.peer.*;
import sun.awt.*;
import sun.awt.motif.X11FontMetrics;
import java.lang.reflect.*;
import sun.util.logging.PlatformLogger;
import java.util.*;
......
......@@ -34,8 +34,6 @@ import java.awt.image.VolatileImage;
import java.awt.peer.*;
import sun.java2d.pipe.Region;
import sun.awt.*;
import sun.awt.motif.MToolkit;
import sun.awt.motif.X11FontMetrics;
public class XEmbedChildProxyPeer implements ComponentPeer, XEventDispatcher{
XEmbeddingContainer container;
......
/*
* Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.motif;
final class AWTLockAccess {
static native void awtLock();
static native void awtUnlock();
static void awtWait() { awtWait(0); }
static native void awtWait(long timeout);
static native void awtNotifyAll();
}
......@@ -25,26 +25,19 @@
package sun.awt.motif;
import java.awt.Font;
import java.io.BufferedReader;
import sun.awt.FontConfiguration;
import sun.awt.X11FontManager;
import sun.font.FontUtilities;
import sun.font.SunFontManager;
import sun.util.logging.PlatformLogger;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Locale;
import java.util.Properties;
import java.util.Scanner;
import sun.awt.FontConfiguration;
import sun.awt.X11FontManager;
import sun.awt.X11GraphicsEnvironment;
import sun.font.FontManager;
import sun.font.SunFontManager;
import sun.font.FontManagerFactory;
import sun.font.FontUtilities;
import sun.java2d.SunGraphicsEnvironment;
import sun.util.logging.PlatformLogger;
public class MFontConfiguration extends FontConfiguration {
......@@ -258,47 +251,6 @@ public class MFontConfiguration extends FontConfiguration {
return Charset.forName("ISO8859_1");
}
/* methods for Motif support *********************************************/
private String[][] motifFontSets = new String[NUM_FONTS][NUM_STYLES];
public String getMotifFontSet(String fontName, int style) {
assert isLogicalFontFamilyName(fontName);
fontName = fontName.toLowerCase(Locale.ENGLISH);
int fontIndex = getFontIndex(fontName);
int styleIndex = getStyleIndex(style);
return getMotifFontSet(fontIndex, styleIndex);
}
private String getMotifFontSet(int fontIndex, int styleIndex) {
String fontSet = motifFontSets[fontIndex][styleIndex];
if (fontSet == null) {
fontSet = buildMotifFontSet(fontIndex, styleIndex);
motifFontSets[fontIndex][styleIndex] = fontSet;
}
return fontSet;
}
private String buildMotifFontSet(int fontIndex, int styleIndex) {
StringBuilder buffer = new StringBuilder();
short[] scripts = getCoreScripts(fontIndex);
for (int i = 0; i < scripts.length; i++) {
short nameID = getComponentFontIDMotif(scripts[i], fontIndex, styleIndex);
if (nameID == 0) {
nameID = getComponentFontID(scripts[i], fontIndex, styleIndex);
}
String name = getComponentFontName(nameID);
if (name == null || name.endsWith("fontspecific")) {
continue;
}
if (buffer.length() > 0) {
buffer.append(',');
}
buffer.append(name);
}
return buffer.toString();
}
protected String getFaceNameFromComponentFontName(String componentFontName) {
return null;
}
......@@ -315,36 +267,6 @@ public class MFontConfiguration extends FontConfiguration {
return ((X11FontManager) fontManager).getFileNameFromXLFD(componentFontName);
}
/**
* Get default font for Motif widgets to use, preventing them from
* wasting time accessing inappropriate X resources. This is called
* only from native code.
*
* This is part of a Motif specific performance enhancement. By
* default, when Motif widgets are created and initialized, Motif will
* set up default fonts for the widgets, which we ALWAYS override.
* This set up includes finding the default font in the widget's X
* resources and fairly expensive requests of the X server to identify
* the specific font or fontset. We avoid all of this overhead by
* providing a well known font to use at the creation of widgets, where
* possible.
*
* The X11 fonts are specified by XLFD strings which have %d as a
* marker to indicate where the fontsize should be substituted. [The
* libc function sprintf() is used to replace it.] The value 140
* specifies a font size of 14 points.
*/
private static String getDefaultMotifFontSet() {
String font = ((MFontConfiguration) getFontConfiguration()).getMotifFontSet("sansserif", Font.PLAIN);
if (font != null) {
int i;
while ((i = font.indexOf("%d")) >= 0) {
font = font.substring(0, i) + "140" + font.substring(i+2);
}
}
return font;
}
public HashSet<String> getAWTFontPathSet() {
HashSet<String> fontDirs = new HashSet<String>();
short[] scripts = getCoreScripts(0);
......
/*
* Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.motif;
import java.awt.GraphicsEnvironment;
import sun.awt.PlatformFont;
public class MFontPeer extends PlatformFont {
/*
* XLFD name for XFontSet.
*/
private String xfsname;
/*
* converter name for this XFontSet encoding.
*/
private String converter;
static {
if (!GraphicsEnvironment.isHeadless()) {
initIDs();
}
}
/**
* Initialize JNI field and method IDs for fields that may be
accessed from C.
*/
private static native void initIDs();
public MFontPeer(String name, int style){
super(name, style);
if (fontConfig != null) {
xfsname = ((MFontConfiguration) fontConfig).getMotifFontSet(familyName, style);
}
}
protected char getMissingGlyphCharacter() {
return '\u274F';
}
}
/*
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.motif;
import sun.awt.datatransfer.ToolkitThreadBlockedHandler;
import sun.awt.SunToolkit;
final class MToolkitThreadBlockedHandler implements
ToolkitThreadBlockedHandler {
private static ToolkitThreadBlockedHandler priveleged_lock = null;
static {
priveleged_lock = new MToolkitThreadBlockedHandler();
}
private MToolkitThreadBlockedHandler() {}
static ToolkitThreadBlockedHandler getToolkitThreadBlockedHandler() {
return priveleged_lock;
}
public void lock() {
SunToolkit.awtLock();
}
public void unlock() {
SunToolkit.awtUnlock();
}
public native void enter();
public native void exit();
}
/*
* Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.motif;
import java.awt.Image;
class MWindowAttributes {
static int NORMAL = 0;
static int ICONIC = 1;
static int MAXIMIZED = 2;
static int AWT_DECOR_NONE = 0;
static int AWT_DECOR_ALL = 1;
static int AWT_DECOR_BORDER = 2;
static int AWT_DECOR_RESIZEH = 4;
static int AWT_DECOR_TITLE = 8;
static int AWT_DECOR_MENU = 0x10;
static int AWT_DECOR_MINIMIZE = 0x20;
static int AWT_DECOR_MAXIMIZE = 0x40;
static int AWT_UNOBSCURED = 0; // X11 VisibilityUnobscured
static int AWT_PARTIALLY_OBSCURED = 1; // X11 VisibilityPartiallyObscured
static int AWT_FULLY_OBSCURED = 2; // X11 VisibilityFullyObscured
static int AWT_UNKNOWN_OBSCURITY = 3;
boolean nativeDecor;
boolean initialFocus;
boolean isResizable;
int initialState;
int visibilityState; // updated by native X11 event handling code.
String title;
java.awt.Image icon;
int decorations; // for future expansion to be able to
// specify native decorations
private static native void initIDs();
static {
initIDs();
}
MWindowAttributes() {
nativeDecor = false;
initialFocus = false;
isResizable = false;
initialState = NORMAL;
visibilityState = AWT_UNKNOWN_OBSCURITY;
title = null;
icon = null;
decorations = 0;
}
}
/*
* Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.motif;
import java.awt.*;
import java.util.Hashtable;
import sun.awt.PlatformFont;
/**
* A font metrics object for a WServer font.
*
* @author Jim Graham
*/
public class X11FontMetrics extends FontMetrics {
/**
* The widths of the first 256 characters.
*/
int widths[];
/**
* The standard ascent of the font. This is the logical height
* above the baseline for the Alphanumeric characters and should
* be used for determining line spacing. Note, however, that some
* characters in the font may extend above this height.
*/
int ascent;
/**
* The standard descent of the font. This is the logical height
* below the baseline for the Alphanumeric characters and should
* be used for determining line spacing. Note, however, that some
* characters in the font may extend below this height.
*/
int descent;
/**
* The standard leading for the font. This is the logical amount
* of space to be reserved between the descent of one line of text
* and the ascent of the next line. The height metric is calculated
* to include this extra space.
*/
int leading;
/**
* The standard height of a line of text in this font. This is
* the distance between the baseline of adjacent lines of text.
* It is the sum of the ascent+descent+leading. There is no
* guarantee that lines of text spaced at this distance will be
* disjoint; such lines may overlap if some characters overshoot
* the standard ascent and descent metrics.
*/
int height;
/**
* The maximum ascent for all characters in this font. No character
* will extend further above the baseline than this metric.
*/
int maxAscent;
/**
* The maximum descent for all characters in this font. No character
* will descend further below the baseline than this metric.
*/
int maxDescent;
/**
* The maximum possible height of a line of text in this font.
* Adjacent lines of text spaced this distance apart will be
* guaranteed not to overlap. Note, however, that many paragraphs
* that contain ordinary alphanumeric text may look too widely
* spaced if this metric is used to determine line spacing. The
* height field should be preferred unless the text in a given
* line contains particularly tall characters.
*/
int maxHeight;
/**
* The maximum advance width of any character in this font.
*/
int maxAdvance;
static {
initIDs();
}
/**
* Initialize JNI field and method IDs for fields that may be
accessed from C.
*/
private static native void initIDs();
/**
* Calculate the metrics from the given WServer and font.
*/
public X11FontMetrics(Font font) {
super(font);
init();
}
/**
* Get leading
*/
public int getLeading() {
return leading;
}
/**
* Get ascent.
*/
public int getAscent() {
return ascent;
}
/**
* Get descent
*/
public int getDescent() {
return descent;
}
/**
* Get height
*/
public int getHeight() {
return height;
}
/**
* Get maxAscent
*/
public int getMaxAscent() {
return maxAscent;
}
/**
* Get maxDescent
*/
public int getMaxDescent() {
return maxDescent;
}
/**
* Get maxAdvance
*/
public int getMaxAdvance() {
return maxAdvance;
}
/**
* Return the width of the specified string in this Font.
*/
public int stringWidth(String string) {
return charsWidth(string.toCharArray(), 0, string.length());
}
/**
* Return the width of the specified char[] in this Font.
*/
public int charsWidth(char chars[], int offset, int length) {
Font font = getFont();
PlatformFont pf = ((PlatformFont) font.getPeer());
if (pf.mightHaveMultiFontMetrics()) {
return getMFCharsWidth(chars, offset, length, font);
} else {
if (widths != null) {
int w = 0;
for (int i = offset; i < offset + length; i++) {
int ch = chars[i];
if (ch < 0 || ch >= widths.length) {
w += maxAdvance;
} else {
w += widths[ch];
}
}
return w;
} else {
return maxAdvance * length;
}
}
}
private native int getMFCharsWidth(char chars[], int offset, int length, Font font);
/**
* Return the width of the specified byte[] in this Font.
*/
public native int bytesWidth(byte data[], int off, int len);
/**
* Get the widths of the first 256 characters in the font.
*/
public int[] getWidths() {
return widths;
}
native void init();
static Hashtable table = new Hashtable();
static synchronized FontMetrics getFontMetrics(Font font) {
FontMetrics fm = (FontMetrics)table.get(font);
if (fm == null) {
table.put(font, fm = new X11FontMetrics(font));
}
return fm;
}
}
/*
* Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifdef HEADLESS
#error This file should not be included in headless library
#endif
#include "awt_p.h"
#include "awt_Component.h"
#include <jni.h>
#include <jni_util.h>
extern int awt_numScreens;
extern AwtScreenDataPtr x11Screens;
extern struct ComponentIDs componentIDs;
extern struct MComponentPeerIDs mComponentPeerIDs;
/*
* Class: sun_awt_DefaultMouseInfoPeer
* Method: fillPointWithCoords
* Signature: (Ljava/awt/Point)I
*/
JNIEXPORT jint JNICALL
Java_sun_awt_DefaultMouseInfoPeer_fillPointWithCoords(JNIEnv *env, jclass cls,
jobject point)
{
static jclass pointClass = NULL;
jclass pointClassLocal;
static jfieldID xID, yID;
Window rootWindow, childWindow;
int i;
int32_t xr, yr, xw, yw;
uint32_t keys;
Bool pointerFound;
AWT_LOCK();
if (pointClass == NULL) {
pointClassLocal = (*env)->FindClass(env, "java/awt/Point");
DASSERT(pointClassLocal != NULL);
if (pointClassLocal == NULL) {
AWT_UNLOCK();
return (jint)0;
}
pointClass = (jclass)(*env)->NewGlobalRef(env, pointClassLocal);
(*env)->DeleteLocalRef(env, pointClassLocal);
xID = (*env)->GetFieldID(env, pointClass, "x", "I");
yID = (*env)->GetFieldID(env, pointClass, "y", "I");
}
for (i = 0; i < awt_numScreens; i++) {
pointerFound = XQueryPointer(awt_display, x11Screens[i].root,
&rootWindow, &childWindow,
&xr, &yr, &xw, &yw, &keys);
if (pointerFound) {
(*env)->SetIntField(env, point, xID, xr);
(*env)->SetIntField(env, point, yID, yr);
AWT_UNLOCK();
return (jint)i;
}
}
/* This should never happen */
DASSERT(FALSE);
AWT_UNLOCK();
return (jint)0;
}
/*
* Class: sun_awt_DefaultMouseInfoPeer
* Method: isWindowUnderMouse
* Signature: (Ljava/awt/Window)Z
*/
JNIEXPORT jboolean JNICALL Java_sun_awt_DefaultMouseInfoPeer_isWindowUnderMouse
(JNIEnv * env, jclass cls, jobject window)
{
Window rootWindow = None, parentWindow = None, siblingWindow = None;
Window * children = NULL;
int i = 0;
int is_the_same_screen = 0;
int32_t xr = 0, yr = 0, xw = 0, yw = 0;
uint32_t keys = 0;
uint32_t nchildren = 0;
Bool pointerFound = 0;
struct FrameData *wdata = NULL;
jobject winPeer = NULL;
if ((*env)->EnsureLocalCapacity(env, 1) < 0) {
return JNI_FALSE;
}
winPeer = (*env)->GetObjectField(env, window, componentIDs.peer);
if (JNU_IsNull(env, winPeer)) {
return JNI_FALSE;
}
wdata = (struct FrameData *)
JNU_GetLongFieldAsPtr(env, winPeer, mComponentPeerIDs.pData);
(*env)->DeleteLocalRef(env, winPeer);
if (wdata == NULL) {
return JNI_FALSE;
}
AWT_LOCK();
XQueryTree(awt_display, XtWindow(wdata->winData.comp.widget),
&rootWindow, &parentWindow, &children, &nchildren);
is_the_same_screen = XQueryPointer(awt_display, parentWindow,
&rootWindow, &siblingWindow, &xr, &yr, &xw, &yw, &keys);
if (siblingWindow == XtWindow(wdata->winData.comp.widget) && is_the_same_screen) {
AWT_UNLOCK();
return JNI_TRUE;
}
AWT_UNLOCK();
return JNI_FALSE ;
}
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
*/
#include <X11/IntrinsicP.h>
#include "XDrawingAreaP.h"
#include <Xm/XmP.h>
#include <stdio.h>
#include <malloc.h>
#ifdef DEBUG
#include <jvm.h> /* To get jio_fprintf() */
#endif
/******************************************************************
*
* Provides Canvas widget which allows the X11 visual to be
* changed (the Motif DrawingArea restricts the visual to that
* of the parent widget).
*
******************************************************************/
static XmNavigability WidgetNavigable();
static void ClassInitialize();
static XmBaseClassExtRec baseClassExtRec = {
NULL,
NULLQUARK,
XmBaseClassExtVersion,
sizeof(XmBaseClassExtRec),
NULL, /* InitializePrehook */
NULL, /* SetValuesPrehook */
NULL, /* InitializePosthook */
NULL, /* SetValuesPosthook */
NULL, /* secondaryObjectClass */
NULL, /* secondaryCreate */
NULL, /* getSecRes data */
{ 0 }, /* fastSubclass flags */
NULL, /* getValuesPrehook */
NULL, /* getValuesPosthook */
NULL, /* classPartInitPrehook */
NULL, /* classPartInitPosthook*/
NULL, /* ext_resources */
NULL, /* compiled_ext_resources*/
0, /* num_ext_resources */
FALSE, /* use_sub_resources */
WidgetNavigable, /* widgetNavigable */
NULL /* focusChange */
};
XDrawingAreaClassRec xDrawingAreaClassRec = {
{
/* Core class part */
/* superclass */ (WidgetClass)&xmDrawingAreaClassRec,
/* class_name */ "XDrawingArea",
/* widget_size */ sizeof(XDrawingAreaRec),
/* class_initialize */ ClassInitialize,
/* class_part_initialize*/ NULL,
/* class_inited */ FALSE,
/* initialize */ NULL,
/* initialize_hook */ NULL,
/* realize */ XtInheritRealize,
/* actions */ NULL,
/* num_actions */ 0,
/* resources */ NULL,
/* num_resources */ 0,
/* xrm_class */ NULLQUARK,
/* compress_motion */ FALSE,
/* compress_exposure */ FALSE,
/* compress_enterleave*/ FALSE,
/* visible_interest */ FALSE,
/* destroy */ NULL,
/* resize */ XtInheritResize,
/* expose */ XtInheritExpose,
/* set_values */ NULL,
/* set_values_hook */ NULL,
/* set_values_almost */ XtInheritSetValuesAlmost,
/* get_values_hook */ NULL,
/* accept_focus */ NULL,
/* version */ XtVersion,
/* callback_offsets */ NULL,
/* tm_table */ NULL,
/* query_geometry */ NULL,
/* display_accelerator */ NULL,
/* extension */ (XtPointer)&baseClassExtRec
},
{ /* composite_class fields */
XtInheritGeometryManager, /* geometry_manager */
XtInheritChangeManaged, /* change_managed */
XtInheritInsertChild, /* insert_child */
XtInheritDeleteChild, /* delete_child */
NULL, /* extension */
},
{ /* constraint_class fields */
NULL, /* resource list */
0, /* num resources */
0, /* constraint size */
NULL, /* init proc */
NULL, /* destroy proc */
NULL, /* set values proc */
NULL, /* extension */
},
{ /* manager_class fields */
XtInheritTranslations, /* translations */
NULL, /* syn_resources */
0, /* num_get_resources */
NULL, /* syn_cont_resources */
0, /* num_get_cont_resources */
XmInheritParentProcess, /* parent_process */
NULL, /* extension */
},
{ /* drawingArea class */
/* extension */ NULL
},
/* XDrawingArea class part */
{
/* extension */ NULL
}
};
WidgetClass xDrawingAreaClass = (WidgetClass)&xDrawingAreaClassRec;
static void ClassInitialize( void )
{
baseClassExtRec.record_type = XmQmotif ;
}
static XmNavigability WidgetNavigable(Widget wid)
{
return XmCONTROL_NAVIGABLE;
}
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
*/
#ifndef _XDrawingArea_h_
#define _XDrawingArea_h_
extern WidgetClass xDrawingAreaClass;
typedef struct _XDrawingAreaClassRec *XDrawingAreaWidgetClass;
typedef struct _XDrawingAreaRec *XDrawingAreaWidget;
#endif /* !_VDrawingArea_h_ */
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
*/
#ifndef _XDrawingAreaP_h_
#define _XDrawingAreaP_h_
#include <Xm/DrawingAP.h>
#include "XDrawingArea.h"
/***************************************************************
* VDrawingArea Widget Data Structures
*
*
**************************************************************/
/* Define part class structure */
typedef struct _XDrawingAreaClass {
XtPointer extension;
} XDrawingAreaClassPart;
/* Define the full class record */
typedef struct _XDrawingAreaClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmDrawingAreaClassPart drawing_area_class;
XDrawingAreaClassPart xdrawingarea_class;
} XDrawingAreaClassRec;
/* External definition for class record */
extern XDrawingAreaClassRec xDrawingAreaClassRec;
/****************************************************************
*
* Full instance record declaration
*
****************************************************************/
typedef struct _XDrawingAreaRec
{
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmDrawingAreaPart drawing_area;
} XDrawingAreaRec;
#endif /* !_VDrawingAreaP_h_ */
......@@ -90,74 +90,12 @@ extern void awt_output_flush();
* Unfortunately AWT_LOCK debugging does not work with XAWT due to mixed
* Java/C use of AWT lock.
*/
#if defined(DEBUG_AWT_LOCK) && !defined(XAWT)
extern int awt_locked;
extern char *lastF;
extern int lastL;
#define AWT_LOCK() do { \
if (!awtLockInited) { \
jio_fprintf(stderr, "AWT lock error, awt_lock is null\n"); \
} \
if (awt_locked < 0) { \
jio_fprintf(stderr, \
"AWT lock error (%s,%d) (last held by %s,%d) %d\n", \
__FILE__, __LINE__, lastF, lastL, awt_locked); \
} \
lastF = __FILE__; \
lastL = __LINE__; \
AWT_LOCK_IMPL(); \
++awt_locked; \
} while (0)
#define AWT_NOFLUSH_UNLOCK() do { \
lastF = ""; \
lastL = -1; \
if (awt_locked < 1) { \
jio_fprintf(stderr, "AWT unlock error (%s,%d,%d)\n", \
__FILE__, __LINE__, awt_locked); \
} \
--awt_locked; \
AWT_NOFLUSH_UNLOCK_IMPL(); \
} while (0)
#define AWT_WAIT(tm) do { \
int old_lockcount = awt_locked; \
if (awt_locked < 1) { \
jio_fprintf(stderr, "AWT wait error (%s,%d,%d)\n", \
__FILE__, __LINE__, awt_locked); \
} \
awt_locked = 0; \
AWT_WAIT_IMPL(tm); \
awt_locked = old_lockcount; \
} while (0)
#define AWT_NOTIFY() do { \
if (awt_locked < 1) { \
jio_fprintf(stderr, "AWT notify error (%s,%d,%d)\n", \
__FILE__, __LINE__, awt_locked); \
} \
AWT_NOTIFY_IMPL(); \
} while(0)
#define AWT_NOTIFY_ALL() do { \
if (awt_locked < 1) { \
jio_fprintf(stderr, "AWT notify all error (%s,%d,%d)\n", \
__FILE__, __LINE__, awt_locked); \
} \
AWT_NOTIFY_ALL_IMPL(); \
} while (0)
#else
#define AWT_LOCK() AWT_LOCK_IMPL()
#define AWT_NOFLUSH_UNLOCK() AWT_NOFLUSH_UNLOCK_IMPL()
#define AWT_WAIT(tm) AWT_WAIT_IMPL(tm)
#define AWT_NOTIFY() AWT_NOTIFY_IMPL()
#define AWT_NOTIFY_ALL() AWT_NOTIFY_ALL_IMPL()
#endif /* DEBUG_AWT_LOCK && !XAWT */
#ifndef HEADLESS
extern Display *awt_display; /* awt_GraphicsEnv.c */
extern Boolean awt_ModLockIsShiftLock; /* XToolkit.c */
......
......@@ -40,14 +40,11 @@
#include "java_awt_event_KeyEvent.h"
#include "jni_util.h"
#include "canvas.h"
#include "awt_AWTEvent.h"
#include "awt_Component.h"
struct AWTEventIDs awtEventIDs;
struct InputEventIDs inputEventIDs;
struct KeyEventIDs keyEventIDs;
struct MComponentPeerIDs mComponentPeerIDs;
JNIEXPORT void JNICALL
Java_java_awt_AWTEvent_initIDs(JNIEnv *env, jclass cls)
......@@ -69,61 +66,10 @@ Java_java_awt_event_KeyEvent_initIDs(JNIEnv *env, jclass cls)
keyEventIDs.keyCode = (*env)->GetFieldID(env, cls, "keyCode", "I");
keyEventIDs.keyChar = (*env)->GetFieldID(env, cls, "keyChar", "C");
}
#ifndef XAWT
JNIEXPORT void JNICALL
Java_java_awt_AWTEvent_nativeSetSource(JNIEnv *env, jobject self,
jobject newSource)
{
jbyteArray bdata;
AWT_LOCK();
bdata = (jbyteArray)(*env)->GetObjectField(env, self, awtEventIDs.bdata);
if (bdata != NULL) {
XEvent *xev;
Window w;
jboolean dummy;
/* get the widget out of the peer newSource */
struct ComponentData *cdata = (struct ComponentData *)
JNU_GetLongFieldAsPtr(env, newSource, mComponentPeerIDs.pData);
if (JNU_IsNull(env, cdata) || (cdata == NULL) ||
((cdata->widget != NULL) && (XtIsObject(cdata->widget)) &&
(cdata->widget->core.being_destroyed))) {
JNU_ThrowNullPointerException(env, "null widget");
AWT_UNLOCK();
return;
}
/* get the Window out of the widget */
w = XtWindow(cdata->widget);
if (w == None) {
JNU_ThrowNullPointerException(env, "null window");
AWT_UNLOCK();
return;
}
/* reset the filed in the event */
xev = (XEvent *)(*env)->GetPrimitiveArrayCritical(env, bdata, &dummy);
if (xev == NULL) {
JNU_ThrowNullPointerException(env, "null data");
AWT_UNLOCK();
return;
}
xev->xany.window = w;
(*env)->ReleasePrimitiveArrayCritical(env, bdata, (void *)xev, 0);
}
AWT_UNLOCK();
}
#else
JNIEXPORT void JNICALL
Java_java_awt_AWTEvent_nativeSetSource(JNIEnv *env, jobject self,
jobject newSource)
{
}
#endif
......@@ -42,25 +42,3 @@ struct ComponentIDs {
jmethodID getParent;
jmethodID getLocationOnScreen;
};
/* field and method IDs for Container */
struct ContainerIDs {
jfieldID layoutMgr;
jmethodID getComponents;
jmethodID findComponentAt;
};
/* fieldIDs for MComponentPeer fields that may be accessed from C */
struct MComponentPeerIDs {
jfieldID pData;
jfieldID target;
jfieldID jniGlobalRef;
jfieldID graphicsConfig;
jfieldID drawState;
jmethodID isFocusableMID;
};
#ifndef HEADLESS
extern void processTree(Widget from, Widget to, Boolean action);
#endif // HEADLESS
/*
* Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "jni_util.h"
#include "awt_p.h"
#define CACHE_UPDATE 0 /* cache the component and update cursor */
#define UPDATE_ONLY 1 /* update cursor, but not cache component */
#define CACHE_ONLY 2 /* cache the component, no cursor update */
/* fieldIDs for Cursor fields that may be accessed from C */
struct CursorIDs {
jfieldID type;
jmethodID mSetPData;
jfieldID pData;
};
#ifndef HEADLESS
Cursor getCursor(JNIEnv *env, jobject jCur);
void updateCursor(XPointer client_data, int32_t replace);
#endif /* !HEADLESS */
......@@ -29,30 +29,21 @@
#include "awt_p.h"
#include "java_awt_Component.h"
//#include "sun_awt_motif_MComponentPeer.h"
#include "awt_Component.h"
#include <jni.h>
#include <jni_util.h>
#include <jawt_md.h>
extern struct MComponentPeerIDs mComponentPeerIDs;
extern struct ComponentIDs componentIDs;
#ifndef XAWT
extern AwtGraphicsConfigDataPtr
getGraphicsConfigFromComponentPeer(JNIEnv *env, jobject this);
#endif
#ifdef XAWT
#include "awt_GraphicsEnv.h"
extern jfieldID windowID;
extern jfieldID targetID;
extern jfieldID graphicsConfigID;
extern jfieldID drawStateID;
extern struct X11GraphicsConfigIDs x11GraphicsConfigIDs;
#endif
/*
* Lock the surface of the target component for native rendering.
......@@ -109,13 +100,8 @@ JNIEXPORT jint JNICALL awt_DrawingSurface_Lock(JAWT_DrawingSurface* ds)
return (jint)JAWT_LOCK_ERROR;
}
#ifndef XAWT
drawState = (*env)->GetIntField(env, peer, mComponentPeerIDs.drawState);
(*env)->SetIntField(env, peer, mComponentPeerIDs.drawState, 0);
#else
drawState = (*env)->GetIntField(env, peer, drawStateID);
(*env)->SetIntField(env, peer, drawStateID, 0);
#endif
return drawState;
}
......@@ -127,9 +113,7 @@ JNIEXPORT int32_t JNICALL
jclass componentClass;
AwtGraphicsConfigDataPtr adata;
int32_t result;
#ifdef XAWT
jobject gc_object;
#endif
if (ds == NULL) {
#ifdef DEBUG
fprintf(stderr, "Drawing Surface is NULL\n");
......@@ -164,9 +148,6 @@ JNIEXPORT int32_t JNICALL
AWT_UNLOCK();
return (int32_t) 0;
}
#ifndef XAWT
adata = getGraphicsConfigFromComponentPeer(env, peer);
#else
/* GraphicsConfiguration object of MComponentPeer */
gc_object = (*env)->GetObjectField(env, peer, graphicsConfigID);
......@@ -177,7 +158,6 @@ JNIEXPORT int32_t JNICALL
} else {
adata = getDefaultConfig(DefaultScreen(awt_display));
}
#endif
result = adata->AwtColorMatch(r, g, b, adata);
AWT_UNLOCK();
......@@ -201,9 +181,6 @@ awt_DrawingSurface_GetDrawingSurfaceInfo(JAWT_DrawingSurface* ds)
jclass componentClass;
JAWT_X11DrawingSurfaceInfo* px;
JAWT_DrawingSurfaceInfo* p;
#ifndef XAWT
struct ComponentData *cdata;
#endif
XWindowAttributes attrs;
if (ds == NULL) {
......@@ -241,31 +218,14 @@ awt_DrawingSurface_GetDrawingSurfaceInfo(JAWT_DrawingSurface* ds)
return NULL;
}
#ifndef XAWT
/* Get the component data from the peer */
cdata = (struct ComponentData *)
JNU_GetLongFieldAsPtr(env, peer, mComponentPeerIDs.pData);
if (cdata == NULL) {
#ifdef DEBUG
fprintf(stderr, "Component data is NULL\n");
#endif
AWT_UNLOCK();
return NULL;
}
#endif
AWT_UNLOCK();
AWT_UNLOCK();
/* Allocate platform-specific data */
px = (JAWT_X11DrawingSurfaceInfo*)
malloc(sizeof(JAWT_X11DrawingSurfaceInfo));
/* Set drawable and display */
#ifndef XAWT
px->drawable = XtWindow(cdata->widget);
#else
px->drawable = (*env)->GetLongField(env, peer, windowID);
#endif
px->display = awt_display;
/* Get window attributes to set other values */
......@@ -392,21 +352,7 @@ JNIEXPORT jobject JNICALL
AWT_LOCK();
#ifndef XAWT
if (window != None) {
widget = XtWindowToWidget(awt_display, window);
}
if (widget != NULL) {
XtVaGetValues (widget, XmNuserData, &peer, NULL);
}
if (peer != NULL) {
target = (*env)->GetObjectField(env, peer, mComponentPeerIDs.target);
}
#else
target = (*env)->GetObjectField(env, peer, targetID);
#endif
if (target == NULL) {
JNU_ThrowNullPointerException(env, "NullPointerException");
......
......@@ -30,8 +30,6 @@
#include "java_awt_Component.h"
#include "java_awt_Font.h"
#include "java_awt_FontMetrics.h"
#include "sun_awt_motif_MToolkit.h"
#include "sun_awt_motif_X11FontMetrics.h"
#include "sun_awt_X11GraphicsEnvironment.h"
#include "awt_Font.h"
......@@ -100,57 +98,6 @@ Java_java_awt_Font_initIDs
}
#ifndef HEADLESS
/* fieldIDs for X11FontMetrics fields that may be accessed from C */
static struct X11FontMetricsIDs {
jfieldID widths;
jfieldID font;
jfieldID ascent;
jfieldID descent;
jfieldID leading;
jfieldID height;
jfieldID maxAscent;
jfieldID maxDescent;
jfieldID maxHeight;
jfieldID maxAdvance;
} x11FontMetricsIDs;
/*
* Class: sun_awt_motif_X11FontMetrics
* Method: initIDs
* Signature: ()V
*/
/* This function gets called from the static initializer for
X11FontMetrics.java to initialize the fieldIDs for fields
that may be accessed from C */
JNIEXPORT void JNICALL
Java_sun_awt_motif_X11FontMetrics_initIDs
(JNIEnv *env, jclass cls)
{
x11FontMetricsIDs.widths = (*env)->GetFieldID(env, cls, "widths", "[I");
x11FontMetricsIDs.font =
(*env)->GetFieldID(env, cls, "font", "Ljava/awt/Font;");
x11FontMetricsIDs.ascent =
(*env)->GetFieldID(env, cls, "ascent", "I");
x11FontMetricsIDs.descent =
(*env)->GetFieldID(env, cls, "descent", "I");
x11FontMetricsIDs.leading =
(*env)->GetFieldID(env, cls, "leading", "I");
x11FontMetricsIDs.height =
(*env)->GetFieldID(env, cls, "height", "I");
x11FontMetricsIDs.maxAscent =
(*env)->GetFieldID(env, cls, "maxAscent", "I");
x11FontMetricsIDs.maxDescent =
(*env)->GetFieldID(env, cls, "maxDescent", "I");
x11FontMetricsIDs.maxHeight =
(*env)->GetFieldID(env, cls, "maxHeight", "I");
x11FontMetricsIDs.maxAdvance =
(*env)->GetFieldID(env, cls, "maxAdvance", "I");
}
/* fieldIDs for FontDescriptor fields that may be accessed from C */
static struct FontDescriptorIDs {
jfieldID nativeName;
......@@ -182,27 +129,6 @@ Java_sun_awt_FontDescriptor_initIDs
#endif /* !HEADLESS */
}
#ifndef HEADLESS
struct MFontPeerIDs mFontPeerIDs;
/*
* Class: sun_awt_motif_MFontPeer
* Method: initIDs
* Signature: ()V
*/
/* This function gets called from the static initializer for
MFontPeer.java to initialize the fieldIDs for fields
that may be accessed from C */
JNIEXPORT void JNICALL
Java_sun_awt_motif_MFontPeer_initIDs
(JNIEnv *env, jclass cls)
{
mFontPeerIDs.xfsname =
(*env)->GetFieldID(env, cls, "xfsname", "Ljava/lang/String;");
}
#endif /* !HEADLESS */
/*
* Class: sun_awt_PlatformFont
* Method: initIDs
......@@ -746,193 +672,6 @@ awtJNI_GetFontData(JNIEnv * env, jobject font, char **errmsg)
}
}
/*
* Class: sun_awt_motif_X11FontMetrics
* Method: getMFCharsWidth
* Signature: ([CIILjava/awt/Font;)I
*/
JNIEXPORT jint JNICALL Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth
(JNIEnv *env, jobject this, jcharArray data, jint offset, jint length, jobject font)
{
jint retVal = 0;
AWT_LOCK();
retVal = awtJNI_GetMFStringWidth(env, data, offset, length, font);
AWT_UNLOCK();
return retVal;
}
/*
* Class: sun_awt_motif_X11FontMetrics
* Method: bytesWidth
* Signature: ([BII)I
*/
JNIEXPORT jint JNICALL Java_sun_awt_motif_X11FontMetrics_bytesWidth
(JNIEnv *env, jobject this, jbyteArray str, jint off, jint len)
{
jint w = 0;
unsigned char *s = NULL, *tmpPointer = NULL;
int32_t ch = 0;
int32_t cnt = 0;
jobject widths = NULL;
jint tempWidths[256];
jint maxAdvance = 0;
int32_t widlen = 0;
if (JNU_IsNull(env, str)) {
JNU_ThrowNullPointerException(env, "NullPointerException");
return 0;
}
cnt = (*env)->GetArrayLength(env, str);
if (cnt == 0) {
return 0;
}
widths = (*env)->GetObjectField(env, this, x11FontMetricsIDs.widths);
maxAdvance = (*env)->GetIntField(env, this, x11FontMetricsIDs.maxAdvance);
if (!JNU_IsNull(env, widths)) {
w = 0;
widlen = (*env)->GetArrayLength(env, widths);
(*env)->GetIntArrayRegion(env, widths, 0, widlen, (jint *) tempWidths);
s = tmpPointer = (unsigned char *) (*env)->GetPrimitiveArrayCritical(env, str, NULL);
if (s == NULL) {
return 0;
}
while (--cnt >= 0) {
ch = *tmpPointer++;
if (ch < widlen) {
w += tempWidths[ch];
} else {
w += maxAdvance;
}
}
(*env)->ReleasePrimitiveArrayCritical(env, str, (jchar *) s, JNI_ABORT);
} else {
w = maxAdvance * cnt;
}
return w;
}
/*
* Class: sun_awt_motif_X11FontMetrics
* Method: init
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_sun_awt_motif_X11FontMetrics_init
(JNIEnv *env, jobject this)
{
jobject font = NULL;
struct FontData *fdata = NULL;
jint tempWidths[256];
jintArray widths = NULL;
int32_t ccount = 0;
int32_t i = 0;
int32_t tempWidthsIndex = 0;
char *err = NULL;
if (JNU_IsNull(env, this)) {
JNU_ThrowNullPointerException(env, "NullPointerException");
return;
}
AWT_LOCK();
font = (*env)->GetObjectField(env, this, x11FontMetricsIDs.font);
if (JNU_IsNull(env, this)) {
JNU_ThrowNullPointerException(env, "NullPointerException");
AWT_UNLOCK();
return;
}
fdata = awtJNI_GetFontData(env, font, &err);
if (fdata == NULL) {
JNU_ThrowInternalError(env, err);
AWT_UNLOCK();
return;
}
/*
* Bug 4103248, 4120310. We must take all of the fonts into
* consideration in providing the metrics, not just the 8859-1 font,
* because the underlying Motif widgets are.
*/
if (awtJNI_IsMultiFont(env, font) && fdata->xfs == NULL) {
fdata->xfs = awtJNI_MakeFontSet(env, font);
}
if (fdata->xfs != NULL) {
XFontSetExtents *fs_extents = NULL;
fs_extents = XExtentsOfFontSet(fdata->xfs);
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxAscent,
(jint)(-fs_extents->max_logical_extent.y));
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxDescent,
(jint)(fs_extents->max_logical_extent.height +
fs_extents->max_logical_extent.y));
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxAdvance,
(jint)(fs_extents->max_logical_extent.width));
(*env)->SetIntField(env, this, x11FontMetricsIDs.ascent,
(jint)(-fs_extents->max_ink_extent.y));
(*env)->SetIntField(env, this, x11FontMetricsIDs.descent,
(jint)(fs_extents->max_ink_extent.height +
fs_extents->max_ink_extent.y));
} else {
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxAscent,
(jint) fdata->xfont->max_bounds.ascent);
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxDescent,
(jint) fdata->xfont->max_bounds.descent);
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxAdvance,
(jint) fdata->xfont->max_bounds.width);
(*env)->SetIntField(env, this, x11FontMetricsIDs.ascent,
(jint) fdata->xfont->ascent);
(*env)->SetIntField(env, this, x11FontMetricsIDs.descent,
(jint) fdata->xfont->descent);
}
(*env)->SetIntField(env, this, x11FontMetricsIDs.leading, (jint) 1);
(*env)->SetIntField(env, this, x11FontMetricsIDs.height,
(jint) fdata->xfont->ascent + fdata->xfont->descent + 1);
(*env)->SetIntField(env, this, x11FontMetricsIDs.maxHeight,
(jint) fdata->xfont->max_bounds.ascent
+ fdata->xfont->max_bounds.descent + 1);
widths = (*env)->NewIntArray(env, 256);
(*env)->SetObjectField(env, this, x11FontMetricsIDs.widths, widths);
if (JNU_IsNull(env, widths)) {
JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
AWT_UNLOCK();
return;
}
/*
* We could pin the array and then release it, but I believe this method
* is faster and perturbs the VM less
*
*/
memset(tempWidths, 0, 256 * sizeof(jint));
tempWidthsIndex = fdata->xfont->min_char_or_byte2;
ccount = fdata->xfont->max_char_or_byte2 - fdata->xfont->min_char_or_byte2;
if (fdata->xfont->per_char) {
for (i = 0; i <= ccount; i++) {
tempWidths[tempWidthsIndex++] = (jint) fdata->xfont->per_char[i].width;
}
} else {
for (i = 0; i <= ccount; i++) {
tempWidths[tempWidthsIndex++] = (jint) fdata->xfont->max_bounds.width;
}
}
(*env)->SetIntArrayRegion(env, widths, 0, 256, (jint *) tempWidths);
AWT_UNLOCK();
}
/*
* Registered with the 2D disposer to be called after the Font is GC'd.
*/
......
......@@ -34,8 +34,8 @@ struct FontIDs {
jmethodID getFamily;
};
/* fieldIDs for MFontPeer fields that may be accessed from C */
struct MFontPeerIDs {
/* fieldIDs for XFontPeer fields that may be accessed from C */
struct XFontPeerIDs {
jfieldID xfsname;
};
......
......@@ -45,7 +45,6 @@
#include <stdlib.h>
#include "awt_GraphicsEnv.h"
#include "awt_Window.h"
#include "awt_util.h"
#include "gdefs.h"
#include <dlfcn.h>
......@@ -94,8 +93,6 @@ jboolean awtLockInited = JNI_FALSE;
struct X11GraphicsConfigIDs x11GraphicsConfigIDs;
struct X11GraphicsDeviceIDs x11GraphicsDeviceIDs;
extern struct WindowIDs mWindowIDs;
extern struct MWindowPeerIDs mWindowPeerIDs;
#ifndef HEADLESS
int awtCreateX11Colormap(AwtGraphicsConfigDataPtr adata);
......@@ -570,75 +567,6 @@ getAllConfigs (JNIEnv *env, int screen, AwtScreenDataPtr screenDataPtr) {
AWT_UNLOCK ();
}
/*
* Determing if this top-level has been moved onto another Xinerama screen.
* Called from awt_TopLevel.c
*
* ASSUME: wdata != null
*/
#ifndef HEADLESS
void checkNewXineramaScreen(JNIEnv* env, jobject peer, struct FrameData* wdata,
int32_t newX, int32_t newY,
int32_t newWidth, int32_t newHeight) {
int i;
int amt;
int totAmt = 0;
int largestAmt = 0;
int largestAmtScr = 0;
int horiz;
int vert;
if (!usingXinerama) { return; }
totAmt = newWidth * newHeight;
/* assert that peer implements WindowPeer */
DASSERT(JNU_IsInstanceOfByName(env, peer, "java/awt/peer/WindowPeer"));
DTRACE_PRINTLN4("checkNewXineramaScreen() x=%i y=%i w=%i h=%i\n",newX, newY, newWidth, newHeight);
/* decide which screen we're on
* if we're spanning, figure out which screen we're most on
*/
for (i = 0; i < awt_numScreens; i++) {
if (INTERSECTS(newX, newX + newWidth, newY, newY + newHeight,
fbrects[i].x, fbrects[i].x + fbrects[i].width,
fbrects[i].y, fbrects[i].y + fbrects[i].height)) {
/* calc how much of window is on this screen */
horiz = MIN(newX + newWidth, fbrects[i].x + fbrects[i].width) -
MAX(newX, fbrects[i].x);
vert = MIN(newY + newHeight, fbrects[i].y + fbrects[i].height) -
MAX(newY, fbrects[i].y);
DASSERT(horiz > 0);
DASSERT(vert > 0);
amt = horiz * vert;
if (amt == totAmt) {
/* completely on this screen - done! */
largestAmtScr = i;
break;
}
if (amt > largestAmt) {
largestAmt = amt;
largestAmtScr = i;
}
}
}
#ifndef XAWT
/* check if we're on a new screen */
if (largestAmtScr != wdata->screenNum) {
wdata->screenNum = largestAmtScr;
/* update peer, target Comp */
(*env)->CallVoidMethod(env, peer,
mWindowPeerIDs.draggedToScreenMID, largestAmtScr);
}
#endif /* XAWT */
}
#endif /* HEADLESS */
#ifndef HEADLESS
#ifdef __linux__
static void xinerama_init_linux()
......
......@@ -30,28 +30,14 @@
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#ifdef XAWT
#include <sys/time.h>
#else /* !XAWT */
#include <Xm/Xm.h>
#include <Xm/RowColumn.h>
#include <Xm/MwmUtil.h>
#include <Xm/MenuShell.h>
#endif /* XAWT */
#include "awt.h"
#include "awt_p.h"
#include <sun_awt_X11InputMethod.h>
#ifdef XAWT
#include <sun_awt_X11_XComponentPeer.h>
#include <sun_awt_X11_XInputMethod.h>
#else /* !XAWT */
#include <sun_awt_motif_MComponentPeer.h>
#include <sun_awt_motif_MInputMethod.h>
#define MCOMPONENTPEER_CLASS_NAME "sun/awt/motif/MComponentPeer"
#endif /* XAWT */
#define THROW_OUT_OF_MEMORY_ERROR() \
JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2), NULL)
......@@ -111,11 +97,7 @@ static XIMProc callback_funcs[NCALLBACKS] = {
typedef struct {
Window w; /*status window id */
Window root; /*the root window id */
#ifdef XAWT
Window parent; /*parent shell window */
#else
Widget parent; /*parent shell window */
#endif
int x, y; /*parent's upperleft position */
int width, height; /*parent's width, height */
GC lightGC; /*gc for light border */
......@@ -141,17 +123,10 @@ typedef struct _X11InputMethodData {
XIC ic_active; /* X Input Context for active clients */
XIC ic_passive; /* X Input Context for passive clients */
XIMCallback *callbacks; /* callback parameters */
#ifndef XAWT
jobject peer; /* MComponentPeer of client Window */
#endif /* XAWT */
jobject x11inputmethod; /* global ref to X11InputMethod instance */
/* associated with the XIC */
#ifdef __linux__
StatusWindow *statusWindow; /* our own status window */
#else
#ifndef XAWT
Widget statusWidget; /* IM status window widget */
#endif /* XAWT */
#endif
char *lookup_buf; /* buffer used for XmbLookupString */
int lookup_buf_len; /* lookup buffer size in bytes */
......@@ -191,12 +166,6 @@ Display * dpy = NULL;
#define GetJNIEnv() (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)
#ifndef XAWT
static jobject mcompClass = NULL;
static jobject awteventClass = NULL;
static jfieldID mcompPDataID = NULL;
#endif /* XAWT */
static void DestroyXIMCallback(XIM, XPointer, XPointer);
static void OpenXIMCallback(Display *, XPointer, XPointer);
/* Solaris XIM Extention */
......@@ -261,28 +230,6 @@ wcstombsdmp(wchar_t *wcs, int len)
return mbs;
}
#ifndef XAWT
/*
* Find a class for the given class name and return a global reference to the
* class.
*/
static jobject
findClass(const char *className)
{
JNIEnv *env = GetJNIEnv();
jclass classClass;
jobject objectClass;
classClass = (*env)->FindClass(env, className);
objectClass = (*env)->NewGlobalRef(env,classClass);
if (JNU_IsNull(env, objectClass)) {
JNU_ThrowClassNotFoundException(env, className);
}
return objectClass;
}
#endif /* XAWT */
/*
* Returns True if the global reference is still in the list,
* otherwise False.
......@@ -444,9 +391,6 @@ freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData)
free((void *)pX11IMData->callbacks);
if (env) {
#ifndef XAWT
(*env)->DeleteGlobalRef(env, pX11IMData->peer);
#endif /* XAWT */
/* Remove the global reference from the list, so that
the callback function or whoever refers to it could know.
*/
......@@ -580,23 +524,10 @@ awt_x11inputmethod_lookupString(XKeyPressedEvent *event, KeySym *keysymp)
/* Get keysym without taking modifiers into account first to map
* to AWT keyCode table.
*/
#ifndef XAWT
if (((event->state & ShiftMask) ||
(event->state & LockMask)) &&
keysym >= 'A' && keysym <= 'Z')
{
keysym = XLookupKeysym(event, 0);
}
#endif
switch (status) {
case XLookupBoth:
if (!composing) {
#ifdef XAWT
if (event->keycode != 0) {
#else
if (keysym < 128 || ((keysym & 0xff00) == 0xff00)) {
#endif
*keysymp = keysym;
result = False;
break;
......@@ -650,11 +581,7 @@ awt_x11inputmethod_lookupString(XKeyPressedEvent *event, KeySym *keysymp)
#ifdef __linux__
static StatusWindow *createStatusWindow(
#ifdef XAWT
Window parent) {
#else
Widget parent) {
#endif
StatusWindow *statusWindow;
XSetWindowAttributes attrib;
unsigned long attribmask;
......@@ -682,22 +609,12 @@ static StatusWindow *createStatusWindow(
Window *ignoreWindowPtr;
unsigned int ignoreUnit;
#ifdef XAWT
XGetGeometry(dpy, parent, &rootWindow, &x, &y, &w, &h, &bw, &depth);
#else
while (!XtIsShell(parent)){
parent = XtParent(parent);
}
#endif
attrib.override_redirect = True;
attribmask = CWOverrideRedirect;
for (i = 0; i < awt_numScreens; i++) {
#ifdef XAWT
if (RootWindow(dpy, i) == rootWindow) {
#else
if (ScreenOfDisplay(dpy, i) == XtScreen(parent)) {
#endif
screen = i;
break;
}
......@@ -798,11 +715,7 @@ static StatusWindow *createStatusWindow(
/* This method is to turn off or turn on the status window. */
static void onoffStatusWindow(X11InputMethodData* pX11IMData,
#ifdef XAWT
Window parent,
#else
Widget parent,
#endif
Bool ON){
XWindowAttributes xwa;
Window child;
......@@ -820,15 +733,9 @@ static void onoffStatusWindow(X11InputMethodData* pX11IMData,
statusWindow->on = False;
return;
}
#ifdef XAWT
parent = JNU_CallMethodByName(GetJNIEnv(), NULL, pX11IMData->x11inputmethod,
"getCurrentParentWindow",
"()J").j;
#else
while (!XtIsShell(parent)){
parent = XtParent(parent);
}
#endif
if (statusWindow->parent != parent){
statusWindow->parent = parent;
}
......@@ -941,11 +848,7 @@ void statusWindowEventHandler(XEvent event){
}
}
#ifdef XAWT
static void adjustStatusWindow(Window shell){
#else
void adjustStatusWindow(Widget shell){
#endif
JNIEnv *env = GetJNIEnv();
X11InputMethodData *pX11IMData = NULL;
StatusWindow *statusWindow;
......@@ -957,11 +860,7 @@ void adjustStatusWindow(Widget shell){
|| !statusWindow->on) {
return;
}
#ifdef XAWT
{
#else
if (statusWindow->parent == shell) {
#endif
XWindowAttributes xwa;
int x, y;
Window child;
......@@ -1009,12 +908,7 @@ void adjustStatusWindow(Widget shell){
* fallback to None styles.
*/
static Bool
#ifdef XAWT
createXIC(JNIEnv * env, X11InputMethodData *pX11IMData, Window w)
#else /* !XAWT */
createXIC(Widget w, X11InputMethodData *pX11IMData,
jobject tc, jobject peer)
#endif /* XAWT */
{
XIC active_ic, passive_ic;
XVaNestedList preedit = NULL;
......@@ -1031,17 +925,9 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
if (X11im == NULL) {
return False;
}
#ifdef XAWT
if (!w) {
return False;
}
#else /* !XAWT */
/*
* If the parent window has one or more TextComponents, the status
* area of Motif will be shared with the created XIC. Otherwise,
* root-window style status is used.
*/
#endif /* XAWT */
ret = XGetIMValues(X11im, XNQueryInputStyle, &im_styles, NULL);
......@@ -1064,28 +950,7 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
}
}
#else /*! __linux__ */
#ifdef XAWT
on_the_spot_styles |= XIMStatusNothing;
#else /* !XAWT */
/*
* If the parent window has one or more TextComponents, the status
* area of Motif will be shared with the created XIC. Otherwise,
* root-window style status is used.
*/
if (tc != NULL){
XVaNestedList status = NULL;
status = awt_motif_getXICStatusAreaList(w, tc);
if (status != NULL){
on_the_spot_styles |= XIMStatusArea;
XFree(status);
}
else
on_the_spot_styles |= XIMStatusNothing;
}
else
on_the_spot_styles |= XIMStatusNothing;
#endif /* XAWT */
#endif /* __linux__ */
for (i = 0; i < im_styles->count_styles; i++) {
......@@ -1157,32 +1022,12 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
XFree((void *)preedit);
}
#else /* !__linux__ */
#ifndef XAWT
if (on_the_spot_styles & XIMStatusArea) {
Widget parent;
status = awt_motif_getXICStatusAreaList(w, tc);
if (status == NULL)
goto err;
pX11IMData->statusWidget = awt_util_getXICStatusAreaWindow(w);
pX11IMData->ic_active = XCreateIC(X11im,
XNClientWindow, pX11IMData->statusWidget,
XNFocusWindow, w,
XNInputStyle, active_styles,
XNPreeditAttributes, preedit,
XNStatusAttributes, status,
NULL);
XFree((void *)status);
} else {
#endif /* XAWT */
pX11IMData->ic_active = XCreateIC(X11im,
XNClientWindow, w,
XNFocusWindow, w,
XNInputStyle, active_styles,
XNPreeditAttributes, preedit,
NULL);
#ifndef XAWT
}
#endif /* XAWT */
XFree((void *)preedit);
#endif /* __linux__ */
pX11IMData->ic_passive = XCreateIC(X11im,
......@@ -1479,7 +1324,7 @@ static void DestroyXIMCallback(XIM im, XPointer client_data, XPointer call_data)
}
/*
* Class: java_sun_awt_motif_X11InputMethod
* Class: sun_awt_X11InputMethod
* Method: initIDs
* Signature: ()V
*/
......@@ -1495,24 +1340,15 @@ Java_sun_awt_X11InputMethod_initIDs(JNIEnv *env, jclass cls)
JNIEXPORT jboolean JNICALL
#ifdef XAWT
Java_sun_awt_X11_XInputMethod_openXIMNative(JNIEnv *env,
jobject this,
jlong display)
#else
Java_sun_awt_motif_MInputMethod_openXIMNative(JNIEnv *env,
jobject this)
#endif
{
Bool registered;
AWT_LOCK();
#ifdef XAWT
dpy = (Display *)jlong_to_ptr(display);
#else
dpy = awt_display;
#endif
/* Use IMInstantiate call back only on Linux, as there is a bug in Solaris
(4768335)
......@@ -1534,30 +1370,17 @@ Java_sun_awt_motif_MInputMethod_openXIMNative(JNIEnv *env,
}
JNIEXPORT jboolean JNICALL
#ifdef XAWT
Java_sun_awt_X11_XInputMethod_createXICNative(JNIEnv *env,
jobject this,
jlong window)
{
#else /* !XAWT */
Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
jobject this,
jobject comp,
jobject tc)
{
struct ComponentData *cdata;
#endif /* XAWT */
X11InputMethodData *pX11IMData;
jobject globalRef;
XIC ic;
AWT_LOCK();
#ifdef XAWT
if (!window) {
#else /* !XAWT */
if (JNU_IsNull(env, comp)) {
#endif /* XAWT */
JNU_ThrowNullPointerException(env, "NullPointerException");
AWT_UNLOCK();
return JNI_FALSE;
......@@ -1570,40 +1393,16 @@ Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
return JNI_FALSE;
}
#ifndef XAWT
if (mcompClass == NULL) {
mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
}
cdata = (struct ComponentData *) JNU_GetLongFieldAsPtr(env,comp,mcompPDataID);
if (cdata == 0) {
free((void *)pX11IMData);
JNU_ThrowNullPointerException(env, "createXIC");
AWT_UNLOCK();
return JNI_FALSE;
}
pX11IMData->peer = (*env)->NewGlobalRef(env, comp);
#endif /* XAWT */
globalRef = (*env)->NewGlobalRef(env, this);
pX11IMData->x11inputmethod = globalRef;
#ifdef __linux__
pX11IMData->statusWindow = NULL;
#else /* __linux__ */
#ifndef XAWT
pX11IMData->statusWidget = (Widget) NULL;
#endif /* XAWT */
#endif /* __linux__ */
pX11IMData->lookup_buf = 0;
pX11IMData->lookup_buf_len = 0;
#ifdef XAWT
if (createXIC(env, pX11IMData, (Window)window)
#else /* !XAWT */
if (createXIC(cdata->widget, pX11IMData, tc, comp)
#endif /* XAWT */
== False) {
destroyX11InputMethodData((JNIEnv *) NULL, pX11IMData);
pX11IMData = (X11InputMethodData *) NULL;
......@@ -1615,77 +1414,6 @@ Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
return (pX11IMData != NULL);
}
#ifndef XAWT
JNIEXPORT void JNICALL
Java_sun_awt_motif_MInputMethod_reconfigureXICNative(JNIEnv *env,
jobject this,
jobject comp,
jobject tc)
{
X11InputMethodData *pX11IMData;
AWT_LOCK();
pX11IMData = getX11InputMethodData(env, this);
if (pX11IMData == NULL) {
AWT_UNLOCK();
return;
}
if (pX11IMData->current_ic == (XIC)0) {
destroyX11InputMethodData(env, pX11IMData);
pX11IMData = (X11InputMethodData *)NULL;
} else {
Bool active;
struct ComponentData *cdata;
active = pX11IMData->current_ic == pX11IMData->ic_active;
if (mcompClass == NULL) {
mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
}
cdata = (struct ComponentData *) JNU_GetLongFieldAsPtr(env,comp,mcompPDataID);
if (cdata == 0) {
JNU_ThrowNullPointerException(env, "reconfigureXICNative");
destroyX11InputMethodData(env, pX11IMData);
pX11IMData = (X11InputMethodData *)NULL;
}
XDestroyIC(pX11IMData->ic_active);
if (pX11IMData->ic_active != pX11IMData->ic_passive)
XDestroyIC(pX11IMData->ic_passive);
pX11IMData->current_ic = (XIC)0;
pX11IMData->ic_active = (XIC)0;
pX11IMData->ic_passive = (XIC)0;
if (createXIC(cdata->widget, pX11IMData, tc, comp)) {
pX11IMData->current_ic = active ?
pX11IMData->ic_active : pX11IMData->ic_passive;
/*
* On Solaris2.6, setXICWindowFocus() has to be invoked
* before setting focus.
*/
setXICWindowFocus(pX11IMData->current_ic, cdata->widget);
setXICFocus(pX11IMData->current_ic, True);
} else {
destroyX11InputMethodData((JNIEnv *) NULL, pX11IMData);
pX11IMData = (X11InputMethodData *)NULL;
}
}
setX11InputMethodData(env, this, pX11IMData);
AWT_UNLOCK();
}
JNIEXPORT void JNICALL
Java_sun_awt_motif_MInputMethod_setXICFocusNative(JNIEnv *env,
jobject this,
jobject comp,
jboolean req,
jboolean active)
{
struct ComponentData *cdata;
Widget w;
#else /* !XAWT */
JNIEXPORT void JNICALL
Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
jobject this,
......@@ -1693,7 +1421,6 @@ Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
jboolean req,
jboolean active)
{
#endif /* XAWT */
X11InputMethodData *pX11IMData;
AWT_LOCK();
pX11IMData = getX11InputMethodData(env, this);
......@@ -1703,40 +1430,16 @@ Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
}
if (req) {
#ifdef XAWT
if (!w) {
AWT_UNLOCK();
return;
}
#else /* !XAWT */
struct ComponentData *cdata;
if (JNU_IsNull(env, comp)) {
AWT_UNLOCK();
return;
}
if (mcompClass == NULL) {
mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
}
cdata = (struct ComponentData *)JNU_GetLongFieldAsPtr(env, comp,
mcompPDataID);
if (cdata == 0) {
JNU_ThrowNullPointerException(env, "setXICFocus pData");
AWT_UNLOCK();
return;
}
#endif /* XAWT */
pX11IMData->current_ic = active ?
pX11IMData->ic_active : pX11IMData->ic_passive;
/*
* On Solaris2.6, setXICWindowFocus() has to be invoked
* before setting focus.
*/
#ifndef XAWT
w = cdata->widget;
#endif /* XAWT */
setXICWindowFocus(pX11IMData->current_ic, w);
setXICFocus(pX11IMData->current_ic, req);
currentX11InputMethodInstance = pX11IMData->x11inputmethod;
......@@ -1853,40 +1556,6 @@ Java_sun_awt_X11InputMethod_resetXIC(JNIEnv *env,
return jText;
}
#ifndef XAWT
JNIEXPORT void JNICALL
Java_sun_awt_motif_MInputMethod_configureStatusAreaNative(JNIEnv *env,
jobject this,
jobject tc)
{
X11InputMethodData *pX11IMData;
XVaNestedList status;
#ifdef __linux__
/*do nothing for linux? */
#else
AWT_LOCK();
pX11IMData = getX11InputMethodData(env, this);
if ((pX11IMData == NULL) || (pX11IMData->ic_active == (XIC)0)) {
AWT_UNLOCK();
return;
}
if (pX11IMData->statusWidget) {
status = awt_motif_getXICStatusAreaList(pX11IMData->statusWidget, tc);
if (status != (XVaNestedList)NULL) {
XSetICValues(pX11IMData->ic_active,
XNStatusAttributes, status,
NULL);
XFree((void *)status);
}
}
AWT_UNLOCK();
#endif
}
#endif /* XAWT */
/*
* Class: sun_awt_X11InputMethod
* Method: setCompositionEnabledNative
......@@ -1964,7 +1633,6 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11InputMethod_isCompositionEnabledNativ
return (jboolean)(state == XIMPreeditEnable);
}
#ifdef XAWT
JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
(JNIEnv *env, jobject this, jlong window)
{
......@@ -1974,4 +1642,3 @@ JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
AWT_UNLOCK();
#endif
}
#endif
/*
* Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "jni.h"
struct KeyboardFocusManagerIDs {
jclass keyboardFocusManagerCls;
jmethodID shouldNativelyFocusHeavyweightMID;
jmethodID heavyweightButtonDownMID;
jmethodID heavyweightButtonDownZMID;
jmethodID markClearGlobalFocusOwnerMID;
jmethodID processSynchronousTransferMID;
jfieldID isProxyActive;
};
此差异已折叠。
/*
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _MTOOLKIT_H_
#define _MTOOLKIT_H_
#ifndef HEADLESS
extern void *findPeer(Widget * pwidget);
extern Widget findWindowsProxy(jobject window, JNIEnv *env);
extern struct WidgetInfo *findWidgetInfo(Widget widget);
extern Boolean isAncestor(Window ancestor, Window child);
extern void clearFocusPath(Widget shell);
extern void globalClearFocusPath(Widget focusOwnerShell);
extern Boolean isFrameOrDialog(jobject target, JNIEnv * env);
extern jobject getOwningFrameOrDialog(jobject target, JNIEnv *env);
#define SPECIAL_KEY_EVENT 2
#endif /* !HEADLESS */
#endif /* _MTOOLKIT_H_ */
/*
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include <jni_util.h>
/* fieldIDs for MenuItem fields that may be accessed from C */
struct MenuItemIDs {
jfieldID label;
jfieldID enabled;
jfieldID shortcut;
};
/* fieldIDs for MMenuItemPeer fields that may be accessed from C */
struct MMenuItemPeerIDs {
jfieldID target;
jfieldID pData;
jfieldID isCheckbox;
jfieldID jniGlobalRef;
};
/*
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* methodsIDs for MPopupMenuPeer methods that may be accessed from C */
struct MPopupMenuPeerIDs {
jmethodID destroyNativeWidgetAfterGettingTreeLock;
};
......@@ -28,7 +28,6 @@
#endif
#include "awt_p.h"
#include "awt_Component.h"
#include "awt_GraphicsEnv.h"
#define XK_MISCELLANY
#include <X11/keysymdef.h>
......
/*
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
*/
#ifndef _TOPLEVEL_H_
#define _TOPLEVEL_H_
#ifndef HEADLESS
extern Widget findFocusProxy(Widget widget);
extern Widget findTopLevelByShell(Widget widget);
extern jobject findTopLevel(jobject peer, JNIEnv *env);
extern void shellEH(Widget w, XtPointer data, XEvent *event, Boolean *continueToDispatch);
extern Boolean isFocusableWindowByShell(JNIEnv * env, Widget shell);
extern Boolean isFocusableWindowByPeer(JNIEnv * env, jobject peer);
extern Widget getShellWidget(Widget child);
extern Boolean isFocusableComponentTopLevelByWidget(JNIEnv * env, Widget child);
#endif /* !HEADLESS */
#endif /* _TOPLEVEL_H_ */
/*
* Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include <jni_util.h>
/* fieldIDs for Window fields that may be accessed from C */
struct WindowIDs {
jfieldID warningString;
jfieldID locationByPlatform;
jfieldID isAutoRequestFocus;
};
/* fieldIDs for MWindowPeer fields that may be accessed from C */
struct MWindowPeerIDs {
jfieldID insets;
jfieldID iconWidth;
jfieldID iconHeight;
jfieldID winAttr;
jmethodID handleWindowFocusIn;
jmethodID handleWindowFocusOut;
jmethodID handleIconify;
jmethodID handleDeiconify;
jmethodID handleStateChange;
jmethodID draggedToScreenMID;
};
此差异已折叠。
/*
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _AWT_MGRSEL_H_
#define _AWT_MGRSEL_H_
#ifndef HEADLESS
#include "awt_p.h"
extern void awt_mgrsel_init(void);
extern int awt_mgrsel_processEvent(XEvent *);
extern const Window * awt_mgrsel_select(const char *, long,
void *,
void (*)(int, XEvent *, void *),
void (*)(int, Window, long *, void *));
#endif /* !HEADLESS */
#endif /* _AWT_MGRSEL_H_ */
/*
* Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _SWITCHXM_P_H_
#define _SWITCHXM_P_H_
#include <sun_awt_motif_MComponentPeer.h>
#include "gdefs.h"
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#define MOTIF_NA sun_awt_motif_MComponentPeer_MOTIF_NA
#define MOTIF_V1 sun_awt_motif_MComponentPeer_MOTIF_V1
#define MOTIF_V2 sun_awt_motif_MComponentPeer_MOTIF_V2
extern int32_t awt_motif_getIMStatusHeight(Widget w, jobject tc);
extern XVaNestedList awt_motif_getXICStatusAreaList(Widget w, jobject tc);
extern void awt_motif_Scrollbar_ButtonReleaseHandler (Widget,
XtPointer,
XEvent *,
Boolean *) ;
/* This function causes an UnsatisfiedLinkError on Linux.
* It's a no-op for Motif 2.1.
* Since Linux only links against Motif 2.1, we can safely remove
* this function altogether from the Linux build.
* bchristi 1/22/2001
*/
#ifdef __solaris__
extern void awt_motif_adjustDragTriggerEvent(XEvent* xevent);
#endif
void awt_motif_enableSingleDragInitiator(Widget w);
#endif /* _SWITCHXM_P_H_ */
此差异已折叠。
/*
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _AWT_WM_H_
#define _AWT_WM_H_
#ifndef HEADLESS
#include "awt_p.h"
/*
* Window Managers we care to distinguish.
* See awt_wm_getRunningWM()
*/
enum wmgr_t {
UNDETERMINED_WM,
NO_WM,
OTHER_WM,
OPENLOOK_WM,
MOTIF_WM,
CDE_WM,
ENLIGHTEN_WM,
KDE2_WM,
SAWFISH_WM,
ICE_WM,
METACITY_WM
};
extern void awt_wm_init(void);
extern enum wmgr_t awt_wm_getRunningWM(void);
extern Boolean awt_wm_configureGravityBuggy(void);
extern Boolean awt_wm_supportsExtendedState(jint state);
/* XWMHints.flags is declared long, so 'mask' argument is declared long too */
extern void awt_wm_removeSizeHints(Widget shell, long mask);
extern void awt_wm_setShellDecor(struct FrameData *wdata, Boolean resizable);
extern void awt_wm_setShellResizable(struct FrameData *wdata);
extern void awt_wm_setShellNotResizable(struct FrameData *wdata,
int32_t width, int32_t height,
Boolean justChangeSize);
extern Boolean awt_wm_getInsetsFromProp(Window w,
int32_t *top, int32_t *left, int32_t *bottom, int32_t *right);
/*
* WM_STATE: WithdrawnState, NormalState, IconicState.
* Absence of WM_STATE is treated as WithdrawnState.
*/
extern int awt_wm_getWMState(Window w);
extern void awt_wm_setExtendedState(struct FrameData *wdata, jint state);
extern Boolean awt_wm_isStateChange(struct FrameData *wdata, XPropertyEvent *e,
jint *pstate);
extern void awt_wm_unshadeKludge(struct FrameData *wdata);
extern void awt_wm_updateAlwaysOnTop(struct FrameData *wdata, jboolean bLayerState);
extern Boolean awt_wm_supportsAlwaysOnTop();
#endif /* !HEADLESS */
#endif /* _AWT_WM_H_ */
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册