Canvasoperationen unter MacOS

Antworten
Scotty
Beiträge: 770
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Canvasoperationen unter MacOS

Beitrag von Scotty »

Ich versuche meine Anwendung unter MacOS zu kompilieren. Das funktioniert auch bestens, allerdings geht so gut wie keine eigene Zeichenoperation. D.h. Statusbar.OnDrawPanel - wird nicht aufgerufen, Dragimage - gibts nicht, Combobox - keine kursive Schrift etc. Ich habe mit dem Statusbar angefangen nach Lösungen zu suchen und egal, ob ich Invalidate, Update, Repaint mit und ohne Processmessages aufrufe - nichts geht. Wenn ich die Drawpanel-Routine direkt aufrufe, wird sie zwar durchlaufen, aber gezeichnet bekomme ich trotzdem nichts. Hat jemand einen Tipp für mich?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Canvasoperationen unter MacOS

Beitrag von mse »

Ich habe mal aufgeschnappt, dass auf dem Mac canvas Operationen nur im OnPaint event funktionieren.

carli
Beiträge: 660
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Canvasoperationen unter MacOS

Beitrag von carli »

Ist ja auch verständlich, die lassen sich das Design nicht verhunzen durch irgendwelche UserPaint-Callbacks

Scotty
Beiträge: 770
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Canvasoperationen unter MacOS

Beitrag von Scotty »

Das habe ich auch gelesen, mit dem Zusatz, dass ansonsten ein Application.ProcessMessages notwendig wäre. OnPaint gibt es allerdings nicht für den Statusbar und OnDrawItem geht ebenfalls nicht.

carli
Beiträge: 660
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Canvasoperationen unter MacOS

Beitrag von carli »

Hey, es gibt ne gute Neuigkeit,
ich hab mal den Lazarus Changelog durchgeblättert und unter anderem folgende Changesets:

Code: Alles auswählen

r27253 | dmitry | 2010-09-02 23:47:51 +0200 (Do, 02. Sep 2010) | 1 Zeile
 
cocoa: implementing lines, polygons and text drawing
 
r27243 | dmitry | 2010-09-01 11:07:14 +0200 (Mi, 01. Sep 2010) | 1 Zeile
 
cocoa: initial support for controls painting

weisen darauf hin, dass das Canvas-Feature erst in den frühesten Kinderschuhen steckt, somit auch das CustomDraw-Ereignis abgeschaltet sein könnte, damit die IDE ordentlich aussieht. Die scheinen ne Menge am MAC-Interface cocoa zu basteln und ich bin sicher, bald wird es deine Features auch geben für MAC

Scotty
Beiträge: 770
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Canvasoperationen unter MacOS

Beitrag von Scotty »

http://wiki.lazarus.freepascal.org/Carb ... ity_issues
"Drawing on Canvas outside OnPaint event is not supported"

Ich probiere QT aus...

Scotty
Beiträge: 770
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Canvasoperationen unter MacOS

Beitrag von Scotty »

Okay, mit QT geht das meiste. Dann halt so ;-)

Antworten