コード例 #1
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandleFirst(AG_Event *event) {
    state.currentFrame = 0;
    if (state.mode & SM_RECORD) {
        cmdStop(0);
    }
    osdUpdate();
}
コード例 #2
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdInitPlaybackWindow() {
    AG_Box *box;
    view.playbackWindow = osdNewWindow("Quick Controls");
    box = AG_BoxNewHoriz(view.playbackWindow, AG_BOX_EXPAND);
    
    // The labels for Record and Pause are the "longest legnth" versions of the
    // state of the button, so that no button resizing is necessary.
    
    AG_ButtonNewFn(box, 0, "Respawn", osdHandleRespawn, 0);
    
    AG_SpacerNewVert(box);
    
    view.recordButton = AG_ButtonNewFn(box, 0, "Record", osdHandleRecord, 0);
    AG_ButtonNewFn(box, 0, "<<", osdHandleFirst, 0);
    AG_ButtonNewFn(box, AG_BUTTON_REPEAT, "<", osdHandlePrev, 0);
    view.playButton = AG_ButtonNewFn(box, 0, "Pause", osdHandlePlay, 0);
    AG_ButtonNewFn(box, AG_BUTTON_REPEAT, ">", osdHandleNext, 0);
    AG_ButtonNewFn(box, 0, ">>", osdHandleLast, 0);
    
    AG_SpacerNewVert(box);
    
    AG_ButtonNewFn(box, 0, "Quit", osdHandleQuit, 0);
    
    AG_WindowSetPosition(view.playbackWindow, AG_WINDOW_TR, 0);
    AG_WindowShow(view.playbackWindow);
    osdUpdate();
}
コード例 #3
0
ファイル: osd.c プロジェクト: mmiers/betaflight
void updateOsd(uint32_t currentTime)
{
    static uint32_t counter;
#ifdef MAX7456_DMA_CHANNEL_TX
    // don't touch buffers if DMA transaction is in progress
    if (max7456DmaInProgres())
        return;
#endif // MAX7456_DMA_CHANNEL_TX

    // redraw values in buffer
    if (counter++ % 5 == 0)
        osdUpdate(currentTime);
    else // rest of time redraw screen 10 chars per idle to don't lock the main idle
        max7456DrawScreen();

    // do not allow ARM if we are in menu
    if (inMenu)
        DISABLE_ARMING_FLAG(OK_TO_ARM);
}
コード例 #4
0
ファイル: fc_tasks.c プロジェクト: oleost/inav
void taskUpdateOsd(timeUs_t currentTimeUs)
{
    if (feature(FEATURE_OSD)) {
        osdUpdate(currentTimeUs);
    }
}
コード例 #5
0
void taskDrawScreen(void)
{
    osdUpdate();
}
コード例 #6
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandleLast(AG_Event *event) {
    state.currentFrame = state.totalFrames - 1;
    cmdStop(0);
    osdUpdate();
}
コード例 #7
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandleNext(AG_Event *event) {
    if (state.currentFrame < state.totalFrames - 1)
        state.currentFrame++;
    cmdStop(0);
    osdUpdate();
}
コード例 #8
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandlePrev(AG_Event *event) {
    if (state.currentFrame > 0)
        state.currentFrame--;
    cmdStop(0);
    osdUpdate();
}
コード例 #9
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandlePlay(AG_Event *event) {
    cmdPlay(0);
    osdUpdate();
}
コード例 #10
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandleRecord(AG_Event *event) {
    cmdRecord(0);
    osdUpdate();
}
コード例 #11
0
ファイル: osd.c プロジェクト: FrMo/gravit
void osdHandleRespawn(AG_Event *event) {
    cmdSpawn(0);
    osdUpdate();
}