-#define ED_AREA_XOFFSET (0)
-#define ED_AREA_YOFFSET ((ED_CHECKBUTTON_YSIZE - MINI_TILEY) / 2)
-
-#define ED_AREA_SETTINGS_X(i) (ED_SETTINGS_X((i).x) + (i).xoffset + \
- ((i).x != 0 ? ED_AREA_XOFFSET : 0))
-#define ED_AREA_SETTINGS_Y(i) (ED_SETTINGS_Y((i).y) + (i).yoffset + \
- ((i).y != 0 ? ED_AREA_YOFFSET : 0))
-
-#define ED_LEVEL_SETTINGS_TABS_XPOS (ED_LEVEL_SETTINGS_BASE_XSTART)
-#define ED_LEVEL_SETTINGS_TABS_YPOS (4 * MINI_TILEY)
-#define ED_ELEMENT_SETTINGS_TABS_XPOS (ED_ELEMENT_SETTINGS_BASE_XSTART)
-#define ED_ELEMENT_SETTINGS_TABS_YPOS (8 * MINI_TILEY)
+#define ED_TAB_SETTINGS_X(n) (IS_POS_LEVEL_SETTINGS(n) ? \
+ ED_LEVEL_SETTINGS_TABS_X : \
+ ED_ELEMENT_SETTINGS_TABS_X)
+#define ED_TAB_SETTINGS_Y(n) (IS_POS_LEVEL_SETTINGS(n) ? \
+ ED_LEVEL_SETTINGS_TABS_Y : \
+ ED_ELEMENT_SETTINGS_TABS_Y)
+
+#define ED_SETTINGS_XOFF(n) (5 * ((n) % 4) * \
+ ED_DRAWINGAREA_TILE_SIZE)
+#define ED_SETTINGS_YOFF(n) (5 * ((n) / 4) * \
+ ED_DRAWINGAREA_TILE_SIZE)
+
+#define ED_AREA_XOFFSET_1(n) ((n) != 0 ? \
+ ED_DRAWINGAREA_BORDER_SIZE : 0)
+#define ED_AREA_YOFFSET_1(n) ((n) != 0 ? \
+ (ED_CHECKBUTTON_YSIZE - \
+ ED_DRAWINGAREA_TILE_SIZE) / 2 : 0)
+
+#define ED_AREA_XOFFSET_2(n) (0)
+#define ED_AREA_YOFFSET_2(n) ((n) == 3 ? \
+ ((n) - 1) * ED_DRAWINGAREA_TILE_SIZE / 2 : 0)
+
+#define ED_AREA_SETTINGS_X(i) (ED_SETTINGS_X((i).x) + \
+ ED_SETTINGS_XOFF((i).xoffset) + \
+ ED_AREA_XOFFSET_1((i).x) - \
+ ED_AREA_XOFFSET_2((i).area_xsize))
+#define ED_AREA_SETTINGS_Y(i) (ED_SETTINGS_Y((i).y) + \
+ ED_SETTINGS_YOFF((i).yoffset) + \
+ ED_AREA_YOFFSET_1((i).y) - \
+ ED_AREA_YOFFSET_2((i).area_ysize))