Skip to content

Commit 42955f1

Browse files
author
Roman Syroeshko
committed
Merge pull request #302 from basjan/absolute-positioning
1 parent c4cbabe commit 42955f1

File tree

2 files changed

+49
-10
lines changed

2 files changed

+49
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ This release added form fields (textinput, checkbox, and dropdown), drawing shap
2424
- Paragraph: Support for paragraph with borders - @ivanlanin GH-294
2525
- Word2007 Writer : Support for RTL - @Progi1984 GH-331
2626
- MsDOC Reader: Basic MsDOC Reader - @Progi1984 GH-23 GH-287
27+
- "absolute" horizontal and vertical positioning of Frame - @basjan GH-302
2728

2829
### Bugfixes
2930

src/PhpWord/Style/Frame.php

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Frame extends AbstractStyle
3636
const UNIT_PX = 'px'; // Mostly for images
3737

3838
/**
39-
* Position type, relative/absolute
39+
* General positioning options.
4040
*
4141
* @const string
4242
*/
@@ -338,7 +338,10 @@ public function getPos()
338338
*/
339339
public function setPos($value)
340340
{
341-
$enum = array(self::POS_RELATIVE, self::POS_ABSOLUTE);
341+
$enum = array(
342+
self::POS_ABSOLUTE,
343+
self::POS_RELATIVE,
344+
);
342345
$this->pos = $this->setEnumVal($value, $enum, $this->pos);
343346

344347
return $this;
@@ -357,12 +360,21 @@ public function getHPos()
357360
/**
358361
* Set horizontal position
359362
*
363+
* @since 0.12.0 "absolute" option is available.
364+
*
360365
* @param string $value
361366
* @return self
362367
*/
363368
public function setHPos($value)
364369
{
365-
$enum = array(self::POS_LEFT, self::POS_CENTER, self::POS_RIGHT, self::POS_INSIDE, self::POS_OUTSIDE, self::POS_ABSOLUTE);
370+
$enum = array(
371+
self::POS_ABSOLUTE,
372+
self::POS_LEFT,
373+
self::POS_CENTER,
374+
self::POS_RIGHT,
375+
self::POS_INSIDE,
376+
self::POS_OUTSIDE,
377+
);
366378
$this->hPos = $this->setEnumVal($value, $enum, $this->hPos);
367379

368380
return $this;
@@ -381,12 +393,21 @@ public function getVPos()
381393
/**
382394
* Set vertical position
383395
*
396+
* @since 0.12.0 "absolute" option is available.
397+
*
384398
* @param string $value
385399
* @return self
386400
*/
387401
public function setVPos($value)
388402
{
389-
$enum = array(self::POS_TOP, self::POS_CENTER, self::POS_BOTTOM, self::POS_INSIDE, self::POS_OUTSIDE, self::POS_ABSOLUTE);
403+
$enum = array(
404+
self::POS_ABSOLUTE,
405+
self::POS_TOP,
406+
self::POS_CENTER,
407+
self::POS_BOTTOM,
408+
self::POS_INSIDE,
409+
self::POS_OUTSIDE,
410+
);
390411
$this->vPos = $this->setEnumVal($value, $enum, $this->vPos);
391412

392413
return $this;
@@ -411,8 +432,14 @@ public function getHPosRelTo()
411432
public function setHPosRelTo($value)
412433
{
413434
$enum = array(
414-
self::POS_RELTO_MARGIN, self::POS_RELTO_PAGE, self::POS_RELTO_COLUMN, self::POS_RELTO_CHAR,
415-
self::POS_RELTO_LMARGIN, self::POS_RELTO_RMARGIN, self::POS_RELTO_IMARGIN, self::POS_RELTO_OMARGIN,
435+
self::POS_RELTO_MARGIN,
436+
self::POS_RELTO_PAGE,
437+
self::POS_RELTO_COLUMN,
438+
self::POS_RELTO_CHAR,
439+
self::POS_RELTO_LMARGIN,
440+
self::POS_RELTO_RMARGIN,
441+
self::POS_RELTO_IMARGIN,
442+
self::POS_RELTO_OMARGIN,
416443
);
417444
$this->hPosRelTo = $this->setEnumVal($value, $enum, $this->hPosRelTo);
418445

@@ -438,8 +465,14 @@ public function getVPosRelTo()
438465
public function setVPosRelTo($value)
439466
{
440467
$enum = array(
441-
self::POS_RELTO_MARGIN, self::POS_RELTO_PAGE, self::POS_RELTO_TEXT, self::POS_RELTO_LINE,
442-
self::POS_RELTO_TMARGIN, self::POS_RELTO_BMARGIN, self::POS_RELTO_IMARGIN, self::POS_RELTO_OMARGIN,
468+
self::POS_RELTO_MARGIN,
469+
self::POS_RELTO_PAGE,
470+
self::POS_RELTO_TEXT,
471+
self::POS_RELTO_LINE,
472+
self::POS_RELTO_TMARGIN,
473+
self::POS_RELTO_BMARGIN,
474+
self::POS_RELTO_IMARGIN,
475+
self::POS_RELTO_OMARGIN,
443476
);
444477
$this->vPosRelTo = $this->setEnumVal($value, $enum, $this->vPosRelTo);
445478

@@ -465,8 +498,13 @@ public function getWrap()
465498
public function setWrap($value)
466499
{
467500
$enum = array(
468-
self::WRAP_INLINE, self::WRAP_SQUARE, self::WRAP_TIGHT, self::WRAP_THROUGH,
469-
self::WRAP_TOPBOTTOM, self::WRAP_BEHIND, self::WRAP_INFRONT
501+
self::WRAP_INLINE,
502+
self::WRAP_SQUARE,
503+
self::WRAP_TIGHT,
504+
self::WRAP_THROUGH,
505+
self::WRAP_TOPBOTTOM,
506+
self::WRAP_BEHIND,
507+
self::WRAP_INFRONT
470508
);
471509
$this->wrap = $this->setEnumVal($value, $enum, $this->wrap);
472510

0 commit comments

Comments
 (0)