Home | History | Annotate | Download | only in graphics
      1 #ifndef CreateJavaOutputStream_DEFINED
      2 #define CreateJavaOutputStream_DEFINED
      3 
      4 //#include <android_runtime/AndroidRuntime.h>
      5 #include "jni.h"
      6 
      7 class SkMemoryStream;
      8 class SkStream;
      9 class SkStreamRewindable;
     10 class 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  */
     24 SkStream* 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  */
     36 SkStreamRewindable* CopyJavaInputStream(JNIEnv* env, jobject stream,
     37                                         jbyteArray storage);
     38 
     39 SkWStream* CreateJavaOutputStreamAdaptor(JNIEnv* env, jobject stream,
     40                                          jbyteArray storage);
     41 #endif
     42