1 #ifndef LAPTOP_H
2 #define LAPTOP_H
3 
4 #include "MessageBoxScreen.h"
5 #include "MouseSystem.h"
6 #include "ScreenIDs.h"
7 #include "Types.h"
8 #include "UILayout.h"
9 
10 #include <string_theory/string>
11 
12 
13 void ExitLaptop(void);
14 void HandleLapTopESCKey(void);
15 void SetBookMark(INT32 iBookId);
16 void SetLaptopExitScreen(ScreenID uiExitScreen);
17 void SetLaptopNewGameFlag(void);
18 void LapTopScreenCallBack(MOUSE_REGION* pRegion, INT32 iReason);
19 void HandleRightButtonUpEvent(void);
20 void DoLapTopMessageBox(MessageBoxStyleID ubStyle, const ST::string& str, ScreenID uiExitScreen, MessageBoxFlags ubFlags, MSGBOX_CALLBACK ReturnCallback);
21 void GoToWebPage(INT32 iPageId);
22 void WebPageTileBackground(UINT8 ubNumX, UINT8 ubNumY, UINT16 usWidth, UINT16 usHeight, const SGPVObject* background);
23 void BlitTitleBarIcons(void);
24 void HandleKeyBoardShortCutsForLapTop(UINT16 usEvent, UINT32 usParam, UINT16 usKeyState);
25 void RenderWWWProgramTitleBar(void);
26 void DisplayProgramBoundingBox(BOOLEAN fMarkButtons);
27 void DoLapTopSystemMessageBox(const ST::string& str, ScreenID uiExitScreen, MessageBoxFlags usFlags, MSGBOX_CALLBACK ReturnCallback);
28 void CreateFileAndNewEmailIconFastHelpText(UINT32 uiHelpTextID, BOOLEAN fClearHelpText);
29 void InitLaptopAndLaptopScreens(void);
30 
31 // clear out all temp files from laptop
32 void ClearOutTempLaptopFiles(void);
33 
34 void HaventMadeImpMercEmailCallBack(void);
35 
36 
37 enum LaptopMode
38 {
39 	LAPTOP_MODE_NONE = 0,
40 	LAPTOP_MODE_FINANCES,
41 	LAPTOP_MODE_PERSONNEL,
42 	LAPTOP_MODE_HISTORY,
43 	LAPTOP_MODE_FILES,
44 	LAPTOP_MODE_FILES_ENRICO,
45 	LAPTOP_MODE_FILES_PLANS,
46 	LAPTOP_MODE_EMAIL,
47 	LAPTOP_MODE_EMAIL_NEW,
48 	LAPTOP_MODE_EMAIL_VIEW,
49 	LAPTOP_MODE_WWW,
50 	LAPTOP_MODE_AIM,
51 	LAPTOP_MODE_AIM_MEMBERS,
52 	LAPTOP_MODE_AIM_MEMBERS_FACIAL_INDEX,
53 	LAPTOP_MODE_AIM_MEMBERS_SORTED_FILES,
54 	LAPTOP_MODE_AIM_MEMBERS_SORTED_FILES_VIDEO,
55 	LAPTOP_MODE_AIM_MEMBERS_ARCHIVES,
56 	LAPTOP_MODE_AIM_POLICIES,
57 	LAPTOP_MODE_AIM_HISTORY,
58 	LAPTOP_MODE_AIM_LINKS,
59 	LAPTOP_MODE_MERC,
60 	LAPTOP_MODE_MERC_ACCOUNT,
61 	LAPTOP_MODE_MERC_NO_ACCOUNT,
62 	LAPTOP_MODE_MERC_FILES,
63 	LAPTOP_MODE_BOBBY_R,
64 	LAPTOP_MODE_BOBBY_R_GUNS,
65 	LAPTOP_MODE_BOBBY_R_AMMO,
66 	LAPTOP_MODE_BOBBY_R_ARMOR,
67 	LAPTOP_MODE_BOBBY_R_MISC,
68 	LAPTOP_MODE_BOBBY_R_USED,
69 	LAPTOP_MODE_BOBBY_R_MAILORDER,
70 	LAPTOP_MODE_CHAR_PROFILE,
71 	LAPTOP_MODE_CHAR_PROFILE_QUESTIONAIRE,
72 	LAPTOP_MODE_FLORIST,
73 	LAPTOP_MODE_FLORIST_FLOWER_GALLERY,
74 	LAPTOP_MODE_FLORIST_ORDERFORM,
75 	LAPTOP_MODE_FLORIST_CARD_GALLERY,
76 	LAPTOP_MODE_INSURANCE,
77 	LAPTOP_MODE_INSURANCE_INFO,
78 	LAPTOP_MODE_INSURANCE_CONTRACT,
79 	LAPTOP_MODE_INSURANCE_COMMENTS,
80 	LAPTOP_MODE_FUNERAL,
81 	LAPTOP_MODE_BROKEN_LINK,
82 	LAPTOP_MODE_BOBBYR_SHIPMENTS,
83 	LAPTOP_MODE_END
84 };
85 
86 extern LaptopMode  guiCurrentLaptopMode;
87 extern LaptopMode  guiPreviousLaptopMode;
88 extern INT32       giCurrentSubPage;
89 extern BOOLEAN     fReDrawScreenFlag;
90 extern BOOLEAN     fPausedReDrawScreenFlag;
91 extern BOOLEAN     fLoadPendingFlag;
92 extern BOOLEAN     fReDrawPostButtonRender;
93 extern BOOLEAN     fCurrentlyInLaptop;
94 extern SGPVObject* guiLaptopBACKGROUND;
95 extern SGPVObject* guiTITLEBARICONS;
96 extern BOOLEAN     fDoneLoadPending;
97 extern BOOLEAN     fConnectingToSubPage;
98 extern BOOLEAN     fFastLoadFlag;
99 extern BOOLEAN     gfShowBookmarks;
100 extern BOOLEAN     fShowBookmarkInfo;
101 extern BOOLEAN     fReDrawBookMarkInfo;
102 
103 // bookamrks for WWW bookmark list
104 
105 
106 #define LAPTOP_X (0 + STD_SCREEN_X)
107 #define LAPTOP_Y (0 + STD_SCREEN_Y)
108 
109 
110 #define LAPTOP_SCREEN_UL_X		(UINT16)(111 + STD_SCREEN_X)
111 #define LAPTOP_SCREEN_UL_Y		(UINT16)( 27 + STD_SCREEN_Y)
112 #define LAPTOP_SCREEN_LR_X		(UINT16)(613 + STD_SCREEN_X)
113 #define LAPTOP_SCREEN_LR_Y		(UINT16)(427 + STD_SCREEN_Y)
114 #define LAPTOP_UL_X 			(UINT16)(24  + STD_SCREEN_X)
115 #define LAPTOP_UL_Y			(UINT16)(27  + STD_SCREEN_Y)
116 #define LAPTOP_SCREEN_WIDTH		(UINT16)(LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X)
117 #define LAPTOP_SCREEN_HEIGHT		(UINT16)(LAPTOP_SCREEN_LR_Y - LAPTOP_SCREEN_UL_Y)
118 
119 // new positions for web browser
120 #define LAPTOP_SCREEN_WEB_UL_Y		LAPTOP_SCREEN_UL_Y + 19
121 #define LAPTOP_SCREEN_WEB_LR_Y		LAPTOP_SCREEN_WEB_UL_Y + LAPTOP_SCREEN_HEIGHT
122 #define LAPTOP_SCREEN_WEB_DELTA_Y	LAPTOP_SCREEN_WEB_UL_Y - LAPTOP_SCREEN_UL_Y
123 
124 
125 // the bookmark values, move cancel down as bookmarks added
126 
127 enum{
128 	AIM_BOOKMARK = 0,
129 	BOBBYR_BOOKMARK,
130 	IMP_BOOKMARK,
131 	MERC_BOOKMARK,
132 	FUNERAL_BOOKMARK,
133 	FLORIST_BOOKMARK,
134 	INSURANCE_BOOKMARK,
135 	CANCEL_STRING,
136 };
137 
138 
139 #define DEAD_MERC_COLOR_RED   255
140 #define DEAD_MERC_COLOR_GREEN  55
141 #define DEAD_MERC_COLOR_BLUE   55
142 
143 
144 void DoLapTopSystemMessageBoxWithRect(MessageBoxStyleID ubStyle, const ST::string& str, ScreenID uiExitScreen, MessageBoxFlags usFlags, MSGBOX_CALLBACK ReturnCallback, SGPBox const* centering_rect);
145 
146 void     LaptopScreenInit(void);
147 ScreenID LaptopScreenHandle(void);
148 void     LaptopScreenShutdown(void);
149 
150 #endif
151