gpt4 book ai didi

c++ - SDL_GetWindowFlags() 返回看似随机的值

转载 作者:行者123 更新时间:2023-11-30 02:22:51 25 4
gpt4 key购买 nike

<分区>

我需要我的 SDL2 程序知道一个窗口是否全屏,我想我可以使用 SDL_GetWindowFlags() 获取该信息。默认情况下,我使用两个标志初始化我的窗口:SDL_WINDOW_SHOWN 和 SDL_WINDOW_BORDERLESS,分别等于 16 和 4。所以我希望该函数返回 20,但我得到的是 532。有时甚至是 1556,在重新初始化窗口几次后,它甚至会在运行时变为 532。然而,532 在运行时永远不会更改为 1556。

这些标志是如何工作的?

bool init( int windowflags )
{
bool success = true;
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
printf( "Video initialization failed: %s\n", SDL_GetError() );
success = false;
}
else
{
gWindow = SDL_CreateWindow( "VIRGULE", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WIN_W, WIN_H, SDL_WINDOW_SHOWN + windowflags );
if( gWindow == NULL )
{
printf( "Window could not be created: %s\n", SDL_GetError() );
success = false;
}
else
{
gRenderer = SDL_CreateRenderer( gWindow, -1, SDL_RENDERER_ACCELERATED + SDL_RENDERER_TARGETTEXTURE );
if( gRenderer == NULL )
{
printf( "Renderer could not be created: %s\n", SDL_GetError() );
success = false;
}
else
{
gTexture = SDL_CreateTexture( gRenderer, SDL_PIXELFORMAT_UNKNOWN, SDL_TEXTUREACCESS_TARGET, SCR_W, SCR_H );
if( gTexture == NULL )
{
printf( "Texture creation failed: %s\n", SDL_GetError() );
success = false;
}
}
}
}
printf( "%i\n", SDL_GetWindowFlags( gWindow ) );
//this is either prints 1556 or 532
return success;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com