/*
* @(#)GTKGraphicsUtils.java 1.13 03/12/19
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.sun.java.swing.plaf.gtk;
import javax.swing.*;
import javax.swing.plaf.synth.*;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
/**
* @version 1.13, 12/19/03
* @author Joshua Outwater
*/
class GTKGraphicsUtils extends SynthGraphicsUtils {
public void paintText(SynthContext context, Graphics g, String text,
int x, int y, int mnemonicIndex) {
int componentState = context.getComponentState();
if ((componentState & SynthConstants.DISABLED) ==
SynthConstants.DISABLED){
Color orgColor = g.getColor();
g.setColor(context.getStyle().getColor(context,
GTKColorType.WHITE));
x += 1;
y += 1;
super.paintText(context, g, text, x, y, mnemonicIndex);
g.setColor(orgColor);
x -= 1;
y -= 1;
super.paintText(context, g, text, x, y, mnemonicIndex);
}
else {
super.paintText(context, g, text, x, y, mnemonicIndex);
}
}
/**
* Paints text at the specified location. This will not attempt to
* render the text as html nor will it offset by the insets of the
* component.
*
* @param ss SynthContext
* @param g Graphics used to render string in.
* @param text Text to render
* @param bounds Bounds of the text to be drawn.
* @param mnemonicIndex Index to draw string at.
*/
public void paintText(SynthContext context, Graphics g, String text,
Rectangle bounds, int mnemonicIndex) {
Color color = g.getColor();
Region region = context.getRegion();
if ((region == Region.RADIO_BUTTON || region == Region.CHECK_BOX ||
region == Region.TABBED_PANE_TAB) &&
(context.getComponentState() & SynthConstants.FOCUSED) != 0) {
JComponent source = context.getComponent();
if (!(source instanceof AbstractButton) ||
((AbstractButton)source).isFocusPainted()) {
((GTKStyle)(context.getStyle())).getEngine(context).paintFocus(
context, g, SynthConstants.ENABLED,
"checkbutton", bounds.x - 2, bounds.y - 2,
bounds.width + 4, bounds.height + 4);
g.setColor(color);
}
}
super.paintText(context, g, text, bounds, mnemonicIndex);
}
}
|