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