Seite 1 von 2

DrawRotatetText()

Verfasst: 19.08.2016 10:26
von Stephan-X
Guten Morgen Forum,
der Befehl DrawRotatetText() zeigt keine Wirkung ? (Kein Drehen des Textes), die Pakete wurden Aktualisiert und Checkinstall ausgeführt. Noch fehlende Packete ??
Bitte um Idee was das sein könnte.


PC 4 GB RAM, NVIDIA Grafik, 1 TB RAID // Ubuntu Mate 32 Bit // Pure 5.42 LTS x86

Re: DrawRotatetText()

Verfasst: 19.08.2016 10:31
von RSBasic
Fehlermeldungen gibt es keine oder?

Funktioniert dieser Beispielcode bei dir unter Linux?

Code: Alles auswählen

If OpenWindow(0, 0, 0, 200, 200, "2DDrawing Beispiel", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
    Box(0, 0, 200, 200, RGB(255, 255, 255))
    For Angle = 0 To 360 Step 45
      DrawRotatedText(100, 100, "Hello World!", Angle, RGB(0, 0, 0))
    Next Angle
    StopDrawing() 
    ImageGadget(0, 0, 0, 200, 200, ImageID(0))
  EndIf
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf
Falls nicht, dann scheint es ein Bug zu sein, den du aber hier posten musst.

Re: DrawRotatetText()

Verfasst: 19.08.2016 10:37
von NicTheQuick
Scheint ein Bug zu sein. Bei mir unter Linux geht es mal nicht.

Re: DrawRotatetText()

Verfasst: 19.08.2016 11:07
von Shardik
Dieser Fehler wurde im englischen Unterforum "Bugs - Linux" bereits gemeldet:
http://www.purebasic.fr/english/viewtop ... 23&t=65454

Der Fehler tritt übrigens nur mit GTK3 auf, mit GTK2 nicht (Compiler > Compiler-Optionen... > Reiter Compiler-Optionen > Library Subsystem: gtk2)

Überprüft habe ich dies eben mit Ubuntu MATE 16.04 x86 und PB 5.43 x86.

Re: DrawRotatetText()

Verfasst: 19.08.2016 11:13
von Stephan-X
Na eben... ich hab das Pure Beispiel als erstes Probiert als mein Code nicht funzte !
Bis zur 4.5x Version (War die letzte vor dem update) funzte alles normal.
OK dann ist das ein Bug ! :allright:

Re: DrawRotatetText()

Verfasst: 19.08.2016 11:15
von Stephan-X
Ok Shardik, was wäre Dein Rat ? Zurück auf GTK 2 ??

Re: DrawRotatetText()

Verfasst: 19.08.2016 11:28
von RSBasic
Ich bin zwar nicht Shardik, aber ja, nutze erstmal GTK2, bis der Bug behoben wurde oder benutze eine ältere Version, mit der es noch funktionierte.

Re: DrawRotatetText()

Verfasst: 19.08.2016 12:05
von Shardik
Stephan-X hat geschrieben:Ok Shardik, was wäre Dein Rat ? Zurück auf GTK 2 ??
Ja, ich würde zu GTK 2 raten, zumal bei Verwendung von GTK 3 noch einige andere Fehler nicht behoben sind (oder sich vielleicht auch nicht zufriedenstellend beheben lassen, zumindest was eine genaue Positionierung und Größeneinstellung von Gadgets angeht!). Eine Erklärung zu Problemen mit GTK 3 liefert Fred in diesem Blog-Beitrag.

GTK 3 ist übrigens erst seit PB 5.40 das Standard-Framework. In PB 5.30 mußte man noch "gtk3" als Subsystem einstellen, um GTK 3 zu verwenden. Aber DrawRotatedText() funktionierte bereits auch in PB 5.30 mit Subsystem "gtk3" nicht, sodass es auch nicht hilft, auf ältere Versionen von PureBasic auszuweichen...

Re: DrawRotatetText()

Verfasst: 21.08.2016 17:11
von Stephan-X
Hi Leute,
GTK 2 nachinstalliert, bei Compileroptionen "gtk2" eingetragen.
Nun habe ich folgende Fehlermeldung :
Window.a(WaitWindowEvent.o): In Funktion `PB_WaitWindowEvent2':
WaitWindowEvent.c:(.text+0x23): Nicht definierter Verweis auf `gtk_selection_data_free'
WaitWindowEvent.c:(.text+0xda): Nicht definierter Verweis auf `gtk_events_pending'
WaitWindowEvent.c:(.text+0xe3): Nicht definierter Verweis auf `gtk_events_pending'
WaitWindowEvent.c:(.text+0x130): Nicht definierter Verweis auf `gtk_main_iteration_do'
WaitWindowEvent.c:(.text+0x149): Nicht definierter Verweis auf `gtk_main_iteration'
Window.a(Window.o): In Funktion `PB_Window_FlushEvents':
...
collect2: error: ld returned 1 exit status
Hat da wer ne Idee ??

Re: DrawRotatetText()

Verfasst: 22.08.2016 10:58
von Shardik
Welche GTK 2 Bibliothek hast Du installiert? Bei mir unter Ubuntu MATE x86 14.04 und 16.04 und PB 5.43 x86 liefen Programme mit Subsystem "gtk2" fehlerfrei, nachdem ich über die Konsole die GTK 2 Developer-Bibliothek installiert hatte:
sudo apt-get install libgtk2.0-dev
Welche Version von Ubuntu MATE 32 Bit verwendest Du eigentlich?