Code: Select all
Scintilla = Val( GetEnvironmentVariable("PB_TOOL_Scintilla") )
If Scintilla
SendMessageTimeout_(Scintilla,#SCI_GETWRAPMODE,0,0,#SMTO_ABORTIFHUNG,2000,@result)
If result = 0
wrapmode = 1 ; 1 = wrap at word boundary
; 2 = wrap at character boundary (for asian languages without spaces)
Else
wrapmode = 0
EndIf
; by DoubleDutch, add visual marker and indent wrapped line
; http://www.purebasic.fr/english/viewtopic.php?f=18&t=30385
; http://forums.purebasic.com/german/viewtopic.php?f=16&t=25933&start=28
SendMessageTimeout_(Scintilla, #SCI_SETWRAPVISUALFLAGS, #SC_WRAPVISUALFLAG_START, 0, #SMTO_ABORTIFHUNG,2000,@result)
SendMessageTimeout_(Scintilla, #SCI_SETWRAPSTARTINDENT, 16, 0, #SMTO_ABORTIFHUNG,2000,@result) ; <-- indent amount
SendMessageTimeout_(Scintilla, #SCI_SETWHITESPACEFORE, #True, RGB($70, $50, $d0), #SMTO_ABORTIFHUNG,2000,@result) ; <-- colour of marker
#SCI_SETWRAPINDENTMODE = 2472
#SC_WRAPINDENT_FIXED = 0 ; Wrapped sublines aligned To left of window plus amount set by SCI_SETWRAPSTARTINDENT
#SC_WRAPINDENT_SAME = 1 ; Wrapped sublines are aligned To first subline indent
#SC_WRAPINDENT_INDENT = 2 ; Wrapped sublines are aligned To first subline indent plus one more level of indentation
SendMessageTimeout_(Scintilla,#SCI_SETWRAPINDENTMODE, 2, 0, #SMTO_ABORTIFHUNG,2000,@result) ; <-- indent mode
#SC_WRAPVISUALFLAGLOC_DEFAULT = 0 ; Visual flags drawn near border
#SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 1 ; Visual flag at End of subline drawn near text
#SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 2 ; Visual flag at beginning of subline drawn near text
SendMessageTimeout_(Scintilla,#SCI_SETWRAPVISUALFLAGSLOCATION, 2, 0, #SMTO_ABORTIFHUNG,2000,@result) ; <-- marker location
SendMessageTimeout_(Scintilla,#SCI_SETWRAPMODE,wrapmode,0,#SMTO_ABORTIFHUNG,2000,@result)
EndIf