Hello all,

during the last days I tried to get familiar
with DirectFB. I'm using the CVS version
on my RedHat 7.1 based system with a
Matrox G450 graphics adapter. 

The basic steps (compiling and running the
examples) went easily, but -- as always --
some simple newbie questions are still
left:

0) 

Is there some kind of basic introduction into
DirectFB somewhere? There is the auto-created
html DirectFB reference manual -- ok. But 
I don't clearly understand the idea behind layers,
surfaces and windows and how they are related
together regarding the basic (eg. lowest) "window"
on the framebuffer device.

(This is closely related to question 1...)

1) 

To get familiar with the DirectFB interfaces, I took
the "df_fire" example and modified it. When my program
now finishes, the console is trashed. For example when
I use "pico" (or any other editor) to edit the source
again, the scrolling is totally wrong. Blue rectancles
appear at random places on the screen, other areas
get erased completely. Scrolling is mostly impossible.

Is this considered a bug? Are there any known circumstances
under which a user program is able to thrash the console?

2)

Compiling the CVS version of "Clanbomber"
does not work out of the box.

There are tons of the following error messages:

Bomber.cpp: In method `void Bomber::show ()':
Bomber.cpp:162: `sin' undeclared (first use this function)
Bomber.cpp:162: (Each undeclared identifier is reported only once for 
each function it appears in.)
Bomber.cpp: In method `void Bomber::put_bomb ()':
Bomber.cpp:274: warning: passing `float' for argument 1 of 
`Map::add_bomb (int, int, int, Bomber *)'
Bomber.cpp:274: warning: passing `float' for argument 2 of 
`Map::add_bomb (int, int, int, Bomber *)'

The error of the missing declarations can be fixed
by adding
#include <math.h>
to "ClanBomber.h" for example. After this, it
at least compiles. Running it fails however, with
the following error message:

>(*) Single Application Core. (with MMX support)
>(*) DirectFB/InputDevice: Keyboard 0.9 (convergence integrated media GmbH)
>(*) DirectFB/InputDevice: PS/2 Mouse 0.9 (convergence integrated media GmbH)
>(*) MMX detected and enabled
>(*) DirectFB/GfxCard: Matrox 0.3 (convergence integrated media GmbH)
>1200,165555000,1074017748
> (!?!)  *** BUG ALERT [panning buffer out of range] *** fbdev.c (283)
>(!) --->  CAUGHT SIGNAL 11  <---

I added the following debug code to "fbdev.c" (function "fbdev_pan",
line
282), to see why the buffer is out of range:

>     if (var.yres_virtual < var.yres*(buffer+1)) {
>               printf("%d,%d,%d\n",var.yres_virtual,var.yres*(buffer+1),buffer);
>          BUG( "panning buffer out of range" );
>          return DFB_BUG;
>     }

Any ideas?

3)

I'd really like to use GTK+ on top of DirectFB. Therefore
I got the "gtk+-directfb-1.3.5.tar.gz" package and
compiled and installed it.

Some remarks about that: the "README" files says:

> You need DirectFB-0.9.2 to compile and use this
> version. DirectFB is the default target, but you can choose different
> targets by using the --with-gdktarget=[x11/nanox/linux-fb/directfb]

For me, this is not true. "x11" is the default target, not "directfb"
"./configure --help" says:

>[...]
>  --with-gdktarget=[x11/nanox/linux-fb/directfb] select GDK target [default=x11] 
>[...]

Perhaps this is a silly question, but after actually
compiling the whole stuff -- where can I find a working
demo program that uses this now?

I tried to compile and link some of the "Hello, world!" demo
programs against the newly created libraries, but
failed completely. 8-(

There are always unknown references to some parts of the
GTK/GDK library. Does anyone have a simple program and
a simple Makefile for me?

How is this supposed to work anyway? Will the program 
run in a kind of exclusive mode on DirectFB? The screenshots
suggest, that it works more like a windowmanager, ie. that
more that one program runs ontop of DirectFB.

Thanks in advance,
Michael.



-- 
Info:  To unsubscribe send a mail to [EMAIL PROTECTED] with 
"unsubscribe directfb-dev" as subject.

Reply via email to