Add crop borders functionality, #219

This commit is contained in:
len
2017-02-12 00:30:32 +01:00
parent c8e3375248
commit 91c58640a7
18 changed files with 50 additions and 12 deletions

View File

@@ -83,6 +83,11 @@ class ReaderSettingsDialog : DialogFragment() {
fullscreen.setOnCheckedChangeListener { v, isChecked ->
preferences.fullscreen().set(isChecked)
}
crop_borders.isChecked = preferences.cropBorders().getOrDefault()
crop_borders.setOnCheckedChangeListener { v, isChecked ->
preferences.cropBorders().set(isChecked)
}
}
override fun onDestroyView() {

View File

@@ -70,6 +70,7 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
setRegionDecoderClass(reader.regionDecoderClass)
setBitmapDecoderClass(reader.bitmapDecoderClass)
setVerticalScrollingParent(reader is VerticalReader)
setCropBorders(reader.cropBorders)
setOnTouchListener { v, motionEvent -> reader.gestureDetector.onTouchEvent(motionEvent) }
setOnLongClickListener { reader.onLongClick(page) }
setOnImageEventListener(object : SubsamplingScaleImageView.DefaultOnImageEventListener() {

View File

@@ -79,6 +79,12 @@ abstract class PagerReader : BaseReader() {
var transitions: Boolean = false
private set
/**
* Whether to crop image borders.
*/
var cropBorders: Boolean = false
private set
/**
* Scale type (fit width, fit screen, etc).
*/
@@ -150,9 +156,16 @@ abstract class PagerReader : BaseReader() {
.distinctUntilChanged()
.subscribe { refreshAdapter() })
add(preferences.enableTransitions()
add(preferences.pageTransitions()
.asObservable()
.subscribe { transitions = it })
add(preferences.cropBorders()
.asObservable()
.doOnNext { cropBorders = it }
.skip(1)
.distinctUntilChanged()
.subscribe { refreshAdapter() })
}
setPagesOnAdapter()