summaryrefslogtreecommitdiff
path: root/displaychannel.c
diff options
context:
space:
mode:
Diffstat (limited to 'displaychannel.c')
-rw-r--r--displaychannel.c74
1 files changed, 72 insertions, 2 deletions
diff --git a/displaychannel.c b/displaychannel.c
index 77c1488..919ebb0 100644
--- a/displaychannel.c
+++ b/displaychannel.c
@@ -302,6 +302,72 @@ void cNopacityDisplayChannel::DrawIcons(const cChannel *Channel) {
pixmapStreamInfoBack->DrawRectangle(cRect(backX, backY, iconSize-10, iconSize-10), colRecording);
}
+void cNopacityDisplayChannel::DrawIconsSingle(const cChannel *Channel) {
+ isRadioChannel = ((!Channel->Vpid())&&(Channel->Apid(0)))?true:false;
+ pixmapStreamInfo->Fill(clrTransparent);
+ int iconX = 0;
+ cImageLoader imgLoader;
+
+ if (Channel->Vpid() && Channel->Tpid()) {
+ if (imgLoader.LoadIcon("skinIcons/txton", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ } else {
+ if (imgLoader.LoadIcon("skinIcons/txtoff", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ }
+
+ iconX += iconSize;
+
+ if (Channel->Apid(1)) {
+ if (imgLoader.LoadIcon("skinIcons/stereoon", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ } else {
+ if (imgLoader.LoadIcon("skinIcons/stereooff", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ }
+
+ iconX += iconSize;
+
+ if (Channel->Dpid(0)) {
+ if (imgLoader.LoadIcon("skinIcons/dolbyon", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ } else {
+ if (imgLoader.LoadIcon("skinIcons/dolbyoff", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ }
+
+ iconX += iconSize;
+
+ if (Channel->Ca()) {
+ if (imgLoader.LoadIcon("skinIcons/crypted", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ } else {
+ if (imgLoader.LoadIcon("skinIcons/fta", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ }
+
+ iconX += iconSize;
+
+ if (cRecordControls::Active()) {
+ if (imgLoader.LoadIcon("skinIcons/recon", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ } else {
+ if (imgLoader.LoadIcon("skinIcons/recoff", iconSize)) {
+ pixmapStreamInfo->DrawImage(cPoint(iconX, 0), imgLoader.GetImage());
+ }
+ }
+
+}
+
void cNopacityDisplayChannel::DrawScreenResolution(void) {
int spacing = 10;
int screenWidth = 0;
@@ -447,8 +513,12 @@ void cNopacityDisplayChannel::SetChannel(const cChannel *Channel, int Number) {
if (!groupSep) {
if (withInfo) {
- DrawIconMask();
- DrawIcons(Channel);
+ if (config.symbolStyle == 0) {
+ DrawIconMask();
+ DrawIcons(Channel);
+ } else {
+ DrawIconsSingle(Channel);
+ }
}
cString channelString = cString::sprintf("%s %s", *ChannelNumber, *ChannelName);
pixmapChannelInfo->DrawText(cPoint(channelInfoHeight/2, (channelInfoHeight-fontHeader->Height())/2), channelString, Theme.Color(clrChannelHead), clrTransparent, fontHeader);