Wie bekomme ich ein eigenes PNG Bild als Marker Symbol in Scintilla? Es gäbe den Befehl #SCI_MARKERDEFINERGBAIMAGE der aber im Scintilla Include nicht dabei ist. Die nummer 2626 scheint auch nichts zu bewirken.
Die Konstanten um die Breite/Höhe zu setzen fehlen auch, dafür hab ich 2625 und 2624 verwendet. Passiert nichts..
Scintilla PNG als Marker
Re: Scintilla PNG als Marker
Aktuelle Scintillaversion?
Uebergibst du vielleicht das Handle (imageid(0))?
Setzt du den Marker, bevor ueberhaupt Text im Fenster ist?
Uebergibst du vielleicht das Handle (imageid(0))?
Setzt du den Marker, bevor ueberhaupt Text im Fenster ist?
Re: Scintilla PNG als Marker
Ich frage mich wie man überhaupt Bilder rein bekommt.
SCI_MARKERDEFINEPIXMAP(int markerNumber, const char *xpm)
Wie muss man hier vorgen?
SCI_MARKERDEFINEPIXMAP(int markerNumber, const char *xpm)
Wie muss man hier vorgen?
Re: Scintilla PNG als Marker
Code: Alles auswählen
UsePNGImageDecoder()
#SC_MARK_RGBAIMAGE = 30
#SCI_RGBAIMAGESETWIDTH = 2624
#SCI_RGBAIMAGESETHEIGHT = 2625
#SCI_MARKERDEFINERGBAIMAGE = 2626
#SCI_MARKERDEFINEPIXMAP = 2049
#GREEN1_DOT = 1
#GREEN2_DOT = 2
Procedure Main()
Protected win
Protected dot
Protected txt.s
win = OpenWindow(0, 0, 0, 500, 500, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If InitScintilla("scilexer")
ScintillaGadget(0, 10, 10, 480, 480, #Null)
dot = CatchImage(#PB_Any, ?dot3_png_start)
;png
ScintillaSendMessage(0, #SCI_RGBAIMAGESETWIDTH, 8)
ScintillaSendMessage(0, #SCI_RGBAIMAGESETHEIGHT, 8)
StartDrawing(ImageOutput(dot))
ScintillaSendMessage(0, #SCI_MARKERDEFINERGBAIMAGE, #GREEN1_DOT, DrawingBuffer())
StopDrawing()
; xpm
ScintillaSendMessage(0, #SCI_RGBAIMAGESETWIDTH, 10)
ScintillaSendMessage(0, #SCI_RGBAIMAGESETHEIGHT, 10)
ScintillaSendMessage(0, #SCI_MARKERDEFINEPIXMAP, #GREEN2_DOT, ?greendot_xpm_start)
ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
ScintillaSendMessage(0, #SCI_SETTEXT, 0, @"This is a simple ScintillaGadget with text...")
txt = Chr(10) + "Second line"
txt + Chr(10) + "Third line"
ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(txt), @txt)
ScintillaSendMessage(0, #SCI_MARKERADD, 1, #GREEN1_DOT)
ScintillaSendMessage(0, #SCI_MARKERADD, 2, #GREEN2_DOT)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndProcedure:End Main()
DataSection
dot3_png_start:
; size : 327 bytes
Data.q $0A1A0A0D474E5089,$524448490D000000,$0800000008000000,$4ED1F30000000308,$49427303000000B9
Data.q $E04FE1DB08080854,$45544C5054000000,$A73B3ABA40FFFFFF,$401E612A319E3934,$34A73B36AD3D3ABA
Data.q $762F2F9738319E39,$3D39B63F23722D25,$2B8A342F973836AD,$DFBBC1E2C2298532,$9BA2D4A4B4DCB5BA
Data.q $9AD09D94D69497D6,$CA858ACC8B92CC95,$B1328C9C8CC29083,$534E52741C000000,$8888882222222200
Data.q $DDDDDDDD88888888,$FFFFFFFFFFFFFFDD,$B2DEE0C4FFFFFFFF,$7359487009000000,$120B0000120B0000
Data.q $000000FC7EDDD201,$666F53745845741C,$6441006572617774,$657269462065626F,$534320736B726F77
Data.q $000000A0D3B20634,$639908544144493A,$361E1E5646038060,$8248505455832026,$E114931411E0C803
Data.q $F9C4A52585783203,$2E69711109760C81,$059B805F93998320,$D41402D3470019A1,$4900000000EAEF52
Data.b $45,$4E,$44,$AE,$42,$60,$82
dot3_png_end:
EndDataSection
DataSection
greendot_xpm_start:
; size : 721 bytes
Data.q $2A204D5058202A2F,$69746174730A0D2F,$2A20726168632063,$645F6E6565726720,$5D5B6D70785F746F
Data.q $31220A0D7B203D20,$2032332030312030,$0920220A0D2C2231,$2C22656E6F4E2063,$232063092E220A0D
Data.q $2C22324443453745,$232063092B220A0D,$2C22313538423141,$2320630940220A0D,$2C22423042394137
Data.q $2320630923220A0D,$2C22453133413538,$2320630924220A0D,$2C22343844434442,$2320630925220A0D
Data.q $2C22334641463946,$2320630926220A0D,$2C22333533433841,$232063092A220A0D,$2C22303043433339
Data.q $232063093D220A0D,$2C22313030463841,$232063092D220A0D,$2C22303035453241,$232063093B220A0D
Data.q $2C22353130433339,$232063093E220A0D,$2C22373541423441,$232063092C220A0D,$2C22373030423538
Data.q $2320630927220A0D,$2C22313031463941,$2320630929220A0D,$2C22313034464241,$2320630921220A0D
Data.q $2C22303045444539,$232063097E220A0D,$2C22303045393937,$232063097B220A0D,$2C22313033464141
Data.q $232063095D220A0D,$2C22313043444439,$232063095E220A0D,$2C22333038393737,$232063092F220A0D
Data.q $2C22433431433441,$2320630928220A0D,$2C22303044433439,$232063095F220A0D,$2C22303038453441
Data.q $232063093A220A0D,$2C22353131433339,$232063093C220A0D,$2C22343539423241,$232063095B220A0D
Data.q $2C22304442453545,$232063097D220A0D,$2C22383434424339,$232063097C220A0D,$2C22323037393637
Data.q $2320630931220A0D,$2C22363130413138,$2320630932220A0D,$2C22453742433942,$2320630933220A0D
Data.q $2C22444538463546,$2020202020220A0D,$0D2C222020202020,$202020202020220A,$0A0D2C2220202020
Data.q $23402B2E20202022,$220A0D2C22202524,$3B2D3D2A26202020,$20220A0D2C22203E,$7E212929272C2020
Data.q $2020220A0D2C2220,$205E5D7B29272C20,$202020220A0D2C22,$22203C3A5F7B282F,$5B202020220A0D2C
Data.q $2C22203332317C7D,$2020202020220A0D,$0D2C222020202020,$202020202020220A,$0D3B7D2220202020
Data.b $0A
greendot_xpm_end:
EndDataSection
Re: Scintilla PNG als Marker
Sehr gut
danke, nur leider will das nicht mit der "GoScintilla" Library 