home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c083 / 11.ddi / OWLSRC.PAK / DISPATCH.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-02  |  7.2 KB  |  284 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows - (C) Copyright 1992, 1993 by Borland International
  3. //   source\owl\dispatch.cpp
  4. //   Implementation of dispatcher classes
  5. //----------------------------------------------------------------------------
  6. #include <owl\owlpch.h>
  7. #include <owl\point.h>
  8. #include <owl\dispatch.h>
  9.  
  10. LRESULT _OWLFUNC
  11. LRESULT_WPARAM_LPARAM_Dispatch(GENERIC& generic,
  12.                                LRESULT (GENERIC::*pmf)(WPARAM, LPARAM),
  13.                                WPARAM   wParam,
  14.                                LPARAM   lParam)
  15. {
  16.   return (generic.*pmf)(wParam, lParam);
  17. }
  18.  
  19. LRESULT _OWLFUNC
  20. v_Dispatch(GENERIC& generic,
  21.            void    (GENERIC::*pmf)(),
  22.            WPARAM,
  23.            LPARAM)
  24. {
  25.   (generic.*pmf)();
  26.   return 0;
  27. }
  28.  
  29. LRESULT _OWLFUNC
  30. v_WPARAM_LPARAM_Dispatch(GENERIC& generic,
  31.                          void    (GENERIC::*pmf)(WPARAM, LPARAM),
  32.                          WPARAM   wParam,
  33.                          LPARAM   lParam)
  34. {
  35.   (generic.*pmf)(wParam, lParam);
  36.   return 0;
  37. }
  38.  
  39. LRESULT _OWLFUNC
  40. v_U_U_Dispatch(GENERIC& generic,
  41.                void    (GENERIC::*pmf)(UINT, UINT),
  42.                WPARAM   wParam,
  43.                LPARAM   lParam)
  44. {
  45. #if defined(__WIN32__)
  46.   (generic.*pmf)(wParam, lParam);
  47. #else
  48.   (generic.*pmf)(wParam, LOWORD(lParam));
  49. #endif
  50.   return 0;
  51. }
  52.  
  53. LRESULT _OWLFUNC
  54. v_U_U_U_Dispatch(GENERIC& generic,
  55.                  void    (GENERIC::*pmf)(UINT, UINT, UINT),
  56.                  WPARAM   wParam,
  57.                  LPARAM   lParam)
  58. {
  59.   (generic.*pmf)(wParam, LOWORD(lParam), HIWORD(lParam));
  60.   return 0;
  61. }
  62.  
  63. LRESULT _OWLFUNC
  64. U_U_U_U_Dispatch(GENERIC& generic,
  65.                  UINT    (GENERIC::*pmf)(UINT, UINT, UINT),
  66.                  WPARAM   wParam,
  67.                  LPARAM   lParam)
  68. {
  69.   return (generic.*pmf)(wParam, LOWORD(lParam), HIWORD(lParam));
  70. }
  71.  
  72. LRESULT _OWLFUNC
  73. v_LPARAM_Dispatch(GENERIC& generic,
  74.                   void    (GENERIC::*pmf)(LPARAM),
  75.                   WPARAM,
  76.                   LPARAM   lParam)
  77. {
  78.   (generic.*pmf)(lParam);
  79.   return 0;
  80. }
  81.  
  82. LRESULT _OWLFUNC
  83. i_LPARAM_Dispatch(GENERIC& generic,
  84.                   int     (GENERIC::*pmf)(LPARAM),
  85.                   WPARAM,
  86.                   LPARAM   lParam)
  87. {
  88.   return (generic.*pmf)(lParam);
  89. }
  90.  
  91. LRESULT _OWLFUNC
  92. v_WPARAM_Dispatch(GENERIC& generic,
  93.                   void    (GENERIC::*pmf)(WPARAM),
  94.                   WPARAM   wParam,
  95.                   LPARAM)
  96. {
  97.   (generic.*pmf)(wParam);
  98.   return 0;
  99. }
  100.  
  101. LRESULT _OWLFUNC
  102. i_WPARAM_Dispatch(GENERIC& generic,
  103.                   int     (GENERIC::*pmf)(WPARAM),
  104.                   WPARAM   wParam,
  105.                   LPARAM)
  106. {
  107.   return (generic.*pmf)(wParam);
  108. }
  109.  
  110. LRESULT _OWLFUNC
  111. v_U_U_W_Dispatch(GENERIC& generic,
  112.                  void    (GENERIC::*pmf)(UINT, UINT, HWND),
  113.                  WPARAM   wParam,
  114.                  LPARAM   lParam)
  115. {
  116. #if defined(__WIN32__)
  117.   (generic.*pmf)(LOWORD(wParam), HIWORD(wParam), (HWND)lParam);
  118. #else
  119.   (generic.*pmf)(wParam, LOWORD(lParam), (HWND)HIWORD(lParam));
  120. #endif
  121.   return 0;
  122. }
  123.  
  124. LRESULT _OWLFUNC
  125. LRESULT_U_U_W_Dispatch(GENERIC& generic,
  126.                        LRESULT (GENERIC::*pmf)(UINT, UINT, HWND),
  127.                        WPARAM   wParam,
  128.                        LPARAM   lParam)
  129. {
  130. #if defined(__WIN32__)
  131.   return (generic.*pmf)(LOWORD(wParam), HIWORD(wParam), (HWND)lParam);
  132. #else
  133.   return (generic.*pmf)(wParam, LOWORD(lParam), (HWND)HIWORD(lParam));
  134. #endif
  135. }
  136.  
  137. LRESULT _OWLFUNC
  138. v_U_POINT_Dispatch(GENERIC& generic,
  139.                    void    (GENERIC::*pmf)(UINT, TPoint&),
  140.                    WPARAM   wParam,
  141.                    LPARAM   lParam)
  142. {
  143. #if defined(__WIN32__)
  144.   (generic.*pmf)(wParam, TPoint(lParam));
  145. #else
  146.   (generic.*pmf)(wParam, *(TPoint*)&lParam);
  147. #endif
  148.   return 0;
  149. }
  150.  
  151. LRESULT _OWLFUNC
  152. v_POINT_Dispatch(GENERIC& generic,
  153.                  void    (GENERIC::*pmf)(TPoint&),
  154.                  WPARAM,
  155.                  LPARAM   lParam)
  156. {
  157. #if defined(__WIN32__)
  158.   (generic.*pmf)(TPoint(lParam));
  159. #else
  160.   (generic.*pmf)(*(TPoint*)&lParam);
  161. #endif
  162.   return 0;
  163. }
  164.  
  165. LRESULT _OWLFUNC
  166. U_LPARAM_Dispatch(GENERIC& generic,
  167.                   UINT    (GENERIC::*pmf)(LPARAM),
  168.                   WPARAM,
  169.                   LPARAM   lParam)
  170. {
  171.   return (generic.*pmf)(lParam);
  172. }
  173.  
  174. LRESULT _OWLFUNC
  175. U_WPARAM_LPARAM_Dispatch(GENERIC& generic,
  176.                          UINT    (GENERIC::*pmf)(WPARAM, LPARAM),
  177.                          WPARAM   wParam,
  178.                          LPARAM   lParam)
  179. {
  180.   return (generic.*pmf)(wParam, lParam);
  181. }
  182.  
  183. LRESULT _OWLFUNC
  184. U_POINT_Dispatch(GENERIC& generic,
  185.                  UINT    (GENERIC::*pmf)(TPoint&),
  186.                  WPARAM,
  187.                  LPARAM   lParam)
  188. {
  189. #if defined(__WIN32__)
  190.   return (generic.*pmf)(TPoint(lParam));
  191. #else
  192.   return (generic.*pmf)(*(TPoint*)&lParam);
  193. #endif
  194. }
  195.  
  196. LRESULT _OWLFUNC
  197. U_Dispatch(GENERIC& generic,
  198.            UINT(GENERIC::*pmf)(),
  199.            WPARAM,
  200.            LPARAM)
  201. {
  202.   return (generic.*pmf)();
  203. }
  204.  
  205. LRESULT _OWLFUNC
  206. i_U_W_U_Dispatch(GENERIC& generic,
  207.                  int     (GENERIC::*pmf)(UINT, HWND, UINT),
  208.                  WPARAM   wParam,
  209.                  LPARAM   lParam)
  210. {
  211. #if defined(__WIN32__)
  212.   return (generic.*pmf)(LOWORD(wParam), (HWND)lParam, HIWORD(wParam));
  213. #else
  214.   return (generic.*pmf)(wParam, (HWND)LOWORD(lParam), HIWORD(lParam));
  215. #endif
  216. }
  217.  
  218. LRESULT _OWLFUNC
  219. v_W_W_Dispatch(GENERIC& generic,
  220.                void    (GENERIC::*pmf)(HWND, HWND),
  221.                WPARAM   wParam,
  222.                LPARAM   lParam)
  223. {
  224. #if defined(__WIN32__)
  225.   (generic.*pmf)((HWND)lParam, (HWND)wParam);
  226. #else
  227.   (generic.*pmf)((HWND)LOWORD(lParam), (HWND)(lParam ? HIWORD(lParam) : wParam));
  228. #endif
  229.   return 0;
  230. }
  231.  
  232. LRESULT _OWLFUNC
  233. v_U_B_W_Dispatch(GENERIC& generic,
  234.                  void    (GENERIC::*pmf)(UINT, BOOL, HWND),
  235.                  WPARAM   wParam,
  236.                  LPARAM   lParam)
  237. {
  238. #if defined(__WIN32__)
  239.   (generic.*pmf)(LOWORD(wParam), HIWORD(wParam), (HWND)lParam);
  240. #else
  241.   (generic.*pmf)(wParam, HIWORD(lParam), (HWND)LOWORD(lParam));
  242. #endif
  243.   return 0;
  244. }
  245.  
  246. LRESULT _OWLFUNC
  247. HBRUSH_HDC_W_U_Dispatch(GENERIC& generic,
  248.                         HBRUSH  (GENERIC::*pmf)(HDC, HWND, UINT),
  249.                         WPARAM   wParam,
  250.                         LPARAM   lParam)
  251. {
  252.   return (LRESULT)(generic.*pmf)((HDC)wParam,
  253.                                  (HWND)LOWORD(lParam),
  254.                                  HIWORD(lParam));
  255. }
  256.  
  257. LRESULT _OWLFUNC
  258. v_POINTER_Dispatch(GENERIC& generic,
  259.                    void    (GENERIC::*pmf)(void*),
  260.                    WPARAM,
  261.                    LPARAM   lParam)
  262. {
  263.   (generic.*pmf)((void*)lParam);
  264.   return 0;
  265. }
  266.  
  267. LRESULT _OWLFUNC
  268. v_ParentNotify_Dispatch(GENERIC& generic,
  269.                  int     (GENERIC::*pmf)(UINT, UINT, UINT),
  270.                  WPARAM   wParam,
  271.                  LPARAM   lParam)
  272. {
  273. #if defined(__WIN32__)
  274.   if (LOWORD(wParam) >= WM_MOUSEFIRST && LOWORD(wParam) <= WM_MOUSELAST)
  275.     (generic.*pmf)(wParam, LOWORD(lParam), HIWORD(lParam));
  276.   else
  277.     (generic.*pmf)(LOWORD(wParam), lParam, HIWORD(wParam));
  278. #else
  279.   (generic.*pmf)(wParam, LOWORD(lParam), HIWORD(lParam));
  280. #endif
  281.   return 0;
  282. }
  283.  
  284.