示例#1
0
 public void drawLineInternal(
     final UGraphic ug, Stencil stencil, double y, UStroke defaultStroke) {
   stencil = addSkip(stencil);
   final UStroke strokeToUse = style == '\0' ? defaultStroke : getStroke();
   final UGraphic ugStroke = ug.apply(strokeToUse);
   if (title == null) {
     drawHLine(stencil, y, ugStroke);
     return;
   }
   final Dimension2D dimTitle = title.calculateDimension(ug.getStringBounder());
   drawHLine(firstHalf(stencil, dimTitle.getWidth()), y, ugStroke);
   final double startingX = stencil.getStartingX(ug.getStringBounder(), y);
   final double endingX = stencil.getEndingX(ug.getStringBounder(), y);
   drawTitleInternal(ug, startingX, endingX, y, false);
   drawHLine(secondHalf(stencil, dimTitle.getWidth()), y, ugStroke);
 }
示例#2
0
 public void drawTitleInternal(
     UGraphic ug, double startingX, double endingX, double y, boolean clearArea) {
   if (title == null || blankTitle) {
     return;
   }
   final double widthToUse = endingX - startingX;
   final Dimension2D dimTitle = title.calculateDimension(ug.getStringBounder());
   final double space = (widthToUse - dimTitle.getWidth()) / 2;
   final double x1 = startingX + space;
   final double y1 = y - dimTitle.getHeight() / 2 - 0.5;
   ug = ug.apply(new UTranslate(x1, y1));
   if (clearArea) {
     ug.apply(getStroke()).draw(new URectangle(dimTitle));
   }
   title.drawU(ug);
 }
示例#3
0
 public void drawMe(UGraphic ug) {
   ug.draw(this);
 }
示例#4
0
 private static void drawSimpleHline(UGraphic ug, Stencil stencil, double y) {
   final double startingX = stencil.getStartingX(ug.getStringBounder(), y);
   final double endingX = stencil.getEndingX(ug.getStringBounder(), y);
   ug.apply(new UTranslate(startingX, y)).draw(new ULine(endingX - startingX, 0));
 }