/*
** Module   : jawt_md.h
** Abstract : OS/2 specific, machine dependent data structures for the
**            JAWT interface.
**
** Copyright (c) 2002-2003, Golden Code Development Corporation.
** ALL RIGHTS RESERVED. Use is subject to license terms.
**
**           Golden Code Development Corporation
**                      CONFIDENTIAL
**
*/

/*
 * @(#)jawt_md.h	1.5 01/12/03
 *
 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

#ifndef _JAVASOFT_JAWT_MD_H_
#define _JAVASOFT_JAWT_MD_H_

/* This file will not compile without using the following OS/2 specific
 * definitions and header:
 *
 * #define INCL_WIN
 * #define INCL_GPI
 * #include <os2.h>
 *
 * Golden Code has left these out of this file intentionally, expecting
 * that users of this interface will have a better place for these
 * includes.  Specifically, it will avoid any issue related to multiply
 * including the OS/2 header files.  These are generally protected, but
 * there may be situations in which this is still unwanted.
 */

#include "jawt.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
 * OS2-specific declarations for AWT native interface.
 * See notes in jawt.h for an example of use.
 */
typedef struct jawt_OS2DrawingSurfaceInfo {                       /* #003 */
    /* Native window, DDB, or DIB handle */
    union {
        HWND hwnd;
        HBITMAP hbitmap;
        void* pbits;
    };
    /*
     * This HPS should always be used instead of the HPS returned from
     * WinBeginPaint() or any calls to WinGetPS().
     */
    HPS hps;                                                      /* #004 */
    HPAL hpalette;                                                /* #002 */
} JAWT_OS2DrawingSurfaceInfo;                                     /* #003 */

#ifdef __cplusplus
}
#endif

#endif /* !_JAVASOFT_JAWT_MD_H_ */
