| //======================================================================== | 
 | // UTF-8 window title test | 
 | // Copyright (c) Camilla Berglund <elmindreda@elmindreda.org> | 
 | // | 
 | // This software is provided 'as-is', without any express or implied | 
 | // warranty. In no event will the authors be held liable for any damages | 
 | // arising from the use of this software. | 
 | // | 
 | // Permission is granted to anyone to use this software for any purpose, | 
 | // including commercial applications, and to alter it and redistribute it | 
 | // freely, subject to the following restrictions: | 
 | // | 
 | // 1. The origin of this software must not be misrepresented; you must not | 
 | //    claim that you wrote the original software. If you use this software | 
 | //    in a product, an acknowledgment in the product documentation would | 
 | //    be appreciated but is not required. | 
 | // | 
 | // 2. Altered source versions must be plainly marked as such, and must not | 
 | //    be misrepresented as being the original software. | 
 | // | 
 | // 3. This notice may not be removed or altered from any source | 
 | //    distribution. | 
 | // | 
 | //======================================================================== | 
 | // | 
 | // This test sets a UTF-8 window title | 
 | // | 
 | //======================================================================== | 
 |  | 
 | #include <GL/glfw3.h> | 
 |  | 
 | #include <stdio.h> | 
 | #include <stdlib.h> | 
 |  | 
 | static void error_callback(int error, const char* description) | 
 | { | 
 |     fprintf(stderr, "Error: %s\n", description); | 
 | } | 
 |  | 
 | static void window_size_callback(GLFWwindow window, int width, int height) | 
 | { | 
 |     glViewport(0, 0, width, height); | 
 | } | 
 |  | 
 | int main(void) | 
 | { | 
 |     GLFWwindow window; | 
 |  | 
 |     glfwSetErrorCallback(error_callback); | 
 |  | 
 |     if (!glfwInit()) | 
 |         exit(EXIT_FAILURE); | 
 |  | 
 |     window = glfwCreateWindow(400, 400, "English 日本語 русский язык 官話", NULL, NULL); | 
 |     if (!window) | 
 |     { | 
 |         glfwTerminate(); | 
 |         exit(EXIT_FAILURE); | 
 |     } | 
 |  | 
 |     glfwMakeContextCurrent(window); | 
 |     glfwSwapInterval(1); | 
 |  | 
 |     glfwSetWindowSizeCallback(window, window_size_callback); | 
 |  | 
 |     while (!glfwGetWindowParam(window, GLFW_CLOSE_REQUESTED)) | 
 |     { | 
 |         glClear(GL_COLOR_BUFFER_BIT); | 
 |         glfwSwapBuffers(window); | 
 |         glfwWaitEvents(); | 
 |     } | 
 |  | 
 |     glfwTerminate(); | 
 |     exit(EXIT_SUCCESS); | 
 | } | 
 |  |