/* -*- Mode: C -*-
 *
 * $Header: /home/gene/library/website/docsrc/vwu/src/RCS/gwp.h,v 395.1 2008/04/20 17:25:48 gene Exp $
 *
 * Copyright (c) 2006 Gene Michael Stover.  All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 * USA
 */

/*
 * GWP = Generic Window Proc
 */

/*
 */
Boolean GWP_RegisterClass (WNDCLASS *wndclass, MsgMap *map,
                           WNDPROC default_wndproc);

/*
 * Use this as your class's Window Procedure if you want GWP to
 * do most of the work.  This is not as fast as GWP_WindowProc0.
 */
LRESULT CALLBACK GWP_WindowProc (HWND wnd, WindowMessage msg, WPARAM wparam,
                                 LPARAM lparam);

/*
 * Use this if you have your own Window Procedure which calls this
 * function with the MsgMap & the default Window Procedure.  This
 * is probably the fastest at run-time.
 * When you do this, you don't need to register the class with
 * GWP_RegisterClass, though you still need to register it with
 * the Windows SDK function RegisterClass.
 */
LRESULT CALLBACK
GWP_WindowProc0 (HWND wnd, WindowMessage msg, WPARAM wparam, LPARAM lparam,
                 MsgMap *map, WNDPROC default_wndproc);

/* --- end of file --- */
