+static const char *men_scaler[] = { "1x1", "scaled 4:3", "fullscreen", "custom", NULL };
+static const char h_cscaler[] = "Displays the scaler layer, you can resize it\n"
+ "using d-pad or move it using R+d-pad";
+static const char *men_dummy[] = { NULL };
+
+static int menu_loop_cscaler(int id, int keys)
+{
+ unsigned int inp;
+
+ scaling = SCALE_CUSTOM;
+
+ omap_enable_layer(1);
+ //pnd_restore_layer_data();
+
+ for (;;)
+ {
+ menu_draw_begin(0);
+ memset(g_menuscreen_ptr, 0, g_menuscreen_w * g_menuscreen_h * 2);
+ text_out16(2, 480 - 18, "%dx%d | d-pad to resize, R+d-pad to move", g_layer_w, g_layer_h);
+ menu_draw_end();
+
+ inp = in_menu_wait(PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT|PBTN_R|PBTN_MOK|PBTN_MBACK, 40);
+ if (inp & PBTN_UP) g_layer_y--;
+ if (inp & PBTN_DOWN) g_layer_y++;
+ if (inp & PBTN_LEFT) g_layer_x--;
+ if (inp & PBTN_RIGHT) g_layer_x++;
+ if (!(inp & PBTN_R)) {
+ if (inp & PBTN_UP) g_layer_h += 2;
+ if (inp & PBTN_DOWN) g_layer_h -= 2;
+ if (inp & PBTN_LEFT) g_layer_w += 2;
+ if (inp & PBTN_RIGHT) g_layer_w -= 2;
+ }
+ if (inp & (PBTN_MOK|PBTN_MBACK))
+ break;
+
+ if (inp & (PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT)) {
+ if (g_layer_x < 0) g_layer_x = 0;
+ if (g_layer_x > 640) g_layer_x = 640;
+ if (g_layer_y < 0) g_layer_y = 0;
+ if (g_layer_y > 420) g_layer_y = 420;
+ if (g_layer_w < 160) g_layer_w = 160;
+ if (g_layer_h < 60) g_layer_h = 60;
+ if (g_layer_x + g_layer_w > 800)
+ g_layer_w = 800 - g_layer_x;
+ if (g_layer_y + g_layer_h > 480)
+ g_layer_h = 480 - g_layer_y;
+ omap_enable_layer(1);
+ }
+ }
+
+ omap_enable_layer(0);
+
+ return 0;
+}
+