mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 22:31:30 +11:00
[emscripten] request canvas size instead of CSS size (#370)
This commit is contained in:
parent
f89dc9e903
commit
a8d5a9e1ab
|
@ -3,6 +3,8 @@
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
|
||||||
use std::os::raw::{c_int, c_char, c_void, c_ulong, c_double, c_long, c_ushort};
|
use std::os::raw::{c_int, c_char, c_void, c_ulong, c_double, c_long, c_ushort};
|
||||||
|
#[cfg(test)]
|
||||||
|
use std::mem;
|
||||||
|
|
||||||
pub type EM_BOOL = c_int;
|
pub type EM_BOOL = c_int;
|
||||||
pub type EM_UTF8 = c_char;
|
pub type EM_UTF8 = c_char;
|
||||||
|
@ -219,6 +221,15 @@ fn bindgen_test_layout_EmscriptenPointerlockChangeEvent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
pub fn emscripten_set_canvas_size(
|
||||||
|
width: c_int, height: c_int)
|
||||||
|
-> EMSCRIPTEN_RESULT;
|
||||||
|
|
||||||
|
pub fn emscripten_get_canvas_size(
|
||||||
|
width: *mut c_int, height: *mut c_int,
|
||||||
|
is_fullscreen: *mut c_int)
|
||||||
|
-> EMSCRIPTEN_RESULT;
|
||||||
|
|
||||||
pub fn emscripten_set_element_css_size(
|
pub fn emscripten_set_element_css_size(
|
||||||
target: *const c_char, width: c_double,
|
target: *const c_char, width: c_double,
|
||||||
height: c_double) -> EMSCRIPTEN_RESULT;
|
height: c_double) -> EMSCRIPTEN_RESULT;
|
||||||
|
|
|
@ -6,7 +6,7 @@ use std::mem;
|
||||||
use std::os::raw::{c_char, c_void, c_double, c_ulong, c_int};
|
use std::os::raw::{c_char, c_void, c_double, c_ulong, c_int};
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::sync::atomic::{AtomicBool, Ordering};
|
use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use std::sync::{Mutex, Arc, Weak};
|
use std::sync::{Mutex, Arc};
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
|
@ -424,10 +424,11 @@ impl Window {
|
||||||
pub fn get_inner_size(&self) -> Option<(u32, u32)> {
|
pub fn get_inner_size(&self) -> Option<(u32, u32)> {
|
||||||
unsafe {
|
unsafe {
|
||||||
use std::{mem, ptr};
|
use std::{mem, ptr};
|
||||||
let mut width = mem::uninitialized();
|
let mut width = 0;
|
||||||
let mut height = mem::uninitialized();
|
let mut height = 0;
|
||||||
|
let mut fullscreen = 0;
|
||||||
|
|
||||||
if ffi::emscripten_get_element_css_size(ptr::null(), &mut width, &mut height)
|
if ffi::emscripten_get_canvas_size(&mut width, &mut height, &mut fullscreen)
|
||||||
!= ffi::EMSCRIPTEN_RESULT_SUCCESS
|
!= ffi::EMSCRIPTEN_RESULT_SUCCESS
|
||||||
{
|
{
|
||||||
None
|
None
|
||||||
|
|
Loading…
Reference in a new issue