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');
|
$statusLabel = new Label('Bereit.', 'text-sm text-gray-600');
|
||||||
$kanbanView = new KanbanBoardView($storagePath, $boards, $statusLabel);
|
$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 = 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 {
|
$scaleInput->setOnChange(function (string $value) use ($statusLabel): void {
|
||||||
$value = trim($value);
|
$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);
|
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) {
|
PHP_FUNCTION(sdl_get_renderer_output_size) {
|
||||||
zval *ren_res;
|
zval *ren_res;
|
||||||
SDL_Renderer *ren;
|
SDL_Renderer *ren;
|
||||||
@ -793,6 +810,23 @@ PHP_FUNCTION(sdl_get_renderer_output_size) {
|
|||||||
add_index_long(return_value, 1, h);
|
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) {
|
PHP_FUNCTION(sdl_start_text_input) {
|
||||||
zval *win_res;
|
zval *win_res;
|
||||||
SDL_Window *win;
|
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_ARG_INFO(0, window)
|
||||||
ZEND_END_ARG_INFO()
|
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_BEGIN_ARG_INFO_EX(arginfo_sdl_get_renderer_output_size, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, renderer)
|
ZEND_ARG_INFO(0, renderer)
|
||||||
ZEND_END_ARG_INFO()
|
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_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, 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_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_get_renderer_output_size, arginfo_sdl_get_renderer_output_size)
|
||||||
PHP_FE(sdl_start_text_input, arginfo_sdl_start_text_input)
|
PHP_FE(sdl_start_text_input, arginfo_sdl_start_text_input)
|
||||||
PHP_FE(sdl_stop_text_input, arginfo_sdl_stop_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
|
// 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);
|
$this->window = sdl_create_window($title, $width, $height, $flags);
|
||||||
if (!$this->window) {
|
if (!$this->window) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user