File: Painter.java

package info (click to toggle)
mac-widgets 0.9.5%2Bsvn369-dfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,920 kB
  • sloc: java: 8,318; makefile: 13; sh: 12
file content (23 lines) | stat: -rw-r--r-- 842 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.explodingpixels.painter;

import java.awt.*;

/**
 * An interface that allows painting to be delegated. The implementation of this interface will be called during the
 * painting process of the given {@code objectToPaint}.
 */
public interface Painter<T> {

    /**
     * Renders to the given {@link Graphics2D}. The supplied graphics context may be modified - it's
     * state need not be restored upon completion of painting.
     *
     * @param graphics the graphics context to paint into. It's state need not be restored. Will not
     *                 be null.
     * @param objectToPaint the object to be painted.
     * @param width the width within the object to paint.
     * @param height the height within the object to paint.
     */
    void paint(Graphics2D graphics, T objectToPaint, int width, int height);

}