提交 5ed3e554 编写于 作者: L lana

Merge

......@@ -140,71 +140,13 @@ 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 \
HeadlessToolkit.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;
......@@ -322,6 +319,8 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XlibWrapper_XSynchronize;
Java_java_awt_FileDialog_initIDs;
Java_sun_awt_X11_XWindow_initIDs;
Java_sun_awt_X11_XWindowPeer_getLocalHostname;
Java_sun_awt_X11_XWindowPeer_getJvmPID;
Java_sun_java2d_opengl_OGLContext_getOGLIdString;
Java_sun_java2d_opengl_OGLMaskFill_maskFill;
......
/*
* Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2011, 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
......@@ -54,7 +54,7 @@ abstract class AbstractFinder<T> {
/**
* Returns an array of {@code Class} objects
* that represent the formal parameter types of the method
* that represent the formal parameter types of the method.
* Returns an empty array if the method takes no parameters.
*
* @param method the object that represents method
......
/*
* Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2011, 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
......@@ -87,7 +87,7 @@ public final class ConstructorFinder extends AbstractFinder<Constructor<?>> {
/**
* Returns an array of {@code Class} objects
* that represent the formal parameter types of the constructor
* that represent the formal parameter types of the constructor.
* Returns an empty array if the constructor takes no parameters.
*
* @param constructor the object that represents constructor
......
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2011, 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
......@@ -190,7 +190,7 @@ public final class MethodFinder extends AbstractFinder<Method> {
/**
* Returns an array of {@code Class} objects
* that represent the formal parameter types of the method
* that represent the formal parameter types of the method.
* Returns an empty array if the method takes no parameters.
*
* @param method the object that represents method
......@@ -226,6 +226,6 @@ public final class MethodFinder extends AbstractFinder<Method> {
*/
@Override
protected boolean isValid(Method method) {
return Modifier.isPublic(method.getModifiers()) && method.getName().equals(this.name);
return !method.isBridge() && Modifier.isPublic(method.getModifiers()) && method.getName().equals(this.name);
}
}
......@@ -666,9 +666,10 @@ public abstract class Component implements ImageObserver, MenuContainer,
* can lead to a deadlock if client code also uses synchronization
* by a component object. For every such situation revealed we should
* consider possibility of replacing "this" with the package private
* objectLock object introduced below. So far there're 2 issues known:
* objectLock object introduced below. So far there're 3 issues known:
* - CR 6708322 (the getName/setName methods);
* - CR 6608764 (the PropertyChangeListener machinery).
* - CR 6608764 (the PropertyChangeListener machinery);
* - CR 7108598 (the Container.paint/KeyboardFocusManager.clearMostRecentFocusOwner methods).
*
* Note: this field is considered final, though readObject() prohibits
* initializing final fields.
......@@ -1158,6 +1159,10 @@ public abstract class Component implements ImageObserver, MenuContainer,
boolean updateGraphicsData(GraphicsConfiguration gc) {
checkTreeLock();
if (graphicsConfig == gc) {
return false;
}
graphicsConfig = gc;
ComponentPeer peer = getPeer();
......
......@@ -1950,7 +1950,7 @@ public class Container extends Component {
*/
public void paint(Graphics g) {
if (isShowing()) {
synchronized (this) {
synchronized (getObjectLock()) {
if (printing) {
if (printingThreads.contains(Thread.currentThread())) {
return;
......@@ -2004,7 +2004,7 @@ public class Container extends Component {
if (isShowing()) {
Thread t = Thread.currentThread();
try {
synchronized (this) {
synchronized (getObjectLock()) {
if (printingThreads == null) {
printingThreads = new HashSet();
}
......@@ -2013,7 +2013,7 @@ public class Container extends Component {
}
super.print(g); // By default, Component.print() calls paint()
} finally {
synchronized (this) {
synchronized (getObjectLock()) {
printingThreads.remove(t);
printing = !printingThreads.isEmpty();
}
......
......@@ -32,7 +32,6 @@ import java.applet.AppletContext;
import java.applet.AppletStub;
import java.applet.AudioClip;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.beans.beancontext.BeanContext;
......@@ -53,15 +52,11 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
import sun.awt.AppContext;
/**
* This class provides some general purpose beans control methods.
*/
public class Beans {
private static final Object DESIGN_TIME = new Object();
private static final Object GUI_AVAILABLE = new Object();
/**
* <p>
......@@ -395,8 +390,7 @@ public class Beans {
* @see DesignMode
*/
public static boolean isDesignTime() {
Object value = AppContext.getAppContext().get(DESIGN_TIME);
return (value instanceof Boolean) && (Boolean) value;
return ThreadGroupContext.getContext().isDesignTime();
}
/**
......@@ -413,8 +407,7 @@ public class Beans {
*
*/
public static boolean isGuiAvailable() {
Object value = AppContext.getAppContext().get(GUI_AVAILABLE);
return (value instanceof Boolean) ? (Boolean) value : !GraphicsEnvironment.isHeadless();
return ThreadGroupContext.getContext().isGuiAvailable();
}
/**
......@@ -440,7 +433,7 @@ public class Beans {
if (sm != null) {
sm.checkPropertiesAccess();
}
AppContext.getAppContext().put(DESIGN_TIME, Boolean.valueOf(isDesignTime));
ThreadGroupContext.getContext().setDesignTime(isDesignTime);
}
/**
......@@ -466,7 +459,7 @@ public class Beans {
if (sm != null) {
sm.checkPropertiesAccess();
}
AppContext.getAppContext().put(GUI_AVAILABLE, Boolean.valueOf(isGuiAvailable));
ThreadGroupContext.getContext().setGuiAvailable(isGuiAvailable);
}
}
......
......@@ -195,7 +195,13 @@ public class Encoder {
*/
public PersistenceDelegate getPersistenceDelegate(Class<?> type) {
PersistenceDelegate pd = this.finder.find(type);
return (pd != null) ? pd : MetaData.getPersistenceDelegate(type);
if (pd == null) {
pd = MetaData.getPersistenceDelegate(type);
if (pd != null) {
this.finder.register(type, pd);
}
}
return pd;
}
/**
......
......@@ -26,7 +26,6 @@
package java.beans;
import com.sun.beans.WeakCache;
import com.sun.beans.finder.BeanInfoFinder;
import com.sun.beans.finder.ClassFinder;
import java.awt.Component;
......@@ -44,9 +43,7 @@ import java.util.EventListener;
import java.util.EventObject;
import java.util.List;
import java.util.TreeMap;
import java.util.WeakHashMap;
import sun.awt.AppContext;
import sun.reflect.misc.ReflectUtil;
/**
......@@ -98,10 +95,7 @@ public class Introspector {
public final static int IGNORE_ALL_BEANINFO = 3;
// Static Caches to speed up introspection.
private static WeakCache<Class<?>, Method[]> declaredMethodCache =
new WeakCache<Class<?>, Method[]>();
private static final Object BEANINFO_CACHE = new Object();
private static final WeakCache<Class<?>, Method[]> declaredMethodCache = new WeakCache<>();
private Class beanClass;
private BeanInfo explicitBeanInfo;
......@@ -134,8 +128,6 @@ public class Introspector {
static final String SET_PREFIX = "set";
static final String IS_PREFIX = "is";
private static final Object FINDER_KEY = new Object();
//======================================================================
// Public methods
//======================================================================
......@@ -160,20 +152,15 @@ public class Introspector {
if (!ReflectUtil.isPackageAccessible(beanClass)) {
return (new Introspector(beanClass, null, USE_ALL_BEANINFO)).getBeanInfo();
}
Map<Class<?>, BeanInfo> beanInfoCache;
ThreadGroupContext context = ThreadGroupContext.getContext();
BeanInfo beanInfo;
synchronized (BEANINFO_CACHE) {
beanInfoCache = (Map<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache == null) {
beanInfoCache = new WeakHashMap<Class<?>, BeanInfo>();
AppContext.getAppContext().put(BEANINFO_CACHE, beanInfoCache);
}
beanInfo = beanInfoCache.get(beanClass);
synchronized (declaredMethodCache) {
beanInfo = context.getBeanInfo(beanClass);
}
if (beanInfo == null) {
beanInfo = new Introspector(beanClass, null, USE_ALL_BEANINFO).getBeanInfo();
synchronized (BEANINFO_CACHE) {
beanInfoCache.put(beanClass, beanInfo);
synchronized (declaredMethodCache) {
context.putBeanInfo(beanClass, beanInfo);
}
}
return beanInfo;
......@@ -306,7 +293,7 @@ public class Introspector {
*/
public static String[] getBeanInfoSearchPath() {
return getFinder().getPackages();
return ThreadGroupContext.getContext().getBeanInfoFinder().getPackages();
}
/**
......@@ -330,7 +317,7 @@ public class Introspector {
if (sm != null) {
sm.checkPropertiesAccess();
}
getFinder().setPackages(path);
ThreadGroupContext.getContext().getBeanInfoFinder().setPackages(path);
}
......@@ -342,11 +329,8 @@ public class Introspector {
*/
public static void flushCaches() {
synchronized (BEANINFO_CACHE) {
Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache != null) {
beanInfoCache.clear();
}
synchronized (declaredMethodCache) {
ThreadGroupContext.getContext().clearBeanInfoCache();
declaredMethodCache.clear();
}
}
......@@ -370,11 +354,8 @@ public class Introspector {
if (clz == null) {
throw new NullPointerException();
}
synchronized (BEANINFO_CACHE) {
Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache != null) {
beanInfoCache.put(clz, null);
}
synchronized (declaredMethodCache) {
ThreadGroupContext.getContext().removeBeanInfo(clz);
declaredMethodCache.put(clz, null);
}
}
......@@ -452,7 +433,7 @@ public class Introspector {
* @return Instance of an explicit BeanInfo class or null if one isn't found.
*/
private static BeanInfo findExplicitBeanInfo(Class beanClass) {
return getFinder().find(beanClass);
return ThreadGroupContext.getContext().getBeanInfoFinder().find(beanClass);
}
/**
......@@ -1275,7 +1256,7 @@ public class Introspector {
if (!ReflectUtil.isPackageAccessible(clz)) {
return new Method[0];
}
synchronized (BEANINFO_CACHE) {
synchronized (declaredMethodCache) {
Method[] result = declaredMethodCache.get(clz);
if (result == null) {
result = clz.getMethods();
......@@ -1426,17 +1407,6 @@ public class Introspector {
return false;
}
private static BeanInfoFinder getFinder() {
AppContext context = AppContext.getAppContext();
Object object = context.get(FINDER_KEY);
if (object instanceof BeanInfoFinder) {
return (BeanInfoFinder) object;
}
BeanInfoFinder finder = new BeanInfoFinder();
context.put(FINDER_KEY, finder);
return finder;
}
/**
* Try to create an instance of a named class.
* First try the classloader of "sibling", then try the system
......
/*
* Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 2011, 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
......@@ -25,6 +25,8 @@
package java.beans;
import java.util.EventObject;
/**
* A "PropertyChange" event gets delivered whenever a bean changes a "bound"
* or "constrained" property. A PropertyChangeEvent object is sent as an
......@@ -42,21 +44,21 @@ package java.beans;
* arbitrary set of if its properties have changed. In this case the
* old and new values should also be null.
*/
public class PropertyChangeEvent extends java.util.EventObject {
public class PropertyChangeEvent extends EventObject {
private static final long serialVersionUID = 7042693688939648123L;
/**
* Constructs a new <code>PropertyChangeEvent</code>.
* Constructs a new {@code PropertyChangeEvent}.
*
* @param source the bean that fired the event
* @param propertyName the programmatic name of the property that was changed
* @param oldValue the old value of the property
* @param newValue the new value of the property
*
* @param source The bean that fired the event.
* @param propertyName The programmatic name of the property
* that was changed.
* @param oldValue The old value of the property.
* @param newValue The new value of the property.
* @throws IllegalArgumentException if {@code source} is {@code null}
*/
public PropertyChangeEvent(Object source, String propertyName,
Object oldValue, Object newValue) {
Object oldValue, Object newValue) {
super(source);
this.propertyName = propertyName;
this.newValue = newValue;
......
......@@ -454,10 +454,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
editor = ctor.newInstance(new Object[] { bean });
}
} catch (Exception ex) {
// A serious error has occured.
// Proably due to an invalid property editor.
throw new RuntimeException("PropertyEditor not instantiated",
ex);
// Fall through
}
}
return (PropertyEditor)editor;
......
......@@ -25,9 +25,6 @@
package java.beans;
import com.sun.beans.finder.PropertyEditorFinder;
import sun.awt.AppContext;
/**
* The PropertyEditorManager can be used to locate a property editor for
* any given type name. This property editor must support the
......@@ -55,8 +52,6 @@ import sun.awt.AppContext;
public class PropertyEditorManager {
private static final Object FINDER_KEY = new Object();
/**
* Registers an editor class to edit values of the given target class.
* If the editor class is {@code null},
......@@ -81,7 +76,7 @@ public class PropertyEditorManager {
if (sm != null) {
sm.checkPropertiesAccess();
}
getFinder().register(targetType, editorClass);
ThreadGroupContext.getContext().getPropertyEditorFinder().register(targetType, editorClass);
}
/**
......@@ -92,7 +87,7 @@ public class PropertyEditorManager {
* The result is null if no suitable editor can be found.
*/
public static PropertyEditor findEditor(Class<?> targetType) {
return getFinder().find(targetType);
return ThreadGroupContext.getContext().getPropertyEditorFinder().find(targetType);
}
/**
......@@ -104,7 +99,7 @@ public class PropertyEditorManager {
* e.g. Sun implementation initially sets to {"sun.beans.editors"}.
*/
public static String[] getEditorSearchPath() {
return getFinder().getPackages();
return ThreadGroupContext.getContext().getPropertyEditorFinder().getPackages();
}
/**
......@@ -125,17 +120,6 @@ public class PropertyEditorManager {
if (sm != null) {
sm.checkPropertiesAccess();
}
getFinder().setPackages(path);
}
private static PropertyEditorFinder getFinder() {
AppContext context = AppContext.getAppContext();
Object object = context.get(FINDER_KEY);
if (object instanceof PropertyEditorFinder) {
return (PropertyEditorFinder) object;
}
PropertyEditorFinder finder = new PropertyEditorFinder();
context.put(FINDER_KEY, finder);
return finder;
ThreadGroupContext.getContext().getPropertyEditorFinder().setPackages(path);
}
}
/*
* Copyright (c) 2011, 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 java.beans;
import com.sun.beans.finder.BeanInfoFinder;
import com.sun.beans.finder.PropertyEditorFinder;
import java.awt.GraphicsEnvironment;
import java.util.HashMap;
import java.util.Map;
import java.util.WeakHashMap;
/**
* The {@code ThreadGroupContext} is an application-dependent
* context referenced by the specific {@link ThreadGroup}.
* This is a replacement for the {@link sun.awt.AppContext}.
*
* @author Sergey Malenkov
*/
final class ThreadGroupContext {
private static final Map<ThreadGroup, ThreadGroupContext> contexts = new WeakHashMap<>();
/**
* Returns the appropriate {@code AppContext} for the caller,
* as determined by its {@code ThreadGroup}.
*
* @return the application-dependent context
*/
static ThreadGroupContext getContext() {
ThreadGroup group = Thread.currentThread().getThreadGroup();
synchronized (contexts) {
ThreadGroupContext context = contexts.get(group);
if (context == null) {
context = new ThreadGroupContext();
contexts.put(group, context);
}
return context;
}
}
private volatile boolean isDesignTime;
private volatile Boolean isGuiAvailable;
private Map<Class<?>, BeanInfo> beanInfoCache;
private BeanInfoFinder beanInfoFinder;
private PropertyEditorFinder propertyEditorFinder;
boolean isDesignTime() {
return this.isDesignTime;
}
void setDesignTime(boolean isDesignTime) {
this.isDesignTime = isDesignTime;
}
boolean isGuiAvailable() {
Boolean isGuiAvailable = this.isGuiAvailable;
return (isGuiAvailable != null)
? isGuiAvailable.booleanValue()
: !GraphicsEnvironment.isHeadless();
}
void setGuiAvailable(boolean isGuiAvailable) {
this.isGuiAvailable = Boolean.valueOf(isGuiAvailable);
}
BeanInfo getBeanInfo(Class<?> type) {
return (this.beanInfoCache != null)
? this.beanInfoCache.get(type)
: null;
}
BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
if (this.beanInfoCache == null) {
this.beanInfoCache = new WeakHashMap<>();
}
return this.beanInfoCache.put(type, info);
}
void removeBeanInfo(Class<?> type) {
if (this.beanInfoCache != null) {
this.beanInfoCache.remove(type);
}
}
void clearBeanInfoCache() {
if (this.beanInfoCache != null) {
this.beanInfoCache.clear();
}
}
synchronized BeanInfoFinder getBeanInfoFinder() {
if (this.beanInfoFinder == null) {
this.beanInfoFinder = new BeanInfoFinder();
}
return this.beanInfoFinder;
}
synchronized PropertyEditorFinder getPropertyEditorFinder() {
if (this.propertyEditorFinder == null) {
this.propertyEditorFinder = new PropertyEditorFinder();
}
return this.propertyEditorFinder;
}
}
......@@ -403,6 +403,10 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou
* @see MouseListener#mouseClicked
*/
public void mouseClicked(MouseEvent e) {
if (getComponent() == null) {
return;
}
int nclicks = SwingUtilities2.getAdjustedClickCount(getComponent(), e);
if (! e.isConsumed()) {
......
......@@ -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;
......
......@@ -51,6 +51,7 @@ import javax.swing.UIDefaults;
import sun.awt.*;
import sun.font.FontConfigManager;
import sun.font.FontManager;
import sun.java2d.SunGraphicsEnvironment;
import sun.misc.PerformanceLogger;
import sun.print.PrintJob2D;
import sun.security.action.GetBooleanAction;
......@@ -109,7 +110,7 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
static int awt_multiclick_time;
static boolean securityWarningEnabled;
private static int screenWidth = -1, screenHeight = -1; // Dimensions of default screen
private static volatile int screenWidth = -1, screenHeight = -1; // Dimensions of default screen
static long awt_defaultFg; // Pixel
private static XMouseInfoPeer xPeer;
private static Method m_removeSourceEvents;
......@@ -310,6 +311,19 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
saved_error_handler = XlibWrapper.SetToolkitErrorHandler();
// Detect display mode changes
XlibWrapper.XSelectInput(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), XConstants.StructureNotifyMask);
XToolkit.addEventDispatcher(XToolkit.getDefaultRootWindow(), new XEventDispatcher() {
@Override
public void dispatchEvent(XEvent ev) {
if (ev.get_type() == XConstants.ConfigureNotify) {
((X11GraphicsEnvironment)GraphicsEnvironment.
getLocalGraphicsEnvironment()).
displayChanged();
}
}
});
} finally {
awtUnlock();
}
......@@ -684,29 +698,49 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
}
}
static int getDefaultScreenWidth() {
if (screenWidth == -1) {
long display = getDisplay();
static {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
if (ge instanceof SunGraphicsEnvironment) {
((SunGraphicsEnvironment)ge).addDisplayChangedListener(
new DisplayChangedListener() {
@Override
public void displayChanged() {
// 7045370: Reset the cached values
XToolkit.screenWidth = -1;
XToolkit.screenHeight = -1;
}
@Override
public void paletteChanged() {}
});
}
}
private static void initScreenSize() {
if (screenWidth == -1 || screenHeight == -1) {
awtLock();
try {
screenWidth = (int) XlibWrapper.DisplayWidth(display, XlibWrapper.DefaultScreen(display));
XWindowAttributes pattr = new XWindowAttributes();
try {
XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), pattr.pData);
screenWidth = (int) pattr.get_width();
screenHeight = (int) pattr.get_height();
} finally {
pattr.dispose();
}
} finally {
awtUnlock();
}
}
}
static int getDefaultScreenWidth() {
initScreenSize();
return screenWidth;
}
static int getDefaultScreenHeight() {
if (screenHeight == -1) {
long display = getDisplay();
awtLock();
try {
screenHeight = (int) XlibWrapper.DisplayHeight(display, XlibWrapper.DefaultScreen(display));
} finally {
awtUnlock();
}
}
initScreenSize();
return screenHeight;
}
......
......@@ -208,12 +208,19 @@ class XWindowPeer extends XPanelPeer implements WindowPeer,
return name;
}
private static native String getLocalHostname();
private static native int getJvmPID();
void postInit(XCreateWindowParams params) {
super.postInit(params);
// Init WM_PROTOCOLS atom
initWMProtocols();
// Set _NET_WM_PID and WM_CLIENT_MACHINE using this JVM
XAtom.get("WM_CLIENT_MACHINE").setProperty(getWindow(), getLocalHostname());
XAtom.get("_NET_WM_PID").setCard32Property(getWindow(), getJvmPID());
// Set WM_TRANSIENT_FOR and group_leader
Window t_window = (Window)target;
Window owner = t_window.getOwner();
......
......@@ -487,14 +487,9 @@ public class X11GraphicsDevice
* X11GraphicsEnvironment when the display mode has been changed.
*/
public synchronized void displayChanged() {
// reset the list of configs (and default config)
defaultConfig = null;
configs = null;
doubleBufferVisuals = null;
// reset the native data structures associated with this device (they
// will be reinitialized when the GraphicsConfigs are configured)
resetNativeData(screen);
// On X11 the visuals do not change, and therefore we don't need
// to reset the defaultConfig, config, doubleBufferVisuals,
// neither do we need to reset the native data.
// pass on to all top-level windows on this screen
topLevels.notifyListeners();
......
/*
* 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) 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) 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 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
......@@ -23,15 +23,22 @@
* questions.
*/
/*
*/
#include <jni.h>
#include <jni_util.h>
#ifdef HEADLESS
#ifndef _XDrawingArea_h_
#define _XDrawingArea_h_
extern JavaVM *jvm;
extern WidgetClass xDrawingAreaClass;
JNIEXPORT jint JNICALL
JNI_OnLoad(JavaVM *vm, void *reserved)
{
jvm = vm;
return JNI_VERSION_1_2;
}
typedef struct _XDrawingAreaClassRec *XDrawingAreaWidgetClass;
typedef struct _XDrawingAreaRec *XDrawingAreaWidget;
JNIEXPORT jboolean JNICALL AWTIsHeadless() {
return JNI_TRUE;
}
#endif /* !_VDrawingArea_h_ */
#endif
/*
* 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 _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
......@@ -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()
......@@ -1434,11 +1362,17 @@ Java_sun_awt_X11GraphicsConfig_pGetBounds(JNIEnv *env, jobject this, jint screen
fbrects[screen].height);
}
else {
XWindowAttributes xwa;
memset(&xwa, 0, sizeof(xwa));
AWT_LOCK ();
XGetWindowAttributes(awt_display,
RootWindow(awt_display, adata->awt_visInfo.screen),
&xwa);
AWT_UNLOCK ();
bounds = (*env)->NewObject(env, clazz, mid, 0, 0,
DisplayWidth(awt_display,
adata->awt_visInfo.screen),
DisplayHeight(awt_display,
adata->awt_visInfo.screen));
xwa.width, xwa.height);
}
if ((*env)->ExceptionOccurred(env)) {
......
/*
* 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_ */
......@@ -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) 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_ */
此差异已折叠。
......@@ -27,58 +27,8 @@
#define _AWT_UTIL_H_
#ifndef HEADLESS
#ifndef XAWT
#include <Xm/VendorSEP.h>
#include <Xm/VendorSP.h>
#endif
#include "gdefs.h"
typedef struct ConvertEventTimeAndModifiers {
jlong when;
jint modifiers;
} ConvertEventTimeAndModifiers;
Boolean awt_util_focusIsOnMenu(Display *display);
int32_t awt_util_sendButtonClick(Display *display, Window window);
Widget awt_util_createWarningWindow(Widget parent, char *warning);
void awt_util_show(Widget w);
void awt_util_hide(Widget w);
void awt_util_enable(Widget w);
void awt_util_disable(Widget w);
void awt_util_reshape(Widget w, jint x, jint y, jint wd, jint ht);
void awt_util_mapChildren(Widget w, void (*func)(Widget,void *),
int32_t applyToSelf, void *data);
int32_t awt_util_setCursor(Widget w, Cursor c);
void awt_util_convertEventTimeAndModifiers
(XEvent *event, ConvertEventTimeAndModifiers *output);
Widget awt_WidgetAtXY(Widget root, Position x, Position y);
char *awt_util_makeWMMenuItem(char *target, Atom protocol);
Cardinal awt_util_insertCallback(Widget w);
void awt_util_consumeAllXEvents(Widget widget);
void awt_util_cleanupBeforeDestroyWidget(Widget widget);
void awt_util_debug_init();
Time awt_util_getCurrentServerTime();
jlong awt_util_nowMillisUTC();
jlong awt_util_nowMillisUTC_offset(Time server_offset);
void awt_util_do_wheel_scroll(Widget scrolled_window, jint scrollType,
jint scrollAmt, jint wheelAmt);
Widget awt_util_get_scrollbar_to_scroll(Widget window);
typedef struct _EmbeddedFrame {
Widget embeddedFrame;
Window frameContainer;
jobject javaRef;
Boolean eventSelectedPreviously;
struct _EmbeddedFrame * next;
struct _EmbeddedFrame * prev;
} EmbeddedFrame;
void awt_util_addEmbeddedFrame(Widget embeddedFrame, jobject javaRef);
void awt_util_delEmbeddedFrame(Widget embeddedFrame);
Boolean awt_util_processEventForEmbeddedFrame(XEvent *ev);
#define WITH_XERROR_HANDLER(f) do { \
XSync(awt_display, False); \
xerror_code = Success; \
......@@ -115,8 +65,6 @@ extern XErrorHandler xerror_saved_handler;
*/
extern unsigned char xerror_code;
extern int xerror_ignore_bad_window(Display *dpy, XErrorEvent *err);
#endif /* !HEADLESS */
#ifndef INTERSECTS
......@@ -143,13 +91,8 @@ struct DPos {
int32_t echoC;
};
extern jobject awtJNI_GetCurrentThread(JNIEnv *env);
extern void awtJNI_ThreadYield(JNIEnv *env);
#ifndef HEADLESS
extern Widget prevWidget;
#endif /* !HEADLESS */
/*
* Functions for accessing fields by name and signature
*/
......@@ -183,69 +126,4 @@ JNU_SetBooleanField(JNIEnv *env, jobject self, const char *name, jboolean val);
JNIEXPORT jint JNICALL
JNU_GetCharField(JNIEnv *env, jobject self, const char *name);
#ifndef HEADLESS
#ifdef __solaris__
extern Widget awt_util_getXICStatusAreaWindow(Widget w);
#else
int32_t awt_util_getIMStatusHeight(Widget vw);
XVaNestedList awt_util_getXICStatusAreaList(Widget w);
Widget awt_util_getXICStatusAreaWindow(Widget w);
#endif
#ifdef __linux__
typedef struct _XmImRefRec {
Cardinal num_refs; /* Number of referencing widgets. */
Cardinal max_refs; /* Maximum length of refs array. */
Widget* refs; /* Array of referencing widgets. */
XtPointer **callbacks;
} XmImRefRec, *XmImRefInfo;
typedef struct _PreeditBufferRec {
unsigned short length;
wchar_t *text;
XIMFeedback *feedback;
int32_t caret;
XIMCaretStyle style;
} PreeditBufferRec, *PreeditBuffer;
typedef struct _XmImXICRec {
struct _XmImXICRec *next; /* Links all have the same XIM. */
XIC xic; /* The XIC. */
Window focus_window; /* Cached information about the XIC. */
XIMStyle input_style; /* ...ditto... */
int32_t status_width; /* ...ditto... */
int32_t preedit_width; /* ...ditto... */
int32_t sp_height; /* ...ditto... */
Boolean has_focus; /* Does this XIC have keyboard focus. */
Boolean anonymous; /* Do we have exclusive rights to this XIC. */
XmImRefRec widget_refs; /* Widgets referencing this XIC. */
struct _XmImXICRec **source; /* Original source of shared XICs. */
PreeditBuffer preedit_buffer;
} XmImXICRec, *XmImXICInfo;
typedef struct _XmImShellRec {
/* per-Shell fields. */
Widget im_widget; /* Dummy widget to make intrinsics behave. */
Widget current_widget; /* Widget whose visual we're matching. */
/* per <Shell,XIM> fields. */
XmImXICInfo shell_xic; /* For PER_SHELL sharing policy. */
XmImXICInfo iclist; /* All known XICs for this <XIM,Shell>. */
} XmImShellRec, *XmImShellInfo;
typedef struct {
/* per-Display fields. */
XContext current_xics; /* Map widget -> current XmImXICInfo. */
/* per-XIM fields. */
XIM xim; /* The XIM. */
XIMStyles *styles; /* XNQueryInputStyle result. */
XmImRefRec shell_refs; /* Shells referencing this XIM. */
} XmImDisplayRec, *XmImDisplayInfo;
#endif
#endif /* !HEADLESS */
#endif /* _AWT_UTIL_H_ */
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -29,13 +29,8 @@
#define _MULTI_FONT_H_
#ifndef HEADLESS
jobject awtJNI_GetFont(JNIEnv *env,jobject this);
jboolean awtJNI_IsMultiFont(JNIEnv *env,jobject this);
jboolean awtJNI_IsMultiFontMetrics(JNIEnv *env,jobject this);
#ifndef XAWT
XmString awtJNI_MakeMultiFontString(JNIEnv *env,jstring s,jobject font);
XmFontList awtJNI_GetFontList(JNIEnv *env,jobject font);
#endif
XFontSet awtJNI_MakeFontSet(JNIEnv *env,jobject font);
struct FontData *awtJNI_GetFontData(JNIEnv *env,jobject font, char **errmsg);
int32_t awtJNI_GetMFStringWidth(JNIEnv * env, jcharArray s, int32_t offset,
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册