added display support (init by now) (dfb-api)
[physik/morpheus.git] / defines.h
index 58e758d..0be5bc4 100644 (file)
--- a/defines.h
+++ b/defines.h
@@ -5,6 +5,10 @@
  *
  */
 
+#ifdef USE_DFB_API
+#include <directfb.h>
+#endif
+
 #define DEFAULT_X_SEG 50
 #define DEFAULT_Y_SEG 50
 #define DEFAULT_Z_SEG 100
 
 /* program defines, dont touch ;) */
 
-#ifdef DEBUG
- #define DEBUG 1
-#else
- #define DEBUG 0
-#endif
-
 #define URAND_MAX 0xffffffff
 
 typedef unsigned int u32;
 typedef long long unsigned int u64;
 
-#define printfd(fmt,args...) if(DEBUG) printf(fmt,##args);
+#ifdef DEBUG
+ #define DEBUG_IT 1
+#else 
+ #define DEBUG_IT 0
+#endif
+
+#define printfd(fmt,args...) if(DEBUG_IT) printf(fmt,##args);
 
-/* segment struct
- *
- * not used by now
- */
-struct __segment
-{
- u32 status; /* C concentration */
-}
+/* display stuff */
+typedef struct __display {
+ u32 max_x,max_y,max_z; /* dimensions */
+ u32 *cell_p; /* pointer to cell data */
+#ifdef USE_DFB_API
+ IDirectFB *dfb; /* pointer to dfb main construct */
+ IDirectFBSurface *primary_surface; /* pointer to dfb primary surface */
+#endif
+ int screen_height,screen_width; /* screen dimensions */
+} display;
+
+#define DEFAULT_DISPLAY_X 25
+#define DEFAULT_DISPLAY_Y 25
+#define DEFAULT_DISPLAY_Z 50
+#define DEFAULT_DISPLAY_REF_RATE 100
 
-/* masks for u32 segments */
+/* masks for u32 cell */
 #define AMORPH 0x00000001
 #define CRYSTAL 0x00000000
 #define C_CONC_MASK 0xfffffffe