2017-09-14 16:39:56 +02:00
|
|
|
#include "dump1090.h"
|
2017-10-05 16:58:23 +02:00
|
|
|
#include "structs.h"
|
|
|
|
#include "SDL/SDL_rotozoom.h"
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-05 16:58:23 +02:00
|
|
|
static uint64_t mstime(void) {
|
|
|
|
struct timeval tv;
|
|
|
|
uint64_t mst;
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-05 16:58:23 +02:00
|
|
|
gettimeofday(&tv, NULL);
|
|
|
|
mst = ((uint64_t)tv.tv_sec)*1000;
|
|
|
|
mst += tv.tv_usec/1000;
|
|
|
|
return mst;
|
2017-09-17 16:46:48 +02:00
|
|
|
}
|
|
|
|
|
2017-10-05 16:58:23 +02:00
|
|
|
void draw() {
|
2017-10-05 17:22:14 +02:00
|
|
|
if ((mstime() - Modes.interactive_last_update) < MODES_INTERACTIVE_REFRESH_TIME) {
|
|
|
|
return;
|
|
|
|
}
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-05 17:22:14 +02:00
|
|
|
Modes.interactive_last_update = mstime();
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-06 05:25:30 +02:00
|
|
|
updateStatus();
|
|
|
|
|
2017-10-05 17:22:14 +02:00
|
|
|
SDL_FillRect(game.screen, NULL, 0);
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-05 17:22:14 +02:00
|
|
|
if (Modes.map) {
|
|
|
|
drawMap();
|
2017-10-06 05:25:30 +02:00
|
|
|
drawStatus();
|
2017-10-05 17:22:14 +02:00
|
|
|
} else {
|
|
|
|
drawList(10,0);
|
|
|
|
}
|
2017-09-14 05:21:36 +02:00
|
|
|
|
2017-10-05 17:22:14 +02:00
|
|
|
if(Modes.screen_upscale > 1) {
|
2017-10-06 05:25:30 +02:00
|
|
|
SDL_Surface *temp = zoomSurface(game.screen, Modes.screen_upscale, Modes.screen_upscale, 0);
|
|
|
|
SDL_Surface *temp2 = SDL_DisplayFormat(temp);
|
|
|
|
SDL_Rect clip;
|
2017-10-05 17:22:14 +02:00
|
|
|
clip.x = 0;
|
|
|
|
clip.y = 0;
|
2017-10-06 05:25:30 +02:00
|
|
|
clip.w = temp2->w;
|
|
|
|
clip.h = temp2->h;
|
2017-09-14 07:08:22 +02:00
|
|
|
|
2017-10-06 05:25:30 +02:00
|
|
|
SDL_BlitSurface(temp2, 0, game.bigScreen, 0);
|
2017-09-15 16:57:20 +02:00
|
|
|
|
2017-10-05 17:22:14 +02:00
|
|
|
SDL_Flip(game.bigScreen);
|
2017-10-06 05:25:30 +02:00
|
|
|
|
|
|
|
SDL_FreeSurface(temp);
|
|
|
|
SDL_FreeSurface(temp2);
|
2017-10-05 17:22:14 +02:00
|
|
|
} else {
|
|
|
|
SDL_Flip(game.screen);
|
|
|
|
}
|
2017-10-05 16:58:23 +02:00
|
|
|
}
|