mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 07:51:19 +02:00
fb_generic: add possibility to handle with unscaled images in showFrame()
This commit is contained in:
@@ -1576,7 +1576,7 @@ bool CFrameBuffer::showFrame(const std::string & filename, int fallback_mode)
|
|||||||
std::string picture = getIconPath(filename, "");
|
std::string picture = getIconPath(filename, "");
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
||||||
if (access(picture.c_str(), F_OK) == 0)
|
if (access(picture.c_str(), F_OK) == 0 && !(fallback_mode & SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED))
|
||||||
{
|
{
|
||||||
if (videoDecoder)
|
if (videoDecoder)
|
||||||
{
|
{
|
||||||
@@ -1592,17 +1592,29 @@ bool CFrameBuffer::showFrame(const std::string & filename, int fallback_mode)
|
|||||||
dprintf(DEBUG_NORMAL,"[CFrameBuffer]\[%s - %d], no videoplayer instance available\n", __func__, __LINE__);
|
dprintf(DEBUG_NORMAL,"[CFrameBuffer]\[%s - %d], no videoplayer instance available\n", __func__, __LINE__);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (!(fallback_mode & SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED))
|
||||||
{
|
{
|
||||||
dprintf(DEBUG_NORMAL,"[CFrameBuffer]\[%s - %d], image not found: %s\n", __func__, __LINE__, picture.c_str());
|
dprintf(DEBUG_NORMAL,"[CFrameBuffer]\[%s - %d], image not found: %s\n", __func__, __LINE__, picture.c_str());
|
||||||
picture = "";
|
picture = "";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
if (fallback_mode)
|
if (fallback_mode)
|
||||||
{
|
{
|
||||||
if ((fallback_mode & SHOW_FRAME_FALLBACK_MODE_IMAGE) && !picture.empty())
|
if (fallback_mode & (SHOW_FRAME_FALLBACK_MODE_IMAGE | SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED) && !picture.empty())
|
||||||
|
{
|
||||||
|
if (fallback_mode & SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED)
|
||||||
|
{
|
||||||
|
SetTransparent(TM_NONE);
|
||||||
|
ret = g_PicViewer->ShowImage(picture.c_str(), false);
|
||||||
|
SetTransparentDefault();
|
||||||
|
}
|
||||||
|
else
|
||||||
ret = g_PicViewer->DisplayImage(picture, 0, 0, getScreenWidth(true), getScreenHeight(true), TM_NONE);
|
ret = g_PicViewer->DisplayImage(picture, 0, 0, getScreenWidth(true), getScreenHeight(true), TM_NONE);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
ret = false;
|
ret = false;
|
||||||
|
|
||||||
|
@@ -271,8 +271,9 @@ class CFrameBuffer : public sigc::trackable
|
|||||||
{
|
{
|
||||||
SHOW_FRAME_FALLBACK_MODE_OFF = 0,
|
SHOW_FRAME_FALLBACK_MODE_OFF = 0,
|
||||||
SHOW_FRAME_FALLBACK_MODE_IMAGE = 1,
|
SHOW_FRAME_FALLBACK_MODE_IMAGE = 1,
|
||||||
SHOW_FRAME_FALLBACK_MODE_BLACKSCREEN = 2,
|
SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED = 2,
|
||||||
SHOW_FRAME_FALLBACK_MODE_CALLBACK = 4
|
SHOW_FRAME_FALLBACK_MODE_BLACKSCREEN = 4,
|
||||||
|
SHOW_FRAME_FALLBACK_MODE_CALLBACK = 8
|
||||||
};
|
};
|
||||||
bool showFrame(const std::string & filename, int fallback_mode = SHOW_FRAME_FALLBACK_MODE_OFF);
|
bool showFrame(const std::string & filename, int fallback_mode = SHOW_FRAME_FALLBACK_MODE_OFF);
|
||||||
void stopFrame();
|
void stopFrame();
|
||||||
|
Reference in New Issue
Block a user