docs: protected void calculateBounds(float _Width, float _Margin) {
          float maxValue = 0;
          int   last     = 0;
  
          for (BarModel model : mData) {
              if(model.getValue() > maxValue) {
                  maxValue = model.getValue();
              }
          }
  
          int valuePadding = mShowValues ? (int) mValuePaint.getTextSize() + mValueDistance : 0;
  
          float heightMultiplier = (mGraphHeight - valuePadding) / maxValue;
  
          for (BarModel model : mData) {
              float height = model.getValue() * heightMultiplier;
              last += _Margin / 2;
              model.setBarBounds(new RectF(last, mGraphHeight - height, last + _Width, mGraphHeight));
              model.setLegendBounds(new RectF(last, 0, last + _Width, mLegendHeight));
              last += _Width + (_Margin / 2);
          }
  
          Utils.calculateLegendInformation(mData, 0, mContentRect.width(), mLegendPaint);
      }