我可以使用sokol-app.h使窗口在sokol中无法调整大小吗?

问题描述

是否可以在不缩放图形的情况下使窗口不可调整大小?

#define SOKOL_IMPL
#include "sokol/sokol_app.h"

sapp_desc sokol_main(int argc,char** argv)
{
    return (sapp_desc)
    {
        .window_title = "sokol-game",.width        = 800,.height       = 450,.init_cb      = sokol_on_init,.frame_cb     = sokol_on_frame,.event_cb     = sokol_on_event,// Todo: Is there way to let window unresizable?
    };
}

解决方法

现在不直接支持。

有关Github的讨论,索科尔作者建议:

我认为,实现此目标的最佳方法是通过sapp_desc中的config标志,然后在创建窗口时省略特定于平台的“可调整大小标志”(以防您暂时自己修改该标志)。

请参阅https://github.com/floooh/sokol/issues/380

例如,您可以在MacOS上删除NSWindowStyleMaskResizable标志,以便代替

const NSUInteger style =
    NSWindowStyleMaskTitled |
    NSWindowStyleMaskClosable |
    NSWindowStyleMaskMiniaturizable |
    NSWindowStyleMaskResizable;

它看起来像这样:

const NSUInteger style =
    NSWindowStyleMaskTitled |
    NSWindowStyleMaskClosable |
    NSWindowStyleMaskMiniaturizable;

您必须对要支持的所有平台执行此操作。