Subversion Repositories Games.Descent

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
  3.  * It is copyright by its individual contributors, as recorded in the
  4.  * project's Git history.  See COPYING.txt at the top level for license
  5.  * terms and a link to the Git history.
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #ifdef __cplusplus
  11. #include "fwd-event.h"
  12. #include "fwd-gr.h"
  13.  
  14. #ifdef dsx
  15. namespace dsx {
  16. struct arch_atexit
  17. {
  18.         ~arch_atexit();
  19. };
  20.  
  21. __attribute_warn_unused_result
  22. arch_atexit arch_init();
  23. }
  24. #endif
  25. namespace dcx {
  26.  
  27. class window;
  28.  
  29. template <typename T>
  30. using window_subfunction = window_event_result (*)(window *menu,const d_event &event, T *userdata);
  31.  
  32. template <typename T>
  33. using window_subclass_subfunction = window_event_result (*)(T *menu,const d_event &event, void*);
  34.        
  35. class unused_window_userdata_t;
  36.  
  37. /* No declaration for embed_window_pointer_t or ignore_window_pointer_t
  38.  * since every user needs the full definition.
  39.  */
  40.  
  41. int window_close(window *wind);
  42. window *window_get_front();
  43. window *window_get_first();
  44. window *window_get_next(window &wind);
  45. window *window_get_prev(window &wind);
  46. void window_select(window &wind);
  47. window *window_set_visible(window &wind, int visible);
  48. grs_canvas &window_get_canvas(window &wind);
  49. #if !DXX_USE_OGL
  50. void window_update_canvases();
  51. #endif
  52. int window_is_modal(window &wind);
  53.  
  54. #define WINDOW_SEND_EVENT(w)    ((WINDOW_SEND_EVENT)(*w, event, __FILE__, __LINE__))
  55.  
  56. }
  57.  
  58. #endif
  59.