Backup
This commit is contained in:
parent
4d91dbb0ee
commit
e513499fed
@ -347,6 +347,20 @@ $root->addComponent($subTitle);
|
||||
$statusLabel = new Label('Bereit.', 'text-sm text-gray-600');
|
||||
$kanbanView = new KanbanBoardView($storagePath, $boards, $statusLabel);
|
||||
|
||||
// SDL_Window PixelDensity und DisplayScale im Status anzeigen (falls verfügbar)
|
||||
$densityText = '';
|
||||
if (function_exists('sdl_get_window_pixel_density')) {
|
||||
$density = sdl_get_window_pixel_density($window->getWindowResource());
|
||||
$densityText .= sprintf('PixelDensity: %.2f', $density);
|
||||
}
|
||||
if (function_exists('sdl_get_window_display_scale')) {
|
||||
$scale = sdl_get_window_display_scale($window->getWindowResource());
|
||||
$densityText .= ($densityText !== '' ? ' | ' : '') . sprintf('DisplayScale: %.2f', $scale);
|
||||
}
|
||||
if ($densityText !== '') {
|
||||
$statusLabel->setText('Bereit. ' . $densityText);
|
||||
}
|
||||
|
||||
$scaleInput = new TextInput('Scale (z.B. 1.0 oder 2.0)', 'w-40 border border-gray-300 rounded px-3 py-2 bg-white text-black');
|
||||
$scaleInput->setOnChange(function (string $value) use ($statusLabel): void {
|
||||
$value = trim($value);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -769,6 +769,23 @@ PHP_FUNCTION(sdl_get_window_size_in_pixels) {
|
||||
add_index_long(return_value, 1, h);
|
||||
}
|
||||
|
||||
PHP_FUNCTION(sdl_get_window_pixel_density) {
|
||||
zval *win_res;
|
||||
SDL_Window *win;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &win_res) == FAILURE) {
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
win = (SDL_Window *)zend_fetch_resource(Z_RES_P(win_res), "SDL_Window", le_sdl_window);
|
||||
if (!win) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
float density = SDL_GetWindowPixelDensity(win);
|
||||
RETURN_DOUBLE(density);
|
||||
}
|
||||
|
||||
PHP_FUNCTION(sdl_get_renderer_output_size) {
|
||||
zval *ren_res;
|
||||
SDL_Renderer *ren;
|
||||
@ -793,6 +810,23 @@ PHP_FUNCTION(sdl_get_renderer_output_size) {
|
||||
add_index_long(return_value, 1, h);
|
||||
}
|
||||
|
||||
PHP_FUNCTION(sdl_get_window_display_scale) {
|
||||
zval *win_res;
|
||||
SDL_Window *win;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &win_res) == FAILURE) {
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
win = (SDL_Window *)zend_fetch_resource(Z_RES_P(win_res), "SDL_Window", le_sdl_window);
|
||||
if (!win) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
float scale = SDL_GetWindowDisplayScale(win);
|
||||
RETURN_DOUBLE(scale);
|
||||
}
|
||||
|
||||
PHP_FUNCTION(sdl_start_text_input) {
|
||||
zval *win_res;
|
||||
SDL_Window *win;
|
||||
@ -987,6 +1021,14 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_sdl_get_window_size_in_pixels, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, window)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_sdl_get_window_pixel_density, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, window)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_sdl_get_window_display_scale, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, window)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_sdl_get_renderer_output_size, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, renderer)
|
||||
ZEND_END_ARG_INFO()
|
||||
@ -1030,6 +1072,8 @@ const zend_function_entry sdl3_functions[] = {
|
||||
PHP_FE(sdl_set_render_clip_rect, arginfo_sdl_set_render_clip_rect)
|
||||
PHP_FE(sdl_get_window_size, arginfo_sdl_get_window_size)
|
||||
PHP_FE(sdl_get_window_size_in_pixels, arginfo_sdl_get_window_size_in_pixels)
|
||||
PHP_FE(sdl_get_window_pixel_density, arginfo_sdl_get_window_pixel_density)
|
||||
PHP_FE(sdl_get_window_display_scale, arginfo_sdl_get_window_display_scale)
|
||||
PHP_FE(sdl_get_renderer_output_size, arginfo_sdl_get_renderer_output_size)
|
||||
PHP_FE(sdl_start_text_input, arginfo_sdl_start_text_input)
|
||||
PHP_FE(sdl_stop_text_input, arginfo_sdl_stop_text_input)
|
||||
|
||||
@ -48,7 +48,7 @@ class Window
|
||||
}
|
||||
|
||||
// Create window with resizable flag for normal window decorations
|
||||
$flags = SDL_WINDOW_RESIZABLE;
|
||||
$flags = SDL_WINDOW_HIGH_PIXEL_DENSITY | SDL_WINDOW_RESIZABLE;
|
||||
|
||||
$this->window = sdl_create_window($title, $width, $height, $flags);
|
||||
if (!$this->window) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user