2362N/A * Copyright (c) 2000, 2007, 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 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * X11 platform implementation of the VolatileSurfaceManager class. 0N/A * The class attempts to create and use a pixmap-based SurfaceData 0N/A * object (X11PixmapSurfaceData). 0N/A * If this object cannot be created or re-created as necessary, the 0N/A * class falls back to a system memory based SurfaceData object 0N/A * (BufImgSurfaceData) that will be used until the accelerated 0N/A * SurfaceData can be restored. 0N/A // We only accelerated opaque vImages currently 0N/A // if we're wrapping a backbuffer drawable, we must ensure that 0N/A // the accelerated surface is initialized up front, regardless 0N/A // of whether acceleration is enabled. But we need to set 0N/A // the accelerationEnabled field to true to reflect that this 0N/A // SM is actually accelerated. 0N/A // release the system memory backup surface, as we won't be 0N/A // needing it in this case 0N/A * Create a pixmap-based SurfaceData object 0N/A // REMIND: we might be too paranoid here, requiring that 0N/A // the GC be exactly the same as the original one. The 0N/A // real answer is one that guarantees that pixmap copies 0N/A // will be correct (which requires like bit depths and 0N/A * Need to override the default behavior because Pixmaps-based 0N/A * images are accelerated but not volatile. 0N/A // accelerated but not volatile 0N/A // neither accelerated nor volatile