| #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_ |