Ejemplo n.º 1
0
 /**
  * Merges the current style with the given style, using the given style as a base. This means that:
  *   - if current style and base style both have property A set, use current style property's value
  *   - if current style has property A set but base style does not, use current style property's value
  *   - if base style has property A set but current style does not, use base style property's value
  *
  * @NOTE: This function returns a new style.
  *
  * @param Style $baseStyle
  * @return Style New style corresponding to the merge of the 2 styles
  */
 public function mergeWith($baseStyle)
 {
     $mergedStyle = clone $this;
     if (!$this->hasSetFontBold && $baseStyle->isFontBold()) {
         $mergedStyle->setFontBold();
     }
     if (!$this->hasSetFontItalic && $baseStyle->isFontItalic()) {
         $mergedStyle->setFontItalic();
     }
     if (!$this->hasSetFontUnderline && $baseStyle->isFontUnderline()) {
         $mergedStyle->setFontUnderline();
     }
     if (!$this->hasSetFontStrikethrough && $baseStyle->isFontStrikethrough()) {
         $mergedStyle->setFontStrikethrough();
     }
     if (!$this->hasSetFontSize && $baseStyle->getFontSize() !== self::DEFAULT_FONT_SIZE) {
         $mergedStyle->setFontSize($baseStyle->getFontSize());
     }
     if (!$this->hasSetFontSize && $baseStyle->getFontColor() !== self::DEFAULT_FONT_COLOR) {
         $mergedStyle->setFontColor($baseStyle->getFontColor());
     }
     if (!$this->hasSetFontName && $baseStyle->getFontName() !== self::DEFAULT_FONT_NAME) {
         $mergedStyle->setFontName($baseStyle->getFontName());
     }
     if (!$this->hasSetWrapText && $baseStyle->shouldWrapText()) {
         $mergedStyle->setShouldWrapText();
     }
     return $mergedStyle;
 }
Ejemplo n.º 2
0
Archivo: Style.php Proyecto: box/spout
 /**
  * @param Style $styleToUpdate Style to update (passed as reference)
  * @param Style $baseStyle
  * @return void
  */
 private function mergeOtherFontProperties($styleToUpdate, $baseStyle)
 {
     if (!$this->hasSetFontSize && $baseStyle->getFontSize() !== self::DEFAULT_FONT_SIZE) {
         $styleToUpdate->setFontSize($baseStyle->getFontSize());
     }
     if (!$this->hasSetFontColor && $baseStyle->getFontColor() !== self::DEFAULT_FONT_COLOR) {
         $styleToUpdate->setFontColor($baseStyle->getFontColor());
     }
     if (!$this->hasSetFontName && $baseStyle->getFontName() !== self::DEFAULT_FONT_NAME) {
         $styleToUpdate->setFontName($baseStyle->getFontName());
     }
 }
Ejemplo n.º 3
0
Archivo: Page.php Proyecto: narixx/zf2
 /**
  * Set the style to use for future drawing operations on this page
  *
  * @param \Zend\Pdf\Style $style
  * @return \Zend\Pdf\Page
  */
 public function setStyle(Style $style)
 {
     $this->_style = $style;
     $this->_addProcSet('Text');
     $this->_addProcSet('PDF');
     if ($style->getFont() !== null) {
         $this->setFont($style->getFont(), $style->getFontSize());
     }
     $this->_contents .= $style->instructions($this->_pageDictionary->Resources);
     return $this;
 }