summaryrefslogtreecommitdiff
path: root/libtemplate
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-10-25 11:38:39 +0200
committerlouis <louis.braun@gmx.de>2014-10-25 11:38:39 +0200
commitfa90ab746d35e0f6c028b2dd21e3d21083e43f9e (patch)
tree9cc4a53ec5cbe4770969f2c103901d370d566427 /libtemplate
parent69af1d531e8994056862407969ad4f97336bfe07 (diff)
downloadvdr-plugin-skindesigner-fa90ab746d35e0f6c028b2dd21e3d21083e43f9e.tar.gz
vdr-plugin-skindesigner-fa90ab746d35e0f6c028b2dd21e3d21083e43f9e.tar.bz2
fixed bug that x and y of subviews was not respected
Diffstat (limited to 'libtemplate')
-rw-r--r--libtemplate/templateview.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c
index ea77b77..37bb13b 100644
--- a/libtemplate/templateview.c
+++ b/libtemplate/templateview.c
@@ -352,7 +352,11 @@ void cTemplateView::PreCache(bool isSubview) {
for (map < eViewElement, cTemplateViewElement* >::iterator it = viewElements.begin(); it != viewElements.end(); it++) {
cTemplateViewElement *viewElement = it->second;
viewElement->SetGlobals(globals);
- viewElement->SetContainer(0, 0, osdWidth, osdHeight);
+ if (!isSubview)
+ viewElement->SetContainer(0, 0, osdWidth, osdHeight);
+ else
+ viewElement->SetContainer(osdX, osdY, osdWidth, osdHeight);
+ viewElement->CalculateParameters();
viewElement->CalculatePixmapParameters();
viewElement->SetPixOffset(pixOffset);
pixOffset += viewElement->GetNumPixmaps();
@@ -362,13 +366,16 @@ void cTemplateView::PreCache(bool isSubview) {
for (map < eViewList, cTemplateViewList* >::iterator it = viewLists.begin(); it != viewLists.end(); it++) {
cTemplateViewList *viewList = it->second;
viewList->SetGlobals(globals);
- viewList->SetContainer(0, 0, osdWidth, osdHeight);
+ //viewlists are only in subviews
+ viewList->SetContainer(osdX, osdY, osdWidth, osdHeight);
+ viewList->CalculateParameters();
viewList->CalculateListParameters();
}
//Cache ViewTabs
for (vector<cTemplateViewTab*>::iterator tab = viewTabs.begin(); tab != viewTabs.end(); tab++) {
- (*tab)->SetContainer(containerX, containerY, containerWidth, containerHeight);
+ //viewtabs are only in subviews
+ (*tab)->SetContainer(osdX, osdY, osdWidth, osdHeight);
(*tab)->SetGlobals(globals);
(*tab)->CalculateParameters();
}