HDevWindowStack.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*****************************************************************************
  2. * HDevWindowStack.h
  3. *****************************************************************************
  4. *
  5. * Project: HALCON/C++
  6. * Description: Window management for exported HDevelop code
  7. *
  8. * (c) 2010-2020 by MVTec Software GmbH
  9. * www.mvtec.com
  10. *
  11. *****************************************************************************
  12. *
  13. *
  14. *****************************************************************************/
  15. #ifndef HCPP_DEV_WINDOW_STACK_H
  16. #define HCPP_DEV_WINDOW_STACK_H
  17. #include "halconcpp/HTuple.h"
  18. namespace HalconCpp
  19. {
  20. // The class HDevWindowStack can be used to emulate the behavior of HDevelop
  21. // graphics windows for HALCON graphics windows. It is primarily intended for
  22. // usage in C++ programs exported from HDevelop programs containing HDevelop
  23. // window operators (e.g. dev_set_window, dev_open_window, dev_close_window...)
  24. class LIntExport HDevWindowStack
  25. {
  26. public:
  27. // Push handle for new window (dev_open_window)
  28. static void Push(const HTuple &win_handle);
  29. // Pop handle for closed window (dev_close_window)
  30. static HTuple Pop();
  31. // Get handle for active window
  32. static HTuple GetActive();
  33. // Set active window (dev_set_window)
  34. static void SetActive(const HTuple &win_handle);
  35. // Test if any open window is available
  36. static bool IsOpen();
  37. // Close all open windows
  38. static void CloseAll();
  39. };
  40. }
  41. #endif