Android sample is refactored according to Google code style guidelines for Android...
authorAndrey Kamaev <no@email>
Wed, 29 Jun 2011 05:38:51 +0000 (05:38 +0000)
committerAndrey Kamaev <no@email>
Wed, 29 Jun 2011 05:38:51 +0000 (05:38 +0000)
samples/android/0-base/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
samples/android/0-base/src/org/opencv/samples/Sample0Base.java
samples/android/0-base/src/org/opencv/samples/Sample0View.java

diff --git a/samples/android/0-base/.settings/org.eclipse.jdt.core.prefs b/samples/android/0-base/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..d995784
--- /dev/null
@@ -0,0 +1,5 @@
+#Wed Jun 29 04:36:40 MSD 2011\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5\r
+org.eclipse.jdt.core.compiler.compliance=1.5\r
+org.eclipse.jdt.core.compiler.source=1.5\r
index 48bd49f..121488f 100644 (file)
@@ -9,36 +9,36 @@ import android.view.Window;
 
 public class Sample0Base extends Activity {
     private static final String TAG = "Sample0Base::Activity";
-    
-       public static final int view_mode_rgba = 0;
-       public static final int view_mode_gray = 1;
-       
-       private MenuItem item_preview_rgba;
-       private MenuItem item_preview_gray;
-       
-       public int view_mode;
-       
+
+    public static final int VIEW_MODE_RGBA = 0;
+    public static final int VIEW_MODE_GRAY = 1;
+
+    private MenuItem mItemPreviewRGBA;
+    private MenuItem mItemPreviewGray;
+
+    public int viewMode;
+
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
-        setContentView( new Sample0View(this) );
-        view_mode = view_mode_rgba;
+        setContentView(new Sample0View(this));
+        viewMode = VIEW_MODE_RGBA;
     }
-    
+
     public boolean onCreateOptionsMenu(Menu menu) {
-       item_preview_rgba = menu.add("Preview RGBA");
-       item_preview_gray = menu.add("Preview GRAY");
-               return true;
+        mItemPreviewRGBA = menu.add("Preview RGBA");
+        mItemPreviewGray = menu.add("Preview GRAY");
+        return true;
     }
-    
-    public boolean onOptionsItemSelected (MenuItem item) {
-       Log.i(TAG, "Menu Item selected " + item);
-       if (item == item_preview_rgba)
-               view_mode = view_mode_rgba;
-       else if (item == item_preview_gray)
-               view_mode = view_mode_gray;
-               return true;
+
+    public boolean onOptionsItemSelected(MenuItem item) {
+        Log.i(TAG, "Menu Item selected " + item);
+        if (item == mItemPreviewRGBA)
+            viewMode = VIEW_MODE_RGBA;
+        else if (item == mItemPreviewGray)
+            viewMode = VIEW_MODE_GRAY;
+        return true;
     }
 }
index 436cdb9..2697739 100644 (file)
@@ -1,6 +1,5 @@
 package org.opencv.samples;
 
-import java.util.List;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
@@ -10,128 +9,123 @@ import android.util.Log;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 
-class Sample0View extends SurfaceView implements SurfaceHolder.Callback, Runnable{
+import java.util.List;
+
+class Sample0View extends SurfaceView implements SurfaceHolder.Callback, Runnable {
     private static final String TAG = "Sample0Base::View";
     
-    private Camera camera;
-    private SurfaceHolder holder;
-    private int frame_width;
-    private int frame_height;
-    private byte[] frame;
-    
+    private Camera mCamera;
+    private SurfaceHolder mHolder;
+    private int mFrameWidth;
+    private int mFrameHeight;
+    private byte[] mFrame;
     private boolean mThreadRun;
-   
 
-       public Sample0View(Context context) {
-               super(context);
-               holder = getHolder();
-               holder.addCallback(this);
-       }
-       
+    public Sample0View(Context context) {
+        super(context);
+        mHolder = getHolder();
+        mHolder.addCallback(this);
+    }
 
-       public void surfaceChanged(SurfaceHolder _holder, int format, int width, int height) {
-        if ( camera != null) {
-            Camera.Parameters params = camera.getParameters();
+    public void surfaceChanged(SurfaceHolder _holder, int format, int width, int height) {
+        if ( mCamera != null) {
+            Camera.Parameters params = mCamera.getParameters();
             List<Camera.Size> sizes = params.getSupportedPreviewSizes();
-            frame_width = width;
-            frame_height = height;
+            mFrameWidth = width;
+            mFrameHeight = height;
             
-               //selecting optimal camera preview size
+            //selecting optimal camera preview size
             {
                 double minDiff = Double.MAX_VALUE;
                 for (Camera.Size size : sizes) {
                     if (Math.abs(size.height - height) < minDiff) {
-                       frame_width = size.width;
-                       frame_height = size.height;
+                        mFrameWidth = size.width;
+                        mFrameHeight = size.height;
                         minDiff = Math.abs(size.height - height);
                     }
                 }
             }
-            params.setPreviewSize(frame_width, frame_height);
-            camera.setParameters(params);
-               camera.startPreview();
+            params.setPreviewSize(mFrameWidth, mFrameHeight);
+            mCamera.setParameters(params);
+            mCamera.startPreview();
         }
     }
 
-       public void surfaceCreated(SurfaceHolder holder) {
-               camera = Camera.open();
-               camera.setPreviewCallback(
-                       new PreviewCallback() {
-                               public void onPreviewFrame(byte[] data, Camera camera) {
-                                       synchronized(Sample0View.this)
-                                       {
-                                               frame = data;
-                                               Sample0View.this.notify();
-                                       }
-                               }
-                       }
-               );
-       (new Thread(this)).start();
-       }
+    public void surfaceCreated(SurfaceHolder holder) {
+        mCamera = Camera.open();
+        mCamera.setPreviewCallback(
+                new PreviewCallback() {
+                    public void onPreviewFrame(byte[] data, Camera camera) {
+                        synchronized(Sample0View.this) {
+                            mFrame = data;
+                            Sample0View.this.notify();
+                        }
+                    }
+                }
+        );
+        (new Thread(this)).start();
+    }
 
-       public void surfaceDestroyed(SurfaceHolder holder) {
-               mThreadRun = false;
-               if(camera != null) {
-                       camera.stopPreview();
-                       camera.setPreviewCallback(null);
-                       camera.release();
-                       camera = null;
-               }
-       }
+    public void surfaceDestroyed(SurfaceHolder holder) {
+        mThreadRun = false;
+        if(mCamera != null) {
+            mCamera.stopPreview();
+            mCamera.setPreviewCallback(null);
+            mCamera.release();
+            mCamera = null;
+        }
+    }
 
-       public void run() {
-               mThreadRun = true;
-               Log.i(TAG, "Starting thread");
-               while(mThreadRun) {
-                       byte[] data = null;
-                       synchronized(this)
-                       {
-                               try {
-                                       this.wait();
-                                       data = frame;
-                               } catch (InterruptedException e) {
-                                       e.printStackTrace();
-                               }
-                       }
-                       
-                       Canvas canvas = holder.lockCanvas();
-                       
-                       int frameSize = frame_width*frame_height;
-                       int[] rgba = new int[frameSize];
-                       
-                       Sample0Base a = (Sample0Base)getContext();
-                       int view_mode = a.view_mode;
-                       if(view_mode == Sample0Base.view_mode_gray) {
-                               for(int i = 0; i < frameSize; i++) {
-                                       int y = (0xff & ((int)data[i]));
-                                       rgba[i] = 0xff000000 + (y << 16) + (y << 8) + y;
-                               }
-                       }
-                       else if (view_mode == Sample0Base.view_mode_rgba) {
-                               for(int i = 0; i < frame_height; i++)
-                                       for(int j = 0; j < frame_width; j++) {
-                                               int y = (0xff & ((int)data[i*frame_width+j]));
-                                               int u = (0xff & ((int)data[frameSize + (i >> 1) * frame_width + (j & ~1) + 0]));
-                                               int v = (0xff & ((int)data[frameSize + (i >> 1) * frame_width + (j & ~1) + 1]));
-                                               if (y < 16) y = 16;
-                                               
-                                               int r = Math.round(1.164f * (y - 16) + 1.596f * (v - 128)                     );
-                                               int g = Math.round(1.164f * (y - 16) - 0.813f * (v - 128) - 0.391f * (u - 128));
-                                               int b = Math.round(1.164f * (y - 16)                      + 2.018f * (u - 128));
-                                               
-                                               if (r < 0) r = 0; if (r > 255) r = 255;
-                                               if (g < 0) g = 0; if (g > 255) g = 255;
-                                               if (b < 0) b = 0; if (b > 255) b = 255;
-                                               
-                                               rgba[i*frame_width+j] = 0xff000000 + (b << 16) + (g << 8) + r;
-                                       }
-                       }
-                       
-                       Bitmap bmp = Bitmap.createBitmap(frame_width, frame_height, Bitmap.Config.ARGB_8888);
-                       bmp.setPixels(rgba, 0/*offset*/, frame_width /*stride*/, 0, 0, frame_width, frame_height);
-                       
-                       canvas.drawBitmap(bmp, (canvas.getWidth()-frame_width)/2, (canvas.getHeight()-frame_height)/2, null);
-                       holder.unlockCanvasAndPost(canvas);
-                       }
-       }
+    public void run() {
+        mThreadRun = true;
+        Log.i(TAG, "Starting thread");
+        while(mThreadRun) {
+            byte[] data = null;
+            synchronized(this) {
+                try {
+                    this.wait();
+                    data = mFrame;
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+            
+            int frameSize = mFrameWidth*mFrameHeight;
+            int[] rgba = new int[frameSize];
+            
+            Sample0Base a = (Sample0Base)getContext();
+            int view_mode = a.viewMode;
+            if(view_mode == Sample0Base.VIEW_MODE_GRAY) {
+                for(int i = 0; i < frameSize; i++) {
+                    int y = (0xff & ((int)data[i]));
+                    rgba[i] = 0xff000000 + (y << 16) + (y << 8) + y;
+                }
+            } else if (view_mode == Sample0Base.VIEW_MODE_RGBA) {
+                for(int i = 0; i < mFrameHeight; i++)
+                    for(int j = 0; j < mFrameWidth; j++) {
+                        int y = (0xff & ((int)data[i*mFrameWidth+j]));
+                        int u = (0xff & ((int)data[frameSize + (i >> 1) * mFrameWidth + (j & ~1) + 0]));
+                        int v = (0xff & ((int)data[frameSize + (i >> 1) * mFrameWidth + (j & ~1) + 1]));
+                        if (y < 16) y = 16;
+                        
+                        int r = Math.round(1.164f * (y - 16) + 1.596f * (v - 128)                     );
+                        int g = Math.round(1.164f * (y - 16) - 0.813f * (v - 128) - 0.391f * (u - 128));
+                        int b = Math.round(1.164f * (y - 16)                      + 2.018f * (u - 128));
+                        
+                        if (r < 0) r = 0; if (r > 255) r = 255;
+                        if (g < 0) g = 0; if (g > 255) g = 255;
+                        if (b < 0) b = 0; if (b > 255) b = 255;
+                        
+                        rgba[i*mFrameWidth+j] = 0xff000000 + (b << 16) + (g << 8) + r;
+                    }
+            }
+            
+            Bitmap bmp = Bitmap.createBitmap(mFrameWidth, mFrameHeight, Bitmap.Config.ARGB_8888);
+            bmp.setPixels(rgba, 0/*offset*/, mFrameWidth /*stride*/, 0, 0, mFrameWidth, mFrameHeight);
+            
+            Canvas canvas = mHolder.lockCanvas();
+            canvas.drawBitmap(bmp, (canvas.getWidth()-mFrameWidth)/2, (canvas.getHeight()-mFrameHeight)/2, null);
+            mHolder.unlockCanvasAndPost(canvas);
+        }
+    }
 }
\ No newline at end of file