home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / dreamscape / source / Dreamscape / Headers / objects / window / h / windowinte < prev    next >
Encoding:
Text File  |  1996-09-01  |  2.3 KB  |  71 lines

  1.  
  2. // objects.window.h.windowinternal
  3.  
  4. // Dreamscape - C++ class library for RISC OS
  5. // Copyright (c) 1996 Mark Seaborn <mseaborn@argonet.co.uk>
  6. //
  7. // This library is free software; you can redistribute it and/or
  8. // modify it under the terms of the GNU Library General Public
  9. // License as published by the Free Software Foundation; either
  10. // version 2 of the License, or (at your option) any later version.
  11. // See the Dreamscape documentation for more information.
  12.  
  13. #ifndef dreamscape_windowinternal_H
  14. #define dreamscape_windowinternal_H
  15.  
  16. #include "window.h"
  17. #include "winhandlers.h"
  18.  
  19. struct toolbox_action;
  20. struct toolbox_block;
  21. union wimp_block;
  22. struct toolbox_block;
  23.  
  24. class WindowInternal {
  25.   friend BaseWindow;
  26.   friend Window;
  27.   friend Gadget;
  28.  
  29.   static void *creator(toolbox_o object);
  30.   static void deleter(void *handle);
  31.   static void showing(const toolbox_action *event, const toolbox_block *ids);
  32.   static void hidden(const toolbox_action *event, const toolbox_block *ids);
  33.   static bool open(const wimp_block *event, const toolbox_block *ids,
  34.         void *handle);
  35.   static bool close(const wimp_block *event, const toolbox_block *ids,
  36.         void *handle);
  37.   static bool redraw(const wimp_block *event, const toolbox_block *ids,
  38.         void *handle);
  39.   static bool click(const wimp_block *event, const toolbox_block *ids,
  40.         void *handle);
  41.   static bool key_pressed(const wimp_block *event, const toolbox_block *ids,
  42.         void *handle);
  43.   static bool null_event(const wimp_block *event, const toolbox_block *ids,
  44.         void *handle);
  45.   static bool drag_end(const wimp_block *event, const toolbox_block *ids,
  46.         void *handle);
  47.   static void get_drag_info(DragHandler::DragInfo &info);
  48.   static void check_drag_area();
  49.   static void setup_drag();
  50.   static DragHandler *drag_handler;
  51.   static Window *drag_window;
  52.   static WinBBox drag_bbox;
  53.   static bool redraw_failed;
  54.   static unsigned show_threaded;
  55.  
  56.   List<Gadget *> gadgets;
  57.   List<const WindowRedrawable *> redrawers;
  58.   List<ClickHandler *> click_handlers;
  59.   KeyPressedHandler *key_pressed_handler;
  60.   WindowResizedHandler *resized_handler;
  61.   List<WindowShower *> window_showers;
  62.   List<WindowHider *> window_hiders;
  63.   unsigned window_showers_threaded: 8;
  64.   unsigned window_hiders_threaded: 8;
  65.   Command *showing_handler, *hidden_handler, *menu_showing_handler;
  66.  
  67.   WindowInternal();
  68. };
  69.  
  70. #endif
  71.