diff options
author | Drew DeVault <sir@cmpwn.com> | 2015-11-27 08:59:21 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2015-11-27 08:59:21 -0500 |
commit | d1012c497bab10d55797ea4649c0c7a002167864 (patch) | |
tree | 77b95ac68c60cb573415f7c3b8b370f1715fccc9 | |
parent | Don't use the _t postfix on non-typedef structures (diff) | |
download | sway-d1012c497bab10d55797ea4649c0c7a002167864.tar.gz sway-d1012c497bab10d55797ea4649c0c7a002167864.tar.zst sway-d1012c497bab10d55797ea4649c0c7a002167864.zip |
Style enforcement
-rw-r--r-- | swaybg/main.c | 117 |
1 files changed, 58 insertions, 59 deletions
diff --git a/swaybg/main.c b/swaybg/main.c index feb9002e..3b344079 100644 --- a/swaybg/main.c +++ b/swaybg/main.c | |||
@@ -80,68 +80,67 @@ int main(int argc, const char **argv) { | |||
80 | for (i = 0; i < surfaces->length; ++i) { | 80 | for (i = 0; i < surfaces->length; ++i) { |
81 | struct window *window = surfaces->items[i]; | 81 | struct window *window = surfaces->items[i]; |
82 | if (window_prerender(window) && window->cairo) { | 82 | if (window_prerender(window) && window->cairo) { |
83 | |||
84 | switch (scaling_mode) { | 83 | switch (scaling_mode) { |
85 | case SCALING_MODE_STRETCH: | 84 | case SCALING_MODE_STRETCH: |
86 | cairo_scale(window->cairo, | 85 | cairo_scale(window->cairo, |
87 | (double) window->width / width, | 86 | (double) window->width / width, |
88 | (double) window->height / height); | 87 | (double) window->height / height); |
89 | cairo_set_source_surface(window->cairo, image, 0, 0); | 88 | cairo_set_source_surface(window->cairo, image, 0, 0); |
90 | break; | 89 | break; |
91 | case SCALING_MODE_FILL: | 90 | case SCALING_MODE_FILL: |
92 | { | 91 | { |
93 | double window_ratio = (double) window->width / window->height; | 92 | double window_ratio = (double) window->width / window->height; |
94 | double bg_ratio = width / height; | 93 | double bg_ratio = width / height; |
95 | 94 | ||
96 | if (window_ratio > bg_ratio) { | 95 | if (window_ratio > bg_ratio) { |
97 | double scale = (double) window->width / width; | 96 | double scale = (double) window->width / width; |
98 | cairo_scale(window->cairo, scale, scale); | 97 | cairo_scale(window->cairo, scale, scale); |
99 | cairo_set_source_surface(window->cairo, image, | 98 | cairo_set_source_surface(window->cairo, image, |
100 | 0, | 99 | 0, |
101 | (double) window->height/2 / scale - height/2); | 100 | (double) window->height/2 / scale - height/2); |
102 | } else { | 101 | } else { |
103 | double scale = (double) window->height / height; | 102 | double scale = (double) window->height / height; |
104 | cairo_scale(window->cairo, scale, scale); | 103 | cairo_scale(window->cairo, scale, scale); |
105 | cairo_set_source_surface(window->cairo, image, | 104 | cairo_set_source_surface(window->cairo, image, |
106 | (double) window->width/2 / scale - width/2, | 105 | (double) window->width/2 / scale - width/2, |
107 | 0); | 106 | 0); |
108 | } | ||
109 | } | ||
110 | break; | ||
111 | case SCALING_MODE_FIT: | ||
112 | { | ||
113 | double window_ratio = (double) window->width / window->height; | ||
114 | double bg_ratio = width / height; | ||
115 | |||
116 | if (window_ratio > bg_ratio) { | ||
117 | double scale = (double) window->height / height; | ||
118 | cairo_scale(window->cairo, scale, scale); | ||
119 | cairo_set_source_surface(window->cairo, image, | ||
120 | (double) window->width/2 / scale - width/2, | ||
121 | 0); | ||
122 | } else { | ||
123 | double scale = (double) window->width / width; | ||
124 | cairo_scale(window->cairo, scale, scale); | ||
125 | cairo_set_source_surface(window->cairo, image, | ||
126 | 0, | ||
127 | (double) window->height/2 / scale - height/2); | ||
128 | } | ||
129 | } | 107 | } |
130 | break; | 108 | } |
131 | case SCALING_MODE_CENTER: | 109 | break; |
132 | cairo_set_source_surface(window->cairo, image, | 110 | case SCALING_MODE_FIT: |
133 | (double) window->width/2 - width/2, | 111 | { |
134 | (double) window->height/2 - height/2); | 112 | double window_ratio = (double) window->width / window->height; |
135 | break; | 113 | double bg_ratio = width / height; |
136 | case SCALING_MODE_TILE: | 114 | |
137 | { | 115 | if (window_ratio > bg_ratio) { |
138 | cairo_pattern_t *pattern = cairo_pattern_create_for_surface(image); | 116 | double scale = (double) window->height / height; |
139 | cairo_pattern_set_extend(pattern, CAIRO_EXTEND_REPEAT); | 117 | cairo_scale(window->cairo, scale, scale); |
140 | cairo_set_source(window->cairo, pattern); | 118 | cairo_set_source_surface(window->cairo, image, |
119 | (double) window->width/2 / scale - width/2, | ||
120 | 0); | ||
121 | } else { | ||
122 | double scale = (double) window->width / width; | ||
123 | cairo_scale(window->cairo, scale, scale); | ||
124 | cairo_set_source_surface(window->cairo, image, | ||
125 | 0, | ||
126 | (double) window->height/2 / scale - height/2); | ||
141 | } | 127 | } |
142 | break; | 128 | } |
143 | default: | 129 | break; |
144 | sway_abort("Scaling mode '%s' not implemented yet!", scaling_mode_str); | 130 | case SCALING_MODE_CENTER: |
131 | cairo_set_source_surface(window->cairo, image, | ||
132 | (double) window->width/2 - width/2, | ||
133 | (double) window->height/2 - height/2); | ||
134 | break; | ||
135 | case SCALING_MODE_TILE: | ||
136 | { | ||
137 | cairo_pattern_t *pattern = cairo_pattern_create_for_surface(image); | ||
138 | cairo_pattern_set_extend(pattern, CAIRO_EXTEND_REPEAT); | ||
139 | cairo_set_source(window->cairo, pattern); | ||
140 | } | ||
141 | break; | ||
142 | default: | ||
143 | sway_abort("Scaling mode '%s' not implemented yet!", scaling_mode_str); | ||
145 | } | 144 | } |
146 | 145 | ||
147 | cairo_paint(window->cairo); | 146 | cairo_paint(window->cairo); |