Add option to display page at native width
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This helps with low-res content as it does not interpolate the image and thus is sharper.
This commit is contained in:
parent
b379842442
commit
73b485253c
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="reader" v-shortkey="{left: ['arrowleft'], right: ['arrowright']}" @shortkey="navigation">
|
<div class="reader" v-shortkey="{left: ['arrowleft'], right: ['arrowright']}" @shortkey="navigation">
|
||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
<img ref="currentImage" :style="{ width: orientation === 'vertical' ? pageWidth + '%' : '100%' }" :src="info.pages[page]" @load="setScroll(); setOrientation()">
|
<img ref="currentImage" :style="{ width: getRealPageWidth() }" :src="info.pages[page]" @load="setScroll(); setOrientation()">
|
||||||
<!-- prefetching -->
|
<!-- prefetching -->
|
||||||
<img style="display: none;" :src="info.pages[page-1]">
|
<img style="display: none;" :src="info.pages[page-1]">
|
||||||
<img style="display: none;" :src="info.pages[page+1]">
|
<img style="display: none;" :src="info.pages[page+1]">
|
||||||
|
@ -11,8 +11,10 @@
|
||||||
<router-link :to="'/series/' + info.series">All Volumes</router-link>
|
<router-link :to="'/series/' + info.series">All Volumes</router-link>
|
||||||
<p>{{ page + 1 }}/{{ info.pages.length }}</p>
|
<p>{{ page + 1 }}/{{ info.pages.length }}</p>
|
||||||
<p>
|
<p>
|
||||||
<button v-on:click="changePageWidth(5)">+</button>
|
<button :disabled="originalPageWidth" v-on:click="changePageWidth(-5)">-</button>
|
||||||
<button v-on:click="changePageWidth(-5)">-</button>
|
<button :disabled="originalPageWidth" v-on:click="changePageWidth(5)">+</button>
|
||||||
|
<br/>
|
||||||
|
<button v-on:click="originalPageWidth = !originalPageWidth">{{ originalPageWidth ? 'fixed width' : '1:1' }}</button>
|
||||||
</p>
|
</p>
|
||||||
<button v-on:click="changeDirection">{{ direction.toUpperCase() }}</button>
|
<button v-on:click="changeDirection">{{ direction.toUpperCase() }}</button>
|
||||||
<button class="hide" v-on:click="showSidebar = false">Hide</button>
|
<button class="hide" v-on:click="showSidebar = false">Hide</button>
|
||||||
|
@ -33,6 +35,7 @@ export default {
|
||||||
},
|
},
|
||||||
scrollPositions: [],
|
scrollPositions: [],
|
||||||
pageWidth: 60,
|
pageWidth: 60,
|
||||||
|
originalPageWidth: false,
|
||||||
showSidebar: true,
|
showSidebar: true,
|
||||||
direction: 'rtl',
|
direction: 'rtl',
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
|
@ -111,6 +114,18 @@ export default {
|
||||||
} else if (image.width === image.height) {
|
} else if (image.width === image.height) {
|
||||||
this.orientation = 'square'
|
this.orientation = 'square'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getRealPageWidth () {
|
||||||
|
if (this.orientation === 'horizontal') {
|
||||||
|
return '100%'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.originalPageWidth === true) {
|
||||||
|
return 'auto'
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.pageWidth + '%'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue