📄 encdec.c
字号:
******************************************************************************/static int uiDraw(void){ /* Clear the OSD window */ simplewidget_screen_clear(simpleScreen, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); if (simplewidget_png_show(ctrlImg, simpleScreen, CTRL_BUTTON_X, YSCALE(CTRL_BUTTON_Y)) == -1) { ERR("Failed to show png image\n"); return FAILURE; } if (simplewidget_png_show(navImg, simpleScreen, NAV_BUTTON_X, YSCALE(NAV_BUTTON_Y)) == -1) { ERR("Failed to show png image\n"); return FAILURE; } if (simplewidget_png_show(infoImg, simpleScreen, INFO_BUTTON_X, YSCALE(INFO_BUTTON_Y)) == -1) { ERR("Failed to show png image\n"); return FAILURE; } if (simplewidget_text_show(videoCodecText, simpleScreen) == -1) { ERR("Failed to show video codec text\n"); return FAILURE; } if (simplewidget_text_show(demoNameText, simpleScreen) == -1) { ERR("Failed to show demo name text\n"); return FAILURE; } if (simplewidget_screen_draw_rectangle(simpleScreen, SELECTOR_X, SELECTOR_Y, SELECTOR_W, SELECTOR_H, SELECTOR_R, SELECTOR_G, SELECTOR_B) == FAILURE) { ERR("Failed to draw selector\n"); return FAILURE; } if (simplewidget_text_show(zoomResolutionText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } if (simplewidget_text_show(displayText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } return SUCCESS;}/****************************************************************************** * uiDelete ******************************************************************************/static int uiDelete(void){ if (demoNameText) { simplewidget_text_delete(demoNameText); } if (displayText) { simplewidget_text_delete(displayText); } if (zoomResolutionText) { simplewidget_text_delete(zoomResolutionText); } if (cifResolutionText) { simplewidget_text_delete(cifResolutionText); } if (videoCodecText) { simplewidget_text_delete(videoCodecText); } if (wrongImg) { simplewidget_png_delete(wrongImg); } if (noWrongImg) { simplewidget_png_delete(noWrongImg); } if (infoImg) { simplewidget_png_delete(infoImg); } if (navRightImg) { simplewidget_png_delete(navRightImg); } if (navLeftImg) { simplewidget_png_delete(navLeftImg); } if (navImg) { simplewidget_png_delete(navImg); } if (ctrlRecImg) { simplewidget_png_delete(ctrlRecImg); } if (ctrlPauseImg) { simplewidget_png_delete(ctrlPauseImg); } if (ctrlStopImg) { simplewidget_png_delete(ctrlStopImg); } if (ctrlPlayImg) { simplewidget_png_delete(ctrlPlayImg); } if (ctrlImg) { simplewidget_png_delete(ctrlImg); } if (simpleScreen) { simplewidget_screen_exit(simpleScreen); } return SUCCESS;}/****************************************************************************** * keyAction ******************************************************************************/static int keyAction(enum msp430lib_keycode key, DemoEnv *envp, int *quitPtr){ switch(key) { case MSP430LIB_KEYCODE_PLAY: if (uiPressButton(CTRLPLAY) == FAILURE) { return FAILURE; } *quitPtr = TRUE; break; case MSP430LIB_KEYCODE_STOP: *quitPtr = NOSELECTION; break; case MSP430LIB_KEYCODE_VOLINC: resolution = (resolution + 1) % NUM_RESOLUTIONS; if (simplewidget_screen_draw_rectangle(simpleScreen, SELECTOR_X, SELECTOR_Y, SELECTOR_W, SELECTOR_H, SELECTOR_R, SELECTOR_G, SELECTOR_B) == FAILURE) { ERR("Failed to draw selector\n"); return FAILURE; } if (resolution == ZOOM) { if (simplewidget_text_show(zoomResolutionText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } } else { if (simplewidget_text_show(cifResolutionText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } } if (uiPressButton(NAVPLUS) == FAILURE) { return FAILURE; } break; case MSP430LIB_KEYCODE_VOLDEC: if (resolution - 1 < 0) { resolution = NUM_RESOLUTIONS - 1; } else { resolution--; } if (simplewidget_screen_draw_rectangle(simpleScreen, SELECTOR_X, SELECTOR_Y, SELECTOR_W, SELECTOR_H, SELECTOR_R, SELECTOR_G, SELECTOR_B) == FAILURE) { ERR("Failed to draw selector\n"); return FAILURE; } if (resolution == ZOOM) { if (simplewidget_text_show(zoomResolutionText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } } else { if (simplewidget_text_show(cifResolutionText, simpleScreen) == -1) { ERR("Failed to show capture resolution text\n"); return FAILURE; } } if (uiPressButton(NAVMINUS) == FAILURE) { return FAILURE; } break; case MSP430LIB_KEYCODE_INFOSELECT: DBG("Menu done or info/select command received.\n"); if (osdVisible) { setOsdTransparency(0x0); osdVisible = 0; } else { setOsdTransparency(osdTransparency); osdVisible = 1; } break; default: DBG("Unknown button pressed.\n"); if (uiPressButton(WRONG) == FAILURE) { return FAILURE; } } return SUCCESS;}/****************************************************************************** * encodeDecodeFxn ******************************************************************************/int encodeDecodeFxn(DemoEnv *envp){ enum InitLevels initLevel = 0; int status = SUCCESS; int quit = 0; enum msp430lib_keycode key; if (getYFactor() == NTSC) { if (drawDiagram(DEMO_DIAGRAM_NTSC) == FAILURE) { CLEANUP(FAILURE); } } else { if (drawDiagram(DEMO_DIAGRAM_PAL) == FAILURE) { CLEANUP(FAILURE); } } if (uiCreate() == FAILURE) { CLEANUP(FAILURE); } initLevel = CREATEDINTERFACE; if (setOsdTransparency(osdTransparency) == FAILURE) { CLEANUP(FAILURE); } if (uiDraw() == FAILURE) { CLEANUP(FAILURE); } if (msp430lib_init() == MSP430LIB_FAILURE) { ERR("Failed to initialize msp430lib.\n"); CLEANUP(FAILURE); } initLevel = MSP430LIBINITIALIZED; resolution = ZOOM; while (!quit) { /* See if an IR remote key has been pressed */ if (msp430lib_get_ir_key(&key) == MSP430LIB_FAILURE) { ERR("Failed to get IR value.\n"); } DBG("Got IR key %#x from the MSP430\n", key); /* If an IR key had been pressed, service it */ if (key != 0) { if (keyAction(key, envp, &quit) == FAILURE) { BREAK_LOOP(FAILURE); } } usleep(500000); } envp->resolution = resolution; if (quit == NOSELECTION) { status = NOSELECTION; }cleanup: if (initLevel >= MSP430LIBINITIALIZED) { msp430lib_exit(); } if (initLevel >= CREATEDINTERFACE) { uiDelete(); } return status;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -