summaryrefslogtreecommitdiff
path: root/src/ui/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/window.c')
-rw-r--r--src/ui/window.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/ui/window.c b/src/ui/window.c
index d64e7ebf..75dffb56 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -45,6 +45,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
45#if defined (iPlatformAppleDesktop) 45#if defined (iPlatformAppleDesktop)
46# include "macos.h" 46# include "macos.h"
47#endif 47#endif
48#if defined (iPlatformAppleMobile)
49# include "ios.h"
50#endif
48 51
49#include <the_Foundation/file.h> 52#include <the_Foundation/file.h>
50#include <the_Foundation/path.h> 53#include <the_Foundation/path.h>
@@ -562,6 +565,11 @@ static void setupUserInterface_Window(iWindow *d) {
562 iWidget *div = makeVDiv_Widget(); 565 iWidget *div = makeVDiv_Widget();
563 setId_Widget(div, "navdiv"); 566 setId_Widget(div, "navdiv");
564 addChild_Widget(d->root, iClob(div)); 567 addChild_Widget(d->root, iClob(div));
568
569#if defined (iPlatformAppleMobile)
570 /* System status bar needs space. */
571 setPadding_Widget(div, 0, 4 * gap_UI, 0, 0);
572#endif
565 573
566#if defined (LAGRANGE_CUSTOM_FRAME) 574#if defined (LAGRANGE_CUSTOM_FRAME)
567 /* Window title bar. */ 575 /* Window title bar. */
@@ -650,7 +658,7 @@ static void setupUserInterface_Window(iWindow *d) {
650 setNotifyEdits_InputWidget(url, iTrue); 658 setNotifyEdits_InputWidget(url, iTrue);
651 setTextCStr_InputWidget(url, "gemini://"); 659 setTextCStr_InputWidget(url, "gemini://");
652 addChildFlags_Widget(navBar, iClob(url), expand_WidgetFlag); 660 addChildFlags_Widget(navBar, iClob(url), expand_WidgetFlag);
653 setPadding_Widget(as_Widget(url),0, 0, gap_UI * 1, 0); 661 setPadding_Widget(as_Widget(url), 0, 0, gap_UI * 1, 0);
654 /* Feeds refresh indicator is inside the input field. */ { 662 /* Feeds refresh indicator is inside the input field. */ {
655 iLabelWidget *fprog = new_LabelWidget(uiTextCaution_ColorEscape 663 iLabelWidget *fprog = new_LabelWidget(uiTextCaution_ColorEscape
656 "\u2605 Refreshing Feeds...", NULL); 664 "\u2605 Refreshing Feeds...", NULL);
@@ -980,6 +988,9 @@ void init_Window(iWindow *d, iRect rect) {
980 SDL_FreeSurface(surf); 988 SDL_FreeSurface(surf);
981 } 989 }
982#endif 990#endif
991#if defined (iPlatformAppleMobile)
992 setupWindow_iOS(d);
993#endif
983 d->root = new_Widget(); 994 d->root = new_Widget();
984 setFlags_Widget(d->root, focusRoot_WidgetFlag, iTrue); 995 setFlags_Widget(d->root, focusRoot_WidgetFlag, iTrue);
985 d->presentTime = 0.0; 996 d->presentTime = 0.0;
@@ -1175,7 +1186,6 @@ static iBool handleWindowEvent_Window_(iWindow *d, const SDL_WindowEvent *ev) {
1175 //updateRootSize_Window_(d, iTrue); 1186 //updateRootSize_Window_(d, iTrue);
1176 invalidate_Window_(d); 1187 invalidate_Window_(d);
1177 d->isMinimized = iFalse; 1188 d->isMinimized = iFalse;
1178 printf("restored %d\n", snap_Window(d)); fflush(stdout);
1179 return iTrue; 1189 return iTrue;
1180 case SDL_WINDOWEVENT_MINIMIZED: 1190 case SDL_WINDOWEVENT_MINIMIZED:
1181 d->isMinimized = iTrue; 1191 d->isMinimized = iTrue;
@@ -1316,10 +1326,14 @@ void draw_Window(iWindow *d) {
1316 const iBool gotFocus = (winFlags & SDL_WINDOW_INPUT_FOCUS) != 0; 1326 const iBool gotFocus = (winFlags & SDL_WINDOW_INPUT_FOCUS) != 0;
1317 /* Clear the window. The clear color is visible as a border around the window 1327 /* Clear the window. The clear color is visible as a border around the window
1318 when the custom frame is being used. */ { 1328 when the custom frame is being used. */ {
1329#if defined (iPlatformAppleMobile)
1330 const iColor back = get_Color(uiBackground_ColorId);
1331#else
1319 const iColor back = get_Color(gotFocus && d->place.snap != maximized_WindowSnap && 1332 const iColor back = get_Color(gotFocus && d->place.snap != maximized_WindowSnap &&
1320 ~winFlags & SDL_WINDOW_FULLSCREEN_DESKTOP 1333 ~winFlags & SDL_WINDOW_FULLSCREEN_DESKTOP
1321 ? uiAnnotation_ColorId 1334 ? uiAnnotation_ColorId
1322 : uiSeparator_ColorId); 1335 : uiSeparator_ColorId);
1336#endif
1323 SDL_SetRenderDrawColor(d->render, back.r, back.g, back.b, 255); 1337 SDL_SetRenderDrawColor(d->render, back.r, back.g, back.b, 255);
1324 SDL_RenderClear(d->render); 1338 SDL_RenderClear(d->render);
1325 } 1339 }