diff --git a/src/components/Player.vue b/src/components/Player.vue
index 3242b19..c121505 100644
--- a/src/components/Player.vue
+++ b/src/components/Player.vue
@@ -32,6 +32,10 @@
+
+
+
+
@@ -55,6 +59,7 @@ export default {
fullscreen: false,
sortBySize: false,
sortDirection: false,
+ discardPartial: false,
position: 0,
tmp_ctx: null,
animation_id: null,
@@ -68,7 +73,8 @@ export default {
computed: {
frames: function () {
if (this.image === null) return 0;
- return Math.ceil((this.image.width - this.offset[0]) / this.width) * Math.ceil((this.image.height - this.offset[1]) / this.height);
+ const roundFn = this.discardPartial ? Math.floor : Math.ceil;
+ return roundFn((this.image.width - this.offset[0]) / this.width) * roundFn((this.image.height - this.offset[1]) / this.height);
},
canvas_height: function () {
return this.height * this.zoom;
@@ -81,7 +87,7 @@ export default {
let sequence = [];
for (let pos = 0; pos < this.frames; pos++) {
- let wb = Math.ceil((this.image.width - this.offset[0]) / this.width); // width_blocks
+ let wb = (this.discardPartial ? Math.floor : Math.ceil)((this.image.width - this.offset[0]) / this.width); // width_blocks
let x = this.offset[0] + (pos % wb) * this.width; // x offset
let w = x + this.width < this.image.width ? this.width : this.image.width - x; // frame width
let y = this.offset[1] + Math.floor(pos / wb) * this.height; // y offset