/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef D3DPaints_h_Included
#define D3DPaints_h_Included
#include "sun_java2d_SunGraphics2D.h"
#include "D3DContext.h"
#include "D3DSurfaceData.h"
/************************* GradientPaint support ****************************/
/**
* Flags that can be bitwise-or'ed together to control how the shader
* source code is generated.
*/
/************************** TexturePaint support ****************************/
/****************** Shared MultipleGradientPaint support ********************/
/**
* These constants are identical to those defined in the
* MultipleGradientPaint.CycleMethod enum; they are copied here for
* convenience (ideally we would pull them directly from the Java level,
* but that entails more hassle than it is worth).
*/
#define CYCLE_NONE 0
/**
* The following constants are flags that can be bitwise-or'ed together
* to control how the MultipleGradientPaint shader source code is generated:
*
* MULTI_GRAD_CYCLE_METHOD
* Placeholder for the CycleMethod enum constant.
*
* MULTI_GRAD_LARGE
* If set, use the (slower) shader that supports a larger number of
* gradient colors; otherwise, use the optimized codepath. See
* the MAX_FRACTIONS_SMALL/LARGE constants below for more details.
*
* MULTI_GRAD_USE_MASK
* If set, apply the alpha mask value from texture unit 1 to the
* final color result (only used in the MaskFill case).
*
* MULTI_GRAD_LINEAR_RGB
* If set, convert the linear RGB result back into the sRGB color space.
*/
/**
* The maximum number of gradient colors supported by all of the gradient
* fragment shaders. Note that this value must be a power of two, as it
* determines the size of the 1D texture created below. It also must be
* greater than or equal to MAX_FRACTIONS (there is no strict requirement
* that the two values be equal).
*/
/********************** LinearGradientPaint support *************************/
/********************** RadialGradientPaint support *************************/
/************************ SunGraphics2D constants ***************************/
#endif /* D3DPaints_h_Included */