Text-Rendering mit wxWidgets



  • Ok, ich dachte nicht, dass mir das Probleme macht, aber ich würd mal gern wissen, wie ihr zum Rendern von Text unter wxWidgets vorgeht. Ich hab ein Fenster ohne Widgets, ich render direkt in den DC dort.
    Nun liegt mein Problem beim Prompt. Ich hab in jeder Zeile ein
    ":>" ganz vorne dran, da es sich um eine Befehlseingabe handelt. Das Caret usw ist auf der horizontalen kein Problem, das lässt sich mit wxDC::GetTextExtend() ja gut mitbewegen. Was mir Probleme macht ist der Zeilenumbruch.
    Mein Ansatz war folgender:

    struct CLine
    {
       wxString m_linebuffer;
    };
    
    typedef std::map<int line, CLine>;
    

    Das Problem nun ist, die Höhe des Fonts zu erhalten,, um in der Zeile nach unten zu rutschen, wenn Ihr versteht was ich meine...
    mit wxFont::GetHeight() funktioniert das nicht richtig, das ist zu wenig :(.
    Ich hoffe IHr könnts nachvollziehen.



  • wxDC::GetTextExtent() liefert doch sowohl width als auch height.



  • Jo damit positioniere ich auch.
    Problem ist bei mir derAbsatz. Ich bekomme den nicht richtig positioniert und das wxCaret geht auch nicht mit die Zeile runter. Auf einer Zeile funzt das wunderbar, auch mit dem Caret....
    Naja ich editiere den Post heute nachmittag wenn ich von Arbyte zu Hause bin und schreib hier mal den Zeichen-Code rein.

    edit:
    Ok, my bad:
    http://docs.wxwidgets.org/2.8.6/wx_wxdc.html#wxdcgetmultilinetextextent
    1x MultilineTextExtent wäre richtig, 2ter Ansatz über
    http://docs.wxwidgets.org/2.8.6/wx_wxdc.html#wxdcgetcharwidth bzw height...
    rya.


Anmelden zum Antworten