22 #ifndef NANCY_UI_TASKBAR_CELLPHONEPOPUP_H 23 #define NANCY_UI_TASKBAR_CELLPHONEPOPUP_H 25 #include "engines/nancy/commontypes.h" 26 #include "engines/nancy/enginedata.h" 27 #include "engines/nancy/renderobject.h" 44 void registerGraphics()
override;
45 void updateGraphics()
override;
50 void toggle() {
if (_isVisible) close();
else open(); }
55 bool isInCall()
const {
return _screenState == kConnected; }
59 void setNoSignal(
bool noSignal);
62 void setBatteryLow(
bool low);
71 void addSearchLink(int16 mode,
const SearchLink &link);
91 enum ScreenState :
int {
95 kWaitOutgoingRing = 3,
117 void drawScreenContent();
118 void drawStatusIcons(
bool includeSignal =
true);
119 void drawWebDirLabels();
120 void drawDialLabel();
125 void drawTypeMessage();
126 void drawConnectedLabel();
127 void drawConnectingSprite();
128 void drawDialedNumber();
129 void drawHelpButton(uint state);
130 void drawCloseButton(
bool hovered);
131 void drawStatusLabels();
132 void drawDirectoryList();
133 void drawDirectoryArrows();
136 void drawWelcomeScreen();
143 void showMessageScreen(
const Common::Rect &tileSrc, ScreenState returnState);
146 void drawPictureView();
157 void enterCameraFraming();
158 void exitCameraFraming();
159 void drawCameraFraming();
163 bool canPageToPreviousPicture()
const;
164 bool canPageToNextPicture()
const;
168 void sendCurrentPicture(uint listRow);
172 void drawBackButton(uint subButtonIndex);
175 void drawHubButton(uint subButtonIndex);
178 void drawPressedDialKey();
186 void drawContentView();
190 void renderContentPage(
int surfaceWidth);
195 uint contentScrollStep()
const;
199 void openBrowserHome();
209 bool isZoomedChromeState()
const {
210 return _screenState == kWebList ||
211 _screenState == kEmailList ||
212 _screenState == kContentView;
218 bool isHelpContentView()
const {
219 return _screenState == kContentView && _uiclData &&
220 _contentHeading == &_uiclData->helpHeading;
225 bool isSubScreenState()
const {
226 return _screenState == kDirectory ||
227 _screenState == kOnlineHub ||
228 isZoomedChromeState();
232 void enterScreenState(ScreenState newState);
238 bool isDialKeyActive(uint slot)
const;
242 bool isCallBackButtonActive()
const {
243 return (_screenState == kPlaceCall || _screenState == kWaitOutgoingRing ||
244 _screenState == kLookupContact || _screenState == kWaitPickup) &&
245 !_hasPendingCallScene && _uiclData &&
246 !_uiclData->subButtons[0].destRect.
isEmpty();
250 void appendDigit(byte slotIndex);
259 bool callSoundIsStillPlaying()
const;
260 void triggerContactCallSceneChange(uint contactIndex);
261 int findContactByDialBuffer()
const;
265 uint maxDirectoryRows()
const;
269 int rowPitch()
const;
270 int rowTopScreen()
const;
271 bool isLinkListMode()
const {
return _screenState == kWebList || _screenState == kEmailList; }
272 bool isOnlineMode()
const {
return _screenState == kOnlineHub || isLinkListMode(); }
277 uint listTitleRows()
const {
return 0; }
281 bool hasCameraFeature()
const;
286 void startCallToContact(uint contactIndex);
288 int contactIndexForVisibleRow(uint visibleRow)
const;
289 uint visibleContactCount()
const;
291 uint currentListEntryCount()
const;
301 Common::Rect backButtonHitRect(uint subButtonIndex)
const;
304 int currentBackButtonIndex()
const;
306 uint contentViewBottomButton()
const;
308 bool isBrowserArticle()
const;
310 void moveDirectorySelection(
int delta);
313 void scrollLinkList(
int delta);
317 const UICL *_uiclData;
329 bool _closeButtonHovered =
false;
330 bool _scrollUpHovered =
false;
331 bool _scrollDownHovered =
false;
334 bool _helpButtonHovered =
false;
335 bool _backButtonHovered =
false;
337 ScreenState _screenState = kWelcome;
346 int _resolvedContact = -1;
348 int _hoveredSlot = -1;
351 int _pressedSlot = -1;
355 int _hoveredHubButton = -1;
359 bool _autoDialPending =
false;
362 uint _directoryScroll = 0;
363 uint _directorySelection = 0;
366 int _pictureIndex = 0;
369 bool _inCameraFraming =
false;
374 static const uint kMaxPictures = 50;
378 bool _sendingPicture =
false;
382 ScreenState _messageReturnState = kWelcome;
385 ScreenState _contentReturnState = kOnlineHub;
390 uint _contentScroll = 0;
395 int _openingEmailRow = -1;
396 uint32 _openingEmailTime = 0;
410 uint16 _contentCacheTextHeight = 0;
414 bool _noSignal =
false;
415 bool _batteryLow =
false;
420 bool _hasPendingCallScene =
false;
425 bool _callWasIncoming =
false;
428 bool _hasReturnScene =
false;
434 #endif // NANCY_UI_TASKBAR_CELLPHONEPOPUP_H Definition: managed_surface.h:51
Definition: commontypes.h:186
Definition: enginedata.h:630
Definition: soundequalizerpuzzle.h:27
Definition: renderobject.h:36
Definition: commontypes.h:249
Definition: puzzledata.h:353
bool isEmpty() const
Definition: rect.h:385
Definition: enginedata.h:664
Definition: commontypes.h:306
Definition: actionmanager.h:32