1
0
Fork 0
mirror of https://github.com/vanitasvitae/Spherical synced 2025-09-10 18:59:42 +02:00

Add option to display flat image

This commit is contained in:
vanitasvitae 2017-09-19 15:34:03 +02:00
parent 4b187ede43
commit 915faa139e
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
9 changed files with 138 additions and 45 deletions

View file

@ -2,9 +2,11 @@ package de.trac.spherical;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
@ -15,17 +17,23 @@ import de.trac.spherical.rendering.PhotoSphereSurfaceView;
/**
* Created by vanitas on 17.09.17.
*/
public class SphereFragment extends Fragment implements View.OnTouchListener {
public class SphereFragment extends ImageFragment implements View.OnTouchListener {
private static final String TAG = "SphericalSFrag";
private PhotoSphereSurfaceView surfaceView;
private Bitmap bitmap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
return inflater.inflate(R.layout.fragment_sphere, parent, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.d(TAG, "onViewCreated");
setHasOptionsMenu(true);
FrameLayout fragmentRoot = (FrameLayout) view.findViewById(R.id.container_sphere);
surfaceView = new PhotoSphereSurfaceView(getContext());
@ -33,12 +41,7 @@ public class SphereFragment extends Fragment implements View.OnTouchListener {
fragmentRoot.addView(surfaceView);
surfaceView.setOnTouchListener(this);
surfaceView.setBitmap(getMainActivity().getBitmap());
}
public void displayPhotoSphere(Bitmap bitmap) {
//surfaceView.setBitmap(bitmap);
Log.d(MainActivity.TAG, "Display Photo Sphere!");
updateBitmap(getMainActivity().getBitmap());
}
@Override
@ -46,7 +49,32 @@ public class SphereFragment extends Fragment implements View.OnTouchListener {
return getMainActivity().getGestureDetector().onTouchEvent(event);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_sphere, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_force_flat:
getMainActivity().displayFlatImage();
return true;
}
return super.onOptionsItemSelected(item);
}
private MainActivity getMainActivity() {
return (MainActivity) getActivity();
}
@Override
public void updateBitmap(Bitmap bitmap) {
if (surfaceView == null) {
return;
}
this.bitmap = bitmap;
surfaceView.setBitmap(bitmap);
}
}