Easy video zoom in/out buttons
This commit is contained in:
parent
2ac3e8e128
commit
db819af8af
48
src/App.vue
48
src/App.vue
|
@ -574,6 +574,10 @@ export default {
|
||||||
if (this.webcam.vipOnly && this.isVIP) status |= this.VideoFlag.VipOnly;
|
if (this.webcam.vipOnly && this.isVIP) status |= this.VideoFlag.VipOnly;
|
||||||
return status;
|
return status;
|
||||||
},
|
},
|
||||||
|
anyVideosOpen() {
|
||||||
|
// Return if any videos are open.
|
||||||
|
return this.webcam.active || this.numVideosOpen > 0;
|
||||||
|
},
|
||||||
numVideosOpen() {
|
numVideosOpen() {
|
||||||
// Return the count of other peoples videos we have open.
|
// Return the count of other peoples videos we have open.
|
||||||
return Object.keys(this.WebRTC.streams).length;
|
return Object.keys(this.WebRTC.streams).length;
|
||||||
|
@ -2800,6 +2804,35 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Scale the video zoom setting up or down.
|
||||||
|
scaleVideoSize(bigger) {
|
||||||
|
// Find the current size index.
|
||||||
|
let currentSize = 0;
|
||||||
|
for (let option of this.webcam.videoScaleOptions) {
|
||||||
|
if (option[0] === this.webcam.videoScale) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
currentSize++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adjust it.
|
||||||
|
if (bigger) {
|
||||||
|
currentSize++;
|
||||||
|
} else {
|
||||||
|
currentSize--;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constrain it.
|
||||||
|
if (currentSize < 0) {
|
||||||
|
currentSize = 0;
|
||||||
|
} else if (currentSize >= this.webcam.videoScaleOptions.length) {
|
||||||
|
currentSize = this.webcam.videoScale.length - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set it.
|
||||||
|
this.webcam.videoScale = this.webcam.videoScaleOptions[currentSize][0];
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sound effect concerns.
|
* Sound effect concerns.
|
||||||
*/
|
*/
|
||||||
|
@ -3734,6 +3767,21 @@ export default {
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Easy video zoom buttons -->
|
||||||
|
<div class="column is-narrow" v-if="anyVideosOpen">
|
||||||
|
<button type="button" class="button is-small is-outlined"
|
||||||
|
:disabled="webcam.videoScale === 'x4'"
|
||||||
|
@click="scaleVideoSize(true)">
|
||||||
|
<i class="fa fa-magnifying-glass-plus"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button type="button" class="button is-small is-outlined"
|
||||||
|
:disabled="webcam.videoScale === ''"
|
||||||
|
@click="scaleVideoSize(false)">
|
||||||
|
<i class="fa fa-magnifying-glass-minus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Who List button, only shown on public channel view -->
|
<!-- Who List button, only shown on public channel view -->
|
||||||
<div v-if="!isDM" class="column is-narrow mobile-only">
|
<div v-if="!isDM" class="column is-narrow mobile-only">
|
||||||
<!-- Responsive mobile button to pan to Right Column -->
|
<!-- Responsive mobile button to pan to Right Column -->
|
||||||
|
|
Loading…
Reference in New Issue
Block a user