improved dynamic layout of editor gadgets (continued)
[rocksndiamonds.git] / src / main.h
index c4b43f79b0829c1a611f3bb16d3c4e48d556f0e3..aeceace327d92fc67579bd6cd9e0b27d1d61a199 100644 (file)
 
 #define DEFAULT_FULLSCREEN_MODE                "800x600"
 
+#define WIN_XSIZE_DEFAULT              672
+#define WIN_YSIZE_DEFAULT              560
+
+#define SCR_FIELDX_DEFAULT             17
+#define SCR_FIELDY_DEFAULT             17
+
+#define SXSIZE_DEFAULT                 (SCR_FIELDX_DEFAULT * TILEX)
+#define SYSIZE_DEFAULT                 (SCR_FIELDY_DEFAULT * TILEY)
+
 #define MAX_BUF_XSIZE                  (SCR_FIELDX + 2)
 #define MAX_BUF_YSIZE                  (SCR_FIELDY + 2)
 #define MIN_LEV_FIELDX                 3
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING          "Holger Schemel"
-#define PROGRAM_COPYRIGHT_STRING       "Copyright ©1995-2014 by Holger Schemel"
+#define PROGRAM_COPYRIGHT_STRING       "Copyright \xa9""1995-2015 by Holger Schemel"
 #define PROGRAM_EMAIL_STRING           "info@artsoft.org"
 #define PROGRAM_WEBSITE_STRING         "http://www.artsoft.org/"
 #define PROGRAM_GAME_BY_STRING         "A Game by Artsoft Entertainment"
@@ -2239,18 +2248,105 @@ struct PreviewInfo
   int anim_mode;
 };
 
+struct EditorTabsInfo
+{
+  int x;
+  int y;
+  int yoffset2;
+  int width;
+  int height;
+  int draw_xoffset;
+  int draw_yoffset;
+};
+
+struct EditorSettingsInfo
+{
+  struct MenuPosInfo headline;
+
+  struct XY element_graphic;
+  struct XY element_name;
+
+  struct EditorTabsInfo tabs;
+};
+
+struct EditorGadgetInfo
+{
+  int normal_spacing;
+  int small_spacing;
+  int tiny_spacing;
+  int line_spacing;
+  int text_spacing;
+  int tab_spacing;
+
+  struct Rect separator_line;
+};
+
+struct EditorButtonInfo
+{
+  struct XY prev_level;
+  struct XY next_level;
+
+  struct XY properties;
+
+  struct XY draw_single;
+  struct XY draw_connected;
+  struct XY draw_line;
+  struct XY draw_arc;
+  struct XY draw_rectangle;
+  struct XY draw_filled_box;
+  struct XY rotate_up;
+  struct XY draw_text;
+  struct XY flood_fill;
+  struct XY rotate_left;
+  struct XY zoom_level;
+  struct XY rotate_right;
+  struct XY draw_random;
+  struct XY grab_brush;
+  struct XY rotate_down;
+  struct XY pick_element;
+
+  struct XY ce_copy_from;
+  struct XY ce_copy_to;
+  struct XY ce_swap;
+  struct XY ce_copy;
+  struct XY ce_paste;
+
+  struct XY undo;
+  struct XY conf;
+  struct XY save;
+  struct XY clear;
+  struct XY test;
+  struct XY exit;
+};
+
+struct EditorInputInfo
+{
+  struct XY level_number;
+};
+
+struct EditorPaletteElementInfo
+{
+  int x, y;
+  int tile_size;
+};
+
 struct EditorPaletteInfo
 {
   int x, y;
   int cols, rows;
+  int tile_size;
 
-  struct XY element_left;
-  struct XY element_middle;
-  struct XY element_right;
+  struct EditorPaletteElementInfo element_left;
+  struct EditorPaletteElementInfo element_middle;
+  struct EditorPaletteElementInfo element_right;
 };
 
 struct EditorInfo
 {
+  struct EditorSettingsInfo settings;
+  struct EditorGadgetInfo gadget;
+  struct EditorButtonInfo button;
+  struct EditorInputInfo input;
   struct EditorPaletteInfo palette;
 };
 
@@ -2797,7 +2893,6 @@ extern Bitmap                    *bitmap_db_panel;
 extern Bitmap                 *bitmap_db_door_1;
 extern Bitmap                 *bitmap_db_door_2;
 extern Bitmap                 *bitmap_db_toons;
-extern Pixmap                  tile_clipmask[];
 extern DrawBuffer             *fieldbuffer;
 extern DrawBuffer             *drawto_field;