Files
edgetx-gx12/radio/src/gui/128x64/splash.cpp
T

82 lines
2.5 KiB
C++

/*
* Copyright (C) OpenTX
*
* Based on code named
* 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 GET_FAR_ADDRESS
#define GET_FAR_ADDRESS(var) \
({ \
uint32_t tmp; \
\
__asm__ __volatile__( \
\
"ldi %A0, lo8(%1)" "\n\t" \
"ldi %B0, hi8(%1)" "\n\t" \
"ldi %C0, hh8(%1)" "\n\t" \
"clr %D0" "\n\t" \
: \
"=d" (tmp) \
: \
"p" (&(var)) \
); \
tmp; \
})
#endif
#if defined(SPLASH)
const pm_uchar splashdata[] PROGMEM = {
'S','P','S',0,
#include "bitmaps/128x64/splash.lbm"
'S','P','E',0 };
const pm_uchar * const splash_lbm = splashdata+4;
void drawSplash()
{
lcdClear();
lcdDraw1bitBitmap(0, 0, splash_lbm, 0, 0);
#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
#if defined(SPLASH_FRSKY)
const pm_uchar splashdata2[] PROGMEM = {
'S','F','S',0,
#include "bitmaps/128x64/splash_frsky.lbm"
'S','F','E',0 };
const pm_uchar * const splash2_lbm = splashdata2+4;
void drawSecondSplash()
{
lcdClear();
lcdDraw1bitBitmap(0, 0, splash2_lbm, 0, 0);
lcdRefresh();
}
#endif