development GUI-server v. 0.93

Started by Lutz, June 25, 2007, 03:43:12 PM

Previous topic - Next topic

Lutz

- first version of GUI-server with 2D Graphics



- draw shapes and text on canvas, handle mouse events



- do animations with 30 frames/second



- three new demos shapes-demo.lsp, mouse-demo.lsp, animation-demo.lsp





Lutz



ps: screenshot shapes http://newlisp.org/downloads/development/shapes-demo.png">http://newlisp.org/downloads/developmen ... s-demo.png">http://newlisp.org/downloads/development/shapes-demo.png

didi

#1
This 2D-graphic is absolut super - this is thrilling !



Even on  my old machine it is very fast .

It's very simple to use , the predefined color are not bad , too .  :-)



Congratulations Lutz !

Sleeper

#2
the same problem with newlisp-edit.lsp



message-dialog: cannot be applied to MAIN:TheEditor



all other demos runs fine, including new 2D-graphics stuff

(this looks great. congrats Lutz!)

Lutz

#3
Now I know what is happening to newlisp-edit.lsp on your machine:



you need to create a C:temp directory on your machine,



the message box error relates to this.



Lutz



ps: I will upload a fixed newlisp-edit.lsp which will pop up the message box correctly when c:temp is missing on Windows

HPW

#4
Great stuff.

Shape performance seems good.



Animation is flickering on my WIN screen.

Also a error-message is shown


QuoteC:Programmenewlisp>newlisp animation-demo.lsp

server listening on 47011

server accepted from 0.0.0.0

server connecting to 0.0.0.0:47012

server connected



string expected in function eval-string : event

called from user defined function gs:check-event



C:Programmenewlisp>
Hans-Peter

Lutz

#5
This message appears when the animation app disconnects from the server. I need to tweak the new gs:check-event more to make this message disappear.



As for the flickering: this is performance related, not so much the CPU of your machine, as the graphics card. On my Mac Mini (only 1.42 Ghz)and a new Windows lap top I tried it is totally smooth, but on an older Windows machine (1.8 Ghz and cheap graphics card) I also saw flickering. Try to adjust the value in animation-demo.lsp, where it says:


(set 'delay 33000) ; 30 frames/sec

; change this to

(set 'delay 60000) ; 16 frames/sec

; or even

(set 'delay 100000) ; 10 frames/sec


Lutz



ps: the splash screen stuff for both Mac OS X and Windows is in the code, but haven't come around to test it on either platform, but its coming ;-)



ps2: I am still interested to know if the transparency of frameless-demo.lsp shows up on Windows VISTA

Sleeper

#6
thanks Lutz!

i found this place in the beginning of newlisp-edit.lsp, i think there also must be



(if (= ostype "Win32") "C:\temp" "/tmp")


("Win32" instead of Win32)

i fixed that, created "c:\temp" directory and now it works.

didi

#7
I'm happy with the 2d-functions ,  only some suggestions :



Maybe in the manual the third parameter of a circle is not  mentioned , i think that is the diameter ?



Which is the best way to set a single point  , to draw a line with the same coordinates, or is there a point function planned  ?



Will it be possible to have a text-orientation, maybe an angle ?

Lutz

#8
QuoteMaybe in the manual the third parameter of a circle is not mentioned , i think that is the diameter ?


many corrections of the manual in 0.94 (later today)


QuoteWhich is the best way to set a single point , to draw a line with the same coordinates, or is there a point function planned ?


a short line, or small rectangle, or small circle. GUI-server is device independent drawing, no pixels ;-)


QuoteWill it be possible to have a text-orientation, maybe an angle ?


yes, but not in upcoming 0.94, which brings gs:set-translate (move origin), gs:set-scale (zoom in an out). What you want is either gs:set-rotation as a global setting or gs:rotate-tag (like gs:move-tag but rotates). The gs:set-xxxx work global on all the canvas, while gs:move-tag, gs:rotate-tag and gs:delete-tag are targeted at a group (which coud be one).



When we have images there will also be gs:shear-tag



We are still a dozen versions away before having all the basics.



Lutz