*/
#include <stdio.h>
+#include <directfb.h>
#include "dfbapi.h"
/* two dimensional lattice */
-int d2_lattice_init(int *argc,char **argv,d2_lattice *d2_l,int x,int y)
+int d2_lattice_init(int *argc,char **argv,d2_lattice *d2_l)
{
DFBSurfaceDescription surface_dsc;
DFBFontDescription font_dsc;
- d2_l->max_x=x;
- d2_l->max_y=y;
-
DirectFBInit(argc,&argv);
DirectFBCreate(&(d2_l->dfb));
d2_l->dfb->SetCooperativeLevel(d2_l->dfb,DFSCL_FULLSCREEN);
} else return 1;
}
-int d3_lattice_init(int *argc,char **argv,d3_lattice *d3_l,int x,int y,int z)
+int d3_lattice_init(int *argc,char **argv,d3_lattice *d3_l)
{
DFBSurfaceDescription surface_dsc;
DFBFontDescription font_dsc;
- d3_l->max_x=x;
- d3_l->max_y=y;
- d3_l->max_z=z;
-
DirectFBInit(argc,&argv);
DirectFBCreate(&(d3_l->dfb));
d3_l->dfb->SetCooperativeLevel(d3_l->dfb,DFSCL_FULLSCREEN);
d3_l->p_surface->SetColor(d3_l->p_surface,r,g,b,a);
d3_l->p_surface->DrawRectangle(d3_l->p_surface,
x_c*d3_l->fakt_x+X_GAP,
- y_c*d3_l->fakt_x+d3_l->info_x,
+ y_c*d3_l->fakt_y+d3_l->info_y,
d3_l->fakt_x,d3_l->fakt_y);
}
}
d3_l->p_surface->SetColor(d3_l->p_surface,0x80,0x80,0xff,0xff);
for(i=1;i<=arg_c;i++)
{
- if(i<8)
+ if(i<13)
{
d3_l->p_surface->DrawString(d3_l->p_surface,arg_v[i],-1,
d3_l->info_x+d3_l->fakt_x,
- d3_l->info_y+d3_l->fakt_y+d3_l->font_h+(i-1)*2*d3_l->font_h,
+ d3_l->info_y+2*d3_l->fakt_y+d3_l->font_h+(i-1)*d3_l->font_h,
DSTF_LEFT);
} else
{
d3_l->p_surface->DrawString(d3_l->p_surface,arg_v[i],-1,
d3_l->info_x+d3_l->info_w/2+d3_l->fakt_x,
- d3_l->info_y+d3_l->fakt_y+d3_l->font_h+(i%8-1)*2*d3_l->font_h,
+ d3_l->info_y+2*d3_l->fakt_y+d3_l->font_h+(i%13-1)*d3_l->font_h,
DSTF_LEFT);
}
}
+ /* now we flip all to surface */
+ d3_l->p_surface->Flip(d3_l->p_surface,NULL,0);
+
return 1;
}
-int 2d_event_init(2d_lattice *2d_l)
+int d2_event_init(d2_lattice *d2_l)
{
- 2d_l->dfb->GetInputDevice(2d_l->dfb,DIDID_KEYBOARD,&(2d_l->keyboard));
- 2d_l->keyboard->CreateEventBuffer(2d_l->keyboard,&(2d_l->k_buffer));
+ d2_l->dfb->GetInputDevice(d2_l->dfb,DIDID_KEYBOARD,&(d2_l->keyboard));
+ d2_l->keyboard->CreateEventBuffer(d2_l->keyboard,&(d2_l->k_buffer));
return 1;
}
-int 3d_event_init(3d_lattice *3d_l)
+int d3_event_init(d3_lattice *d3_l)
{
- 3d_l->dfb->GetInputDevice(3d_l->dfb,DIDID_KEYBOARD,&(3d_l->keyboard));
- 3d_l->keyboard->CreateEventBuffer(3d_l->keyboard,&(3d_l->k_buffer));
+ d3_l->dfb->GetInputDevice(d3_l->dfb,DIDID_KEYBOARD,&(d3_l->keyboard));
+ d3_l->keyboard->CreateEventBuffer(d3_l->keyboard,&(d3_l->k_buffer));
return 1;
}
{
DFBInputEvent ke;
+ d3_l->k_buffer->WaitForEvent(d3_l->k_buffer);
d3_l->k_buffer->GetEvent(d3_l->k_buffer,DFB_EVENT(&ke));
if(ke.type==DIET_KEYPRESS)
{
if(ke.key_id==DIKI_LEFT && *x!=0) *x-=1;
if(ke.key_id==DIKI_RIGHT && *x!=d3_l->max_x-1) *x+=1;
- if(ke.key_id==DIET_DOWN && *y!=0) *y-=1;
- if(ke.key_id==DIET_UP && *y!=d3_l->max_y-1) *y+=1;
+ if(ke.key_id==DIKI_UP && *y!=0) *y-=1;
+ if(ke.key_id==DIKI_DOWN && *y!=d3_l->max_y-1) *y+=1;
+ if(ke.key_id==DIKI_PAGE_UP && *z!=0) *z-=1;
+ if(ke.key_id==DIKI_PAGE_DOWN && *z!=d3_l->max_z-1) *z+=1;
+ if(ke.key_id==DIKI_Q) *q=1;
+ if(ke.key_id==DIKI_ESCAPE) *esc=1;
}
return 1;