当前位置: 首页>>代码示例>>C++>>正文


C++ WindowMap类代码示例

本文整理汇总了C++中WindowMap的典型用法代码示例。如果您正苦于以下问题:C++ WindowMap类的具体用法?C++ WindowMap怎么用?C++ WindowMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了WindowMap类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Berkelium_destroy

PLUGIN_API void Berkelium_destroy()
{
	--refCount;

	if(refCount == 0)
	{
		cerr << "Last reference to Berkelium destroyed: destroying the library" << endl;

		// Destroy the windows that still exist
		// Note: we update Berkelium after each destroy to ensure no messages are left in the message loop
		for(WindowMap::iterator it = windows.begin(); it != windows.end(); ++it)
		{
			delete it->second;
			Berkelium::update();
		}
		windows.clear();

		// Close the berkelium backend
		Berkelium::destroy();
		cerr << "... done destroying Berkelium" << endl;

		// Close the log file
		fclose(stderr);
	}
}
开发者ID:ivyshao,项目名称:UnityBerkeliumPlugin,代码行数:25,代码来源:UnityBerkeliumPlugin.cpp

示例2: Berkelium_Window_destroy

PLUGIN_API void Berkelium_Window_destroy(int windowID)
{
	WindowMap::iterator it = windows.find(windowID);
	if(it != windows.end())
	{
		delete it->second;
		windows.erase(it);
	}
}
开发者ID:reissgrant,项目名称:UnityBerkeliumPlugin,代码行数:9,代码来源:UnityBerkeliumPlugin.cpp

示例3:

UnityBerkeliumWindow *getWindow(int id)
{
	WindowMap::const_iterator it = windows.find(id);
	if(it == windows.end())
	{
		cerr << "Warning: no berkelium window found with ID " << id << "!" << endl;
		return 0;
	}

	return it->second;
}
开发者ID:ivyshao,项目名称:UnityBerkeliumPlugin,代码行数:11,代码来源:UnityBerkeliumPlugin.cpp

示例4: EXPORT_CDECL

EXPORT_CDECL(HICON) GetWindowIcon(HWND window, UINT32 size) {
  WindowMap::iterator iter = sWindowData.find(window);
  if (iter == sWindowData.end()) {
    if (IsTaskbarWindow(window)) {
      UpdateWindowData(window);
    }
    return nullptr;
  }
  if (size > 20 && iter->second.largeIcon != nullptr) {
    return iter->second.largeIcon;
  }
  return iter->second.smallIcon;
}
开发者ID:Superxwolf,项目名称:nModules,代码行数:13,代码来源:WindowMonitor.cpp

示例5: RunWindowMaintenance

void WindowMonitor::RunWindowMaintenance() {
  for (WindowMap::iterator iter = sWindowData.begin(); iter != sWindowData.end();) {
    if (!IsTaskbarWindow(iter->first)) {
      iter = sWindowData.erase(iter);
      continue;
    }

    if (iter->second.updateDuringMaintenance) {
      iter->second.updateDuringMaintenance = false;
      UpdateWindowData(iter->first);
    }

    ++iter;
  }
}
开发者ID:Superxwolf,项目名称:nModules,代码行数:15,代码来源:WindowMonitor.cpp

示例6: GetWindow

/// Получение окна
  Window& GetWindow (size_t id)
  {
    try
    {
      WindowMap::iterator iter = windows.find (id);

      if (iter == windows.end ())
        throw xtl::make_argument_exception ("", "window_id", id, "No window with such id");

      return *iter->second;
    }
    catch (xtl::exception& e)
    {
      e.touch ("render::scene::server::WindowManager::Impl::GetWindow");
      throw;
    }
  }
开发者ID:untgames,项目名称:funner,代码行数:18,代码来源:render_server_window_manager.cpp

示例7: Berkelium_destroy

PLUGIN_API void Berkelium_destroy()
{
	--refCount;

	if(refCount == 0)
	{
		// Destroy the windows that still exist
		for(WindowMap::iterator it = windows.begin(); it != windows.end(); ++it)
			delete it->second;
		windows.clear();

		// Close the berkelium backend
		Berkelium::destroy();

		// Close the log file
		fclose(stderr);
	}
}
开发者ID:reissgrant,项目名称:UnityBerkeliumPlugin,代码行数:18,代码来源:UnityBerkeliumPlugin.cpp

示例8:

UnityBerkeliumWindow *getWindow(int id)
{
	WindowMap::const_iterator it = windows.find(id);
	return (it == windows.end()) ? 0 : it->second;
}
开发者ID:reissgrant,项目名称:UnityBerkeliumPlugin,代码行数:5,代码来源:UnityBerkeliumPlugin.cpp

示例9: HandleMessage

LRESULT WindowMonitor::HandleMessage(UINT message, WPARAM wParam, LPARAM) {
  switch (message) {
  case LM_REDRAW:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWCREATED:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWDESTROYED:
    sWindowData.erase((HWND)wParam);
    return 0;

  case LM_WINDOWREPLACED:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWREPLACING:
    sWindowData.erase((HWND)wParam);
    return 0;

  default:
    assert(false); // We should handle every message sent to us.
    return 0;
  }
}
开发者ID:Superxwolf,项目名称:nModules,代码行数:27,代码来源:WindowMonitor.cpp

示例10: Berkelium_Window_create

PLUGIN_API bool Berkelium_Window_create(int uniqueID, float *colors, bool transparency, int width, int height, char *url)
{
	if(windows.find(uniqueID) != windows.end())
	{
		cerr << "Error: a berkelium window with ID " << uniqueID << " already exists!" << endl;
		return false;
	}

	UnityBerkeliumWindow *pWindow = new UnityBerkeliumWindow(uniqueID, colors, transparency, width, height, url);

	cerr << "Berkelium window created: " << pWindow << " (size=" << width << ", " << height << "; url=" << url << ")" << endl;
	windows[uniqueID] = pWindow;

	return true;
}
开发者ID:ivyshao,项目名称:UnityBerkeliumPlugin,代码行数:15,代码来源:UnityBerkeliumPlugin.cpp

示例11: Stop

void WindowMonitor::Stop() {
  sInitThread.join();
  SendMessage(GetLitestepWnd(), LM_UNREGISTERMESSAGE, (WPARAM)gWindow, (LPARAM)sWMMessages);
  KillTimer(gWindow, NCORE_TIMER_WINDOW_MAINTENANCE);
  sWindowData.clear();
  DestroyIcon(sDefaultIcon);
  sDefaultIcon = nullptr;
}
开发者ID:Superxwolf,项目名称:nModules,代码行数:8,代码来源:WindowMonitor.cpp

示例12: Berkelium_Window_create

PLUGIN_API bool Berkelium_Window_create(int uniqueID, float *colors, int width, int height, char *url) // changed void* to float* since we know we're passing floats
{
	if(windows.find(uniqueID) != windows.end())
	{
		cerr << "Error: a berkelium window with ID " << uniqueID << " already exists!" << endl;
		return false;
	}

	// Unity uses floats for colors
	float *data = reinterpret_cast<float *>(colors);

	UnityBerkeliumWindow *pWindow = new UnityBerkeliumWindow(uniqueID, data, width, height, url);

	cerr << "Berkelium window created: " << pWindow << " (size=" << width << ", " << height << "; url=" << url << ")" << endl;
	windows[uniqueID] = pWindow;

	return true;
}
开发者ID:reissgrant,项目名称:UnityBerkeliumPlugin,代码行数:18,代码来源:UnityBerkeliumPlugin.cpp


注:本文中的WindowMap类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。