From 5746218e9290a821f3b9ffe3735ed5cc7aa27414 Mon Sep 17 00:00:00 2001 From: MRSa Date: Fri, 1 Sep 2017 00:32:51 +0900 Subject: [PATCH] =?utf8?q?=E3=82=BF=E3=83=83=E3=83=81=E4=BD=8D=E7=BD=AE?= =?utf8?q?=E3=81=AE=E8=A3=9C=E6=AD=A3=E3=82=92=E5=85=A5=E3=82=8C=E3=82=8B?= =?utf8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../olympus/wrapper/OlyCameraFocusControl.java | 2 +- .../gokigen/a01d/liveview/CameraLiveImageView.java | 25 +++++++--------------- .../a01d/liveview/LiveViewClickTouchListener.java | 4 ++-- .../gokigen/a01d/liveview/LiveViewFragment.java | 10 ++++----- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/net/osdn/gokigen/a01d/camera/olympus/wrapper/OlyCameraFocusControl.java b/app/src/main/java/net/osdn/gokigen/a01d/camera/olympus/wrapper/OlyCameraFocusControl.java index c08a30b..23f0111 100644 --- a/app/src/main/java/net/osdn/gokigen/a01d/camera/olympus/wrapper/OlyCameraFocusControl.java +++ b/app/src/main/java/net/osdn/gokigen/a01d/camera/olympus/wrapper/OlyCameraFocusControl.java @@ -32,7 +32,7 @@ public class OlyCameraFocusControl implements IFocusingControl { return (false); } - Log.v(TAG, "motionEvent() : pointOnView [" + Math.ceil(motionEvent.getX()) + "," + Math.ceil(motionEvent.getY()) + "] "); + if (frameDisplay != null) { Thread thread = new Thread(new Runnable() { diff --git a/app/src/main/java/net/osdn/gokigen/a01d/liveview/CameraLiveImageView.java b/app/src/main/java/net/osdn/gokigen/a01d/liveview/CameraLiveImageView.java index 7b17748..c7a69be 100644 --- a/app/src/main/java/net/osdn/gokigen/a01d/liveview/CameraLiveImageView.java +++ b/app/src/main/java/net/osdn/gokigen/a01d/liveview/CameraLiveImageView.java @@ -150,6 +150,7 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI return getIntrinsicContentSizeHeight(); } + private float getIntrinsicContentSizeWidth() { if (imageBitmap == null) @@ -175,8 +176,7 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI * @param data A image of live-view. * @param metadata A metadata of the image. */ - public void setImageData(byte[] data, Map metadata) - { + public void setImageData(byte[] data, Map metadata) { Bitmap bitmap; int rotationDegrees; @@ -214,6 +214,7 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI imageBitmap = bitmap; imageRotationDegrees = rotationDegrees; } + refreshCanvas(); } @@ -230,21 +231,17 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI return null; } - PointF pointOnView = new PointF(event.getX(), event.getY()); + PointF pointOnView = new PointF(event.getX() - getX(), event.getY() - getY()); // Viewの表示位置に補正 PointF pointOnImage = convertPointFromViewArea(pointOnView); float imageWidth; float imageHeight; if (imageRotationDegrees == 0 || imageRotationDegrees == 180) { imageWidth = imageBitmap.getWidth(); imageHeight = imageBitmap.getHeight(); - //imageWidth = this.getWidth(); - //imageHeight = this.getHeight(); } else { imageWidth = imageBitmap.getHeight(); imageHeight = imageBitmap.getWidth(); - //imageWidth = this.getHeight(); - //imageHeight = this.getWidth(); - } + } return (OLYCamera.convertPointOnLiveImageIntoViewfinder(pointOnImage, imageWidth, imageHeight, imageRotationDegrees)); } @@ -819,20 +816,17 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI imageSizeWidth = imageBitmap.getHeight(); imageSizeHeight = imageBitmap.getWidth(); } - float viewSizeWidth = this.getWidth(); float viewSizeHeight = this.getHeight(); float ratioX = viewSizeWidth / imageSizeWidth; float ratioY = viewSizeHeight / imageSizeHeight; float scale = 1.0f; - switch (imageScaleType) - { + switch (imageScaleType) { case FIT_XY: imagePointX /= ratioX; imagePointY /= ratioY; break; - case FIT_CENTER: // go to next label. case CENTER_INSIDE: scale = Math.min(ratioX, ratioY); @@ -841,7 +835,6 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI imagePointX = imagePointX / scale; imagePointY = imagePointY / scale; break; - case CENTER_CROP: scale = Math.max(ratioX, ratioY); imagePointX -= (viewSizeWidth - imageSizeWidth * scale) / 2.0f; @@ -849,17 +842,15 @@ public class CameraLiveImageView extends View implements CameraLiveViewListenerI imagePointX /= scale; imagePointY /= scale; break; - case CENTER: imagePointX -= (viewSizeWidth - imageSizeWidth) / 2.0f; imagePointY -= (viewSizeHeight - imageSizeHeight) / 2.0f; break; - default: break; } - //return new PointF((imagePointX / scale), (imagePointY / scale)); - return new PointF((imagePointX), (imagePointY)); + + return new PointF(imagePointX, imagePointY); } /** diff --git a/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewClickTouchListener.java b/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewClickTouchListener.java index 88781da..acc278a 100644 --- a/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewClickTouchListener.java +++ b/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewClickTouchListener.java @@ -36,7 +36,7 @@ class LiveViewClickTouchListener implements View.OnClickListener, View.OnTouchLi public void onClick(View view) { int id = view.getId(); - Log.v(TAG, "onClick() " + id); + //Log.v(TAG, "onClick() : " + id); try { switch (id) @@ -81,7 +81,7 @@ class LiveViewClickTouchListener implements View.OnClickListener, View.OnTouchLi public boolean onTouch(View view, MotionEvent motionEvent) { int id = view.getId(); - Log.v(TAG, "onTouch() : " + id); + //Log.v(TAG, "onTouch() : " + id + " (" + motionEvent.getX() + "," + motionEvent.getY() + ")"); return ((id == R.id.cameraLiveImageView)&&(focusingControl.driveAutoFocus(motionEvent))); } } diff --git a/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewFragment.java b/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewFragment.java index 6406a43..82b3303 100644 --- a/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewFragment.java +++ b/app/src/main/java/net/osdn/gokigen/a01d/liveview/LiveViewFragment.java @@ -137,7 +137,7 @@ public class LiveViewFragment extends Fragment implements IStatusViewDrawer imageViewCreated = true; try { - imageView = view.findViewById(R.id.cameraLiveImageView); + imageView = view.findViewById(R.id.cameraLiveImageView); if (interfaceInjector != null) { interfaceInjector.injectOlympusDisplay(imageView, imageView); @@ -146,10 +146,10 @@ public class LiveViewFragment extends Fragment implements IStatusViewDrawer { focusingControl = interfaceProvider.getFocusingControl(); } - if (onClickTouchListener == null) - { - onClickTouchListener = new LiveViewClickTouchListener(imageView, this, changeScene, focusingControl); - } + if (onClickTouchListener == null) + { + onClickTouchListener = new LiveViewClickTouchListener(imageView, this, changeScene, focusingControl); + } imageView.setOnClickListener(onClickTouchListener); imageView.setOnTouchListener(onClickTouchListener); -- 2.11.0