David Morrissey | 44e2492 | 2017-11-20 10:36:41 +0000 | [diff] [blame] | 1 | package com.davemorrissey.labs.subscaleview.test.imagedisplay; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 2 | |
David Morrissey | f953721 | 2017-12-11 09:00:33 +0000 | [diff] [blame] | 3 | import android.graphics.Bitmap; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 4 | import android.graphics.Rect; |
| 5 | import android.os.Bundle; |
David Morrissey | 9a3dc7d | 2017-12-15 08:34:05 +0000 | [diff] [blame] | 6 | import android.support.annotation.NonNull; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 7 | import android.support.v4.app.Fragment; |
| 8 | import android.view.LayoutInflater; |
| 9 | import android.view.View; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 10 | import android.view.ViewGroup; |
David Morrissey | 0df74d7 | 2015-03-08 19:59:18 +0000 | [diff] [blame] | 11 | |
| 12 | import com.davemorrissey.labs.subscaleview.ImageSource; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 13 | import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; |
David Morrissey | f953721 | 2017-12-11 09:00:33 +0000 | [diff] [blame] | 14 | import com.davemorrissey.labs.subscaleview.decoder.CompatDecoderFactory; |
| 15 | import com.davemorrissey.labs.subscaleview.decoder.ImageDecoder; |
| 16 | import com.davemorrissey.labs.subscaleview.decoder.ImageRegionDecoder; |
| 17 | import com.davemorrissey.labs.subscaleview.decoder.SkiaImageDecoder; |
| 18 | import com.davemorrissey.labs.subscaleview.decoder.SkiaImageRegionDecoder; |
David Morrissey | 44e2492 | 2017-11-20 10:36:41 +0000 | [diff] [blame] | 19 | import com.davemorrissey.labs.subscaleview.test.R.id; |
| 20 | import com.davemorrissey.labs.subscaleview.test.R.layout; |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 21 | |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 22 | public class ImageDisplayRegionFragment extends Fragment { |
| 23 | |
| 24 | @Override |
David Morrissey | 9a3dc7d | 2017-12-15 08:34:05 +0000 | [diff] [blame] | 25 | public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 26 | View rootView = inflater.inflate(layout.imagedisplay_region_fragment, container, false); |
David Morrissey | c930ef7 | 2017-11-02 18:27:22 +0000 | [diff] [blame] | 27 | final SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); |
David Morrissey | f953721 | 2017-12-11 09:00:33 +0000 | [diff] [blame] | 28 | imageView.setBitmapDecoderFactory(new CompatDecoderFactory<ImageDecoder>(SkiaImageDecoder.class, Bitmap.Config.ARGB_8888)); |
| 29 | imageView.setRegionDecoderFactory(new CompatDecoderFactory<ImageRegionDecoder>(SkiaImageRegionDecoder.class, Bitmap.Config.ARGB_8888)); |
David Morrissey | 0df74d7 | 2015-03-08 19:59:18 +0000 | [diff] [blame] | 30 | imageView.setOrientation(SubsamplingScaleImageView.ORIENTATION_90); |
David Morrissey | f953721 | 2017-12-11 09:00:33 +0000 | [diff] [blame] | 31 | imageView.setImage(ImageSource.asset("card.png").region(new Rect(5200, 651, 8200, 3250))); |
David Morrissey | cb946bb | 2017-12-15 08:47:39 +0000 | [diff] [blame] | 32 | final ImageDisplayActivity activity = (ImageDisplayActivity)getActivity(); |
| 33 | if (activity != null) { |
| 34 | rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { |
| 35 | @Override public void onClick(View v) { activity.previous(); } |
| 36 | }); |
| 37 | } |
David Morrissey | c930ef7 | 2017-11-02 18:27:22 +0000 | [diff] [blame] | 38 | rootView.findViewById(id.rotate).setOnClickListener(new View.OnClickListener() { |
| 39 | @Override public void onClick(View v) { imageView.setOrientation((imageView.getOrientation() + 90) % 360); } |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 40 | }); |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 41 | return rootView; |
| 42 | } |
| 43 | |
t101d | 4b48227 | 2015-03-04 21:40:32 +0800 | [diff] [blame] | 44 | } |