2362N/A * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A * The OGLBlendRule structure encapsulates the two enumerated values that 0N/A * comprise a given Porter-Duff blending (compositing) rule. For example, 0N/A * the "SrcOver" rule can be represented by: 0N/A * rule.dst = GL_ONE_MINUS_SRC_ALPHA; 0N/A * The constant representing the source factor in this Porter-Duff rule. 0N/A * The constant representing the destination factor in this Porter-Duff rule. 0N/A * The OGLContext structure contains cached state relevant to the native 0N/A * OpenGL context stored within the native ctxInfo field. Each Java-level 0N/A * OGLContext object is associated with a native-level OGLContext structure. 0N/A * The caps field is a bitfield that expresses the capabilities of the 0N/A * the definitions of each capability bit). The other fields are 0N/A * simply cached values of various elements of the context state, typically 0N/A * Note that the textureFunction field is implicitly set to zero when the 0N/A * OGLContext is created. The acceptable values (e.g. GL_MODULATE, 0N/A * GL_REPLACE) for this field are never zero, which means we will always 0N/A * validate the texture function state upon the first call to the 0N/A * OGLC_UPDATE_TEXTURE_FUNCTION() macro. 0N/A * Evaluates to true if the given capability bitmask is present for the 0N/A * given OGLContext. Note that only the constant name needs to be passed as 0N/A * a parameter, as this macro will automatically prepend the full package 0N/A * and class name to the constant name. 0N/A * At startup we will embed one of the following values in the caps field 0N/A * of OGLContext. Later we can use this information to select 0N/A * the codepath that offers the best performance for that vendor's 0N/A * This constant determines the size of the shared tile texture used 0N/A * by a number of image rendering methods. For example, the blit tile texture 0N/A * will have dimensions with width OGLC_BLIT_TILE_SIZE and height 0N/A * OGLC_BLIT_TILE_SIZE (the tile will always be square). 0N/A * Helper macros that update the current texture function state only when 0N/A * it needs to be changed, which helps reduce overhead for small texturing 0N/A * operations. The filter state is set on a per-context (not per-texture) 0N/A * basis; for example, if we apply one texture using GL_MODULATE followed by 0N/A * another texture using GL_MODULATE (under the same context), there is no 0N/A * need to set the texture function the second time, as that would be 0N/A#
endif /* OGLContext_h_Included */