tilehighlight_type.h
Go to the documentation of this file.00001
00002
00005 #ifndef TILEHIGHLIGHT_TYPE_H
00006 #define TILEHIGHLIGHT_TYPE_H
00007
00008 #include "core/geometry_type.hpp"
00009 #include "zoom_type.h"
00010 #include "window_type.h"
00011 #include "tile_type.h"
00012
00014 enum ViewportHighlightMode {
00015 VHM_NONE = 0,
00016 VHM_RECT = 1,
00017 VHM_POINT = 2,
00018 VHM_SPECIAL = 3,
00019 VHM_DRAG = 4,
00020 VHM_RAIL = 5,
00021 };
00022
00024 enum HighLightStyle {
00025 HT_NONE = 0x00,
00026 HT_RECT = 0x80,
00027 HT_POINT = 0x40,
00028 HT_LINE = 0x20,
00029
00030 HT_RAIL = 0x10,
00031
00032 HT_DRAG_MASK = 0xF0,
00033
00034
00035
00036 HT_DIR_X = 0,
00037 HT_DIR_Y = 1,
00038 HT_DIR_HU = 2,
00039 HT_DIR_HL = 3,
00040 HT_DIR_VL = 4,
00041 HT_DIR_VR = 5,
00042 HT_DIR_MASK = 0x7
00043 };
00044 DECLARE_ENUM_AS_BIT_SET(HighLightStyle);
00045
00046
00047 struct TileHighlightData {
00048 Point size;
00049 Point outersize;
00050 Point pos;
00051 Point offs;
00052
00053 Point new_pos;
00054 Point new_size;
00055 Point new_outersize;
00056
00057 Point selend, selstart;
00058
00059 byte dirty;
00060 byte sizelimit;
00061
00062 byte drawstyle;
00063 byte new_drawstyle;
00064 byte next_drawstyle;
00065
00066 ViewportHighlightMode place_mode;
00067 bool make_square_red;
00068 WindowClass window_class;
00069 WindowNumber window_number;
00070
00071 ViewportPlaceMethod select_method;
00072 ViewportDragDropSelectionProcess select_proc;
00073
00074 TileIndex redsq;
00075 };
00076
00077 #endif