+ y_c=y;
+ for(x_c=0;x_c<display->max_x;x_c++)
+ {
+ for(z_c=0;z_c<display->max_z;z_c++)
+ {
+ dfb_choose_color(display->cell_p+x_c+y_c*display->max_x+z_c*display->max_x*display->max_y,&r,&g,&b);
+ if(x_c==x && z_c==z)
+ display->primary_surface->SetColor(display->primary_surface,0xff,0xff,0,0);
+ else
+ display->primary_surface->SetColor(display->primary_surface,r,g,b,a);
+ display->primary_surface->DrawRectangle(display->primary_surface,x_c*display_faktor_x+DISPLAY_X_FREE/3,z_c*display_faktor_y+DISPLAY_Y_FREE/3,display_faktor_x,display_faktor_y);
+ }
+ }
+ /* draw y-z surface */
+ x_c=x;
+ for(y_c=0;y_c<display->max_y;y_c++)
+ {
+ for(z_c=0;z_c<display->max_z;z_c++)
+ {
+ dfb_choose_color(display->cell_p+x_c+y_c*display->max_x+z_c*display->max_x*display->max_y,&r,&g,&b);
+ if(y_c==y && z_c==z)
+ display->primary_surface->SetColor(display->primary_surface,0xff,0xff,0,0);
+ else
+ display->primary_surface->SetColor(display->primary_surface,r,g,b,a);
+ display->primary_surface->DrawRectangle(display->primary_surface,(y_c+display->max_x)*display_faktor_x+2*DISPLAY_X_FREE/3,z_c*display_faktor_y+DISPLAY_Y_FREE/3,display_faktor_x,display_faktor_y);
+ }
+ }
+ /* draw x-y surface */
+ z_c=z;
+ for(x_c=0;x_c<display->max_x;x_c++)
+ {
+ for(y_c=0;y_c<display->max_y;y_c++)
+ {
+ dfb_choose_color(display->cell_p+x_c+y_c*display->max_x+z_c*display->max_x*display->max_y,&r,&g,&b);
+ if(x_c==x && y_c==y)
+ display->primary_surface->SetColor(display->primary_surface,0xff,0xff,0,0);
+ else
+ display->primary_surface->SetColor(display->primary_surface,r,g,b,a);
+ display->primary_surface->DrawRectangle(display->primary_surface,x_c*display_faktor_x+DISPLAY_X_FREE/3,(y_c+display->max_z)*display_faktor_y+2*DISPLAY_Y_FREE/3,display_faktor_x,display_faktor_y);
+ }
+ }
+ /* display info window */
+ r=0xff;
+ g=0xff;
+ b=0x00;
+ a=0xff;
+ menu_x=2*DISPLAY_X_FREE/3+display->max_x*display_faktor_x;
+ menu_y=2*DISPLAY_Y_FREE/3+display->max_z*display_faktor_y;
+ menu_w=display->max_y*display_faktor_x;
+ menu_h=display->max_y*display_faktor_y;
+ display->primary_surface->SetColor(display->primary_surface,0,0,0,0);
+ display->primary_surface->FillRectangle(display->primary_surface,menu_x,menu_y,menu_w,menu_h);
+ display->primary_surface->SetColor(display->primary_surface,r,g,b,a);
+ display->primary_surface->DrawRectangle(display->primary_surface,menu_x,menu_y,menu_w,menu_h);
+ display->primary_surface->DrawLine(display->primary_surface,menu_x+display_faktor_x*display->max_x/2,menu_y+display_faktor_y,menu_x+display_faktor_x*display->max_x/2,menu_y+display_faktor_y*display->max_y-display_faktor_y);
+ display->primary_surface->SetColor(display->primary_surface,0x80,0x80,0xff,0xff);
+ sprintf(text,"x: %u",x);
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x,menu_y+display_faktor_y+menu_h/10,DSTF_LEFT);
+ sprintf(text,"y: %u",y);
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x,menu_y+display_faktor_y*2+menu_h/10*2,DSTF_LEFT);
+ sprintf(text,"z: %u",z);
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x,menu_y+display_faktor_y*3+menu_h/10*3,DSTF_LEFT);
+ sprintf(text,"status: %c",((display->cell_p+x+y*display->max_x+z*display->max_x*display->max_y))->status&AMORPH?'a':'c');
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x,menu_y+display_faktor_y*5+menu_h/10*5,DSTF_LEFT);
+ sprintf(text,"c conc.: %u",(display->cell_p+x+y*display->max_x+z*display->max_x*display->max_y)->conc);
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x,menu_y+display_faktor_y*6+menu_h/10*6,DSTF_LEFT);
+ sprintf(text,"step: %d",display->step);
+ display->primary_surface->DrawString(display->primary_surface,text,-1,menu_x+display_faktor_x*display->max_x/2+display_faktor_x,menu_y+display_faktor_y+menu_h/10,DSTF_LEFT);
+ /* flip all to surface */
+ display->primary_surface->Flip(display->primary_surface,NULL,0);
+#endif
+ return 23;
+}