/* * Copyright 2019 Gustl22 * Copyright 2019 devemux86 * * This program is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see . */ package org.oscim.android.test; import android.os.Bundle; import android.view.View; import android.widget.SeekBar; import android.widget.ToggleButton; import org.oscim.renderer.ExtrusionRenderer; import org.oscim.renderer.light.Sun; public class ShadowActivity extends SimpleMapActivity implements SeekBar.OnSeekBarChangeListener { private SeekBar mSeekBar; public ShadowActivity() { super(true, R.layout.activity_shadow); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSeekBar = findViewById(R.id.seekBarShadow); mSeekBar.setOnSeekBarChangeListener(this); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { int id = seekBar.getId(); if (id == R.id.seekBarShadow) { Sun sun = mBuildingLayer.getExtrusionRenderer().getSun(); sun.setProgress(progress / 1000f); sun.updatePosition(); sun.updateColor(); mMap.updateMap(true); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } public void onToggleCurrentSun(View view) { boolean isCurrentSun = ((ToggleButton) view).isChecked(); mSeekBar.setEnabled(!isCurrentSun); ExtrusionRenderer extrusionRenderer = mBuildingLayer.getExtrusionRenderer(); extrusionRenderer.enableCurrentSunPos(isCurrentSun); extrusionRenderer.getSun().update(); mSeekBar.setProgress((int) (extrusionRenderer.getSun().getProgress() * 1000)); mMap.updateMap(true); } }