Image Zoom In/out Sample. This program uses GraphicsFramework library and GP2Y0A21YK sensor. Please use distance sensor in the range of 10-30cm.

Dependencies:   GR-PEACH_video GraphicsFramework R_BSP mbed-rtos mbed

Fork of RGA_HelloWorld by Renesas

About GP2Y0A21YK

GP2Y0A21YK is a distance sensor and can be controlled by using the AnalogIn.
The range of this sensor is 10-80cm.

About wiring

SensorGR-PEACH
White wireA0
Orange wireGND
Black wire5.0V
Revision:
2:c7faef0ef374
Parent:
0:84e4649e7707
Child:
3:841987280a7f
--- a/rga_func.h	Wed Jan 20 02:35:42 2016 +0000
+++ b/rga_func.h	Thu Jan 21 10:10:19 2016 +0000
@@ -23,32 +23,41 @@
 
 #include "RGA.h"
 
-#define IMG_DRAW_WIDTH                      241
-#define IMG_DRAW_HEIGHT                     180
-#define IMAGE_WIDTH_SCROLL_FUNC             352      // Image width of Scroll function
-#define IMAGE_HEIGHT_SCROLL_FUNC            233      // Image height of Scroll function
-#define IMAGE_WIDTH_ZOOM_FUNC               352      // Image width of Zoom function
-#define IMAGE_HEIGHT_ZOOM_FUNC              233      // Image height of Zoom function
+typedef struct {
+    char * style;
+    int x;
+    int y;
+    int w;
+    int h;
+} draw_rectangle_pos_t;
 
-#define DISSOLVE_MAX_NUM                    256
-#define SCROLL_MAX_NUM                      IMAGE_WIDTH_SCROLL_FUNC - IMG_DRAW_WIDTH
-#define ZOOM_MAX_NUM                        IMAGE_HEIGHT_ZOOM_FUNC / 2
-#define ROTATION_MAX_NUM                    360
-#define ACCELERATE_MAX_NUM                  256
+#define IMG_DRAW_WIDTH                      (241)
+#define IMG_DRAW_HEIGHT                     (180)
+#define IMAGE_WIDTH_SCROLL_FUNC             (352)      // Image width of Scroll function
+#define IMAGE_HEIGHT_SCROLL_FUNC            (233)      // Image height of Scroll function
+#define IMAGE_WIDTH_ZOOM_FUNC               (352)      // Image width of Zoom function
+#define IMAGE_HEIGHT_ZOOM_FUNC              (233)      // Image height of Zoom function
 
+#define DISSOLVE_MAX_NUM                    (256)
+#define SCROLL_MAX_NUM                      (IMAGE_WIDTH_SCROLL_FUNC - IMG_DRAW_WIDTH)
+#define ZOOM_MAX_NUM                        (IMAGE_HEIGHT_ZOOM_FUNC / 2)
+#define ROTATION_MAX_NUM                    (360)
+#define ACCELERATE_MAX_NUM                  (256)
 
+#define ANIMATION_TIMING_EASE               (0)
+#define ANIMATION_TIMING_LINEAR             (1)
+#define ANIMATION_TIMING_EASE_IN            (2)
+#define ANIMATION_TIMING_EASE_OUT           (3)
+#define ANIMATION_TIMING_EASE_IN_OUT        (4)
 
 extern void Set_RGAObject(frame_buffer_t* frmbuf_info);
-extern void Get_AnimationTiming(char_t *timing_name);
-extern void RGA_Func_ClrScreen(frame_buffer_t* frmbuf_info);
 extern void RGA_Func_DrawTopScreen(frame_buffer_t* frmbuf_info);
-extern void RGA_Func_DrawReturnButton(frame_buffer_t* frmbuf_info);
-extern void RGA_Func_DrawRectangle(frame_buffer_t* frmbuf_info);
-extern void RGA_Func_DrawImage(frame_buffer_t* frmbuf_info);
+extern void RGA_Func_DrawRectangle(frame_buffer_t* frmbuf_info, draw_rectangle_pos_t * pos, int pos_num);
+extern void RGA_Func_DrawImage(frame_buffer_t* frmbuf_info, int x, int y);
 extern void RGA_Func_Dissolve(frame_buffer_t* frmbuf_info, float32_t global_alpha);
 extern void RGA_Func_Scroll(frame_buffer_t* frmbuf_info, int src_width_pos);
 extern void RGA_Func_Zoom(frame_buffer_t* frmbuf_info, int src_height_pos);
 extern void RGA_Func_Rotation(frame_buffer_t* frmbuf_info, graphics_matrix_float_t image_angle);
-extern void RGA_Func_Accelerate(frame_buffer_t* frmbuf_info, float32_t relative_pos);
+extern void RGA_Func_Accelerate(frame_buffer_t* frmbuf_info, int animation_timing, float32_t relative_pos);
 
 #endif