ACE3/addons/bft_device_dk10/UI/defines/DK10_defines.hpp
2016-09-03 09:35:37 +02:00

123 lines
6.8 KiB
C++

// Map position within background, pixel based
#define DK10_MAP_X (257)
#define DK10_MAP_Y (491)
#define DK10_MAP_W (1341)
#define DK10_MAP_H (993)
// Height of header and footer OSD elements
#define DK10_OSD_HEADER_H (42)
#define DK10_OSD_FOOTER_H (0)
// Screen content (the stuff that changes, so map area - header and footer)
#define DK10_SCREEN_CONTENT_X (DK10_MAP_X)
#define DK10_SCREEN_CONTENT_Y (DK10_MAP_Y + DK10_OSD_HEADER_H)
#define DK10_SCREEN_CONTENT_W (DK10_MAP_W)
#define DK10_SCREEN_CONTENT_H (DK10_MAP_H - DK10_OSD_HEADER_H - DK10_OSD_FOOTER_H)
// Window conent offset in % of window background
#define DK10_WINDOW_CONENT_OFFSET_FACTOR (0.025)
// Make for windows 48% in height of available space (so we can fit two)
// Background for PiP in 4:3 aspect on the right, the rest will take the available space on the left
#define DK10_WINDOW_BACK_MARGIN (DK10_SCREEN_CONTENT_H * 0.01)
#define DK10_WINDOW_BACK_H ((DK10_SCREEN_CONTENT_H - 3 * DK10_WINDOW_BACK_MARGIN) / 2)
// Make the right window slightly less wide in order to accomodate a 4:3 content ratio as well as the conent offset
#define DK10_WINDOW_BACK_R_W (4 / 3 * DK10_WINDOW_BACK_H * (1 - 2 * DK10_WINDOW_CONENT_OFFSET_FACTOR * 3 / 4))
#define DK10_WINDOW_BACK_L_W (DK10_SCREEN_CONTENT_W - (DK10_WINDOW_BACK_R_W + 3 * DK10_WINDOW_BACK_MARGIN))
// Window content (application windows) position within window background, aspect ratio is 4:3
// Offset from the left
#define DK10_WINDOW_CONTENT_OFFSET_X (DK10_WINDOW_BACK_R_W * DK10_WINDOW_CONENT_OFFSET_FACTOR)
// Offset from the bottom
#define DK10_WINDOW_CONTENT_OFFSET_Y (DK10_WINDOW_CONTENT_OFFSET_X)
#define DK10_WINDOW_CONTENT_R_W (DK10_WINDOW_BACK_R_W - 2 * DK10_WINDOW_CONTENT_OFFSET_X)
#define DK10_WINDOW_CONTENT_L_W (DK10_WINDOW_BACK_L_W - 2 * DK10_WINDOW_CONTENT_OFFSET_X)
#define DK10_WINDOW_CONTENT_H (3 / 4 * DK10_WINDOW_CONTENT_R_W)
// Distribute window backgrounds evenly on the available screen space for 2x2 windows
#define DK10_WINDOW_BACK_L_X (DK10_SCREEN_CONTENT_X + DK10_WINDOW_BACK_MARGIN)
#define DK10_WINDOW_BACK_R_X (DK10_WINDOW_BACK_L_X + DK10_WINDOW_BACK_L_W + DK10_WINDOW_BACK_MARGIN)
#define DK10_WINDOW_BACK_T_Y (DK10_SCREEN_CONTENT_Y + DK10_WINDOW_BACK_MARGIN)
#define DK10_WINDOW_BACK_B_Y (DK10_WINDOW_BACK_T_Y + DK10_WINDOW_BACK_H + DK10_WINDOW_BACK_MARGIN)
// Place window content within window background
#define DK10_WINDOW_CONTENT_L_X (DK10_WINDOW_BACK_L_X + DK10_WINDOW_CONTENT_OFFSET_X)
#define DK10_WINDOW_CONTENT_R_X (DK10_WINDOW_BACK_R_X + DK10_WINDOW_CONTENT_OFFSET_X)
#define DK10_WINDOW_CONTENT_T_Y (DK10_WINDOW_BACK_T_Y + DK10_WINDOW_BACK_H - DK10_WINDOW_CONTENT_OFFSET_Y - DK10_WINDOW_CONTENT_H)
#define DK10_WINDOW_CONTENT_B_Y (DK10_WINDOW_BACK_B_Y + DK10_WINDOW_BACK_H - DK10_WINDOW_CONTENT_OFFSET_Y - DK10_WINDOW_CONTENT_H)
// Desktop icon size and offset from tablet screen edge in pixels
#define DK10_DESKTOP_ICON_OFFSET_X (25)
#define DK10_DESKTOP_ICON_OFFSET_Y (25)
#define DK10_DESKTOP_ICON_W (100)
#define DK10_DESKTOP_ICON_H (100)
// Message element positions in pixels
#define DK10_MESSAGE_MARGIN_OUTER (20)
#define DK10_MESSAGE_MARGIN_INNER (10)
#define DK10_MESSAGE_BUTTON_W (150)
#define DK10_MESSAGE_BUTTON_H (50)
#define DK10_MESSAGE_MESSAGETEXT_FRAME_X (DK10_SCREEN_CONTENT_X + DK10_MESSAGE_MARGIN_OUTER)
#define DK10_MESSAGE_MESSAGETEXT_FRAME_Y (DK10_SCREEN_CONTENT_Y + DK10_MESSAGE_MARGIN_INNER)
#define DK10_MESSAGE_MESSAGETEXT_FRAME_W (DK10_SCREEN_CONTENT_W - DK10_MESSAGE_MARGIN_OUTER * 2)
#define DK10_MESSAGE_MESSAGETEXT_FRAME_H ((DK10_SCREEN_CONTENT_H - DK10_MESSAGE_MARGIN_INNER * 3) / 2)
#define DK10_MESSAGE_MESSAGELIST_X (DK10_MESSAGE_MESSAGETEXT_FRAME_X + DK10_MESSAGE_MARGIN_INNER)
#define DK10_MESSAGE_MESSAGELIST_Y (DK10_MESSAGE_MESSAGETEXT_FRAME_Y + DK10_MESSAGE_MARGIN_OUTER)
#define DK10_MESSAGE_MESSAGELIST_W ((DK10_MESSAGE_MESSAGETEXT_FRAME_W - DK10_MESSAGE_MARGIN_INNER * 3) / 3)
#define DK10_MESSAGE_MESSAGELIST_H (DK10_MESSAGE_MESSAGETEXT_FRAME_H - DK10_MESSAGE_MARGIN_INNER - DK10_MESSAGE_MARGIN_OUTER)
#define DK10_MESSAGE_MESSAGETEXT_X (DK10_MESSAGE_MESSAGELIST_X + DK10_MESSAGE_MESSAGELIST_W + DK10_MESSAGE_MARGIN_INNER)
#define DK10_MESSAGE_MESSAGETEXT_Y (DK10_MESSAGE_MESSAGELIST_Y)
#define DK10_MESSAGE_MESSAGETEXT_W (DK10_MESSAGE_MESSAGELIST_W * 2)
#define DK10_MESSAGE_MESSAGETEXT_H (DK10_MESSAGE_MESSAGELIST_H - DK10_MESSAGE_MARGIN_INNER - DK10_MESSAGE_BUTTON_H)
#define DK10_MESSAGE_COMPOSE_FRAME_X (DK10_MESSAGE_MESSAGETEXT_FRAME_X)
#define DK10_MESSAGE_COMPOSE_FRAME_Y (DK10_MESSAGE_MESSAGETEXT_FRAME_Y + DK10_MESSAGE_MESSAGETEXT_FRAME_H + DK10_MESSAGE_MARGIN_INNER)
#define DK10_MESSAGE_COMPOSE_FRAME_W (DK10_MESSAGE_MESSAGETEXT_FRAME_W)
#define DK10_MESSAGE_COMPOSE_FRAME_H (DK10_MESSAGE_MESSAGETEXT_FRAME_H)
#define DK10_MESSAGE_PLAYERLIST_X (DK10_MESSAGE_MESSAGELIST_X)
#define DK10_MESSAGE_PLAYERLIST_Y (DK10_MESSAGE_COMPOSE_FRAME_Y + DK10_MESSAGE_MARGIN_OUTER)
#define DK10_MESSAGE_PLAYERLIST_W (DK10_MESSAGE_MESSAGELIST_W)
#define DK10_MESSAGE_PLAYERLIST_H (DK10_MESSAGE_MESSAGELIST_H)
#define DK10_MESSAGE_COMPOSE_TEXT_X (DK10_MESSAGE_MESSAGETEXT_X)
#define DK10_MESSAGE_COMPOSE_TEXT_Y (DK10_MESSAGE_PLAYERLIST_Y)
#define DK10_MESSAGE_COMPOSE_TEXT_W (DK10_MESSAGE_MESSAGETEXT_W)
#define DK10_MESSAGE_COMPOSE_TEXT_H (DK10_MESSAGE_MESSAGETEXT_H)
#define DK10_MESSAGE_BUTTON_SEND_X (DK10_MESSAGE_COMPOSE_FRAME_X + DK10_MESSAGE_COMPOSE_FRAME_W - DK10_MESSAGE_MARGIN_INNER - DK10_MESSAGE_BUTTON_W)
#define DK10_MESSAGE_BUTTON_SEND_Y (DK10_MESSAGE_COMPOSE_TEXT_Y + DK10_MESSAGE_COMPOSE_TEXT_H + DK10_MESSAGE_MARGIN_INNER)
#define DK10_MESSAGE_BUTTON_DELETE_X (DK10_MESSAGE_BUTTON_SEND_X)
#define DK10_MESSAGE_BUTTON_DELETE_Y (DK10_MESSAGE_MESSAGETEXT_Y + DK10_MESSAGE_MESSAGETEXT_H + DK10_MESSAGE_MARGIN_INNER)
// On-screen edge positions (left, right, top, bottom)
#define DK10_OSD_MARGIN (10)
#define DK10_OSD_EDGE_L (DK10_OSD_MARGIN + DK10_SCREEN_CONTENT_X)
#define DK10_OSD_EDGE_R (-DK10_OSD_MARGIN + DK10_SCREEN_CONTENT_X + DK10_SCREEN_CONTENT_W)
#define DK10_OSD_EDGE_T (DK10_OSD_MARGIN + DK10_SCREEN_CONTENT_Y)
#define DK10_OSD_EDGE_B (-DK10_OSD_FOOTER_H + DK10_MAP_Y + DK10_MAP_H)
// On-screen element base width and height
#define DK10_OSD_ELEMENT_STD_W ((DK10_SCREEN_CONTENT_W - DK10_OSD_MARGIN * 8) / 7)
#define DK10_OSD_ELEMENT_STD_H (DK10_OSD_HEADER_H - DK10_OSD_MARGIN)
// On-screen element X-coord for left, center and right elements
#define DK10_OSD_LEFT_X (DK10_OSD_EDGE_L)
#define DK10_OSD_CENTER_X (DK10_OSD_EDGE_L + DK10_OSD_MARGIN + DK10_OSD_ELEMENT_STD_W)
#define DK10_OSD_RIGHT_X (DK10_OSD_EDGE_R - DK10_OSD_ELEMENT_STD_W)
// On-screen element X-coord for left, center and right elements
#define DK10_OSD_X(ITEM) (DK10_OSD_EDGE_L + (DK10_OSD_MARGIN + DK10_OSD_ELEMENT_STD_W) * (ITEM - 1))
// On-screen text sizes, hight in pixels
// Standard text elements
#define DK10_OSD_TEXT_STD_SIZE (27)
#define DK10_OSD_ICON_STD_SIZE (35)
// On-screen map centre cursor
#define DK10_CURSOR (32)