SDL如何检查窗口是否已最大化或最小化

问题描述 投票:0回答:1

我正在尝试制作一个可以最大化和最小化的无边界窗口,但是我无法获得有关如何获取窗口当前状态(如果最小化或最大化)以及如何使用它的任何信息。] >

(编辑)代码片段:


SDL_Rect minimize_area = {0,0,20,20};
Button minimize_window_button = Button(minimize_area);

SDL_Rect maximize_area = {0,0,20,20};
Button maximize_window_button = Button(maximize_area);

SDL_Rect close_area = {0,0,20,20};
Button close_window_button = Button(close_area);

// Program loop
while ( SDL_PollEvent( &event ) ) {
    case SDL_MOUSEBUTTONDOWN:
        if (event.button.button == SDL_BUTTON_LEFT) {
            mouse.updateMousePosition();
            if (close_window_button.mouseInDstRect(mouse.pos.x, mouse.pos.y)) running = false;
            if (maximize_window_button.mouseInDstRect(mouse.pos.x, mouse.pos.y)) {
                if (/* WAY TO KNOW IF THE WINDOW IS MAXIMIZED */) {
                    SDL_MaximizeWindow(window);
                } else {
                    SDL_RestoreWindow(window);
                }
            }
            if (minimize_window_button.mouseInDstRect(mouse.pos.x, mouse.pos.y)) {
                if (/* WAY TO KNOW IF WINDOW IS MINIMIZED or UNMINIMIZED */) {
                    SDL_MinimizeWindow(window);
                } else {
                    SDL_RestoreWindow(window);
                }
            }

        }

        SDL_Log("click!");
        break;
}



    

我正在尝试制作可以最大化和最小化的无边界窗口,但是我无法获得有关如何获取窗口当前状态(如果已最小化或最大化)以及如何...的任何信息。 >

linux sdl minimize maximize borderless
1个回答
1
投票

[SDL_GetWindowFlags(),检查SDL_GetWindowFlags()SDL_WINDOW_MINIMIZED位。

© www.soinside.com 2019 - 2024. All rights reserved.