213 lines
7.5 KiB
Java
213 lines
7.5 KiB
Java
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
* (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
/**
|
|
* @author Pavel Dolgov
|
|
* @version $Revision$
|
|
*/
|
|
package org.apache.harmony.awt;
|
|
|
|
//???AWT
|
|
//import java.awt.Component;
|
|
//import java.awt.Container;
|
|
//import java.awt.Dialog;
|
|
import java.awt.Dimension;
|
|
//import java.awt.Image;
|
|
import java.awt.Insets;
|
|
import java.awt.Point;
|
|
import java.awt.Rectangle;
|
|
//import java.awt.Window;
|
|
//import java.awt.Choice;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
import org.apache.harmony.awt.gl.MultiRectArea;
|
|
//import org.apache.harmony.awt.text.TextFieldKit;
|
|
//import org.apache.harmony.awt.text.TextKit;
|
|
//import org.apache.harmony.awt.wtk.NativeWindow;
|
|
|
|
import org.apache.harmony.luni.util.NotImplementedException;
|
|
|
|
/**
|
|
* The accessor to AWT private API
|
|
*/
|
|
public abstract class ComponentInternals {
|
|
|
|
/**
|
|
* @return the ComponentInternals instance to serve the requests
|
|
*/
|
|
public static ComponentInternals getComponentInternals() {
|
|
return ContextStorage.getComponentInternals();
|
|
}
|
|
|
|
/**
|
|
* This method must be called by AWT to establish the connection
|
|
* @param internals - implementation of ComponentInternals created by AWT
|
|
*/
|
|
public static void setComponentInternals(ComponentInternals internals) {
|
|
ContextStorage.setComponentInternals(internals);
|
|
}
|
|
|
|
/**
|
|
* The accessor to native resource connected to a component.
|
|
* It returns non-<code>null</code> value only if component
|
|
* already has the native resource
|
|
*/
|
|
//public abstract NativeWindow getNativeWindow(Component component);
|
|
|
|
/**
|
|
* Connect Window object to existing native resource
|
|
* @param nativeWindowId - id of native window to attach
|
|
* @return Window object with special behaviour that
|
|
* restricts manupulation with that window
|
|
*/
|
|
//public abstract Window attachNativeWindow(long nativeWindowId);
|
|
|
|
/**
|
|
* Start mouse grab in "client" mode.
|
|
* All mouse events in AWT components will be reported as usual,
|
|
* mouse events that occured outside of AWT components will be sent to
|
|
* the window passed as grabWindow parameter. When mouse grab is canceled
|
|
* (because of click in non-AWT window or by task switching)
|
|
* the whenCanceled callback is called
|
|
*
|
|
* @param grabWindow - window that will own the grab
|
|
* @param whenCanceled - callback called when grab is canceled by user's action
|
|
*/
|
|
//public abstract void startMouseGrab(Window grabWindow, Runnable whenCanceled);
|
|
|
|
/**
|
|
* End mouse grab and resume normal processing of mouse events
|
|
*/
|
|
//public abstract void endMouseGrab();
|
|
|
|
/**
|
|
* Set the <code>popup</code> flag of the window to true.
|
|
* This window won't be controlled by window manager on Linux.
|
|
* Call this method before the window is shown first time
|
|
* @param window - the window that should become popup one
|
|
*/
|
|
//public abstract void makePopup(Window window);
|
|
|
|
/**
|
|
* This method must be called by Graphics at the beginning of drawImage()
|
|
* to store image drawing parameters (defined by application developer) in component
|
|
*
|
|
* @param comp - component that draws the image
|
|
* @param image - image to be drawn
|
|
* @param destLocation - location of the image upon the component's surface. Never null.
|
|
* @param destSize - size of the component's area to be filled with the image.
|
|
* Equals to null if size parameters omitted in drawImage.
|
|
* @param source - area of the image to be drawn on the component.
|
|
* Equals to null if src parameters omitted in drawImage.
|
|
*/
|
|
/*
|
|
public abstract void onDrawImage(Component comp, Image image, Point destLocation,
|
|
Dimension destSize, Rectangle source);
|
|
*/
|
|
/**
|
|
* Sets system's caret position.
|
|
* This method should be called by text component to synchronize our caret position
|
|
* with system's caret position.
|
|
* @param x
|
|
* @param y
|
|
*/
|
|
//public abstract void setCaretPos(Component c, int x, int y);
|
|
|
|
/**
|
|
* NEVER USE IT. FORGET IT. IT DOES NOT EXIST.
|
|
* See Toolkit.unsafeInvokeAndWait(Runnable).
|
|
*
|
|
* Accessor for Toolkit.unsafeInvokeAndWait(Runnable) method.
|
|
* For use in exceptional cases only.
|
|
* Read comments for Toolkit.unsafeInvokeAndWait(Runnable) before use.
|
|
*/
|
|
/*
|
|
public abstract void unsafeInvokeAndWait(Runnable runnable)
|
|
throws InterruptedException, InvocationTargetException;
|
|
|
|
public abstract TextKit getTextKit(Component comp);
|
|
|
|
public abstract void setTextKit(Component comp, TextKit kit);
|
|
|
|
public abstract TextFieldKit getTextFieldKit(Component comp);
|
|
|
|
public abstract void setTextFieldKit(Component comp, TextFieldKit kit);
|
|
*/
|
|
/**
|
|
* Terminate event dispatch thread, completely destroy AWT context.<br>
|
|
* Intended for multi-context mode, in single-context mode does nothing.
|
|
*
|
|
*/
|
|
public abstract void shutdown();
|
|
|
|
/**
|
|
* Sets mouse events preprocessor for event queue
|
|
*/
|
|
//public abstract void setMouseEventPreprocessor(MouseEventPreprocessor preprocessor);
|
|
|
|
/**
|
|
* Create customized Choice using style
|
|
*/
|
|
//public abstract Choice createCustomChoice(ChoiceStyle style);
|
|
|
|
//public abstract Insets getNativeInsets(Window w);
|
|
|
|
/**
|
|
* Region to be repainted (could be null). Use this in overridden repaint()
|
|
*/
|
|
//public abstract MultiRectArea getRepaintRegion(Component c);
|
|
|
|
//public abstract MultiRectArea subtractPendingRepaintRegion(Component c, MultiRectArea mra);
|
|
|
|
/**
|
|
* Returns true if the window was at least once painted due to native paint events
|
|
*/
|
|
//public abstract boolean wasPainted(Window w);
|
|
|
|
/**
|
|
* The component's region hidden behind top-level windows
|
|
* (belonging to both this Java app and all other apps), and behind
|
|
* heavyweight components overlapping with passed component
|
|
*/
|
|
//public abstract MultiRectArea getObscuredRegion(Component c);
|
|
|
|
/**
|
|
* An accessor to Container.addObscuredRegions() method
|
|
* @see java.awt.Container#addObscuredRegions(MultiRectArea, Component)
|
|
*/
|
|
//public abstract void addObscuredRegions(MultiRectArea mra, Component c, Container container);
|
|
|
|
/**
|
|
* Makes it possible to call protected Toolkit.setDesktopProperty()
|
|
* method from any class outside of java.awt package
|
|
*/
|
|
public abstract void setDesktopProperty(String name, Object value);
|
|
|
|
/**
|
|
* Makes it possible to start/stop dialog modal loop
|
|
* from anywhere outside of java.awt package
|
|
*/
|
|
//public abstract void runModalLoop(Dialog dlg);
|
|
//public abstract void endModalLoop(Dialog dlg);
|
|
|
|
/**
|
|
* Sets component's visible flag only
|
|
* (the component is not actually shown/hidden)
|
|
*/
|
|
//public abstract void setVisibleFlag(Component comp, boolean visible);
|
|
|
|
}
|