package com.example.asamles.app.tiledimage;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.example.asamles.app.R;
import com.qozix.tileview.TileView;
public class TiledMain extends Fragment {
private int[][] mInfoXY = {{2292, 3528}, {538, 957}};
private int[][] mParkXY = {{1044, 1230, 1188, 2526, 3810, 4080}, {616, 395, 850, 760, 850, 927}};
private int sizeX = 4800;
private int sizeY = 1700;
private int mMuseumX = 2583;
private int mMuseumY = 400;
private float center = -0.5f;
private TileView tileView;
private ImageView mMuseum;
private ImageView[] mInfo = new ImageView[mInfoXY.length];
private ImageView[] mPark = new ImageView[mParkXY.length];
private boolean marker = false;
public static TiledMain newInstance() {
return new TiledMain();
}
public TiledMain() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
getMarkers();
tileView = new TileView(getActivity());
tileView = getTileView();
tileView.setSize(sizeX, sizeY);
tileView.addDetailLevel(1f, "tiles/central_park/1000/2xbig_map-%col%_%row%.png", "tiles/central_park/small_map.png", 256, 256);
tileView.addDetailLevel(0.5f, "tiles/central_park/500/big_map_%col%_%row%.jpg", "tiles/central_park/small_map.png", 128, 128);
tileView.addDetailLevel(0.25f, "tiles/central_park/250/not_big_map-%col%_%row%.png", "tiles/central_park/small_map.png", 256, 256);
tileView.setScaleToFit(true);
tileView.setScale(0);
tileView.defineRelativeBounds(0, 0, sizeX, sizeY);
tileView.moveToAndCenter(sizeX / 2, sizeY / 2);
tileView.slideToAndCenter(sizeX / 2, sizeY / 2);
return tileView;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.tile_image, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_markers:
setMarkers();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onPause() {
super.onPause();
tileView.clear();
}
@Override
public void onResume() {
super.onResume();
tileView.resume();
}
@Override
public void onDestroy() {
super.onDestroy();
tileView.destroy();
tileView = null;
}
public TileView getTileView() {
return tileView;
}
public void getMarkers() {
mMuseum = new ImageView(getActivity());
mMuseum.setImageResource(R.drawable.m_museum);
mMuseum.setTag("Museum");
for (int i = 0; i < mInfo.length; i++) {
mInfo[i] = new ImageView(getActivity());
mInfo[i].setImageResource(R.drawable.m_info);
mInfo[i].setTag("Info");
}
for (int i = 0; i < mPark.length; i++) {
mPark[i] = new ImageView(getActivity());
mPark[i].setImageResource(R.drawable.m_park);
mPark[i].setTag("Park");
}
}
public void setMarkers() {
if (!marker) {
marker = true;
tileView.addMarker(mMuseum, mMuseumX, mMuseumY, center, center);
for (int i = 0; i < mInfoXY.length; i++) {
tileView.addMarker(mInfo[i], mInfoXY[i][0], mInfoXY[0][i], center, center);
}
for (int i = 0; i < mParkXY.length; i++) {
tileView.addMarker(mPark[i], mParkXY[i][0], mParkXY[0][i], center, center);
}
} else {
marker = false;
tileView.removeMarker(mMuseum);
for (int i = 0; i < mInfoXY.length; i++) {
tileView.removeMarker(mInfo[i]);
}
for (int i = 0; i < mParkXY.length; i++) {
tileView.removeMarker(mPark[i]);
}
}
}
}