Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips
System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : fdshops ( 1003)
PHP Version : 8.2.21
Disable Function : NONE
Directory :  /home/fdshops/public_html/vendor/dompdf/dompdf/src/FrameDecorator/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/fdshops/public_html/vendor/dompdf/dompdf/src/FrameDecorator/ListBullet.php
<?php
/**
 * @package dompdf
 * @link    https://github.com/dompdf/dompdf
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 */
namespace Dompdf\FrameDecorator;

use Dompdf\Dompdf;
use Dompdf\Frame;

/**
 * Decorates frames for list bullet rendering
 *
 * @package dompdf
 */
class ListBullet extends AbstractFrameDecorator
{
    /**
     * Bullet diameter as fraction of font size.
     */
    public const BULLET_SIZE = 0.35;

    /**
     * Bullet offset from font baseline as fraction of font size.
     */
    public const BULLET_OFFSET = 0.1;

    /**
     * Thickness of bullet outline as fraction of font size.
     * See also `DECO_THICKNESS`. Screen: 0.08, print: better less, e.g. 0.04.
     */
    public const BULLET_THICKNESS = 0.04;

    /**
     * Indentation from the start of the line as fraction of font size.
     */
    public const MARKER_INDENT = 0.52;

    /**
     * ListBullet constructor.
     * @param Frame $frame
     * @param Dompdf $dompdf
     */
    function __construct(Frame $frame, Dompdf $dompdf)
    {
        parent::__construct($frame, $dompdf);
    }

    /**
     * Get the width of the bullet symbol.
     *
     * @return float
     */
    public function get_width(): float
    {
        $style = $this->_frame->get_style();

        if ($style->list_style_type === "none") {
            return 0.0;
        }

        return $style->font_size * self::BULLET_SIZE;
    }

    /**
     * Get the height of the bullet symbol.
     *
     * @return float
     */
    public function get_height(): float
    {
        $style = $this->_frame->get_style();

        if ($style->list_style_type === "none") {
            return 0.0;
        }

        return $style->font_size * self::BULLET_SIZE;
    }

    /**
     * Get the width of the bullet, including indentation.
     */
    public function get_margin_width(): float
    {
        $style = $this->get_style();

        if ($style->list_style_type === "none") {
            return 0.0;
        }

        return $style->font_size * (self::BULLET_SIZE + self::MARKER_INDENT);
    }

    /**
     * Get the line height for the bullet.
     *
     * This increases the height of the corresponding line box when necessary.
     */
    public function get_margin_height(): float
    {
        $style = $this->get_style();

        if ($style->list_style_type === "none") {
            return 0.0;
        }

        // TODO: This is a copy of `FrameDecorator\Text::get_margin_height()`
        // Would be nice to properly refactor that at some point
        $font = $style->font_family;
        $size = $style->font_size;
        $fontHeight = $this->_dompdf->getFontMetrics()->getFontHeight($font, $size);

        return ($style->line_height / ($size > 0 ? $size : 1)) * $fontHeight;
    }
}

Spamworldpro Mini