blip  0.1
JavaBitmap.hpp
Go to the documentation of this file.
1 #ifndef __blip_JavaBitmap_hpp
2 #define __blip_JavaBitmap_hpp
3 
4 #include <jni.h>
5 #include <android/bitmap.h>
6 
7 #include <blip/Blip.hpp>
8 
9 #include <commonc++/Flags.h++>
10 
11 namespace blip {
12 
18 {
19  public:
20 
21  enum Format { Format_None = 0,
25  Format_A_8 = 8 };
26 
27  JavaBitmap(JNIEnv* env, jobject jbitmap);
28  ~JavaBitmap();
29 
30  bool lockPixels();
31  bool unlockPixels();
32 
33  inline bool isValid() const
34  { return(_valid); }
35 
36  inline byte_t* getData()
37  { return(reinterpret_cast<byte_t*>(_addr)); }
38 
39  inline const byte_t* getData() const
40  { return(reinterpret_cast<const byte_t*>(_addr)); }
41 
42  uint32_t getWidth() const;
43  uint32_t getHeight() const;
44  uint32_t getRowStride() const;
45  Format getFormat() const;
46  const ccxx::Flags<uint32_t> getFlags() const;
47 
48  private:
49 
50  JNIEnv* _env;
51  jobject _jbitmap;
52  AndroidBitmapInfo _info;
53  void *_addr;
54  bool _valid;
55 
56  CCXX_COPY_DECLS(JavaBitmap);
57 };
58 
59 } // namespace blip
60 
61 #endif // __blip_JavaBitmap_hpp
Definition: JavaBitmap.hpp:22
const ccxx::Flags< uint32_t > getFlags() const
Definition: JavaBitmap.cpp:79
Definition: JavaBitmap.hpp:25
~JavaBitmap()
Definition: JavaBitmap.cpp:24
bool isValid() const
Definition: JavaBitmap.hpp:33
uint32_t getWidth() const
Definition: JavaBitmap.cpp:47
uint32_t getRowStride() const
Definition: JavaBitmap.cpp:63
Definition: JavaBitmap.hpp:24
byte_t * getData()
Definition: JavaBitmap.hpp:36
bool unlockPixels()
Definition: JavaBitmap.cpp:39
JavaBitmap(JNIEnv *env, jobject jbitmap)
Definition: JavaBitmap.cpp:12
bool lockPixels()
Definition: JavaBitmap.cpp:31
Definition: JavaBitmap.hpp:17
WAV file format details at: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.
Definition: AccelerometerSensorEvent.cpp:3
uint32_t getHeight() const
Definition: JavaBitmap.cpp:55
Format getFormat() const
Definition: JavaBitmap.cpp:71
const byte_t * getData() const
Definition: JavaBitmap.hpp:39
Definition: JavaBitmap.hpp:21
Format
Definition: JavaBitmap.hpp:21
Definition: JavaBitmap.hpp:23