Thema: Delphi TextOut Font zuweisung

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#14

Re: TextOut Font zuweisung

  Alt 30. Mai 2008, 03:44
Zitat von Muetze1:
Grob vermutet: Du malst den neuen Text an neuer Position (scrollen/neue Chars) und da der Transparent ist und der Hintergrund noch nicht neu gezeichnet wurde, malt er das ganze daneben bzw. darüber.

Ergo: Hintergrund vor der Ausgabe des neuen Textes an der Stelle zeichnen.
Eigentlich nicht.
Der Text ist immer an einer festen position und wird nicht verändert.

Die Intitialisierung

Delphi-Quellcode:
SetBkMode(VisInfo^.VisDC, TRANSPARENT);
SetTextColor(VisInfo^.VisDC, RGB(255,255,255));
Font := CreateFont(8, 0, 0, 0, 0, 0, 0, 0,
                   ANSI_CHARSET,
                   OUT_DEFAULT_PRECIS,
                   CLIP_DEFAULT_PRECIS,
                   DEFAULT_QUALITY,
                   DEFAULT_PITCH, 'MS Sans Serif');

OldFont := SelectObject(VisInfo^.VisDC, Font);
wird dann gemacht wenn ein neues Plugin gestartet wird
der Font vorher gelöscht wenn das alte Plugin frei gegeben wird.

Die infos werden in der Render Funktion aufgerufen
Delphi-Quellcode:
GetInfo;

if (not BitBlt(canvas, VisInfo^.x, VisInfo^.y, VisInfo^.w, VisInfo^.h, VisInfo^.VisDC, 0,
  0, SRCCOPY)) then
begin
  VisInfo^.Rendering := False;

  BassFuncs^.SetError(BASS_ERROR_DEVICE);
  Exit;
end;
und danach direkt auf das DC kopiert
Da ändert sich nichts was den Text angeht die reihenfolge bleibt sich gleich.
Es sieht aber so aus das es nur dann auftritt wenn OpenGl Plugins gestartet wurden.
Kann es sein das diese TextOut oder die Transparenz zerstört ?
Wenn ja wie kann ich das beheben.

gruss Emil
  Mit Zitat antworten Zitat