Skip to content

Commit 6af458a

Browse files
committed
fix bug for rotated marquee elements
1 parent d6d6a8a commit 6af458a

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

NEWS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# marquee (development version)
22

3+
* Fixed a bug in `element_marquee()` that resulted in wrong width calculation
4+
for rotated text
5+
36
# marquee 1.1.0
47

58
* Size of `element_marquee()` is communicated similar to `element_text()` (#57)

R/element_marquee.R

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,18 @@ element_grob.element_marquee <- function(
136136
angle <- (angle %||% element$angle %||% 0) %% 360
137137

138138
# Make sure margin doesn't rotate with element as that is how it works for element_text
139+
new_margin_x <- margin_x
140+
new_margin_y <- margin_y
139141
if (angle > 45 && angle <= 135) {
140142
margin <- margin[c(4, 1, 2, 3)]
141-
tmp <- margin_y
142-
margin_y <- margin_x
143-
margin_x <- tmp
143+
new_margin_x <- margin_y
144+
new_margin_y <- margin_x
144145
} else if (angle > 135 && angle <= 225) {
145146
margin <- margin[c(3, 4, 1, 2)]
146147
} else if (angle > 225 && angle <= 315) {
147148
margin <- margin[c(2, 3, 4, 1)]
148-
tmp <- margin_y
149-
margin_y <- margin_x
150-
margin_x <- tmp
149+
new_margin_x <- margin_y
150+
new_margin_y <- margin_x
151151
}
152152

153153
vjust <- vjust %||% element$vjust
@@ -156,10 +156,10 @@ element_grob.element_marquee <- function(
156156
}
157157
if (!is.null(margin)) {
158158
pad <- skip_inherit(trbl(
159-
if (margin_y) margin[1] else 0,
160-
if (margin_x) margin[2] else 0,
161-
if (margin_y) margin[3] else 0,
162-
if (margin_x) margin[4] else 0
159+
if (new_margin_y) margin[1] else 0,
160+
if (new_margin_x) margin[2] else 0,
161+
if (new_margin_y) margin[3] else 0,
162+
if (new_margin_x) margin[4] else 0
163163
))
164164
style <- modify_style(style, "body", padding = pad)
165165
}

0 commit comments

Comments
 (0)