Crop borders for webtoons. Closes #904

This commit is contained in:
len 2017-07-26 20:35:31 +02:00
parent d3cbfbdb59
commit aa46c52eee
2 changed files with 20 additions and 5 deletions

View File

@ -63,6 +63,7 @@ class WebtoonHolder(private val view: View, private val adapter: WebtoonAdapter)
setMinimumTileDpi(180) setMinimumTileDpi(180)
setRegionDecoderClass(webtoonReader.regionDecoderClass) setRegionDecoderClass(webtoonReader.regionDecoderClass)
setBitmapDecoderClass(webtoonReader.bitmapDecoderClass) setBitmapDecoderClass(webtoonReader.bitmapDecoderClass)
setCropBorders(webtoonReader.cropBorders)
setVerticalScrollingParent(true) setVerticalScrollingParent(true)
setOnTouchListener(adapter.touchListener) setOnTouchListener(adapter.touchListener)
setOnLongClickListener { webtoonReader.onLongClick(page) } setOnLongClickListener { webtoonReader.onLongClick(page) }

View File

@ -53,6 +53,12 @@ class WebtoonReader : BaseReader() {
lateinit var layoutManager: PreCachingLayoutManager lateinit var layoutManager: PreCachingLayoutManager
private set private set
/**
* Whether to crop image borders.
*/
var cropBorders: Boolean = false
private set
/** /**
* Gesture detector for image touch events. * Gesture detector for image touch events.
*/ */
@ -109,16 +115,24 @@ class WebtoonReader : BaseReader() {
.doOnNext { setDecoderClass(it) } .doOnNext { setDecoderClass(it) }
.skip(1) .skip(1)
.distinctUntilChanged() .distinctUntilChanged()
.subscribe { .subscribe { refreshAdapter() })
val activePage = layoutManager.findFirstVisibleItemPosition()
recycler.adapter = adapter subscriptions.add(readerActivity.preferences.cropBorders()
setActivePage(activePage) .asObservable()
}) .doOnNext { cropBorders = it }
.skip(1)
.distinctUntilChanged()
.subscribe { refreshAdapter() })
setPagesOnAdapter() setPagesOnAdapter()
return recycler return recycler
} }
fun refreshAdapter() {
val activePage = layoutManager.findFirstVisibleItemPosition()
recycler.adapter = adapter
setActivePage(activePage)
}
/** /**
* Uses two ways to scroll to the last page read. * Uses two ways to scroll to the last page read.