1#ifndef CreateJavaOutputStream_DEFINED 2#define CreateJavaOutputStream_DEFINED 3 4//#include <android_runtime/AndroidRuntime.h> 5#include "jni.h" 6 7class SkMemoryStream; 8class SkStream; 9class SkStreamRewindable; 10class SkWStream; 11 12/** 13 * Return an adaptor from a Java InputStream to an SkStream. 14 * Does not support rewind. 15 * @param env JNIEnv object. 16 * @param stream Pointer to Java InputStream. 17 * @param storage Java byte array for retrieving data from the 18 * Java InputStream. 19 * @return SkStream Simple subclass of SkStream which supports its 20 * basic methods like reading. Only valid until the calling 21 * function returns, since the Java InputStream is not managed 22 * by the SkStream. 23 */ 24SkStream* CreateJavaInputStreamAdaptor(JNIEnv* env, jobject stream, 25 jbyteArray storage); 26 27/** 28 * Copy a Java InputStream. The result will be rewindable. 29 * @param env JNIEnv object. 30 * @param stream Pointer to Java InputStream. 31 * @param storage Java byte array for retrieving data from the 32 * Java InputStream. 33 * @return SkStreamRewindable The data in stream will be copied 34 * to a new SkStreamRewindable. 35 */ 36SkStreamRewindable* CopyJavaInputStream(JNIEnv* env, jobject stream, 37 jbyteArray storage); 38 39SkWStream* CreateJavaOutputStreamAdaptor(JNIEnv* env, jobject stream, 40 jbyteArray storage); 41#endif 42