GLFW SetWindowIcon

2020-07-18 09:23发布

So, I am trying to set the window icon for my glfw window (obviously) but I am having trouble doing so because I don't know how to set an icon using GLFWimage. The code in the docs is as shown:

GLFWimage images[2];
images[0] = load_icon("my_icon.png");
images[1] = load_icon("my_icon_small.png");
glfwSetWindowIcon(window, 2, images);

But there, it doesn't show how to use or create a "load_icon" function. So, can anyone help cause I have been searching for months.

标签: c++ opengl glfw
1条回答
三岁会撩人
2楼-- · 2020-07-18 10:00
glfwSetWindowIcon(GLFWwindow * window, int count, const GLFWimage * images)

I think the first parameters 2 are clear and there is the third, GLFWimage which is a structure with fields int width, int height, unsigned char * pixels but its your task to provide data for it, GLFW does not give you fucntions to load your images but there are several libraries which does or you can write your own funcion to get image data.

I'm not really c++ guy so I'm not aware of the newest/best libraries currently but there is soil for example which would work just fine. Something like this:

GLFWimage icons[1];
icons[0].pixels = SOIL_load_image("icon.png", &icons[0].width, &icons[0].height, 0, SOIL_LOAD_RGBA);
glfwSetWindowIcon(window.window, 1, icons);
SOIL_free_image_data(icons[0].pixels);
查看更多
登录 后发表回答