Merge remote-tracking branch 'check/cst-next'

needs build- and functional fixes

Conflicts:
	configure.ac
	data/icons/shutdown.jpg
	data/icons/start.jpg
	data/locale/deutsch.locale
	data/locale/english.locale
	lib/libmd5sum/md5.c
	src/driver/scanepg.cpp
	src/driver/streamts.cpp
	src/driver/vfd.cpp
	src/driver/vfd.h
	src/driver/volume.cpp
	src/eitd/dmx.cpp
	src/eitd/xmlutil.cpp
	src/gui/Makefile.am
	src/gui/audiomute.cpp
	src/gui/channellist.cpp
	src/gui/dboxinfo.cpp
	src/gui/epgview.cpp
	src/gui/eventlist.cpp
	src/gui/filebrowser.cpp
	src/gui/hdd_menu.cpp
	src/gui/infoviewer.cpp
	src/gui/infoviewer_bb.cpp
	src/gui/infoviewer_bb.h
	src/gui/keybind_setup.cpp
	src/gui/luainstance.cpp
	src/gui/luainstance.h
	src/gui/miscsettings_menu.cpp
	src/gui/moviebrowser.cpp
	src/gui/movieplayer.cpp
	src/gui/osd_progressbar_setup.cpp
	src/gui/osd_progressbar_setup.h
	src/gui/osd_setup.cpp
	src/gui/osdlang_setup.cpp
	src/gui/personalize.cpp
	src/gui/plugins.cpp
	src/gui/plugins.h
	src/gui/scan.cpp
	src/gui/scan_setup.cpp
	src/gui/update_settings.cpp
	src/gui/user_menue.cpp
	src/gui/user_menue_setup.cpp
	src/gui/videosettings.cpp
	src/gui/widget/buttons.cpp
	src/gui/widget/menue.cpp
	src/gui/widget/menue.h
	src/gui/widget/progresswindow.cpp
	src/neutrino.cpp
	src/neutrino_menue.cpp
	src/nhttpd/yhttpd.cpp
	src/system/helpers.cpp
	src/system/locals.h
	src/system/locals_intern.h
	src/system/setting_helpers.cpp
	src/zapit/lib/zapitclient.cpp
	src/zapit/src/fastscan.cpp
	src/zapit/src/frontend.cpp
	src/zapit/src/getservices.cpp
	src/zapit/src/scan.cpp
	src/zapit/src/scannit.cpp
	src/zapit/src/scanpmt.cpp
	src/zapit/src/transponder.cpp
	src/zapit/src/zapit.cpp


Origin commit data
------------------
Commit: 69c4dbbdba
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2014-12-25 (Thu, 25 Dec 2014)
This commit is contained in:
Stefan Seyfried
2014-12-25 18:03:08 +01:00
423 changed files with 23934 additions and 12351 deletions

View File

@@ -214,7 +214,7 @@ std::string FBFontRenderClass::getFamily(const char * const filename) const
return f->family;
}
return "";
return "";
}
Font::Font(FBFontRenderClass *render, FTC_FaceID faceid, const int isize, const fontmodifier _stylemodifier)
@@ -327,7 +327,7 @@ int Font::getMaxDigitWidth(void)
b[1] = 0;
for (char c = '0'; c <= '9'; c++) {
*b = c;
int w = getRenderWidth(b, true);
int w = getRenderWidth(b);
if (w > maxdigitwidth)
maxdigitwidth = w;
}
@@ -382,21 +382,26 @@ int UTF8ToUnicode(const char * &text, const bool utf8_encoded) // returns -1 on
#define F_MUL 0x7FFF
void Font::paintFontPixel(fb_pixel_t *td, uint8_t fg_trans, uint8_t fg_red, uint8_t fg_green, uint8_t fg_blue, fb_pixel_t bg_col, int faktor, uint8_t index)
void Font::paintFontPixel(fb_pixel_t *td, uint8_t fg_red, uint8_t fg_green, uint8_t fg_blue, int faktor, uint8_t index)
{
int korr_t = ((bg_col & 0xFF000000) >> 24) - fg_trans;
fb_pixel_t bg_col = *td;
if (bg_col == (fb_pixel_t)0)
bg_col = 0xE0808080;
uint8_t bg_trans = (bg_col & 0xFF000000) >> 24;
int korr_r = ((bg_col & 0x00FF0000) >> 16) - fg_red;
int korr_g = ((bg_col & 0x0000FF00) >> 8) - fg_green;
int korr_b = (bg_col & 0x000000FF) - fg_blue;
*td = ((g_settings.contrast_fonts && (index > 128)) ? 0xFF000000 : (((fg_trans + ((korr_t*faktor)/F_MUL)) << 24) & 0xFF000000)) |
*td = ((g_settings.contrast_fonts && (index > 128)) ? 0xFF000000 : (((bg_trans == 0) ? 0xFF : bg_trans) << 24) & 0xFF000000) |
(((fg_red + ((korr_r*faktor)/F_MUL)) << 16) & 0x00FF0000) |
(((fg_green + ((korr_g*faktor)/F_MUL)) << 8) & 0x0000FF00) |
((fg_blue + ((korr_b*faktor)/F_MUL)) & 0x000000FF);
}
void Font::RenderString(int x, int y, const int width, const char *text, const fb_pixel_t color, const int boxheight, const bool utf8_encoded, const bool useFullBg)
void Font::RenderString(int x, int y, const int width, const char *text, const fb_pixel_t color, const int boxheight, const unsigned int flags)
{
const bool utf8_encoded = flags & IS_UTF8;
const bool useFullBg = flags & FULLBG;
/*
useFullBg (default = false)
@@ -471,7 +476,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
FT_Vector kerning;
int pen1=-1; // "pen" positions for kerning, pen2 is "x"
static fb_pixel_t old_bgcolor = 0, old_fgcolor = 0;
static uint8_t fg_trans = 0, fg_red = 0, fg_green = 0, fg_blue = 0;
static uint8_t bg_trans = 0, fg_red = 0, fg_green = 0, fg_blue = 0;
static bool olduseFullBg = false;
static fb_pixel_t colors[256] = {0};
static int faktor[256] = {0};
@@ -497,14 +502,13 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
olduseFullBg = useFullBg;
fontRecsInit = true;
fg_trans = (fg_color & 0xFF000000) >> 24;
bg_trans = (bg_color & 0xFF000000) >> 24;
fg_red = (fg_color & 0x00FF0000) >> 16;
fg_green = (fg_color & 0x0000FF00) >> 8;
fg_blue = fg_color & 0x000000FF;
int korr_t=0, korr_r=0, korr_g=0, korr_b=0;
int korr_r=0, korr_g=0, korr_b=0;
if (!useFullBg) {
korr_t = ((bg_color & 0xFF000000) >> 24) - fg_trans;
korr_r = ((bg_color & 0x00FF0000) >> 16) - fg_red;
korr_g = ((bg_color & 0x0000FF00) >> 8) - fg_green;
korr_b = (bg_color & 0x000000FF) - fg_blue;
@@ -516,7 +520,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
if (useFullBg)
faktor[i] = _faktor;
else
colors[i] = ((g_settings.contrast_fonts && (i > 128)) ? 0xFF000000 : (((fg_trans + ((korr_t*_faktor)/F_MUL)) << 24) & 0xFF000000)) |
colors[i] = ((g_settings.contrast_fonts && (i > 128)) ? 0xFF000000 : (((bg_trans == 0) ? 0xFF : bg_trans) << 24) & 0xFF000000) |
(((fg_red + ((korr_r*_faktor)/F_MUL)) << 16) & 0x00FF0000) |
(((fg_green + ((korr_g*_faktor)/F_MUL)) << 8) & 0x0000FF00) |
((fg_blue + ((korr_b*_faktor)/F_MUL)) & 0x000000FF);
@@ -583,24 +587,6 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
int h = glyph->height;
int pitch = glyph->pitch;
if (ap>-1) {
fb_pixel_t *bg_buf = NULL;
if (useFullBg) {
// save background of the char
bg_buf = new fb_pixel_t[h * (w+spread_by)];
uint8_t *pos = d;
fb_pixel_t *bkpos = bg_buf;
/* the GXA seems to do it's job asynchonously, so we need to wait until
it's ready, otherwise the font will sometimes "be overwritten" with
background color or bgcolor will be wrong */
frameBuffer->waitForIdle("Font::RenderString 2");
for (int j = 0; j < h; j++) {
fb_pixel_t *dest = (fb_pixel_t*)pos;
for (int i = 0; i < (w + spread_by); i++)
*(bkpos++) = *(dest++);
pos += stride;
}
}
for (int ay = 0; ay < h; ay++) {
fb_pixel_t * td = (fb_pixel_t *)d;
int ax;
@@ -609,7 +595,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
/* do not paint the backgroundcolor (*s = 0) */
if(*s != 0) {
if (useFullBg)
paintFontPixel(td, fg_trans, fg_red, fg_green, fg_blue, bg_buf[ax*ay], faktor[*s], *s);
paintFontPixel(td, fg_red, fg_green, fg_blue, faktor[*s], *s);
else
*td = colors[*s];
}
@@ -624,7 +610,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
/* do not paint the backgroundcolor (lcolor = 0) */
if(lcolor != 0) {
if (useFullBg)
paintFontPixel(td, fg_trans, fg_red, fg_green, fg_blue, bg_buf[ax*ay], faktor[lcolor], (uint8_t)lcolor);
paintFontPixel(td, fg_red, fg_green, fg_blue, faktor[lcolor], (uint8_t)lcolor);
else
*td = colors[lcolor];
}
@@ -634,9 +620,6 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
s += pitch - ax;
d += stride;
}
if (bg_buf != NULL)
delete[] bg_buf;
bg_buf = NULL;
}
x += glyph->xadvance + 1;
if (pen1 > x)
@@ -644,16 +627,16 @@ void Font::RenderString(int x, int y, const int width, const char *text, const f
pen1 = x;
lastindex = index;
}
//printf("RenderStat: %d %d %d \n", renderer->cacheManager->num_nodes, renderer->cacheManager->num_bytes, renderer->cacheManager->max_bytes);
//printf("RenderStat: %d %d %d \n", renderer->cacheManager->num_nodes, renderer->cacheManager->num_bytes, renderer->cacheManager->max_bytes);
pthread_mutex_unlock( &renderer->render_mutex );
frameBuffer->checkFbArea(x, y-height, width, height, false);
/* x is the rightmost position of the last drawn character */
frameBuffer->mark(left, y + lower - height, x, y + lower);
}
void Font::RenderString(int x, int y, const int width, const std::string & text, const fb_pixel_t color, const int boxheight, const bool utf8_encoded, const bool useFullBg)
void Font::RenderString(int x, int y, const int width, const std::string & text, const fb_pixel_t color, const int boxheight, const unsigned int flags)
{
RenderString(x, y, width, text.c_str(), color, boxheight, utf8_encoded, useFullBg);
RenderString(x, y, width, text.c_str(), color, boxheight, flags);
}
int Font::getRenderWidth(const char *text, const bool utf8_encoded)