Как правильно заставить SDL не увеличивать размер окна SDL или размера холста HTML в приложении WASM?CSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно заставить SDL не увеличивать размер окна SDL или размера холста HTML в приложении WASM?

Сообщение Anonymous »

Я создаю программу WASM, используя SDL2 и Emscripten. Он создает окно размером 1000x1000, используя SDL_CreateWindow("scribbles", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, context.w, context.h, 0);. У меня есть очень простой файл .html, который я использую с ним, и который на самом деле не делает ничего особенного. Он не определяет размер холста.
Проблема в том, что холст, который он создает на веб-странице, слишком велик, как и графика. Все масштабировано, возможно, примерно в 1,5 раза. Мой браузер не увеличен. У меня одна и та же проблема как в Windows, так и в WSL. Я думаю, что это масштабирование, потому что у меня монитор 4K, поэтому у него высокий PPI.
Если я включаю флаг SDL_WINDOW_ALLOW_HIGHDPI, то графика на самом деле будет правильного размера, но холст нет. Сам холст по-прежнему слишком велик, а дополнительное пространство закрашено чистым черным цветом. Если я устанавливаю ширину и высоту холста в CSS равными 1000x1000, это ничего не делает, если только не используется SDL_WINDOW_ALLOW_HIGHDPI, и в этом случае холст становится меньше, но графика становится еще меньше в той же пропорции к холсту. (так что есть еще дополнительная черная область). Если я установлю размер холста 500x500 (без SDL_WINDOW_ALLOW_HIGHDPI), он станет меньше, но не совсем правильного размера, и я не знаю, как вычислить, какой размер мне нужно уменьшить для любой запущенной системы. это.

Код: Выделить всё

SDL_WINDOW_ALLOW_HIGHDPIС другой стороны, 
прекрасно решает проблему для не-веб-версии этой программы.

Код: Выделить всё

SDL_SetHintWithPriority(SDL_HINT_WINDOWS_DPI_AWARENESS, "unaware", SDL_HINT_OVERRIDE);
ничего не делает.
Я хочу, чтобы он не автоматически масштабировался, а также чтобы окно SDL с отображаемой в нем графикой было того же размера, что и холст.

Подробнее здесь: https://stackoverflow.com/questions/791 ... vas-size-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «CSS»