private void addTextSize(String staticText, int size, int wrap, int fill) {
   if (staticText == null) {
     if (size == wrap) {
       myTextFeedback.snap("wrap_content");
     } else if (size == fill) {
       myTextFeedback.snap("match_parent");
     } else {
       myTextFeedback.append(Integer.toString(size));
       myTextFeedback.dimension("dp");
     }
   } else {
     if (staticText.length() > 2) {
       int index = staticText.length() - 2;
       String dimension = staticText.substring(index);
       if (ArrayUtil.indexOf(ResourceRenderer.DIMENSIONS, dimension) != -1) {
         myTextFeedback.append(staticText.substring(0, index));
         myTextFeedback.dimension(dimension);
       } else {
         myTextFeedback.append(staticText);
       }
     } else {
       myTextFeedback.append(staticText);
     }
   }
 }
  @Override
  public void showFeedback() {
    createFeedback();

    myBounds =
        myContext.getTransformedRectangle(
            myComponent.getBounds(myContext.getArea().getFeedbackLayer()));
    myBounds.width = Math.max(myBounds.width, 0);
    myBounds.height = Math.max(myBounds.height, 0);

    int direction = myContext.getResizeDirection();

    if ((direction & Position.EAST) != 0) {
      if (!snapToWidth(myBounds, myWrapSize, SNAP_DELTA)) {
        snapToWidth(myBounds, myFillSize, SNAP_DELTA);
      }
    }
    if ((direction & Position.SOUTH) != 0) {
      if (!snapToHeight(myBounds, myWrapSize, SNAP_DELTA)) {
        snapToHeight(myBounds, myFillSize, SNAP_DELTA);
      }
    }

    myFeedback.setBounds(myBounds);

    myTextFeedback.clear();

    addTextSize(myStaticWidth, myBounds.width, myWrapSize.width, myFillSize.width);
    myTextFeedback.append(" x ", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES);
    addTextSize(myStaticHeight, myBounds.height, myWrapSize.height, myFillSize.height);

    myTextFeedback.locationTo(myContext.getLocation(), 15);
  }
 @Override
 public void addTextInfo(TextFeedback feedback) {
   feedback.append("layout:" + (myHorizontal ? "width " : "height "));
   feedback.snap("wrap_content");
 }