Quick question on Listcontrol rendering (1 Viewer)

Rob Hexenmeister

MP Donator
  • Premium Supporter
  • May 12, 2011
    207
    49
    Slaithwaite
    Home Country
    United Kingdom United Kingdom
    Here's a quick question:

    Is the text in a Listcontrol rendered 'always on top' ?

    The reason I ask, is that I have a pop up menu in the skin I am designing and the Listcontrol text shows through. The icon and the pin icon mask out ok, but the text does not. Is it continuously updating or something?

    It's very annoying. I can hide the whole control when it doesn't have focus with DimColor, but I don't want to do that. I just want my pop up to be 'on top'.

    Thanks
    RH
     

    CyberSimian

    Test Group
  • Team MediaPortal
  • June 10, 2013
    2,873
    1,801
    Southampton
    Home Country
    United Kingdom United Kingdom
    I have a pop up menu in the skin I am designing and the Listcontrol text shows through.
    From observations and experimentation, my understanding is as follows:

    (1) The graphics are drawn first, in the order in which their controls are encountered by the skin engine. The graphics are such things as shaded backgrounds, image backgrounds, icons, thumbnails, etc..

    (2) The text is drawn next, in the order in which their controls are encountered by the skin engine. So text always overlays graphics.

    (3) Video is drawn last, so video always overlays text and graphics.

    In addition, there are some special cases:

    (4) The pause OSD, info OSD, and zap OSD are always drawn on top of the video.

    (5) The controls within an action group are treated as a separate layer, with its own graphics and text components. So:
    -- The graphics in an action group overlays the text in the main panel.
    -- The text in an action group overlays the graphics in the action group.

    If you look at the xml files for DWHD or Titan, you will notice that the left side menu is always in an action group, and so the menu can obscure completely whatever is beneath the menu. But of course this depends on the background for the menu being 100% opaque. The opacity is controlled by the first component of the colour code: oorrggbb, where oo is the opacity expressed in hexadecimal (00 to ff). Opaque black is ff000000.

    One other characteristic of an action group is visibility. The action group is hidden if the focus is on a control outside the action group. If the focus is moved to a control within the action group, the group is made visible, and then the visibility condition on each individual control within the group can take effect (e.g. to suppress those controls that you don't want to see).

    -- from CyberSimian in the UK
     

    Rob Hexenmeister

    MP Donator
  • Premium Supporter
  • May 12, 2011
    207
    49
    Slaithwaite
    Home Country
    United Kingdom United Kingdom
    5) The controls within an action group are treated as a separate layer, with its own graphics and text components. So:
    -- The graphics in an action group overlays the text in the main panel.
    -- The text in an action group overlays the graphics in the action group.

    Thank you CyberSimian, that is the next thing for me to try then


    Those kind of (dialog) menus all have a defined windows ID - so if you want a new dialog menu you´ll need to get a new windows ID not used in other dialog menus. Those are hardcoded and can only be assigned by a dev in the respective MP module.

    Thanks Catavolt, yes I knew that about the formal hardcoded dialogs and the window IDs, these are informal dialogs that I am making which pop up with certain navigational choices or clicks, so they are in the main XMLs. The order of rendering was an unexpected problem but it looks like CyberSimian has found me an option to try, which I will do at the weekend.

    Thanks to both of you
    RH
     

    Rob Hexenmeister

    MP Donator
  • Premium Supporter
  • May 12, 2011
    207
    49
    Slaithwaite
    Home Country
    United Kingdom United Kingdom
    (5) The controls within an action group are treated as a separate layer, with its own graphics and text components. So:
    -- The graphics in an action group overlays the text in the main panel.
    -- The text in an action group overlays the graphics in the action group.


    This worked, many thanks CyberSimian, my dialog overlays the Listcontrol perfectly.

    Can I recommend this information on rendering order is put prominently within the Skin Designers' Wiki as it will avert a lot of headaches.

    Thanks again
    RH
     

    Users who are viewing this thread

    Top Bottom