jdk

Форк
0
/
PaintContext.java 
83 строки · 3.2 Кб
1
/*
2
 * Copyright (c) 1997, 2017, 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 java.awt;
27

28
import java.awt.geom.AffineTransform;
29
import java.awt.geom.Rectangle2D;
30
import java.awt.image.ColorModel;
31
import java.awt.image.Raster;
32

33
/**
34
 * The {@code PaintContext} interface defines the encapsulated
35
 * and optimized environment to generate color patterns in device
36
 * space for fill or stroke operations on a
37
 * {@link Graphics2D}.  The {@code PaintContext} provides
38
 * the necessary colors for {@code Graphics2D} operations in the
39
 * form of a {@link Raster} associated with a {@link ColorModel}.
40
 * The {@code PaintContext} maintains state for a particular paint
41
 * operation.  In a multi-threaded environment, several
42
 * contexts can exist simultaneously for a single {@link Paint} object.
43
 * @see Paint
44
 */
45

46
public interface PaintContext {
47
    /**
48
     * Releases the resources allocated for the operation.
49
     */
50
    public void dispose();
51

52
    /**
53
     * Returns the {@code ColorModel} of the output.  Note that
54
     * this {@code ColorModel} might be different from the hint
55
     * specified in the
56
     * {@link Paint#createContext(ColorModel, Rectangle, Rectangle2D,
57
AffineTransform, RenderingHints) createContext} method of
58
     * {@code Paint}.  Not all {@code PaintContext} objects are
59
     * capable of generating color patterns in an arbitrary
60
     * {@code ColorModel}.
61
     * @return the {@code ColorModel} of the output.
62
     */
63
    ColorModel getColorModel();
64

65
    /**
66
     * Returns a {@code Raster} containing the colors generated for
67
     * the graphics operation.
68
     * @param x the x coordinate of the area in device space
69
     * for which colors are generated.
70
     * @param y the y coordinate of the area in device space
71
     * for which colors are generated.
72
     * @param w the width of the area in device space
73
     * @param h the height of the area in device space
74
     * @return a {@code Raster} representing the specified
75
     * rectangular area and containing the colors generated for
76
     * the graphics operation.
77
     */
78
    Raster getRaster(int x,
79
                     int y,
80
                     int w,
81
                     int h);
82

83
}
84

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.