summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-12-13 10:58:59 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-12-13 11:00:26 +0200
commitf45c27a85013cdf4261c8f0d5673e3ba5420cdd6 (patch)
tree971b3f0a02c38a29652127cba33924da1a5a3b46 /src/ui
parent806a3ce4d56c85d80b7d050c052caa1abbf1bd40 (diff)
Android: Various fixes to get things up and running
Resource paths, runtime data, ignore mouse events. Assume that the Java side tells us the display pixel density via a command line argument.
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/documentwidget.c4
-rw-r--r--src/ui/touch.c4
-rw-r--r--src/ui/window.c10
3 files changed, 13 insertions, 5 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 746e03e0..46af5fcd 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -1224,10 +1224,6 @@ static void showErrorPage_DocumentWidget_(iDocumentWidget *d, enum iGmStatusCode
1224 case tooManyRedirects_GmStatusCode: 1224 case tooManyRedirects_GmStatusCode:
1225 appendFormat_String(src, "=> %s\n", cstr_String(meta)); 1225 appendFormat_String(src, "=> %s\n", cstr_String(meta));
1226 break; 1226 break;
1227 case tlsFailure_GmStatusCode:
1228// useBanner = iFalse; /* valid data wasn't received from host */
1229// appendFormat_String(src, ">%s\n", cstr_String(meta));
1230 break;
1231 case tlsServerCertificateExpired_GmStatusCode: 1227 case tlsServerCertificateExpired_GmStatusCode:
1232 makeFooterButtons_DocumentWidget_( 1228 makeFooterButtons_DocumentWidget_(
1233 d, 1229 d,
diff --git a/src/ui/touch.c b/src/ui/touch.c
index 195d1dff..d6846572 100644
--- a/src/ui/touch.c
+++ b/src/ui/touch.c
@@ -42,7 +42,11 @@ iDeclareType(TouchState)
42 42
43static const uint32_t longPressSpanMs_ = 500; 43static const uint32_t longPressSpanMs_ = 500;
44static const uint32_t shortPressSpanMs_ = 250; 44static const uint32_t shortPressSpanMs_ = 250;
45#if defined (iPlatformAndroidMobile)
46static const int tapRadiusPt_ = 30; /* inaccurate sensors? */
47#else
45static const int tapRadiusPt_ = 10; 48static const int tapRadiusPt_ = 10;
49#endif
46 50
47enum iTouchEdge { 51enum iTouchEdge {
48 none_TouchEdge, 52 none_TouchEdge,
diff --git a/src/ui/window.c b/src/ui/window.c
index 0bbe588c..9f12cabf 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -263,6 +263,10 @@ static float pixelRatio_Window_(const iWindow *d) {
263# define baseDPI_Window 96.0f 263# define baseDPI_Window 96.0f
264#endif 264#endif
265 265
266#if defined (iPlatformAndroidMobile)
267float displayDensity_Android(void);
268#endif
269
266static float displayScale_Window_(const iWindow *d) { 270static float displayScale_Window_(const iWindow *d) {
267 /* The environment variable LAGRANGE_OVERRIDE_DPI can be used to override the automatic 271 /* The environment variable LAGRANGE_OVERRIDE_DPI can be used to override the automatic
268 display DPI detection. If not set, or is an empty string, ignore it. 272 display DPI detection. If not set, or is an empty string, ignore it.
@@ -289,6 +293,8 @@ static float displayScale_Window_(const iWindow *d) {
289#elif defined (iPlatformMsys) 293#elif defined (iPlatformMsys)
290 iUnused(d); 294 iUnused(d);
291 return desktopDPI_Win32(); 295 return desktopDPI_Win32();
296#elif defined (iPlatformAndroidMobile)
297 return displayDensity_Android();
292#else 298#else
293 if (isRunningUnderWindowSystem_App()) { 299 if (isRunningUnderWindowSystem_App()) {
294 float vdpi = 0.0f; 300 float vdpi = 0.0f;
@@ -457,7 +463,7 @@ void init_Window(iWindow *d, enum iWindowType type, iRect rect, uint32_t flags)
457 d->mouseGrab = NULL; 463 d->mouseGrab = NULL;
458 d->focus = NULL; 464 d->focus = NULL;
459 d->pendingCursor = NULL; 465 d->pendingCursor = NULL;
460 d->isExposed = iFalse; 466 d->isExposed = (deviceType_App() != desktop_AppDeviceType);
461 d->isMinimized = iFalse; 467 d->isMinimized = iFalse;
462 d->isInvalidated = iFalse; /* set when posting event, to avoid repeated events */ 468 d->isInvalidated = iFalse; /* set when posting event, to avoid repeated events */
463 d->isMouseInside = iTrue; 469 d->isMouseInside = iTrue;
@@ -541,6 +547,8 @@ void init_MainWindow(iMainWindow *d, iRect rect) {
541 SDL_SetHint(SDL_HINT_RENDER_DRIVER, "metal"); 547 SDL_SetHint(SDL_HINT_RENDER_DRIVER, "metal");
542 flags |= SDL_WINDOW_METAL; 548 flags |= SDL_WINDOW_METAL;
543 d->base.isExposed = iTrue; 549 d->base.isExposed = iTrue;
550#elif defined (iPlatformAndroidMobile)
551 d->base.isExposed = iTrue;
544#else 552#else
545 if (!forceSoftwareRender_App()) { 553 if (!forceSoftwareRender_App()) {
546 flags |= SDL_WINDOW_OPENGL; 554 flags |= SDL_WINDOW_OPENGL;