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:
4:ffbd2a93b02f
Parent:
3:841987280a7f
--- a/rga_func.cpp	Thu Jan 21 10:21:28 2016 +0000
+++ b/rga_func.cpp	Fri May 13 06:41:17 2016 +0000
@@ -22,15 +22,11 @@
 #include "rga_func.h"
 #include "Images/BinaryImage_RZ_A1H.h"
 
-#define ZOOM_SRC_CENTER_X                   (IMAGE_WIDTH_ZOOM_FUNC / 2)
-#define ZOOM_SRC_CENTER_Y                   (IMAGE_HEIGHT_ZOOM_FUNC / 2)
-
-#define CRYSTAL_DIAMETER                    (93)
+#define ZOOM_SRC_CENTER_X                   IMAGE_WIDTH_ZOOM_FUNC / 2
+#define ZOOM_SRC_CENTER_Y                   IMAGE_HEIGHT_ZOOM_FUNC / 2
 
 Canvas2D_ContextClass canvas2d;
 
-static animation_timing_function_t* accelerator;
-
 void Set_RGAObject(frame_buffer_t* frmbuf_info) {
     errnum_t err;
     Canvas2D_ContextConfigClass config;
@@ -44,219 +40,17 @@
     }
 }
 
-void RGA_Func_DrawTopScreen(frame_buffer_t* frmbuf_info) {
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw a image */
-    canvas2d.drawImage(TopScrn_jpg_File, 0, 0);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
-void RGA_Func_DrawRectangle(frame_buffer_t* frmbuf_info, draw_rectangle_pos_t * pos, int pos_num) {
-    int cnt;
-
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_jpg_File, 230, 400);
-
-    /* Draw rectangle */
-    for (cnt = 0; cnt < pos_num; cnt++) {
-        canvas2d.fillStyle = pos->style;
-        canvas2d.fillRect(pos->x, pos->y, pos->w, pos->h);
-        pos++;
-    }
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
-void RGA_Func_DrawImage(frame_buffer_t* frmbuf_info, int x, int y) {
-    int draw_pos_x = x - (CRYSTAL_DIAMETER / 2);
-    int draw_pos_y = y - (CRYSTAL_DIAMETER / 2);
-
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_jpg_File, 230, 400);
-
-    /* Draw the first image */
-    canvas2d.drawImage(Flower_jpg_File, 100, 100);
-
-    /* Draw the second image */
-    if ((frmbuf_info->pixel_format == PIXEL_FORMAT_ARGB8888) || (frmbuf_info->pixel_format == PIXEL_FORMAT_XRGB8888)) {
-        canvas2d.drawImage(Crystal_png_ARGB8888, draw_pos_x, draw_pos_y);
-    } else if (frmbuf_info->pixel_format != PIXEL_FORMAT_YUV422) {
-        canvas2d.drawImage(Crystal_png_ARGB4444, draw_pos_x, draw_pos_y);
-    } else {
-        canvas2d.drawImage(Crystal_png_File, draw_pos_x, draw_pos_y);
-    }
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
-void RGA_Func_Dissolve(frame_buffer_t* frmbuf_info, float32_t global_alpha) {
-    /* Dissolve = Fade Out + Fade In */
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_side_jpg_File, 140, 400);
-
-    /* fade Out */
-    canvas2d.globalAlpha = 1.0f - global_alpha;
-    canvas2d.drawImage(Flower_jpg_File, 100, 100);
-
-    /* fade In */
-    canvas2d.globalAlpha = global_alpha;
-    canvas2d.drawImage(Landscape_jpg_File, 100, 100);
-
-    canvas2d.globalAlpha = 1.0f;
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
-void RGA_Func_Scroll(frame_buffer_t* frmbuf_info, int src_width_pos) {
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_side_jpg_File, 140, 400);
-
-    /* Scroll from left to right */
-    canvas2d.drawImage(Landscape_wide_jpg_File,
-                        /* src */       src_width_pos, 25, IMG_DRAW_WIDTH, IMG_DRAW_HEIGHT,
-                        /* dst */       100, 100, IMG_DRAW_WIDTH, IMG_DRAW_HEIGHT);
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
 void RGA_Func_Zoom(frame_buffer_t* frmbuf_info, int src_height_pos) {
     /* Clear */
     canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_side_jpg_File, 140, 400);
-
     /* Zoom out */
     canvas2d.drawImage(Landscape_wide_jpg_File,
                         /* src X */     ZOOM_SRC_CENTER_X - (src_height_pos * IMG_DRAW_WIDTH / IMG_DRAW_HEIGHT),
                         /* src Y */     ZOOM_SRC_CENTER_Y - src_height_pos,
                         /* src W */     src_height_pos * 2 * IMG_DRAW_WIDTH / IMG_DRAW_HEIGHT,
                         /* src H */     src_height_pos * 2,
-                        /* dst   */     100, 100, IMG_DRAW_WIDTH, IMG_DRAW_HEIGHT);
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}
-
-void RGA_Func_Rotation(frame_buffer_t* frmbuf_info, graphics_matrix_float_t image_angle) {
-    /* Rotate the image to the right */
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    /* Draw description */
-    canvas2d.drawImage(decs_swipe_side_jpg_File, 140, 400);
-
-    /* Move to drawing position */
-    canvas2d.translate((100 + (IMG_DRAW_WIDTH / 2)), (100 + (IMG_DRAW_HEIGHT / 2)));
-
-    /* Rotate */
-    canvas2d.rotate(image_angle * (3.14159 / 180));
-
-    /* Move to center to rotate */
-    canvas2d.translate((-IMG_DRAW_WIDTH / 2), (-IMG_DRAW_HEIGHT / 2));
-    canvas2d.drawImage(Flower_jpg_File, 0, 0);
-    canvas2d.setTransform(1, 0, 0, 1, 0, 0);
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
+                        /* dst   */     10, 10, IMG_DRAW_WIDTH, IMG_DRAW_HEIGHT);
 
     /* Complete drawing */
     R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
 }
-
-void RGA_Func_Accelerate(frame_buffer_t* frmbuf_info, int animation_timing, float32_t relative_pos) {
-    /* Do accelerated motion from right to left */
-    int position;
-
-    /* Clear */
-    canvas2d.clearRect(0, 0, frmbuf_info->width, frmbuf_info->height);
-
-    if (relative_pos == 0.0f) {
-        switch (animation_timing) {
-            case ANIMATION_TIMING_EASE:
-                R_Get_AnimationTimingFunction("ease", &accelerator);
-                break;
-            case ANIMATION_TIMING_LINEAR:
-                R_Get_AnimationTimingFunction("linear", &accelerator);
-                break;
-            case ANIMATION_TIMING_EASE_IN:
-                R_Get_AnimationTimingFunction("ease-in", &accelerator);
-                break;
-            case ANIMATION_TIMING_EASE_OUT:
-                R_Get_AnimationTimingFunction("ease-out", &accelerator);
-                break;
-            case ANIMATION_TIMING_EASE_IN_OUT:
-            default:
-                R_Get_AnimationTimingFunction("ease-in-out", &accelerator);
-                break;
-        }
-    }
-
-    /* Draw rectangle */
-    canvas2d.fillStyle = "#0000FF";  /* blue */
-    switch (animation_timing) {
-        case ANIMATION_TIMING_EASE:
-            canvas2d.fillRect(17, 420, 136, 10);
-            break;
-        case ANIMATION_TIMING_LINEAR:
-            canvas2d.fillRect(173, 420, 136, 10);
-            break;
-        case ANIMATION_TIMING_EASE_IN:
-            canvas2d.fillRect(330, 420, 136, 10);
-            break;
-        case ANIMATION_TIMING_EASE_OUT:
-            canvas2d.fillRect(487, 420, 136, 10);
-            break;
-        case ANIMATION_TIMING_EASE_IN_OUT:
-        default:
-            canvas2d.fillRect(644, 420, 136, 10);
-            break;
-    }
-
-    /* Draw button */
-    canvas2d.drawImage(animetion_timing_jpg_File, 0, 370);
-
-    position = R_ANIMATION_TIMING_FUNCTION_GetValue(accelerator, relative_pos, 550.0f, 10.0f);
-    canvas2d.drawImage(Flower_jpg_File, position, 100);
-
-    /* Draw return button */
-    canvas2d.drawImage(RetBtn_jpg_File, 640, 10);
-
-    /* Complete drawing */
-    R_GRAPHICS_Finish(canvas2d.c_LanguageContext);
-}