Il giorno lun, 03/03/2008 alle 22.08 +0530, animesh ha scritto:
> Hi All,
> I am sending this mail with the hope that i would get some reply.
> I am writing a simple DirectFB application, but when i change the
> PixelFormat, Iget errors that CreateSurface is Not supported.
> #include <stdio.h>
> #include <unistd.h>
> #include <directfb.h>
>
> static IDirectFB *dfb = NULL;
> static IDirectFBSurface *primary = NULL;
> static int screen_width = 0;
> static int screen_height = 0;
>
> #define DFBCHECK(x...) \
> { \
> DFBResult err = x; \
> \
> if (err != DFB_OK) \
> { \
> fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
> DirectFBErrorFatal( #x, err ); \
> } \
> }
> int main (int argc, char **argv)
> {
>
> DFBSurfaceDescription dsc;
>
> DFBCHECK (DirectFBInit (&argc, &argv));
> DFBCHECK (DirectFBCreate (&dfb));
> DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));
>
> dsc.flags = DSDESC_CAPS;
> /*Now if I Change this line to
> dsc.flags = DSDESC_CAPS | DSDESC_PIXELFORMAT*/
>
> dsc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
>
> /*And Add this line
> dsc.pixelformat = DSPF_A8
> or
> dsc.pixelformat = DSPF_ALUT44
> or, many other Pixel format then i get an error while executing the
> code the
> dfb->CreateSurface( dfb, &dsc, &primary ) is not supported.*/
>
>
> DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary ));
> DFBCHECK (primary->GetSize (primary, &screen_width,
> &screen_height));
> DFBCHECK (primary->FillRectangle (primary, 0, 0, screen_width,
> screen_height));
> DFBCHECK (primary->SetColor (primary, 0x80, 0x80, 0xff, 0xff));
> DFBCHECK (primary->DrawLine (primary,
> 0, screen_height / 2,
> screen_width - 1, screen_height / 2));
>
> DFBCHECK (primary->Flip (primary, NULL, 0));
>
> sleep (5);
>
>
> primary->Release( primary );
> dfb->Release( dfb );
>
> return 23;
> }
Of course, you cannot set the primary surface format to A8.
The primary surface is nevertheless the surface of the primary layer
(i.e. of the screen). Never screen a screen supporting A8.
>
> In this code I have to enable Palette Support also, so how can i do
> this.
> Can anyone help me out why i am getting this error.
>
LUT8 should be supported by the primary layer.
--
Claudio Ciccani
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://directfb.org
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users