/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 * 
 * The Original Code is mozilla.org code.
 * 
 * The Initial Developer of the Original Code is Netscape
 * Communications Corporation. Portions created by Netscape are
 * Copyright (C) 2000 Netscape Communications Corporation. All
 * Rights Reserved.
 * 
 * Contributor(s): 
 *   Stuart Parmenter <pavlov@netscape.com>
 */

/**
 * gfx idl declarations to be used by all gfx interfaces.
 * @file gfxtypes.idl
 */

#include "nsrootidl.idl"

/*! @verbatim */
%{C++
#include "nsCoord.h"
%}
/*! @endverbatim */

/**
 * A color is a 32 bit unsigned integer with
 * four components: R, G, B and A.
 *
 * @var typedef PRUint32 gfx_color
 */
typedef PRUint32            gfx_color;

/**
 * typedef that should be used for bit depths
 * @var typedef unsigned short gfx_depth
 */
typedef unsigned short      gfx_depth; // is short ok?

/**
 * typedef that should be used for image formats
 * @var typedef long gfx_format
 * @see gfxIFormats
 */
typedef long                gfx_format;

typedef PRInt32             nscoord;

[ptr] native nsRect(nsRect);

