PureBoard
http://forums.purebasic.com/german/

[Module] StringEx (all OS)
http://forums.purebasic.com/german/viewtopic.php?f=8&t=31372
Seite 2 von 2

Autor:  mk-soft [ 28.03.2019 23:04 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Für macOS sind noch nicht die richtigen färben eingetragen...

Zeile 1457
Code:
        CompilerSelect #PB_Compiler_OS ;{ Color
          CompilerCase #PB_OS_Windows
            StrgEx()\Color\Front         = GetSysColor_(#COLOR_WINDOWTEXT)
            StrgEx()\Color\Back          = GetSysColor_(#COLOR_WINDOW)
            StrgEx()\Color\Focus         = GetSysColor_(#COLOR_HIGHLIGHT)
            StrgEx()\Color\Button        = GetSysColor_(#COLOR_3DLIGHT)
            StrgEx()\Color\Border        = GetSysColor_(#COLOR_WINDOWFRAME)
            StrgEx()\Color\WordColor     = GetSysColor_(#COLOR_HOTLIGHT)
            StrgEx()\Color\Highlight     = GetSysColor_(#COLOR_HIGHLIGHT)
            StrgEx()\Color\HighlightText = GetSysColor_(#COLOR_HIGHLIGHTTEXT)
          CompilerCase #PB_OS_MacOS
            StrgEx()\Color\Front     = OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor textColor"))
            StrgEx()\Color\Back      = BlendColor_(OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor textBackgroundColor")), $FFFFFF, 80)
            StrgEx()\Color\Focus     = OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor keyboardFocusIndicatorColor"))
            StrgEx()\Color\Button    = OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor controlBackgroundColor"))
            StrgEx()\Color\Border    = OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor grayColor"))
            StrgEx()\Color\Highlight = OSX_NSColorToRGB(CocoaMessage(0, 0, "NSColor selectedTextBackgroundColor"))
          CompilerCase #PB_OS_Linux

So geht es auch im Darkmode

Autor:  mk-soft [ 28.03.2019 23:59 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

EDIT

Man kann bei macOS nicht aus einem Thread auf einem CanvasGadget zeichnen.

Hier mal die Lösung über ein PostEvent aus dem Thread heraus. Dazu verwendet man den EventType Change, da dieser vom CanvasGadget nicht verwendet wird.

Mit PauseThread ist auch nicht so gut. Dieses führte zu undefinierten Dead-Lock mitten im Zeichnen.

P.S. Man könnte jetzt wieder auf den Mutex verzichten, da nicht mehr im Thread gezeichnet wird.

Hier mal den gesamten Code...
Werde ich später wieder entfernen.

Edit 2
Code:
; Code wie gesagt wieder entfernt ;)

Ach ja,
Bei Verwendung von Thread müssen unbedingt die Threads beim verlassen des Programmes auch beendet werden.
Sonst schließt das Programm nicht.

Autor:  mk-soft [ 29.03.2019 09:45 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Kleines Update hinterher...

Mutex entfernt. Es wird durch den PostEvent (Change) nur noch im MainScope gezeichnet...
Bei Free KillThread nur bei bedarf.

PauseThread hatte zu einem Dead-Lock geführt.

P.S. Man könnte noch ein Semaphore anlegen zum wecken des Threads verwenden, damit dieser nicht unnötig durchläuft.

P.P.S Habe mal den Semaphore zum wecken des Threads eingebaut...

Autor:  Thorsten1867 [ 29.03.2019 15:17 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Ich hoffe, ich kann mit dieser Version alle Macs friedlich und kooperativ stimmen.

Changes: Cursor-Handling und Thread

Autor:  Thorsten1867 [ 02.04.2019 09:58 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Update:
  • globalen Cursor-Thread für alle StringEx-Gadgets gemeinsam
  • Unterstützung von 'ModuleEx' (Master-Module für alle meine Gadgets)

Autor:  Thorsten1867 [ 12.06.2019 13:03 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Update:
  • Flags: #Left / #Center / #Right
  • Attribut '#Padding' hinzugefügt
  • automatische Größenanpassung des Gadgets (#AutoResize)

Autor:  Thorsten1867 [ 18.08.2019 21:18 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Bugfixes: Cursor

Autor:  Thorsten1867 [ 03.09.2019 18:28 ]
Betreff des Beitrags:  Re: [Module] StringEx (all OS)

Update: dynamische Textgröße (benötigt ModuleEx.pbi)

Seite 2 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/