--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/m2g_qt/javasrc/javax/microedition/m2g/ExternalResourceHandler.java Fri Oct 15 12:29:39 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+package javax.microedition.m2g;
+
+
+/**
+* <p>This interface is used to load external resources that are referenced
+* within a ScalableImage, namely within an SVG document in the case of SVG.
+* In SVGT 1.1, these resources are not required for displaying the SVG document.
+* If no ExternalResourceHandler is registered when creating the image,
+* the engine will retrieve these resources using its own implementation
+* of the requestResource method.</p>
+*<p>
+* The default engine behaviour can be overwritten by passing to {@link javax.microedition.m2g.ScalableImage#createImage createImage}
+* an implementation of this interface as paramater when the default implementation
+* is insufficient. For example, if the SVGImage is loaded from within a
+* Jar file, the implementation will not be able to load images that
+* have relative URIs (e.g., <image xlink:href="myImage.png" />).
+* All the external resources are requested by the engine at the time of
+* the <code>createImage</code> call. Note that SVGT 1.1 does
+* not contain external references to SVG files, therefore an external
+* resource can not contain subsequent external resources. </p>
+*
+* @see javax.microedition.m2g.ScalableImage
+*/
+public interface ExternalResourceHandler
+{
+
+ /**
+ * This method is invoked when an external resource is required by the underlying implementation.
+ * When the request is completed by the implementation of this handler, a notification
+ * must be sent to the SVG engine through the requestCompleted() method of <code>ScalableImage</code>.
+ * To get a synchronous behaviour, requestCompleted() can be called in the implementation
+ * of requestResource. If called later, rendering the document before
+ * completing all the requests will just display the currently available content.
+ * Once the request is completed, the image will have to be redrawn to reflect the newly
+ * available data.
+ * For more details on required resources, please refer to the <code>externalResourcesRequired</code>
+ * attribute description in the SVG specification.
+ *
+ * @param image image that originated the external data request
+ * @param URI the URI for the external resource.
+ */
+ public void requestResource(ScalableImage image, String URI);
+
+};