On 22 Aug 2007, at 12:26, Evgeniy Ivanov wrote:
Bar3D is indeed one of the few routines which cannot be hooked
currently. As long as you hook the line drawing it should be plenty
fast though.
No, I tryed. It is in the test.pas. It works very very slow.
It is because you do not redirect the line drawing directly to SDL,
but instead use the default line drawing routines. Those are indeed
very slow, because they call a procedural variable (directputpixel)
for each pixel which has to be drawn). And directputpixel then calls
through to SDL, which every time must recalculate the pixel position
on the screen (instead of just adding 1 to the horizontal or vertical
coordinate in case of horizontal/vertical line drawing).
I may patch graph.inc, graphh.inc and modes.inc to add ability to
hook such
routines (Shapes/Lines) like Bar3D. It will not take any effect on
currently
written modules (Current Bad3d may be Bar3Ddefault and to be added
to Bar3D
proc if it's not assigned). Of course if you will approve it (I
don't see
any reason to make it just for my needs).
I really don't think it will be needed.
This will indeed be difficult. It's probably best to create a generic
"wincrt"-like unit (sdlcrt?) which can be used together with the sdl
graph unit. Full input/output support can also be added to it over
time, similarly to how the regular crt unit also takes over all
input/
output.
Nice idea. I may do it. I think that the best way for this is to use
SDL-terminal (I have never used it, but it must be pretty nice).
But it isn't in JEDI-SDL (so, it must be wrapped to .pp).
But I prefer to use readln to give user a chance to see the screen
created
by graph (and close after any key was pressed). There are many old
programmes with it. The "+" of SDLgraph is that it may be used with
old code
and you may add any JEDI-SDL routine (timer or SDL_mixer and so on)
using
global screen variable. Sorry for my poor English, but I think you
will get
the idea.
Yes, sounds good.
Jonas
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel