本文整理汇总了C++中draw_screen_locked函数的典型用法代码示例。如果您正苦于以下问题:C++ draw_screen_locked函数的具体用法?C++ draw_screen_locked怎么用?C++ draw_screen_locked使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了draw_screen_locked函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update_screen_locked
// Redraw everything on the screen and flip the screen (make it visible).
// Should only be called with gUpdateMutex locked.
static void update_screen_locked(void) {
if (!ui_has_initialized)
return;
draw_screen_locked();
gr_flip();
}
示例2: draw_screen_locked
// Updates only the progress bar, if possible, otherwise redraws the screen.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::update_progress_locked() {
if (show_text || !pagesIdentical) {
draw_screen_locked(); // Must redraw the whole screen
pagesIdentical = true;
} else {
draw_progress_locked(); // Draw only the progress bar and overlays
}
gr_flip();
}
示例3: update_progress_locked
// Updates only the progress bar, if possible, otherwise redraws the screen.
// Should only be called with gUpdateMutex locked.
static void update_progress_locked(void)
{
if (show_text || !gPagesIdentical) {
draw_screen_locked(); // Must redraw the whole screen
gPagesIdentical = 1;
} else {
draw_progress_locked(); // Draw only the progress bar
}
gr_flip();
}
示例4: pthread_mutex_lock
void ScreenRecoveryUI::progress_loop() {
double interval = 1.0 / animation_fps;
for (;;) {
pthread_mutex_lock(&updateMutex);
if (progressBarType == EMPTY && !update_waiting)
pthread_cond_wait(&progressCondition, &updateMutex);
bool redraw = false;
double start = now();
LOGV("loop %f show_text=%d progressBarType=%d waiting=%d\n", start, show_text, progressBarType, update_waiting );
// update the installation animation, if active
// skip this if we have a text overlay (too expensive to update)
if ((currentIcon == INSTALLING_UPDATE || currentIcon == ERASING) &&
installing_frames > 0) {
installingFrame = (installingFrame + 1) % installing_frames;
redraw = true;
}
// move the progress bar forward on timed intervals, if configured
int duration = progressScopeDuration;
if (progressBarType == DETERMINATE && duration > 0) {
double elapsed = now() - progressScopeTime;
float p = 1.0 * elapsed / duration;
if (p > 1.0) p = 1.0;
if (p > progress) {
progress = p;
redraw = true;
}
}
if (update_waiting || !pagesIdentical) {
LOGV("call draw_screen_locked\n");
draw_screen_locked();
if (!update_waiting)
pagesIdentical = true;
}
if (redraw) {
LOGV("call draw_progress_locked\n");
draw_progress_locked();
}
gr_flip();
update_waiting = false;
pthread_mutex_unlock(&updateMutex);
double end = now();
// minimum of 20ms delay between frames
double delay = interval - (end-start);
if (delay < 0.02) delay = 0.02;
usleep((long)(delay * 1000000));
}
}
示例5: update_progress_locked
// Updates only the progress bar, if possible, otherwise redraws the screen.
// Should only be called with gUpdateMutex locked.
static void update_progress_locked(void)
{
if (!ui_has_initialized) return;
if (show_text || !gPagesIdentical) {
draw_screen_locked(); // Must redraw the whole screen
gPagesIdentical = 1;
} else {
draw_progress_locked(); // Draw only the progress bar and overlays
}
gr_flip();
}
示例6: update_progress_locked
// Updates only the progress bar, if possible, otherwise redraws the screen.
// Should only be called with gUpdateMutex locked.
static void update_progress_locked(void) {
if (!ui_has_initialized)
return;
// set minimum delay between progress updates if we have a text overlay
// exception: gProgressScopeDuration != 0: to keep zip installer refresh behavior
struct timeval curtime;
gettimeofday(&curtime, NULL);
long delta_ms = delta_milliseconds(lastprogupd, curtime);
if (show_text && gProgressScopeDuration == 0 && lastprogupd.tv_sec > 0
&& delta_ms < UI_MIN_PROG_DELTA_MS) {
return;
}
if (show_text || !gPagesIdentical) {
draw_screen_locked(); // Must redraw the whole screen
gPagesIdentical = 1;
} else {
draw_progress_locked(); // Draw only the progress bar and overlays
}
gr_flip();
}
示例7: draw_screen_locked
// Redraw everything on the screen and flip the screen (make it visible).
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::update_screen_locked()
{
draw_screen_locked();
gr_flip();
}
示例8: update_screen_locked
// Redraw everything on the screen and flip the screen (make it visible).
// Should only be called with gUpdateMutex locked.
static void update_screen_locked(void)
{
draw_screen_locked();
gr_flip();
}