|  | #ifndef _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ | 
|  | #define _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ | 
|  |  | 
|  | #include "jni.h" | 
|  | #include "SkData.h" | 
|  |  | 
|  | class SkMemoryStream; | 
|  | class SkStream; | 
|  | class SkStreamRewindable; | 
|  | class SkWStream; | 
|  |  | 
|  | /** | 
|  | *  Return an adaptor from a Java InputStream to an SkStream. | 
|  | *  Does not support rewind. | 
|  | *  @param env JNIEnv object. | 
|  | *  @param stream Pointer to Java InputStream. | 
|  | *  @param storage Java byte array for retrieving data from the | 
|  | *      Java InputStream. | 
|  | *  @param swallowExceptions Whether to call ExceptionClear() after | 
|  | *      an Exception is thrown. If false, it is up to the client to | 
|  | *      clear or propagate the exception. | 
|  | *  @return SkStream Simple subclass of SkStream which supports its | 
|  | *      basic methods like reading. Only valid until the calling | 
|  | *      function returns, since the Java InputStream is not managed | 
|  | *      by the SkStream. | 
|  | */ | 
|  | SkStream* CreateJavaInputStreamAdaptor(JNIEnv* env, jobject stream, jbyteArray storage, | 
|  | bool swallowExceptions = true); | 
|  |  | 
|  | /** | 
|  | *  Copy a Java InputStream to an SkData. | 
|  | *  @param env JNIEnv object. | 
|  | *  @param stream Pointer to Java InputStream. | 
|  | *  @param storage Java byte array for retrieving data from the | 
|  | *      Java InputStream. | 
|  | *  @return SkData containing the stream's data. | 
|  | */ | 
|  | sk_sp<SkData> CopyJavaInputStream(JNIEnv* env, jobject stream, jbyteArray storage); | 
|  |  | 
|  | SkWStream* CreateJavaOutputStreamAdaptor(JNIEnv* env, jobject stream, jbyteArray storage); | 
|  |  | 
|  | #endif  // _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ |