코드 보면 그냥 알 수 있음.
#include <config.h>  
#include <stdio.h>  
#include <directfb.h>  
static IDirectFB *dfb = NULL;  
static IDirectFBSurface *primary = NULL;  
static int screen_width  = 0;  
static int screen_height = 0;  
static IDirectFBSurface *logo = NULL;  
int main (int argc, char **argv)  
{  
    int i;       
    DFBSurfaceDescription dsc;  
    IDirectFBImageProvider *provider;  
    DirectFBInit (&argc, &argv);    
    DirectFBCreate (&dfb);    
    dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN);    
    dsc.flags = DSDESC_CAPS;    
//    dsc.caps  = DSCAPS_PRIMARY;        
    dsc.caps  = DSCAPS_PRIMARY | DSCAPS_FLIPPING;    
    dfb->CreateSurface( dfb, &dsc, &primary );         
    primary->GetSize (primary, &screen_width, &screen_height);  
    dfb->CreateImageProvider (dfb, "/temp1.jpg", &provider);  
    provider->GetSurfaceDescription(provider, &dsc);  
    dfb->CreateSurface( dfb, &dsc, &logo );  
    provider->RenderTo (provider, logo, NULL);  
    provider->Release (provider);  
    primary->FillRectangle (primary, 0, 0, screen_width, screen_height);    </P>  
    for (i = 0; i < 800; i++) {  
        primary->Blit (primary, logo, NULL, i, 0);  
        primary->Flip (primary, NULL, DSFLIP_WAITFORSYNC);       
    }  
    logo->Release (logo);  
    primary->Release (primary);    
    while(1);  
    dfb->Release (dfb);  
    return 23;  
}