Oldes / Rebol3

Source code for the Rebol [R3] interpreter
Apache License 2.0
83 stars 8 forks source link

Unable to get draw works #20

Closed gregit closed 3 years ago

gregit commented 3 years ago

Hello! Downloaded windows x64 release 3.3.0 but unable to get draw works. Any suggestions? Thanks!

Oldes commented 3 years ago

Hi @gregit .. unfortunatelly the draw engine is not yet implemented (included) in this fork.

I have an exerimental Blend2D extension.. but it's not ready for public yet.

gregit commented 3 years ago

Thanks for the fast reply as well as this fork btw. Could it be possible to help or test privately?

Oldes commented 3 years ago

Sure... but my problem is, that when I was experimenting with Blend2D last time, it was in alpha state... now it is in beta and some internals were changed.. I first need to review my code again. I was also using my own build system, which also need some polishing. I will post a link here once I will have it ready. I cannot tell you when, because I must first finish one urgent non Rebol related job.

If you just need some drawing... find me on Gitter and I can give you my old pre-build extension. It's a little bit usable...

For example this code:

b2d: import %ext-b2d-x64-st.dll
texture: load %/x/texture.jpeg
view img: draw 480x480 [
    fill :texture flip
    box 40x40 200x400 45.5
    alpha 50%
    box 240x40 200x400 45.5
    alpha 100%
    fill 0.255.0
    font "c:\Windows\Fonts\cambriab.ttf"
    text 1x100 72 "The quick"
    font "c:\dev\altme\ariali.ttf"
    text 1x180 72 "The quick"
    alpha 25% fill 0.0.255
    cubic 26x31  642x132 587x-136 25x464  882x404 144x267 27x31
]

Results to: image

Oldes commented 3 years ago

@gregit it was not so much work to update to the newer Blend2D version, so here are sources of the extension: https://github.com/Oldes/Rebol3-Blend2D

It's just with build scripts for Visual Studio (Windows) - tested with VS2019.

Again... it was just an experiment on my side... it will require much more work.. even on Rebol side possibly.

gregit commented 3 years ago

Great! I was just coming back here to say I just tried a known old email to contact you before I try Gitter and... good surprise! I'm going to give a try to your Blend2D extension and will let you know. I close this ticket for now and will keep in touch thru other means.

Oldes commented 3 years ago

@gregit I'm now looking again at the code, what was done and what not.. and I must repeat, that in this state it is really just a proof of concept experiment!

My idea was, that the draw dialect could be compiled into special structure with access to specified variables in it. So I could compose a complex draw objects and draw these in more optimized form (not parsing Rebol values with every little change).

Imagine something like complex window-object where you could change just its size, title and colors.. something like that. Commands used to draw this window could be hidden to user.

But as I said... I have no time to work on it.. and also Rebol core needs some modifications to get there... like GC friendly named handles (handles with specified destructors) and possibly struct! datatype. The windowing system is also just an experiment. And the module system in current Rebol is far to be in state which I would consider to be finished and user friendly... I'm just trying to understand all the hard work which Brian Hawley did going thru related issues writing some tests for these.

It's good to know that Petr Kobalicek (Blend2D author) is active in his Gitter room: https://gitter.im/blend2d/blend2d