iTextSharp.text.pdf.FloatLayout.getFilledWidth C# (CSharp) Метод

getFilledWidth() публичный Метод

public getFilledWidth ( ) : float
Результат float
        public float getFilledWidth()
        {
            return filledWidth;
        }

Usage Example

Пример #1
0
        public int layout(ColumnText compositeColumn, bool simulate, float llx, float lly, float urx, float ury)
        {
            float leftX  = Math.Min(llx, urx);
            float maxY   = Math.Max(lly, ury);
            float minY   = Math.Min(lly, ury);
            float rightX = Math.Max(llx, urx);
            float yLine  = maxY;

            if (width != null && width > 0)
            {
                if (width < rightX - leftX)
                {
                    rightX = leftX + (float)width;
                }
                else if (width > rightX - leftX)
                {
                    return(ColumnText.NO_MORE_COLUMN);
                }
            }
            else if (percentageWidth != null)
            {
                contentWidth = (rightX - leftX) * (float)percentageWidth;
                rightX       = leftX + contentWidth;
            }

            if (height != null && height > 0)
            {
                if (height < maxY - minY)
                {
                    minY = maxY - (float)height;
                }
                else if (height > maxY - minY)
                {
                    return(ColumnText.NO_MORE_COLUMN);
                }
            }
            else if (percentageHeight != null)
            {
                contentHeight = (maxY - minY) * (float)percentageHeight;
                minY          = maxY - contentHeight;
            }

            if (!simulate && position == PdfDiv.PositionType.RELATIVE)
            {
                float?translationX = null;
                if (left != null)
                {
                    translationX = left;
                }
                else if (right != null)
                {
                    translationX = -right;
                }
                else
                {
                    translationX = 0f;
                }

                float?translationY = null;
                if (top != null)
                {
                    translationY = -top;
                }
                else if (bottom != null)
                {
                    translationY = bottom;
                }
                else
                {
                    translationY = 0f;
                }
                compositeColumn.Canvas.SaveState();
                compositeColumn.Canvas.Transform(new System.Drawing.Drawing2D.Matrix(1f, 0, 0, 1f, (float)translationX, (float)translationY));
            }

            if (!simulate)
            {
                if (backgroundColor != null && getActualWidth() > 0 && getActualHeight() > 0)
                {
                    float backgroundWidth  = getActualWidth();
                    float backgroundHeight = getActualHeight();
                    if (width != null)
                    {
                        backgroundWidth = width > 0 ? (float)width : 0;
                    }

                    if (height != null)
                    {
                        backgroundHeight = height > 0 ? (float)height : 0;
                    }
                    if (backgroundWidth > 0 && backgroundHeight > 0)
                    {
                        Rectangle background = new Rectangle(leftX, maxY - backgroundHeight, leftX + backgroundWidth, maxY);
                        background.BackgroundColor = backgroundColor;
                        compositeColumn.Canvas.Rectangle(background);
                    }
                }
            }

            if (percentageWidth == null)
            {
                contentWidth = 0;
            }
            if (percentageHeight == null)
            {
                contentHeight = 0;
            }

            minY   += paddingBottom;
            leftX  += paddingLeft;
            rightX -= paddingRight;

            yLine -= paddingTop;

            int status = ColumnText.NO_MORE_TEXT;

            if (content.Count > 0)
            {
                //if (floatLayout == null) {
                List <IElement> floatingElements = new List <IElement>(content);
                floatLayout = new FloatLayout(compositeColumn, floatingElements);
                //}

                floatLayout.SetSimpleColumn(leftX, minY, rightX, yLine);
                status = floatLayout.layout(simulate);
                yLine  = floatLayout.getYLine();
                if (percentageWidth == null && contentWidth < floatLayout.getFilledWidth())
                {
                    contentWidth = floatLayout.getFilledWidth();
                }
            }


            if (!simulate && position == PdfDiv.PositionType.RELATIVE)
            {
                compositeColumn.Canvas.RestoreState();
            }

            yLine -= paddingBottom;
            if (percentageHeight == null)
            {
                contentHeight = maxY - yLine;
            }

            if (percentageWidth == null)
            {
                contentWidth += paddingLeft + paddingRight;
            }

            return(status);
        }
All Usage Examples Of iTextSharp.text.pdf.FloatLayout::getFilledWidth