added windows .ico example
This commit is contained in:
parent
26a453a704
commit
9257b43737
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*.o
|
||||||
|
*.exe
|
17
Makefile.win32
Normal file
17
Makefile.win32
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
CC=tcc
|
||||||
|
CFLAGS= -I./win32/include -L./win32/lib
|
||||||
|
|
||||||
|
all: fps_counter windows_icon
|
||||||
|
|
||||||
|
fps_counter:
|
||||||
|
$(CC) $(CFLAGS) fps_counter.c -lglfw3 -lopengl32 -o fps_counter.exe
|
||||||
|
|
||||||
|
windows_icon: icon.o
|
||||||
|
$(CC) $(CFLAGS) windows_icon.c icon.o -lglfw3 -lopengl32 -o windows_icon.exe
|
||||||
|
|
||||||
|
icon.o:
|
||||||
|
windres -O coff win32/icon/resource.rc -o icon.o
|
||||||
|
|
||||||
|
clean:
|
||||||
|
del *.o
|
||||||
|
del *.exe
|
@ -4,7 +4,11 @@
|
|||||||
|
|
||||||
Compile: gcc fps_counter.c -lglfw -lGL
|
Compile: gcc fps_counter.c -lglfw -lGL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#ifndef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
#include "GLFW/glfw3.h"
|
#include "GLFW/glfw3.h"
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
@ -26,7 +30,7 @@ int main()
|
|||||||
|
|
||||||
int frames = 0;
|
int frames = 0;
|
||||||
double t, t0, fps;
|
double t, t0, fps;
|
||||||
char title_string[200];
|
char title_string[10];
|
||||||
|
|
||||||
t0 = glfwGetTime();
|
t0 = glfwGetTime();
|
||||||
|
|
||||||
@ -49,7 +53,7 @@ int main()
|
|||||||
if((t - t0) > 1.0 || frames == 0)
|
if((t - t0) > 1.0 || frames == 0)
|
||||||
{
|
{
|
||||||
fps = (double)frames / (t - t0);
|
fps = (double)frames / (t - t0);
|
||||||
sprintf(title_string, "FPS: %.1f FPS", fps);
|
sprintf(title_string, "FPS: %.1f", fps);
|
||||||
glfwSetWindowTitle(window, title_string);
|
glfwSetWindowTitle(window, title_string);
|
||||||
t0 = t;
|
t0 = t;
|
||||||
frames = 0;
|
frames = 0;
|
||||||
|
1
win32/icon/resource.rc
Normal file
1
win32/icon/resource.rc
Normal file
@ -0,0 +1 @@
|
|||||||
|
AppIconNm ICON "windows.ico"
|
BIN
win32/icon/windows.ico
Normal file
BIN
win32/icon/windows.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
1526
win32/include/GL/GL.H
Normal file
1526
win32/include/GL/GL.H
Normal file
File diff suppressed because it is too large
Load Diff
3340
win32/include/GLFW/glfw3.h
Normal file
3340
win32/include/GLFW/glfw3.h
Normal file
File diff suppressed because it is too large
Load Diff
356
win32/include/GLFW/glfw3native.h
Normal file
356
win32/include/GLFW/glfw3native.h
Normal file
@ -0,0 +1,356 @@
|
|||||||
|
/*************************************************************************
|
||||||
|
* GLFW 3.1 - www.glfw.org
|
||||||
|
* A library for OpenGL, window and input
|
||||||
|
*------------------------------------------------------------------------
|
||||||
|
* Copyright (c) 2002-2006 Marcus Geelnard
|
||||||
|
* Copyright (c) 2006-2010 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.
|
||||||
|
*
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _glfw3_native_h_
|
||||||
|
#define _glfw3_native_h_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Doxygen documentation
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
/*! @defgroup native Native access
|
||||||
|
*
|
||||||
|
* **By using the native access functions you assert that you know what you're
|
||||||
|
* doing and how to fix problems caused by using them. If you don't, you
|
||||||
|
* shouldn't be using them.**
|
||||||
|
*
|
||||||
|
* Before the inclusion of @ref glfw3native.h, you must define exactly one
|
||||||
|
* window system API macro and exactly one context creation API macro. Failure
|
||||||
|
* to do this will cause a compile-time error.
|
||||||
|
*
|
||||||
|
* The available window API macros are:
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_WIN32`
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_COCOA`
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_X11`
|
||||||
|
*
|
||||||
|
* The available context API macros are:
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_WGL`
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_NSGL`
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_GLX`
|
||||||
|
* * `GLFW_EXPOSE_NATIVE_EGL`
|
||||||
|
*
|
||||||
|
* These macros select which of the native access functions that are declared
|
||||||
|
* and which platform-specific headers to include. It is then up your (by
|
||||||
|
* definition platform-specific) code to handle which of these should be
|
||||||
|
* defined.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* System headers and types
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_WIN32)
|
||||||
|
// This is a workaround for the fact that glfw3.h needs to export APIENTRY (for
|
||||||
|
// example to allow applications to correctly declare a GL_ARB_debug_output
|
||||||
|
// callback) but windows.h assumes no one will define APIENTRY before it does
|
||||||
|
#undef APIENTRY
|
||||||
|
#include <windows.h>
|
||||||
|
#elif defined(GLFW_EXPOSE_NATIVE_COCOA)
|
||||||
|
#include <ApplicationServices/ApplicationServices.h>
|
||||||
|
#if defined(__OBJC__)
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#else
|
||||||
|
typedef void* id;
|
||||||
|
#endif
|
||||||
|
#elif defined(GLFW_EXPOSE_NATIVE_X11)
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/extensions/Xrandr.h>
|
||||||
|
#else
|
||||||
|
#error "No window API selected"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||||
|
/* WGL is declared by windows.h */
|
||||||
|
#elif defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||||
|
/* NSGL is declared by Cocoa.h */
|
||||||
|
#elif defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||||
|
#include <GL/glx.h>
|
||||||
|
#elif defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||||
|
#include <EGL/egl.h>
|
||||||
|
#else
|
||||||
|
#error "No context API selected"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Functions
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_WIN32)
|
||||||
|
/*! @brief Returns the adapter device name of the specified monitor.
|
||||||
|
*
|
||||||
|
* @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`)
|
||||||
|
* of the specified monitor, or `NULL` if an [error](@ref error_handling)
|
||||||
|
* occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.1.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor);
|
||||||
|
|
||||||
|
/*! @brief Returns the display device name of the specified monitor.
|
||||||
|
*
|
||||||
|
* @return The UTF-8 encoded display device name (for example
|
||||||
|
* `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.1.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor);
|
||||||
|
|
||||||
|
/*! @brief Returns the `HWND` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `HWND` of the specified window, or `NULL` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||||
|
/*! @brief Returns the `HGLRC` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `HGLRC` of the specified window, or `NULL` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_COCOA)
|
||||||
|
/*! @brief Returns the `CGDirectDisplayID` of the specified monitor.
|
||||||
|
*
|
||||||
|
* @return The `CGDirectDisplayID` of the specified monitor, or
|
||||||
|
* `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.1.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
|
||||||
|
|
||||||
|
/*! @brief Returns the `NSWindow` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `NSWindow` of the specified window, or `nil` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||||
|
/*! @brief Returns the `NSOpenGLContext` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `NSOpenGLContext` of the specified window, or `nil` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI id glfwGetNSGLContext(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_X11)
|
||||||
|
/*! @brief Returns the `Display` used by GLFW.
|
||||||
|
*
|
||||||
|
* @return The `Display` used by GLFW, or `NULL` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI Display* glfwGetX11Display(void);
|
||||||
|
|
||||||
|
/*! @brief Returns the `RRCrtc` of the specified monitor.
|
||||||
|
*
|
||||||
|
* @return The `RRCrtc` of the specified monitor, or `None` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.1.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
|
||||||
|
|
||||||
|
/*! @brief Returns the `RROutput` of the specified monitor.
|
||||||
|
*
|
||||||
|
* @return The `RROutput` of the specified monitor, or `None` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.1.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
|
||||||
|
|
||||||
|
/*! @brief Returns the `Window` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `Window` of the specified window, or `None` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI Window glfwGetX11Window(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||||
|
/*! @brief Returns the `GLXContext` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `GLXContext` of the specified window, or `NULL` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||||
|
/*! @brief Returns the `EGLDisplay` used by GLFW.
|
||||||
|
*
|
||||||
|
* @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI EGLDisplay glfwGetEGLDisplay(void);
|
||||||
|
|
||||||
|
/*! @brief Returns the `EGLContext` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
|
||||||
|
|
||||||
|
/*! @brief Returns the `EGLSurface` of the specified window.
|
||||||
|
*
|
||||||
|
* @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an
|
||||||
|
* [error](@ref error_handling) occurred.
|
||||||
|
*
|
||||||
|
* @par Thread Safety
|
||||||
|
* This function may be called from any thread. Access is not synchronized.
|
||||||
|
*
|
||||||
|
* @par History
|
||||||
|
* Added in GLFW 3.0.
|
||||||
|
*
|
||||||
|
* @ingroup native
|
||||||
|
*/
|
||||||
|
GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _glfw3_native_h_ */
|
||||||
|
|
BIN
win32/lib/OPENGL32.LIB
Normal file
BIN
win32/lib/OPENGL32.LIB
Normal file
Binary file not shown.
86
win32/lib/glfw3.def
Normal file
86
win32/lib/glfw3.def
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
LIBRARY glfw3.dll
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
glfwCreateCursor
|
||||||
|
glfwCreateStandardCursor
|
||||||
|
glfwCreateWindow
|
||||||
|
glfwDefaultWindowHints
|
||||||
|
glfwDestroyCursor
|
||||||
|
glfwDestroyWindow
|
||||||
|
glfwExtensionSupported
|
||||||
|
glfwGetClipboardString
|
||||||
|
glfwGetCurrentContext
|
||||||
|
glfwGetCursorPos
|
||||||
|
glfwGetFramebufferSize
|
||||||
|
glfwGetGammaRamp
|
||||||
|
glfwGetInputMode
|
||||||
|
glfwGetJoystickAxes
|
||||||
|
glfwGetJoystickButtons
|
||||||
|
glfwGetJoystickName
|
||||||
|
glfwGetKey
|
||||||
|
glfwGetMonitorName
|
||||||
|
glfwGetMonitorPhysicalSize
|
||||||
|
glfwGetMonitorPos
|
||||||
|
glfwGetMonitors
|
||||||
|
glfwGetMouseButton
|
||||||
|
glfwGetPrimaryMonitor
|
||||||
|
glfwGetProcAddress
|
||||||
|
glfwGetTime
|
||||||
|
glfwGetVersion
|
||||||
|
glfwGetVersionString
|
||||||
|
glfwGetVideoMode
|
||||||
|
glfwGetVideoModes
|
||||||
|
glfwGetWGLContext
|
||||||
|
glfwGetWin32Adapter
|
||||||
|
glfwGetWin32Monitor
|
||||||
|
glfwGetWin32Window
|
||||||
|
glfwGetWindowAttrib
|
||||||
|
glfwGetWindowFrameSize
|
||||||
|
glfwGetWindowMonitor
|
||||||
|
glfwGetWindowPos
|
||||||
|
glfwGetWindowSize
|
||||||
|
glfwGetWindowUserPointer
|
||||||
|
glfwHideWindow
|
||||||
|
glfwIconifyWindow
|
||||||
|
glfwInit
|
||||||
|
glfwJoystickPresent
|
||||||
|
glfwMakeContextCurrent
|
||||||
|
glfwPollEvents
|
||||||
|
glfwPostEmptyEvent
|
||||||
|
glfwRestoreWindow
|
||||||
|
glfwSetCharCallback
|
||||||
|
glfwSetCharModsCallback
|
||||||
|
glfwSetClipboardString
|
||||||
|
glfwSetCursor
|
||||||
|
glfwSetCursorEnterCallback
|
||||||
|
glfwSetCursorPos
|
||||||
|
glfwSetCursorPosCallback
|
||||||
|
glfwSetDropCallback
|
||||||
|
glfwSetErrorCallback
|
||||||
|
glfwSetFramebufferSizeCallback
|
||||||
|
glfwSetGamma
|
||||||
|
glfwSetGammaRamp
|
||||||
|
glfwSetInputMode
|
||||||
|
glfwSetKeyCallback
|
||||||
|
glfwSetMonitorCallback
|
||||||
|
glfwSetMouseButtonCallback
|
||||||
|
glfwSetScrollCallback
|
||||||
|
glfwSetTime
|
||||||
|
glfwSetWindowCloseCallback
|
||||||
|
glfwSetWindowFocusCallback
|
||||||
|
glfwSetWindowIconifyCallback
|
||||||
|
glfwSetWindowPos
|
||||||
|
glfwSetWindowPosCallback
|
||||||
|
glfwSetWindowRefreshCallback
|
||||||
|
glfwSetWindowShouldClose
|
||||||
|
glfwSetWindowSize
|
||||||
|
glfwSetWindowSizeCallback
|
||||||
|
glfwSetWindowTitle
|
||||||
|
glfwSetWindowUserPointer
|
||||||
|
glfwShowWindow
|
||||||
|
glfwSwapBuffers
|
||||||
|
glfwSwapInterval
|
||||||
|
glfwTerminate
|
||||||
|
glfwWaitEvents
|
||||||
|
glfwWindowHint
|
||||||
|
glfwWindowShouldClose
|
BIN
win32/lib/glfw3dll.a
Normal file
BIN
win32/lib/glfw3dll.a
Normal file
Binary file not shown.
BIN
win32/lib/libglfw3.a
Normal file
BIN
win32/lib/libglfw3.a
Normal file
Binary file not shown.
38
windows_icon.c
Normal file
38
windows_icon.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
GLFW3 window icon
|
||||||
|
Source: https://github.com/IIIypuk/glfw-examples
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
|
||||||
|
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,
|
||||||
|
LPSTR lpszCmdLine, int nShowCmd)
|
||||||
|
{
|
||||||
|
GLFWwindow *window;
|
||||||
|
if (!glfwInit())
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
|
||||||
|
window = glfwCreateWindow(192, 64, "Windows icon", NULL, NULL);
|
||||||
|
|
||||||
|
if (!window)
|
||||||
|
{
|
||||||
|
glfwTerminate();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
glfwMakeContextCurrent(window);
|
||||||
|
|
||||||
|
while (!glfwWindowShouldClose(window))
|
||||||
|
{
|
||||||
|
glClearColor(0, 0, 0, 1);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
|
glfwSwapBuffers(window);
|
||||||
|
glfwPollEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
glfwTerminate();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user