1 /* 2 * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.java2d.pipe; 27 28 import sun.java2d.SunGraphics2D; 29 30 /** 31 * This interface defines the set of calls that pipeline objects 32 * can use to pass on responsibility for filling various basic 33 * geometric figures defined by explicit integer coordinates. 34 * Typically this interface will be used for communication when 35 * the coordinates of the rendering have been narrowed down to 36 * actual device pixels, or for communication of untransformed 37 * coordinates when the coordinates were specified using integers. 38 * This interface does not cover all of the rendering calls that 39 * are possible in Graphics since many of the rendering calls can 40 * be transformed into one or more variants of these calls. 41 */ 42 public interface PixelFillPipe { 43 public void fillRect(SunGraphics2D sg, 44 int x, int y, int width, int height); 45 46 47 public void fillRoundRect(SunGraphics2D sg, 48 int x, int y, int width, int height, 49 int arcWidth, int arcHeight); 50 51 public void fillOval(SunGraphics2D sg, 52 int x, int y, int width, int height); 53 54 public void fillArc(SunGraphics2D sg, 55 int x, int y, int width, int height, 56 int startAngle, int arcAngle); 57 58 public void fillPolygon(SunGraphics2D sg, 59 int[] xPoints, int[] yPoints, 60 int nPoints); 61 }