Ticket: https://github.com/kripken/emscripten/issues/2556
Am Dienstag, 22. Juli 2014 15:00:16 UTC+2 schrieb Floh: > > Ok, ticket incoming :) > -Floh. > > Am Dienstag, 22. Juli 2014 13:31:12 UTC+2 schrieb jj: >> >> My current understanding with respect to this is that the fullscreen API >> is lacking a strict specification that would dictate how scaling and aspect >> ratio should handled when transitioning to full screen. If the element size >> is 400x400 and the screen is 1280x800, then I can think of four different >> ways at least: >> - Keep the element unchanged in size, i.e. have its size retained at >> 400x400 and center it on the screen, giving (black) empty area around all >> sizes. I think Chrome currently does this. >> - Resize the element to full screen ignoring aspect ratio, i.e. the >> 400x400 element would be resized to 1280x800. I think Firefox currently >> does this. (Although I'm writing this from previous memory, so might be >> off). >> - Resize the element to fullscreen, retaining aspect ratio, which >> would make the 400x400 element the size of 800x800, and adding black >> letterboxes to left and right side. >> - Resize the element to fullscreen, retaining aspect ratio and >> oversizing. This would make the 400x400 element the size 1280x1280, meaning >> the top and bottom sides clip off, but no black is present on the screen. >> This is perhaps very rare that user would want this, but e.g. current TVs >> seem to do this with their different aspect ratio management when adapting >> 4:3 vs 16:9 and so on, so perhaps some applications might be interested in >> it. >> >> Also, the amount of options above is multiplied by twice, depending on >> whether user wants to only adjust the CSS scale, or also the WebGL >> rendering target size. >> >> However from your numbers, it doesn't seem that any of these options >> would have been used. >> >> One option to resolve this would be to solve it via >> education/documentation and say that "the element size is undefined after >> transitioning to fullscreen. Please use emscripten_set_canvas_size() or >> similar to explicitly resize the canvas after transitioning to fullscreen >> mode." >> >> Another option would be to offer some kind of palette of behaviors (like >> enumerated above) and allow the user to choose from them with some kind of >> api. >> >> There might be some resizing behavior that emscripten currently does, >> perhaps there's a bug with that. I think the user should be easily able to >> choose from any convention above. Please do write up a ticket and let's >> continue this discussion in detail there. We should improve this, if >> nothing else, then at least in API documentation, so that not every >> developer needs to rediscover this behavior independently. >> >> >> 2014-07-20 18:19 GMT+03:00 Floh <[email protected]>: >> >>> Hi, >>> >>> I'm seeing strange values for elementWidth and elementHeight when using >>> the emscripten_set_fullscreenchange_callback() mechanism, which also >>> differs between Chrome and Firefox (I'm testing on OSX10.10) >>> >>> On Chrome, when the fullscreenchange callback is called, the >>> elementWidth/Height is actually the previous size before the switch (here's >>> my own debug output when the callback is called, ew/eh is >>> elementWidth/height, sw/sh is screen width/height, also the >>> elementWidth/Height never matches the actual screen size. >>> >>> The canvas size before the fullscreen switch is 400x400. >>> >>> Chrome (press fullscreen button on standard emscripten HTML shell, and >>> in fullscreen mode, press Esc to switch back): >>> emscFullscreenChanged: isFullscreen=yes, fullscreenEnabled=yes, ew=400, >>> eh=400, sw=1280, sh=800 >>> emscFullscreenChanged: isFullscreen=no, fullscreenEnabled=yes, ew=1263, >>> eh=800, sw=1280, sh=800 >>> >>> In Firefox it's completely different again: When switching into >>> fullscreen, the width is the expected width (1280), but the height is >>> different (721 vs the expected 800), and when switching back the new value >>> is completely strange (1040x800). >>> >>> Firefox (current Nightly): >>> emscFullscreenChanged: isFullscreen=yes, fullscreenEnabled=yes, ew=1280, >>> eh=721, sw=1280, sh=800 >>> emscFullscreenChanged: isFullscreen=no, fullscreenEnabled=yes, ew=1040, >>> eh=800, sw=1280, sh=800 >>> >>> Anyone know what's up with that? Whould I write a ticket? For now I can >>> workaround that by using the screen size, and restoring the previous >>> 'windowed size' when switching back from fullscreen. >>> >>> Cheers, >>> -Floh. >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
