本文整理汇总了C++中CGUIImage类的典型用法代码示例。如果您正苦于以下问题:C++ CGUIImage类的具体用法?C++ CGUIImage怎么用?C++ CGUIImage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CGUIImage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetService
bool CGUIDialogSubtitles::SetService(const std::string &service)
{
if (service != m_currentService)
{
m_currentService = service;
CLog::Log(LOGDEBUG, "New Service [%s] ", m_currentService.c_str());
CFileItemPtr currentService = GetService();
// highlight this item in the skin
for (int i = 0; i < m_serviceItems->Size(); i++)
{
CFileItemPtr pItem = m_serviceItems->Get(i);
pItem->Select(pItem == currentService);
}
SET_CONTROL_LABEL(CONTROL_NAMELABEL, currentService->GetLabel());
CGUIImage* image = (CGUIImage*)GetControl(CONTROL_NAMELOGO);
if (image)
{
std::string icon = URIUtils::AddFileToFolder(currentService->GetProperty("Addon.Path").asString(), "logo.png");
image->SetFileName(icon);
}
if (g_application.m_pPlayer->GetSubtitleCount() == 0)
SET_CONTROL_HIDDEN(CONTROL_SUBSEXIST);
else
SET_CONTROL_VISIBLE(CONTROL_SUBSEXIST);
return true;
}
return false;
}
示例2: OnWindowLoaded
void CGUIDialogKaiToast::OnWindowLoaded()
{
CGUIDialog::OnWindowLoaded();
CGUIImage *image = (CGUIImage *)GetControl(POPUP_ICON);
if (image)
m_defaultIcon = image->GetFileName();
}
示例3: OnDeinitWindow
void CGUIDialogBoxeeManualResolveMovie::OnDeinitWindow(int nextWindowID)
{
CGUIDialog::OnDeinitWindow(nextWindowID);
CGUIImage* pImage = (CGUIImage*)GetControl(MOVIE_COVER);
pImage->FreeResources();
}
示例4: SET_CONTROL_LABEL
void CGUIDialogProfileSettings::SetupPage()
{
CGUIDialogSettings::SetupPage();
SET_CONTROL_LABEL(1000,m_strName);
SET_CONTROL_LABEL(1001,m_strDirectory);
CGUIImage *pImage = (CGUIImage*)GetControl(2);
if (pImage)
pImage->SetFileName(!m_strThumb.IsEmpty() ? m_strThumb : m_strDefaultImage);
}
示例5: lock
bool CGUIDialogKaiToast::DoWork()
{
CSingleLock lock(m_critical);
if (m_notifications.size() > 0 &&
CTimeUtils::GetFrameTime() - m_timer > m_toastMessageTime)
{
Notification toast = m_notifications.front();
m_notifications.pop();
lock.Leave();
m_toastDisplayTime = toast.displayTime;
m_toastMessageTime = toast.messageTime;
CSingleLock lock2(g_graphicsContext);
if(!Initialize())
return false;
SET_CONTROL_LABEL(POPUP_CAPTION_TEXT, toast.caption);
SET_CONTROL_LABEL(POPUP_NOTIFICATION_BUTTON, toast.description);
CGUIImage *image = (CGUIImage *)GetControl(POPUP_ICON);
if (image)
{
CStdString strTypeImage = toast.imagefile;
if (strTypeImage.IsEmpty())
{
CGUIImage *typeImage = NULL;
if (toast.eType == Info)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_INFO);
else if (toast.eType == Warning)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_WARNING);
else if (toast.eType == Error)
typeImage = (CGUIImage *)GetControl(POPUP_ICON_ERROR);
else
typeImage = image;
strTypeImage = typeImage->GetFileName();
}
image->SetFileName(strTypeImage);
}
// Play the window specific init sound for each notification queued
SetSound(toast.withSound);
ResetTimer();
return true;
}
return false;
}
示例6: set_filename
void Interface_GUIControlImage::set_filename(void* kodiBase, void* handle, const char* filename, bool use_cache)
{
CAddonDll* addon = static_cast<CAddonDll*>(kodiBase);
CGUIImage* control = static_cast<CGUIImage*>(handle);
if (!addon || !control || !filename)
{
CLog::Log(LOGERROR, "Interface_GUIControlImage::%s - invalid handler data (kodiBase='%p', handle='%p', filename='%p') on addon '%s'",
__FUNCTION__, addon, control, filename, addon ? addon->ID().c_str() : "unknown");
return;
}
control->SetFileName(filename, false, use_cache);
}
示例7: set_color_diffuse
void Interface_GUIControlImage::set_color_diffuse(void* kodiBase, void* handle, uint32_t colorDiffuse)
{
CAddonDll* addon = static_cast<CAddonDll*>(kodiBase);
CGUIImage* control = static_cast<CGUIImage*>(handle);
if (!addon || !control)
{
CLog::Log(LOGERROR, "Interface_GUIControlImage::%s - invalid handler data (kodiBase='%p', handle='%p') on addon '%s'",
__FUNCTION__, addon, control, addon ? addon->ID().c_str() : "unknown");
return;
}
control->SetColorDiffuse(CGUIInfoColor(colorDiffuse));
}
示例8: set_visible
void Interface_GUIControlImage::set_visible(void* kodiBase, void* handle, bool visible)
{
CAddonDll* addon = static_cast<CAddonDll*>(kodiBase);
CGUIImage* control = static_cast<CGUIImage*>(handle);
if (!addon || !control)
{
CLog::Log(LOGERROR,
"Interface_GUIControlImage::%s - invalid handler data (kodiBase='%p', handle='%p') "
"on addon '%s'",
__FUNCTION__, kodiBase, handle, addon ? addon->ID().c_str() : "unknown");
return;
}
control->SetVisible(visible);
}
示例9: if
void CGUIDialogKaiToast::AddToQueue(eMessageType eType, const CStdString& aCaption, const CStdString& aDescription, unsigned int displayTime /*= TOAST_DISPLAY_TIME*/, bool withSound /*= true*/, unsigned int messageTime /*= TOAST_MESSAGE_TIME*/)
{
CGUIImage *image = NULL;
if (eType == Info)
image = (CGUIImage *)GetControl(POPUP_ICON_INFO);
else if (eType == Warning)
image = (CGUIImage *)GetControl(POPUP_ICON_WARNING);
else if (eType == Error)
image = (CGUIImage *)GetControl(POPUP_ICON_ERROR);
CStdString strImage;
if (image)
strImage = image->GetFileName();
AddToQueue(strImage, aCaption, aDescription, displayTime, withSound, messageTime);
}
示例10: CGUIImage
//#ifdef PRE_SKIN_VERSION_9_10_COMPATIBILITY
void CGUIListItemLayout::CreateListControlLayouts(float width, float height, bool focused, const CLabelInfo &labelInfo, const CLabelInfo &labelInfo2, const CTextureInfo &texture, const CTextureInfo &textureFocus, float texHeight, float iconWidth, float iconHeight, int nofocusCondition, int focusCondition)
{
m_width = width;
m_height = height;
m_focused = focused;
CGUIImage *tex = new CGUIImage(0, 0, 0, 0, width, texHeight, texture);
tex->SetVisibleCondition(nofocusCondition, false);
m_group.AddControl(tex);
if (focused)
{
CGUIImage *tex = new CGUIImage(0, 0, 0, 0, width, texHeight, textureFocus);
tex->SetVisibleCondition(focusCondition, false);
m_group.AddControl(tex);
}
CGUIImage *image = new CGUIImage(0, 0, 8, 0, iconWidth, texHeight, CTextureInfo(""));
image->SetInfo(CGUIInfoLabel("$INFO[ListItem.Icon]"));
image->SetAspectRatio(CAspectRatio::AR_KEEP);
m_group.AddControl(image);
float x = iconWidth + labelInfo.offsetX + 10;
CGUIListLabel *label = new CGUIListLabel(0, 0, x, labelInfo.offsetY, width - x - 18, height, labelInfo, CGUIInfoLabel("$INFO[ListItem.Label]"), false);
m_group.AddControl(label);
x = labelInfo2.offsetX ? labelInfo2.offsetX : m_width - 16;
label = new CGUIListLabel(0, 0, x, labelInfo2.offsetY, x - iconWidth - 20, height, labelInfo2, CGUIInfoLabel("$INFO[ListItem.Label2]"), false);
m_group.AddControl(label);
}
示例11: CGUIImage
//#ifdef GUILIB_PYTHON_COMPATIBILITY
void CGUIListItemLayout::CreateListControlLayouts(float width, float height, bool focused, const CLabelInfo &labelInfo, const CLabelInfo &labelInfo2, const CTextureInfo &texture, const CTextureInfo &textureFocus, float texHeight, float iconWidth, float iconHeight, const std::string &nofocusCondition, const std::string &focusCondition)
{
m_width = width;
m_height = height;
m_focused = focused;
m_isPlaying.Parse("listitem.isplaying", 0);
CGUIImage *tex = new CGUIImage(0, 0, 0, 0, width, texHeight, texture);
tex->SetVisibleCondition(nofocusCondition);
m_group.AddControl(tex);
if (focused)
{
CGUIImage *tex = new CGUIImage(0, 0, 0, 0, width, texHeight, textureFocus);
tex->SetVisibleCondition(focusCondition);
m_group.AddControl(tex);
}
CGUIImage *image = new CGUIImage(0, 0, 8, 0, iconWidth, texHeight, CTextureInfo(""));
image->SetInfo(CGUIInfoLabel("$INFO[ListItem.Icon]", "", m_group.GetParentID()));
image->SetAspectRatio(CAspectRatio::AR_KEEP);
m_group.AddControl(image);
float x = iconWidth + labelInfo.offsetX + 10;
CGUIListLabel *label = new CGUIListLabel(0, 0, x, labelInfo.offsetY, width - x - 18, height, labelInfo, CGUIInfoLabel("$INFO[ListItem.Label]", "", m_group.GetParentID()), CGUIControl::FOCUS);
m_group.AddControl(label);
x = labelInfo2.offsetX ? labelInfo2.offsetX : m_width - 16;
label = new CGUIListLabel(0, 0, x, labelInfo2.offsetY, x - iconWidth - 20, height, labelInfo2, CGUIInfoLabel("$INFO[ListItem.Label2]", "", m_group.GetParentID()), CGUIControl::FOCUS);
m_group.AddControl(label);
}
示例12: lock
bool CGUIDialogKaiToast::DoWork()
{
CSingleLock lock(m_critical);
if (m_notifications.size() > 0 &&
CTimeUtils::GetFrameTime() - m_timer > m_toastMessageTime)
{
Notification toast = m_notifications.front();
m_notifications.pop();
lock.Leave();
m_toastDisplayTime = toast.displayTime;
m_toastMessageTime = toast.messageTime;
CSingleLock lock2(g_graphicsContext);
if(!Initialize())
return false;
SET_CONTROL_LABEL(POPUP_CAPTION_TEXT, toast.caption);
SET_CONTROL_LABEL(POPUP_NOTIFICATION_BUTTON, toast.description);
CGUIImage *image = (CGUIImage *)GetControl(POPUP_ICON);
if (image)
{
if (!toast.imagefile.IsEmpty())
image->SetFileName(toast.imagefile);
else
image->SetFileName(m_defaultIcon);
}
// Play the window specific init sound for each notification queued
SetSound(toast.withSound);
ResetTimer();
return true;
}
return false;
}
示例13: CONTROL_ENABLE
void CGUIWindowWeather::UpdateButtons()
{
CONTROL_ENABLE(CONTROL_BTNREFRESH);
SET_CONTROL_LABEL(CONTROL_BTNREFRESH, 184); //Refresh
SET_CONTROL_LABEL(WEATHER_LABEL_LOCATION, g_weatherManager.GetLocation(m_iCurWeather));
SET_CONTROL_LABEL(CONTROL_LABELUPDATED, g_weatherManager.GetLastUpdateTime());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_COND, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_COND));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_TEMP, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_TEMP) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_FEEL, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_FEEL) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_UVID, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_UVID));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_WIND, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_WIND));
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_DEWP, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_DEWP) + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(WEATHER_LABEL_CURRENT_HUMI, g_weatherManager.GetInfo(WEATHER_LABEL_CURRENT_HUMI));
CGUIImage *pImage = (CGUIImage *)GetControl(WEATHER_IMAGE_CURRENT_ICON);
if (pImage) pImage->SetFileName(g_weatherManager.GetInfo(WEATHER_IMAGE_CURRENT_ICON));
//static labels
SET_CONTROL_LABEL(CONTROL_STATICTEMP, 401); //Temperature
SET_CONTROL_LABEL(CONTROL_STATICFEEL, 402); //Feels Like
SET_CONTROL_LABEL(CONTROL_STATICUVID, 403); //UV Index
SET_CONTROL_LABEL(CONTROL_STATICWIND, 404); //Wind
SET_CONTROL_LABEL(CONTROL_STATICDEWP, 405); //Dew Point
SET_CONTROL_LABEL(CONTROL_STATICHUMI, 406); //Humidity
for (int i = 0; i < NUM_DAYS; i++)
{
SET_CONTROL_LABEL(CONTROL_LABELD0DAY + (i*10), g_weatherManager.GetForecast(i).m_day);
SET_CONTROL_LABEL(CONTROL_LABELD0HI + (i*10), g_weatherManager.GetForecast(i).m_high + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(CONTROL_LABELD0LOW + (i*10), g_weatherManager.GetForecast(i).m_low + g_langInfo.GetTempUnitString());
SET_CONTROL_LABEL(CONTROL_LABELD0GEN + (i*10), g_weatherManager.GetForecast(i).m_overview);
pImage = (CGUIImage *)GetControl(CONTROL_IMAGED0IMG + (i * 10));
if (pImage) pImage->SetFileName(g_weatherManager.GetForecast(i).m_icon);
}
}
示例14: CGUIImage
void CSplash::Show()
{
g_graphicsContext.Lock();
g_graphicsContext.Clear();
g_graphicsContext.Flip();
#ifndef _WIN32
g_graphicsContext.Clear();
g_graphicsContext.Flip();
g_graphicsContext.Clear();
g_graphicsContext.Flip();
#endif
float w = g_graphicsContext.GetWidth();
float h = g_graphicsContext.GetHeight();
if(g_graphicsContext.GetRenderLowresGraphics())
{
RESOLUTION res = g_graphicsContext.GetGraphicsResolution();
w = g_settings.m_ResInfo[res].iWidth;
h = g_settings.m_ResInfo[res].iHeight;
}
CGUIImage* image = new CGUIImage(0, 0, 0, 0, w, h, m_ImageName);
image->SetAspectRatio(CAspectRatio::AR_KEEP);
image->AllocResources();
//render splash image
g_Windowing.BeginRender();
image->Render();
image->FreeResources();
delete image;
//show it on screen
g_Windowing.EndRender();
g_graphicsContext.Flip();
g_graphicsContext.Unlock();
}
示例15: SetLabel
void CGUIWindowVideoInfo::Update()
{
CStdString strTmp;
strTmp = m_movieItem->GetVideoInfoTag()->m_strTitle; strTmp.Trim();
SetLabel(CONTROL_TITLE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strDirector; strTmp.Trim();
SetLabel(CONTROL_DIRECTOR, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strStudio; strTmp.Trim();
SetLabel(CONTROL_STUDIO, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strWritingCredits; strTmp.Trim();
SetLabel(CONTROL_CREDITS, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strGenre; strTmp.Trim();
SetLabel(CONTROL_GENRE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strTagLine; strTmp.Trim();
SetLabel(CONTROL_TAGLINE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strPlotOutline; strTmp.Trim();
SetLabel(CONTROL_PLOTOUTLINE, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strTrailer; strTmp.Trim();
SetLabel(CONTROL_TRAILER, strTmp);
strTmp = m_movieItem->GetVideoInfoTag()->m_strMPAARating; strTmp.Trim();
SetLabel(CONTROL_MPAARATING, strTmp);
CStdString strTop250;
if (m_movieItem->GetVideoInfoTag()->m_iTop250)
strTop250.Format("%i", m_movieItem->GetVideoInfoTag()->m_iTop250);
SetLabel(CONTROL_TOP250, strTop250);
CStdString strYear;
if (m_movieItem->GetVideoInfoTag()->m_iYear)
strYear.Format("%i", m_movieItem->GetVideoInfoTag()->m_iYear);
else
strYear = g_infoManager.GetItemLabel(m_movieItem.get(),LISTITEM_PREMIERED);
SetLabel(CONTROL_YEAR, strYear);
CStdString strRating_And_Votes;
if (m_movieItem->GetVideoInfoTag()->m_fRating != 0.0f) // only non-zero ratings are of interest
strRating_And_Votes.Format("%03.1f (%s %s)", m_movieItem->GetVideoInfoTag()->m_fRating, m_movieItem->GetVideoInfoTag()->m_strVotes, g_localizeStrings.Get(20350));
SetLabel(CONTROL_RATING_AND_VOTES, strRating_And_Votes);
strTmp = m_movieItem->GetVideoInfoTag()->m_strRuntime; strTmp.Trim();
SetLabel(CONTROL_RUNTIME, strTmp);
// setup plot text area
strTmp = m_movieItem->GetVideoInfoTag()->m_strPlot;
if (!(!m_movieItem->GetVideoInfoTag()->m_strShowTitle.IsEmpty() && m_movieItem->GetVideoInfoTag()->m_iSeason == 0)) // dont apply to tvshows
if (m_movieItem->GetVideoInfoTag()->m_playCount == 0 && g_guiSettings.GetBool("videolibrary.hideplots"))
strTmp = g_localizeStrings.Get(20370);
strTmp.Trim();
SetLabel(CONTROL_TEXTAREA, strTmp);
CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), CONTROL_LIST, 0, 0, m_castList);
OnMessage(msg);
if (m_bViewReview)
{
if (!m_movieItem->GetVideoInfoTag()->m_strArtist.IsEmpty())
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 133);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 206);
}
SET_CONTROL_HIDDEN(CONTROL_LIST);
SET_CONTROL_VISIBLE(CONTROL_TEXTAREA);
}
else
{
SET_CONTROL_LABEL(CONTROL_BTN_TRACKS, 207);
SET_CONTROL_HIDDEN(CONTROL_TEXTAREA);
SET_CONTROL_VISIBLE(CONTROL_LIST);
}
// Check for resumability
CGUIWindowVideoFiles *window = (CGUIWindowVideoFiles *)m_gWindowManager.GetWindow(WINDOW_VIDEO_FILES);
if (window && window->GetResumeItemOffset(m_movieItem.get()) > 0)
CONTROL_ENABLE(CONTROL_BTN_RESUME);
else
CONTROL_DISABLE(CONTROL_BTN_RESUME);
CONTROL_ENABLE(CONTROL_BTN_PLAY);
// update the thumbnail
const CGUIControl* pControl = GetControl(CONTROL_IMAGE);
if (pControl)
{
CGUIImage* pImageControl = (CGUIImage*)pControl;
pImageControl->FreeResources();
pImageControl->SetFileName(m_movieItem->GetThumbnailImage());
//.........这里部分代码省略.........