SDL - 窗口数据

时间:2014-10-28 09:37:01

标签: c++ sdl

我正在浏览SDL文档,但我找到WindowDataSDL_SetWindowDataSDL_GetWindowData)。 这些功能有什么用?它存储与名称相关联的void指针,因此它只用于存储我的对象,我以后可以使用它?或者它在SDL

中具有重要性

1 个答案:

答案 0 :(得分:3)

这些函数应该允许您使用窗口对象存储指向任意数据的指针(例如您选择的内存缓冲区或对象):

MyObject *object_ptr = new MyObject(); // Your custom object
object_ptr->data = 42; // Your custom data
SDL_SetWindowData(window, "mycustomdata", object_ptr);

// Somewhere else in your code in a place where you have access to 'window'
MyObject *object_ptr = SDL_GetWindowData(window, "mycustomdata");
// do whatever you want with object_ptr..

此行为模仿win32 API的SetWindowLong(hwnd, GWL_USERDATA, pointer);调用。