Native screen-share: maximize the shared screen + pinch-to-zoom
Better visibility: on a native call, a shared screen now fills the whole meeting area and hides the small participant tiles (new .scr-full grid class, toggled when meetNative && sharing). The plugin renders the screen over that full-area stage rect. Zoom: the tile video view is now TileVideoView with pinch-to-zoom + pan (and double-tap to reset) enabled only while it's showing a screen. While zoomed the view holds a transform and syncVideoTiles stops overwriting its frame; name/mute overlays hide during zoom. Needs a Codemagic build (plugin change). Web deployed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -410,6 +410,11 @@
|
||||
.meet-grid.sharing-mode .meet-tile:not(.stage){width:160px;height:94px;flex:0 0 auto;}
|
||||
.meet-grid.sharing-mode .meet-tile.sharing:not(.stage){cursor:pointer;}
|
||||
.meet-grid.sharing-mode .meet-tile.sharing:not(.stage)::after{content:"Click to view";position:absolute;left:0;right:0;bottom:0;font-size:.58rem;text-align:center;background:rgba(37,99,235,.88);color:#fff;padding:1px 0;}
|
||||
/* Native call: a shared screen should DOMINATE — fill the whole meeting area and hide the small participant
|
||||
tiles (the plugin renders the screen natively over this stage rect; pinch-to-zoom happens there). */
|
||||
.meet-grid.sharing-mode.scr-full{height:100%;}
|
||||
.meet-grid.sharing-mode.scr-full .meet-tile.stage{width:100%;height:100%;min-height:0;}
|
||||
.meet-grid.sharing-mode.scr-full .meet-tile:not(.stage){display:none;}
|
||||
@media (max-width:760px){
|
||||
.meet-grid.sharing-mode{flex-flow:row wrap;height:auto;}
|
||||
.meet-grid.sharing-mode .meet-tile.stage{width:100%;height:auto;flex:1 1 100%;min-height:40vh;}
|
||||
@@ -5270,6 +5275,7 @@ function getSharerIds(){ const a=[]; meetSharers.forEach(id=>a.push(id)); return
|
||||
function updateShareMode(){ const g=document.getElementById('meetGrid'); if(!g) return;
|
||||
const sharers=getSharerIds(); const on=sharers.length>0;
|
||||
g.classList.toggle('sharing-mode', on);
|
||||
g.classList.toggle('scr-full', on && meetNative); // native: maximize the shared screen, hide participant tiles
|
||||
if(on){ if(!meetStageId || sharers.indexOf(meetStageId)<0) meetStageId=sharers[0]; } else meetStageId=null;
|
||||
applyStage();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user