| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -434,7 +434,8 @@ weston_slide_run(struct weston_view *view, float start, float stop, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					struct weston_move_animation { | 
					 | 
					 | 
					 | 
					struct weston_move_animation { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						int dx; | 
					 | 
					 | 
					 | 
						int dx; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						int dy; | 
					 | 
					 | 
					 | 
						int dy; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						int reverse; | 
					 | 
					 | 
					 | 
						bool reverse; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						bool scale; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						weston_view_animation_done_func_t done; | 
					 | 
					 | 
					 | 
						weston_view_animation_done_func_t done; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}; | 
					 | 
					 | 
					 | 
					}; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -452,7 +453,9 @@ move_frame(struct weston_view_animation *animation) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                (animation->stop - animation->start) * | 
					 | 
					 | 
					 | 
					                (animation->stop - animation->start) * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                progress; | 
					 | 
					 | 
					 | 
					                progress; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						weston_matrix_init(&animation->transform.matrix); | 
					 | 
					 | 
					 | 
						weston_matrix_init(&animation->transform.matrix); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						weston_matrix_scale(&animation->transform.matrix, scale, scale, 1.0f); | 
					 | 
					 | 
					 | 
						if (move->scale) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							weston_matrix_scale(&animation->transform.matrix, scale, scale, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									    1.0f); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						weston_matrix_translate(&animation->transform.matrix, | 
					 | 
					 | 
					 | 
						weston_matrix_translate(&animation->transform.matrix, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                move->dx * progress, move->dy * progress, | 
					 | 
					 | 
					 | 
					                                move->dx * progress, move->dy * progress, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									0); | 
					 | 
					 | 
					 | 
									0); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -469,10 +472,11 @@ move_done(struct weston_view_animation *animation, void *data) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						free(move); | 
					 | 
					 | 
					 | 
						free(move); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					WL_EXPORT struct weston_view_animation * | 
					 | 
					 | 
					 | 
					static struct weston_view_animation * | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					weston_move_scale_run(struct weston_view *view, int dx, int dy, | 
					 | 
					 | 
					 | 
					weston_move_scale_run_internal(struct weston_view *view, int dx, int dy, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							      float start, float end, int reverse, | 
					 | 
					 | 
					 | 
								       float start, float end, bool reverse, bool scale, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							      weston_view_animation_done_func_t done, void *data) | 
					 | 
					 | 
					 | 
								       weston_view_animation_done_func_t done, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								       void *data) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{ | 
					 | 
					 | 
					 | 
					{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						struct weston_move_animation *move; | 
					 | 
					 | 
					 | 
						struct weston_move_animation *move; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						struct weston_view_animation *animation; | 
					 | 
					 | 
					 | 
						struct weston_view_animation *animation; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -483,6 +487,7 @@ weston_move_scale_run(struct weston_view *view, int dx, int dy, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						move->dx = dx; | 
					 | 
					 | 
					 | 
						move->dx = dx; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						move->dy = dy; | 
					 | 
					 | 
					 | 
						move->dy = dy; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						move->reverse = reverse; | 
					 | 
					 | 
					 | 
						move->reverse = reverse; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						move->scale = scale; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						move->done = done; | 
					 | 
					 | 
					 | 
						move->done = done; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						animation = weston_view_animation_create(view, start, end, move_frame, | 
					 | 
					 | 
					 | 
						animation = weston_view_animation_create(view, start, end, move_frame, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -500,3 +505,21 @@ weston_move_scale_run(struct weston_view *view, int dx, int dy, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return animation; | 
					 | 
					 | 
					 | 
						return animation; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					WL_EXPORT struct weston_view_animation * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					weston_move_scale_run(struct weston_view *view, int dx, int dy, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							      float start, float end, bool reverse, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							      weston_view_animation_done_func_t done, void *data) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						return weston_move_scale_run_internal(view, dx, dy, start, end, reverse, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										      true, done, data); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					WL_EXPORT struct weston_view_animation * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					weston_move_run(struct weston_view *view, int dx, int dy, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							float start, float end, bool reverse, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							weston_view_animation_done_func_t done, void *data) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						return weston_move_scale_run_internal(view, dx, dy, start, end, reverse, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										      false, done, data); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |