зеркало из https://github.com/mozilla/gecko-dev.git
133 строки
2.9 KiB
Plaintext
133 строки
2.9 KiB
Plaintext
/* -*- 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 */
|
|
/* see bug 57094 */
|
|
%{C++
|
|
#ifndef NS_NO_VTABLE
|
|
#define NS_NO_VTABLE
|
|
#endif
|
|
#include "gfxcompat.h"
|
|
%}
|
|
/*! @endverbatim */
|
|
|
|
/**
|
|
* gfx_dimension should be used for widths and heights
|
|
* @var typedef float gfx_dimension
|
|
*/
|
|
typedef float gfx_dimension;
|
|
|
|
/**
|
|
* gfx_coord should be used for x and y coordinates
|
|
* @var typedef float gfx_coord
|
|
*/
|
|
typedef float gfx_coord;
|
|
|
|
typedef gfx_coord nscoord;
|
|
|
|
/**
|
|
* typedef that should be used for angles
|
|
* @var typedef float gfx_angle
|
|
*/
|
|
typedef float gfx_angle;
|
|
|
|
/**
|
|
* 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 nsIGFXFormat
|
|
*/
|
|
typedef long gfx_format;
|
|
|
|
/**
|
|
* typedef that should be used for gamma levels
|
|
* @var typedef float gfx_gamma
|
|
*/
|
|
typedef float gfx_gamma;
|
|
|
|
/**
|
|
* nsIGFXFormat interface
|
|
*
|
|
* @author Tim Rowley <tor@cs.brown.edu>
|
|
* @author Stuart Parmenter <pavlov@netscape.com>
|
|
* @version 0.0
|
|
* @see gfx_format
|
|
*/
|
|
[scriptable]
|
|
interface nsIGFXFormat
|
|
{
|
|
/**
|
|
* RGB - duh...
|
|
*/
|
|
const gfx_format RGB = 0;
|
|
|
|
/**
|
|
* RGB_A1 - RGB image and 1-bit alpha mask
|
|
*/
|
|
const gfx_format RGB_A1 = 1;
|
|
|
|
/**
|
|
* RGB_A8 - RGB image and 8-bit alpha image
|
|
*/
|
|
const gfx_format RGB_A8 = 2;
|
|
|
|
/**
|
|
* RGBA - packed RGBA image
|
|
*/
|
|
const gfx_format RGBA = 3;
|
|
};
|
|
|
|
/*! @verbatim */
|
|
[ptr] native nsRect2(nsRect2);
|
|
[ptr] native nsSize2(nsSize2);
|
|
[ptr] native nsPoint2(nsPoint2);
|
|
[ptr] native nsFont(nsFont);
|
|
|
|
%{C++
|
|
struct nsPoint2;
|
|
struct nsSize2;
|
|
struct nsRect2;
|
|
struct nsFont;
|
|
%}
|
|
/*! @endverbatim */
|