public LabeledFreeLayout(String name_) {
    super(name_);

    addBackDraw(_Layout_InternalBackDraw);
    _LayoutLabel.setXY(5, 0);
    _LayoutLabel.setAutoWidth(true);
    _LayoutLabel.setAutoHeight(true);
    _LayoutLabel.setTextSizeDPI(12);
    _LayoutLabel.setHeightAlignment(Label.HEIGHTALIGN_TOP);
    addPart(_LayoutLabel, false);
    numOfAdditionals++;
  }
        @Override
        public void onCustomDraw(RelativeCanvas canvas_, BasicRelativeView view_) {

          if (_LayoutLabelMode != LAYOUTLABEL_NOTHING) {
            Paint p = new Paint();
            // _LayoutLabel.drawText(canvas);
            p.setColor(_LayoutLineColor);
            switch (_LayoutLabelMode) {
              case LAYOUTLABEL_LINE:
                if (_LayoutLabelDrawUnder) {
                  canvas_.drawLine(
                      _LayoutLabel.width() + 5,
                      height() - (_LayoutLabel.height() / 2f),
                      width() - 5,
                      height() - (_LayoutLabel.height() / 2f),
                      1,
                      p);
                } else {
                  canvas_.drawLine(
                      _LayoutLabel.width() + 5,
                      _LayoutLabel.height() / 2f,
                      width() - 5,
                      _LayoutLabel.height() / 2f,
                      1,
                      p);
                }
                break;
              case LAYOUTLABEL_SQUARE:
                if (_LayoutLabelDrawUnder) {
                  canvas_.drawLine(5, 5, width() - 5, 5, 1, p);
                  canvas_.drawLine(5, 5, 5, height() - (_LayoutLabel.height() / 2f), 1, p);
                  canvas_.drawLine(
                      width() - 5, 5, width() - 5, height() - (_LayoutLabel.height() / 2f), 1, p);
                  canvas_.drawLine(
                      _LayoutLabel.width() + 5,
                      height() - (_LayoutLabel.height() / 2f),
                      width() - 5,
                      height() - (_LayoutLabel.height() / 2f),
                      1,
                      p);
                } else {
                  canvas_.drawLine(
                      _LayoutLabel.width() + 5,
                      _LayoutLabel.height() / 2f,
                      width() - 5,
                      _LayoutLabel.height() / 2f,
                      1,
                      p);
                  canvas_.drawLine(5, _LayoutLabel.height() / 2f, 5, height() - 5, 1, p);
                  canvas_.drawLine(
                      width() - 5, _LayoutLabel.height() / 2f, width() - 5, height() - 5, 1, p);
                  canvas_.drawLine(5, height() - 5, width() - 5, height() - 5, 1, p);
                }
                break;
            }
          }
        }