Changeset 82edef2 in mainline
- Timestamp:
- 2012-11-26T20:47:18Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e1c6d5df
- Parents:
- fa98b26a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/compositor/compositor.c
rfa98b26a r82edef2 1117 1117 transform_t scale; 1118 1118 transform_identity(&scale); 1119 transform_scale(&scale, win->fx, win->fy); 1119 if (win->fx != 1 || win->fy != 1) { 1120 transform_scale(&scale, win->fx, win->fy); 1121 } 1120 1122 1121 1123 transform_t rotate; 1122 1124 transform_identity(&rotate); 1123 transform_rotate(&rotate, win->angle); 1125 if (win->angle != 0) { 1126 transform_rotate(&rotate, win->angle); 1127 } 1124 1128 1125 1129 transform_t transform; … … 1165 1169 } 1166 1170 1167 if ( scale || resize) {1171 if ((scale || resize) && (win->angle != 0)) { 1168 1172 transform_t rotate; 1169 1173 transform_identity(&rotate); … … 1182 1186 double _dx = dx; 1183 1187 double _dy = dy; 1184 transform_t unrotate; 1185 transform_identity(&unrotate); 1186 transform_rotate(&unrotate, -win->angle); 1187 transform_apply_linear(&unrotate, &_dx, &_dy); 1188 if (win->angle != 0) { 1189 transform_t unrotate; 1190 transform_identity(&unrotate); 1191 transform_rotate(&unrotate, -win->angle); 1192 transform_apply_linear(&unrotate, &_dx, &_dy); 1193 } 1188 1194 _dx = (pointer->grab_flags & GF_MOVE_X) ? -_dx : _dx; 1189 1195 _dy = (pointer->grab_flags & GF_MOVE_Y) ? -_dy : _dy; … … 1192 1198 double fx = 1.0 + (_dx / ((width - 1) * win->fx)); 1193 1199 if (fx > 0) { 1200 #if ANIMATE_WINDOW_TRANSFORMS == 0 1201 if (scale) win->fx *= fx; 1202 #endif 1203 #if ANIMATE_WINDOW_TRANSFORMS == 1 1194 1204 win->fx *= fx; 1205 #endif 1195 1206 scale_back_x *= fx; 1196 1207 } … … 1200 1211 double fy = 1.0 + (_dy / ((height - 1) * win->fy)); 1201 1212 if (fy > 0) { 1213 #if ANIMATE_WINDOW_TRANSFORMS == 0 1214 if (scale) win->fy *= fy; 1215 #endif 1216 #if ANIMATE_WINDOW_TRANSFORMS == 1 1202 1217 win->fy *= fy; 1218 #endif 1203 1219 scale_back_y *= fy; 1204 1220 } … … 1559 1575 1560 1576 surface_get_resolution(top->surface, &width, &height); 1577 #if ANIMATE_WINDOW_TRANSFORMS == 1 1561 1578 top->fx *= (1.0 / scale_back_x); 1562 1579 top->fy *= (1.0 / scale_back_y); 1563 1580 comp_recalc_transform(top); 1581 #endif 1564 1582 1565 1583 /* Commit proper resize action. */
Note:
See TracChangeset
for help on using the changeset viewer.