tkormann 01/10/04 01:25:47
Modified: sources/org/apache/batik/swing/gvt JGVTComponent.java
TextSelectionManager.java
Log:
Add few methods to control the color and the XOR mode of the selection overlay.
Revision Changes Path
1.19 +52 -1 xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java
Index: JGVTComponent.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/gvt/JGVTComponent.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- JGVTComponent.java 2001/10/03 16:08:19 1.18
+++ JGVTComponent.java 2001/10/04 08:25:47 1.19
@@ -53,7 +53,7 @@
* This class represents a component which can display a GVT tree.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
- * @version $Id: JGVTComponent.java,v 1.18 2001/10/03 16:08:19 tkormann Exp $
+ * @version $Id: JGVTComponent.java,v 1.19 2001/10/04 08:25:47 tkormann Exp $
*/
public class JGVTComponent extends JComponent {
@@ -294,6 +294,57 @@
////////////////////////////////////////////////////////////////////////
// Selection methods
////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Sets the color of the selection overlay to the specified color.
+ *
+ * @param color the new color of the selection overlay
+ */
+ public void setSelectionOverlayColor(Color color) {
+ textSelectionManager.setSelectionOverlayColor(color);
+ }
+
+ /**
+ * Returns the color of the selection overlay.
+ */
+ public Color getSelectionOverlayColor() {
+ return textSelectionManager.getSelectionOverlayColor();
+ }
+
+ /**
+ * Sets the color of the outline of the selection overlay to the specified
+ * color.
+ *
+ * @param color the new color of the outline of the selection overlay
+ */
+ public void setSelectionOverlayStrokeColor(Color color) {
+ textSelectionManager.setSelectionOverlayStrokeColor(color);
+ }
+
+ /**
+ * Returns the color of the outline of the selection overlay.
+ */
+ public Color getSelectionOverlayStrokeColor() {
+ return textSelectionManager.getSelectionOverlayStrokeColor();
+ }
+
+ /**
+ * Sets whether or not the selection overlay will be painted in XOR mode,
+ * depending on the specified parameter.
+ *
+ * @param state true implies the selection overlay will be in XOR mode
+ */
+ public void setSelectionOverlayXORMode(boolean state) {
+ textSelectionManager.setSelectionOverlayXORMode(state);
+ }
+
+ /**
+ * Returns true if the selection overlay is painted in XOR mode, false
+ * otherwise.
+ */
+ public boolean isSelectionOverlayXORMode() {
+ return textSelectionManager.isSelectionOverlayXORMode();
+ }
/**
* Sets the selection to the specified start and end mark.
1.11 +81 -12
xml-batik/sources/org/apache/batik/swing/gvt/TextSelectionManager.java
Index: TextSelectionManager.java
===================================================================
RCS file:
/home/cvs/xml-batik/sources/org/apache/batik/swing/gvt/TextSelectionManager.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- TextSelectionManager.java 2001/10/03 16:08:19 1.10
+++ TextSelectionManager.java 2001/10/04 08:25:47 1.11
@@ -36,7 +36,7 @@
* This class represents an object which manage GVT text nodes selection.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
- * @version $Id: TextSelectionManager.java,v 1.10 2001/10/03 16:08:19 tkormann Exp $
+ * @version $Id: TextSelectionManager.java,v 1.11 2001/10/04 08:25:47 tkormann Exp $
*/
public class TextSelectionManager {
@@ -86,6 +86,22 @@
protected SelectionListener textSelectionListener;
/**
+ * The color of the selection overlay.
+ */
+ protected Color selectionOverlayColor = new Color(200, 200, 255, 100);
+
+ /**
+ * The color of the outline of the selection overlay.
+ */
+ protected Color selectionOverlayStrokeColor = new Color(255, 255, 255, 255);
+
+ /**
+ * A flag bit that indicates whether or not the selection overlay is painted
+ * in XOR mode.
+ */
+ protected boolean xorMode = true;
+
+ /**
* Creates a new TextSelectionManager.
*/
public TextSelectionManager(JGVTComponent comp,
@@ -102,6 +118,57 @@
}
/**
+ * Sets the color of the selection overlay to the specified color.
+ *
+ * @param color the new color of the selection overlay
+ */
+ public void setSelectionOverlayColor(Color color) {
+ this.selectionOverlayColor = color;
+ }
+
+ /**
+ * Returns the color of the selection overlay.
+ */
+ public Color getSelectionOverlayColor() {
+ return selectionOverlayColor;
+ }
+
+ /**
+ * Sets the color of the outline of the selection overlay to the specified
+ * color.
+ *
+ * @param color the new color of the outline of the selection overlay
+ */
+ public void setSelectionOverlayStrokeColor(Color color) {
+ this.selectionOverlayStrokeColor = color;
+ }
+
+ /**
+ * Returns the color of the outline of the selection overlay.
+ */
+ public Color getSelectionOverlayStrokeColor() {
+ return selectionOverlayStrokeColor;
+ }
+
+ /**
+ * Sets whether or not the selection overlay will be painted in XOR mode,
+ * depending on the specified parameter.
+ *
+ * @param state true implies the selection overlay will be in XOR mode
+ */
+ public void setSelectionOverlayXORMode(boolean state) {
+ this.xorMode = state;
+ }
+
+ /**
+ * Returns true if the selection overlay is painted in XOR mode, false
+ * otherwise.
+ */
+ public boolean isSelectionOverlayXORMode() {
+ return xorMode;
+ }
+
+ /**
* Returns the selection overlay.
*/
public Overlay getSelectionOverlay() {
@@ -239,9 +306,6 @@
return outset(s.getBounds(), 1);
}
- static final Color fillColor = new Color(200, 200, 255, 100);
- static final Color strokeColor = new Color(255, 255, 255, 255);
-
/**
* The selection overlay.
*/
@@ -256,15 +320,20 @@
Shape s = at.createTransformedShape(selectionHighlight);
Graphics2D g2d = (Graphics2D)g;
-
- // g2d.setXORMode(Color.white);
- // g2d.setColor(Color.black);
- g2d.setColor(fillColor);
+ if (xorMode) {
+ int red = 255 - selectionOverlayColor.getRed();
+ int green = 255 - selectionOverlayColor.getGreen();
+ int blue = 255 - selectionOverlayColor.getBlue();
+ g2d.setXORMode(new Color(red, green, blue));
+ }
+ g2d.setColor(selectionOverlayColor);
g2d.fill(s);
-
- g2d.setStroke(new java.awt.BasicStroke(1.0f));
- g2d.setColor(strokeColor);
- g2d.draw(s);
+
+ if (selectionOverlayStrokeColor != null) {
+ g2d.setStroke(new java.awt.BasicStroke(1.0f));
+ g2d.setColor(selectionOverlayStrokeColor);
+ g2d.draw(s);
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]