* use RLE encodes bitmaps on 212x64 pixel radios * fix model image display fix icon display * implement RLE bitmaps in companion for splash image on 212x64 radios reserve 3kB for RLE bitmaps in firmware * fix size check * use defines instead of magic numbers * fix display of splash screens on 212x64 radios * add warning message if compressed image is larger than the reserved space
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
/*
|
|
* Copyright (C) EdgeTX
|
|
*
|
|
* Based on code named
|
|
* opentx - https://github.com/opentx/opentx
|
|
* th9x - http://code.google.com/p/th9x
|
|
* er9x - http://code.google.com/p/er9x
|
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
|
*
|
|
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#include "opentx.h"
|
|
|
|
#if defined(SPLASH)
|
|
#define MAXIMUM_SPLASH_IMAGE_SIZE 3072
|
|
struct {
|
|
const uint8_t __magic_prefix[4] = { 'S','P','S',0 };
|
|
const uint8_t splashdata[MAXIMUM_SPLASH_IMAGE_SIZE] = {
|
|
#include "bitmaps/212x64/splash.lbm"
|
|
};
|
|
const uint8_t __magic_suffix[4] = { 'S','P','E',0 };
|
|
} splash_struct;
|
|
static_assert(sizeof(splash_struct.splashdata) <= MAXIMUM_SPLASH_IMAGE_SIZE, "");
|
|
const unsigned char * const splash_lbm = splash_struct.splashdata;
|
|
|
|
void drawSplash()
|
|
{
|
|
lcdClear();
|
|
lcdDrawRleBitmap(0, 0, splash_lbm);
|
|
|
|
#if MENUS_LOCK == 1
|
|
if (readonly == false) {
|
|
lcdDrawFilledRect((LCD_W - (sizeof(TR_UNLOCKED) - 1) * FW) / 2 - 9, 50,
|
|
(sizeof(TR_UNLOCKED) - 1) * FW + 16, 11, SOLID,
|
|
ERASE | ROUND);
|
|
lcdDrawText((LCD_W - (sizeof(TR_UNLOCKED) - 1) * FW) / 2, 53, STR_UNLOCKED);
|
|
}
|
|
#endif
|
|
|
|
lcdRefresh();
|
|
}
|
|
#endif
|