LCL und Cairo
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
LCL und Cairo
Ich bin mit Cairo am experimentieren.
Ich habe nun Cairo Grafiken mit SDL2 und GTK2 hingekriegt.
Nun zu Frage: Gibt es für die LCL auch einen Cairo-Context ?
So etwas ähnliche wie der TOpenGLControl für OpenGL.
Ich habe bei den Components von Lazarus cairocanvas gefunden. Dies Package konnte ich installieren.
Nur so wie dies aussieht, ist die eher für Drucker und Grafik-Dateien geeignet.
Oder habe ich da etwas übersehen ?
Ich habe nun Cairo Grafiken mit SDL2 und GTK2 hingekriegt.
Nun zu Frage: Gibt es für die LCL auch einen Cairo-Context ?
So etwas ähnliche wie der TOpenGLControl für OpenGL.
Ich habe bei den Components von Lazarus cairocanvas gefunden. Dies Package konnte ich installieren.
Nur so wie dies aussieht, ist die eher für Drucker und Grafik-Dateien geeignet.
Oder habe ich da etwas übersehen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: LCL und Cairo
Ein brasilianischer Lazarus-Benutzer hat es umgesetzt. In Package gab es auch einige Demo-Programme. Ich denke, er hat auch Virtualtreeview zu Lazarus portiert er hat auch LCLExt oder Lazext package erstellt, ich glaube "blikblum" hieß er oder Silvio.
Ich habe in mein Archiv gesucht, aber nicht mehr gefunden.
Ich habe in mein Archiv gesucht, aber nicht mehr gefunden.
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: LCL und Cairo
Hi!
Vielleicht hilft ja mal wieder die UCSD (University of Southern California):
[url]https:/fossies.org/linux/lazarus/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas[/url]
Winni
Vielleicht hilft ja mal wieder die UCSD (University of Southern California):
[url]https:/fossies.org/linux/lazarus/lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas[/url]
Winni
Re: LCL und Cairo
Das ist bei jeder Lazarus Installation im Quelltext dabei, da brauchst du nicht nach Kalifornien.Winni hat geschrieben: Do 26. Jan 2023, 21:10 Vielleicht hilft ja mal wieder die UCSD (University of Southern California):

-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: LCL und Cairo
Ich habe es doch gefunden, es ist bei Online-Packages dabei, such nach LuiPack.
Ein Wunder, dass niemand es kennt, weil es gute Sachen dabei hat.
Ein Wunder, dass niemand es kennt, weil es gute Sachen dabei hat.
- Roland Chastain
- Beiträge: 168
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: LCL und Cairo
Hallo!
Hier ist etwas, was ich mit TCairoPaintBox getan hatte. (Es ist eine Adaption von Corpsman's Pong).
Um die TCairoPaintBox-Komponente zu haben, habe ich dieses Paket installiert.
Hier ist etwas, was ich mit TCairoPaintBox getan hatte. (Es ist eine Adaption von Corpsman's Pong).
Um die TCairoPaintBox-Komponente zu haben, habe ich dieses Paket installiert.
- Dateianhänge
-
bouncingballs-tcairopaintbox.zip
- (7.97 KiB) 86-mal heruntergeladen
Zuletzt geändert von Roland Chastain am Mi 1. Feb 2023, 07:09, insgesamt 1-mal geändert.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LCL und Cairo
Da staune ich jetzt, das dies so eine Zangengeburt ist.
Ich dachte die ganze LCL basiere auf GTK2 und, GTK" und Cairo sei ein hervorragendes Gespann.
Ich dachte die ganze LCL basiere auf GTK2 und, GTK" und Cairo sei ein hervorragendes Gespann.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: LCL und Cairo
Die LCL basiert nicht auf GTK, GTK2, QT,... sondern verwendet das einfach. Der ursprünglich Vorläufer der LCL war ja Windowsbasierend. Die LCL versucht eine mehr oder weniger Idente Oberflächengestaltung mit Hilfe der verschiedenen Widgetsets für den RAD Programmierer bereitzustellen.Mathias hat geschrieben: Sa 28. Jan 2023, 12:51 Ich dachte die ganze LCL basiere auf GTK2 und, GTK" und Cairo sei ein hervorragendes Gespann.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LCL und Cairo
Das wird wohl der Grund sein, das man viele WinAPI ähnliche Begriffe in der LCL findet, welche man viele in der Unit LCLTypes findet ?Der ursprünglich Vorläufer der LCL war ja Windowsbasierend.
Wen ich das richtig verstehe, wird man keine Hardwarebeschleunigte Grafik-Ausgabe finden, so wie es Cairo macht ?Die LCL basiert nicht auf GTK, GTK2, QT,... sondern verwendet das einfach.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: LCL und Cairo
Das Widgetset kann durchaus Cairo verwenden (Schau mal in die Sourcen von Gtk2), der LCL als solches ist das ja egal. Die LCL stellet ein Element zur Verfügung, ob das selbst gezeichnet wird, oder wem es im Betriebssystem übergeben wird, bestimmt das Widgetset dann selbst. Einige Sachen werden vom Widgetset weitergegeben, deswegen auch das leicht unterschiedliche Verhalten auf allen Plattformen (manchmal lässt sich ein Button einfärben, manchmal nicht).Mathias hat geschrieben: Sa 28. Jan 2023, 13:59Das wird wohl der Grund sein, das man viele WinAPI ähnliche Begriffe in der LCL findet, welche man viele in der Unit LCLTypes findet ?Der ursprünglich Vorläufer der LCL war ja Windowsbasierend.
Wen ich das richtig verstehe, wird man keine Hardwarebeschleunigte Grafik-Ausgabe finden, so wie es Cairo macht ?Die LCL basiert nicht auf GTK, GTK2, QT,... sondern verwendet das einfach.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LCL und Cairo
Ich habe mal folgendes probiert mit der Package "cairocanvas_pkg".
Kompilieren tut er es, aber er schmiert mit einem SIGSEGV an einem total unlogischen Ort ab.
Was hat ein Printer damit zu tun ?
Die Vererbung von der PaintBox sieht so aus:
TCairoPaintBox ->TCairoGraphicControl -> TControl -> TLCLComponent -> TComponent -> TPersistent....
Eine normale TPaintBox sieht etwa gleich aus.
TPaintBox ->TGraphicControl -> TControl -> TLCLComponent -> TComponent -> TPersistent....
Code: Alles auswählen
...uses
..., CairoGraphics;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
CPB: TCairoPaintBox;
public
end;
....
procedure TForm1.FormCreate(Sender: TObject);
begin
CPB := TCairoPaintBox.Create(Self);
CPB.Parent := Self;
end;
Was hat ein Printer damit zu tun ?
Code: Alles auswählen
constructor TCairoPrinterCanvas.Create;
begin
Create(nil);
end;
TCairoPaintBox ->TCairoGraphicControl -> TControl -> TLCLComponent -> TComponent -> TPersistent....
Eine normale TPaintBox sieht etwa gleich aus.
TPaintBox ->TGraphicControl -> TControl -> TLCLComponent -> TComponent -> TPersistent....
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: LCL und Cairo
Bei mir funktioniert es, siehe Bildschirmfoto.
Vielleicht solltest du cairolcl_package einbinden und bei uses CairoLCL schreiben.
Vielleicht solltest du cairolcl_package einbinden und bei uses CairoLCL schreiben.
- Dateianhänge
-
- cairofx.JPG (81.79 KiB) 5141 mal betrachtet
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: LCL und Cairo
Ich würde in deiner Stellle, meine Zeit nicht mit Cairo-Graphics verschwenden, die größten Cairo-Benutzer haben zu Google's Skia-Graphics gewechselt, z.B, Firefox.
Wenn schon dann Skia oder lazarus/components/aggpas.
Haiku-OS verwendet AGG-Graphics für alle Graphicausgaben.
Jemand hat hier Skia für Delphi convertiert.
Wenn schon dann Skia oder lazarus/components/aggpas.
Haiku-OS verwendet AGG-Graphics für alle Graphicausgaben.
Jemand hat hier Skia für Delphi convertiert.
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LCL und Cairo
Wo hast du die "cairolcl_package" und Cairo_LCL her ?Vielleicht solltest du cairolcl_package einbinden und bei uses CairoLCL schreiben.
Ich habe vorhin in den "luipack" geguckt, welche ich mit der Online Package heruntergeladen habe. Dort hat es Demos und die brauchen auch die von dir beschrieben Package.
Auch Google findet nicht schlaues über CairoLCL..
Und "cairolcl_package" findet google nicht mal.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot