package org.activiti.crystalball.diagram; /* * #%L * image-builder * %% * Copyright (C) 2012 - 2013 crystalball * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import java.awt.*; import java.awt.geom.RoundRectangle2D; public class ProcessDiagramCanvas extends org.activiti.engine.impl.bpmn.diagram.ProcessDiagramCanvas { public ProcessDiagramCanvas(int width, int height) { super( width, height); } public ProcessDiagramCanvas(int width, int height, int minX, int minY) { super(width, height, minX, minY); } public void drawStringToNode(String count, int x, int y, int width, int height) { // count if (count != null) { String text = fitTextToWidth(count, width); int textX = x + ((width - fontMetrics.stringWidth(text)) / 2); int textY = y + fontMetrics.getHeight(); g.drawString(text, textX, textY); } } public void drawHighLight(int x, int y, int width, int height, Color color) { Paint originalPaint = g.getPaint(); Stroke originalStroke = g.getStroke(); g.setPaint( color); g.setStroke(THICK_TASK_BORDER_STROKE); RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 20, 20); g.draw(rect); g.setPaint(originalPaint); g.setStroke(originalStroke); } }