1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
private void drawCompositeBg(Graphics pG) {
Graphics2D g2 = (Graphics2D)pG;
BufferedImage lBuffer = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D)lBuffer.getGraphics();
Paint oldPaint = g2d.getPaint();
int lDrawX = 0;
int lDrawY = 0;
// coin suppérieur gauche
g2d.drawImage(leftUpBg, lDrawX, lDrawY, leftUpBg.getWidth(null), leftUpBg.getHeight(null), game);
// partie suppérieur
g2d.setPaint(upBgTexture);
int lDrawWidth = getWidth()-leftUpBg.getWidth(null)-rightUpBg.getWidth(null);
lDrawX = leftUpBg.getWidth(null);
g2d.fillRect(lDrawX, lDrawY, lDrawWidth, upBg.getHeight(null));
// coin suppérieur droit
lDrawX += lDrawWidth;
g2d.drawImage(rightUpBg, lDrawX, lDrawY, rightUpBg.getWidth(null), rightUpBg.getHeight(null), game);
// partie gauche
g2d.setPaint(leftBgTexture);
lDrawX = 0;
lDrawY = leftUpBg.getHeight(null);
int lDrawHeight = getHeight()-leftUpBg.getHeight(null)-leftDownBg.getHeight(null);
g2d.fillRect(lDrawX, lDrawY, leftBg.getWidth(null), lDrawHeight);
// partie central
g2d.setPaint(middleBgTexture);
lDrawX = leftBg.getWidth(null);
lDrawWidth = getWidth()-leftBg.getWidth(null)-rightBg.getWidth(null);
g2d.fillRect(lDrawX, lDrawY, lDrawWidth, lDrawHeight);
// partie droite
g2d.setPaint(rightBgTexture);
lDrawX += lDrawWidth;
g2d.fillRect(lDrawX, lDrawY, rightBg.getWidth(null), lDrawHeight);
// coin inférieur gauche
lDrawX = 0;
lDrawY += lDrawHeight;
g2d.drawImage(leftDownBg, lDrawX, lDrawY, leftDownBg.getWidth(null), leftDownBg.getHeight(null), game);
// partie inférieur
g2d.setPaint(downBgTexture);
lDrawX = leftDownBg.getWidth(null);
lDrawWidth = getWidth()-leftDownBg.getWidth(null)-rightDownBg.getWidth(null);
g2d.fillRect(lDrawX, lDrawY, lDrawWidth, downBg.getHeight(null));
// coin inférieur droit
lDrawX += lDrawWidth;
g2d.drawImage(rightDownBg, lDrawX, lDrawY, rightDownBg.getWidth(null), rightDownBg.getHeight(null), game);
g2d.setPaint(oldPaint);
g2d.dispose();
g2.drawImage(lBuffer.getScaledInstance(width, height, Image.SCALE_DEFAULT), x, y, width, height, game);
} |