[Announce] VDR developer version 1.7.35

  • Mal was ganz anderes: zur Zeit ist ja ein cTextScroller-Object in cSkinDisplayMenu fest integriert. Allerdings wird bei jedem Scrollen von Eventinfos oder Recordinginfos der aktuell darstellbare Text neu auf das osd-Objekt gezeichnet. Mit einer Pixmap könnte man den kompletten Text einmal zeichnen und bräuchte beim Scrollen nur noch den DrawPortPoint zu verschieben.
    Ist eine Erweiterung von cTextScroller auf Pixmaps angedacht?


    Bis jetzt nicht - aber vielleicht nach der 2.0...


    Zitat


    BTW: Wieso muss man eigentlich den DrawPortPoint verschieben - müsste das nicht der ViewPortPoint sein?


    Der DrawPort ist die gesamte Pixmap-Zeichenfläche (daher "draw").
    Der ViewPort ist quasi ein Fenster im OSD, durch das man auf den DrawPort schauen kann.
    Ist der DrawPort größer als der ViewPort, dann kann man durch Setzen des Nullpunkts des DrawPort den sichtbaren Ausschnitt verschieben. Würde man den Nullpunkt des Viewports verschieben, dann würde sich das "Fenster" auf dem OSD verschieben, was in diesem Zusammenhang wohl nicht der gewünschte Effekt wäre.


    Klaus

  • Hmm, das scheint eine Auffassungs- um nicht zu sagen Glaubensache zu sein ;D
    Für mich ist der Viewport ein "Fenster", d.h. ein Ausschnitt des Drawports, welcher auf dem Hintergrund (=Drawport) verschoben wird. Ich vermute mal, für Dich ist der Viewport mit dem Bildschirm bzw. OSD identisch d.h. fix, und dahinter wird der Drawport verschoben ... also alles relativ, aber da bin ich ja nicht der erste, der das sagt ;)

  • Hmm, das scheint eine Auffassungs- um nicht zu sagen Glaubensache zu sein ;D
    Für mich ist der Viewport ein "Fenster", d.h. ein Ausschnitt des Drawports, welcher auf dem Hintergrund (=Drawport) verschoben wird. Ich vermute mal, für Dich ist der Viewport mit dem Bildschirm bzw. OSD identisch d.h. fix, und dahinter wird der Drawport verschoben ...


    Stimmt. Wenn man ein OSD gestaltet, dann kann man darauf verschiedene Pixmaps positionieren. Wenn man nichts weiter unternimmt, dann sind das ganz normale Zeichenflächen, wobei ViewPort gleich DrawPort ist.
    Will man auf dem OSD eine Fläche haben, in der der Inhalt verschoben werden kann, dann macht man den DrawPort entsprechend größer als den ViewPort. Um den Inhalt zu verschieben muß man aber nunmal den Nullpunkt des DrawPorts verschieben. Ansonsten (wenn man den Nullpunkt des ViewPorts ändert) würde ja das Rechteck (bei konstantem Inhalt) auf dem OSD verschoben werden, was normalerweise nicht der gewünschte Effekt ist. Natürlich kannst du auch den ViewPort verschieben und den DrawPort entgegengesetzt. Dann erhältst du den Effekt, daß ein Fenster auf dem OSD umherwandert und den Blick auf ein relativ zum gesamten OSD feststehendes Hintergrundbild wandern läßt.


    Nur mal interessehalber: wie sollte es denn deiner Meinung nach funktionieren?


    Klaus

  • Für mich sind das drei Ebenen (OSD, Viewport und Drawport), für Dich sind das zwei Ebenen: Der Viewport ist für Dich ein Rechteck auf dem OSD d.h. beide haben den gleiche Nullpunkt und dahinter der Drawport. Ich habe noch einen Freiheitsgrad mehr, denn der Nullpunkt des Viewport muss in meiner Denkweise nicht mit dem Nullpunkt des OSD übereinstimmen (deshalb schreibst du vom Wandern des Fensters auf dem OSD). Natürlich vereinfacht das die Implementierung, wenn OSD und Viewport den gleichen Nullpunkt haben.
    Was mich irritiert hat war, dass man die Zeichenfläche (Drawport) verschieben muss wenn man eigentlich nichts zeichnen sondern etwas anzeigen will, deshalb hätte ich erwarte den Viewport zu verschieben.
    BTW: bloß nix ändern ;D

  • Für mich sind das drei Ebenen (OSD, Viewport und Drawport), für Dich sind das zwei Ebenen: Der Viewport ist für Dich ein Rechteck auf dem OSD d.h. beide haben den gleiche Nullpunkt und dahinter der Drawport. Ich habe noch einen Freiheitsgrad mehr, denn der Nullpunkt des Viewport muss in meiner Denkweise nicht mit dem Nullpunkt des OSD übereinstimmen (deshalb schreibst du vom Wandern des Fensters auf dem OSD). Natürlich vereinfacht das die Implementierung, wenn OSD und Viewport den gleichen Nullpunkt haben.
    Was mich irritiert hat war, dass man die Zeichenfläche (Drawport) verschieben muss wenn man eigentlich nichts zeichnen sondern etwas anzeigen will, deshalb hätte ich erwarte den Viewport zu verschieben.


    Ich hab's halt so implementiert, wie es für diese Anwendung (m.E.) am sinnvollsten ist ;-).
    Ich sehe keinen Vorteil in diesem "zusätzlichen Freiheitsgrad".


    Zitat


    BTW: bloß nix ändern ;D


    Kiene Angst, das wird nicht passieren ;)


    Klaus

  • Ich sehe keinen Vorteil in diesem "zusätzlichen Freiheitsgrad".

    Ich auch nicht, aber es ist einfach ein andere Herangehensweise und wie gesagt hat es mich irritiert, den Drawport zu verschieben wenn man etwas Anzeigen und nichts Zeichnen will.
    Wenn ich ein Vergrößerungsglas (entspricht dem Viewport bei Vergrößerungsfaktor=1) nehme und auf einem Blatt Papier (=Drawport) verschiedene Stellen ansehen möchte, dann verschiebe ich das Vergrößerungsglas und nicht das Papier. Auf der anderen Seite wird auf einer Fräsmaschine das Werkstück (=Drawport) verschoben und nicht der Fräser (=Viewport). Wie gesagt ist es immer relativ.
    Dem OSD-Betrachter kann es auch egal sein, solange das Richtige angezeigt wird :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!