#ifndef _TUI_LAYOUT_H_
#define _TUI_LAYOUT_H_

#include <stdint.h>
#include "TuiKeypad.h"

typedef enum EScreenType
{
	SCREEN_TYPE_DEFAULT,
	SCREEN_TYPE_WINNER_SUB,
	SCREEN_TYPE_WINNER_MAIN
} EScreenType;

#ifdef __cplusplus
extern "C" {
#endif
	
	void initLayout();
	void setScreenType(EScreenType type);
	EScreenType getScreenType();

#ifdef __cplusplus
}
#endif

//screen
extern float SCREEN_PIX_PER_DP;
extern uint32_t SCREEN_PUNCHCUT_HEIGHT;
extern uint32_t SCREEN_WIDTH;
extern uint32_t SCREEN_HEIGHT;

extern uint32_t BACKUP_MNEMONIC_LIST_COLUMN_COUNT;
extern uint32_t BACKUP_MNEMONIC_LIST_TOP_MARGIN;
extern uint32_t BACKUP_MNEMONIC_LIST_SIDE_MARGIN;
extern uint32_t BACKUP_MNEMONIC_LIST_TEXTBOX_HEIGHT;
extern uint32_t BACKUP_MNEMONIC_LIST_NUMBER_WIDTH;
extern uint32_t BACKUP_MNEMONIC_LIST_NUMBER_DISTANCE;
extern uint32_t BACKUP_MNEMONIC_LIST_TEXTBOX_DISTANCE;
extern uint32_t BACKUP_MNEMONIC_LIST_TEXTBOX_LINE_DISTANCE;

extern uint32_t BACKUP_QUIZ_TEXTINPUT_START_TOP_MARGIN;
extern uint32_t BACKUP_QUIZ_TEXTINPUT_LEFT_MARGIN;
extern uint32_t BACKUP_QUIZ_TEXTINPUT_WIDTH;
extern uint32_t BACKUP_QUIZ_TEXTINPUT_HEIGHT;
extern uint32_t BACKUP_QUIZ_TEXTINPUT_LINE_DISTANCE;
extern uint32_t BACKUP_QUIZ_BUTTON_START_TOP_MARGIN;
extern uint32_t BACKUP_QUIZ_BUTTON_LEFT_MARGIN;
extern uint32_t BACKUP_QUIZ_BUTTON_WIDTH;
extern uint32_t BACKUP_QUIZ_BUTTON_HEIGHT;
extern uint32_t BACKUP_QUIZ_NEXT_DISTANCE;
extern uint32_t BACKUP_QUIZ_KEYPAD_START_X;
extern uint32_t BACKUP_QUIZ_KEYPAD_START_Y;

//confirm
extern uint32_t CONFIRM_TEXT_SIDE_MARGIN;
extern uint32_t CONFIRM_TEXT_ADDRESS_TOP_MARGIN;
extern uint32_t CONFIRM_TEXT_ADDRESS_HEIGHT;
extern uint32_t CONFIRM_TEXT_2ND_ADDRESS_Y_DISTANCE;
extern uint32_t CONFIRM_TEXT_AREA_WIDTH;
extern uint32_t CONFIRM_DIVIDER_SIDE_MARGIN;
extern uint32_t CONFIRM_DIVIDER_LINE_DISTANCE;
extern uint32_t CONFIRM_DIVIDER_LINE_DISTANCE2;
extern uint32_t CONFIRM_TEXT_TOKEN_NAME_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_TOKEN_AMOUNT_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_AMOUNT_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_GAS_SIDE_MARGIN;
extern uint32_t CONFIRM_TEXT_GAS_PRICE_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_GAS_LIMIT_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_DATA_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_DATA_LENGTH_LINE_DISTANCE;
extern uint32_t CONFIRM_TEXT_DATA_LINE_FIXED_DISTANCE;

//keypad
extern uint32_t CONTROL_KEYPAD_BUTTON_DISTANCE_WIDTH;
extern uint32_t CONTROL_KEYPAD_BUTTON_DISTANCE_HEIGHT;
extern uint32_t CONTROL_KEYPAD_BUTTON_MARGIN_WIDTH;
extern uint32_t CONTROL_KEYPAD_BUTTON_MARGIN_HEIGHT;
extern uint32_t CONTROL_KEYPAD_BUTTON_WIDTH;
extern uint32_t CONTROL_KEYPAD_BUTTON_HEIGHT;
extern uint32_t CONTROL_KEYPAD_TOP_MARGIN;
extern uint32_t CONTROL_KEYPAD_SIDE_MARGIN_LEFT;
extern uint32_t CONTROL_KEYPAD_SIDE_MARGIN_RIGHT;
extern uint32_t CONTROL_KEYPAD_BACK_SPACE_WIDTH;
extern uint32_t CONTROL_KEYPAD_BACK_SPACE_HEIGHT;

extern int32_t keypadLoctionAdjustment[CONTROL_KEYPAD_COLUMN_COUNT * 3][2];
extern int32_t backspaceLoctionAdjustment[2];

//restore
extern uint32_t RESTORE_KEYPAD_START_X;
extern uint32_t RESTORE_KEYPAD_START_Y;
extern uint32_t RESTORE_MNEMONIC_TEXTBOX_WIDTH;
extern uint32_t RESTORE_MNEMONIC_TEXTBOX_HEIGHT;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_START_X;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_START_Y;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_WIDTH;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_HEIGHT;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_CURSOR_MARGIN;
extern uint32_t RESTORE_MNEMONIC_TEXTINPUT_LINE_START_Y;
extern uint32_t RESTORE_MNEMONIC_LIST_TEXT_AREA_TOP_MARGIN;
extern uint32_t RESTORE_MNEMONIC_LIST_TEXT_AREA_SIDE_MARGIN;
extern uint32_t RESTORE_MNEMONIC_LIST_TEXT_AREA_WIDTH;
extern uint32_t RESTORE_MNEMONIC_LIST_TEXT_AREA_HEIGHT;
extern uint32_t RESTORE_MNEMONIC_LIST_TOP_MARGIN;
extern uint32_t RESTORE_MNEMONIC_LIST_SIDE_MARGIN;
extern uint32_t RESTORE_MNEMONIC_LIST_MAX_COUNT;
extern uint32_t RESTORE_MNEMONIC_LIST_COLUMN_COUNT;
extern uint32_t RESTORE_MNEMONIC_LIST_LINE_DISTANCE;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_TOP_MARGIN;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_SIDE_MARGIN;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_COLUMN_COUNT;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_LINE_DISTANCE;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_WIDTH;
extern uint32_t RESTORE_MNEMONIC_RECOMMEND_HEIGHT;

#endif // _TUI_LAYOUT_H_