109 Commits

Author SHA1 Message Date
Eric Warmenhoven
dda7776252 tvOS Siri remote handling
It's not really usable as a game controller, but it is good for going
through the menu as a simple LRUD.

This also adds better support for names of mFI controllers, as well as
being able to do the expected tvOS behavior of "backing out" of the app.
2023-05-10 08:41:09 +02:00
warmenhoven
c242586ea7
tvOS improvements (#14983)
The initial popup screen advertising the web server did not prevent
keys from passing through, so interactions with the alert would also
be handled by the menu. The alert would pop up any time there was a
network reconfiguration; now it only pops up once per run. Added a way
to turn off the webserver advertisement alert permanently.

Also fixed a bug around filtering the Siri remote out, and turning
controllers off while the app is running.
2023-02-15 11:59:06 +01:00
warmenhoven
ac2cceb905
Fix a few mac windowed mode settings (#14942)
* Use "Remember window position and size" setting (fixes #14806)
* Implement window opacity
* Enable "Show window decorations" toggle
* Hide "Disable composition" option (osx does not support disabling composition)
2023-02-03 07:32:30 +01:00
reallibretroadmin
3ae8e35d0e (iOS) Buildfix and cleanup some unused variables 2023-01-09 01:54:45 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
libretroadmin
7dfaae58f9 (UI) Cleanups; style nits 2022-11-23 05:08:15 +01:00
Richard
c0926ad1a1
feat(iOS13): Pointer Movement Accuracy (#14641)
Co-authored-by: Richard <rf2222222@github.com>
2022-11-18 19:45:36 +01:00
LibretroAdmin
46c2a9b950 (Cocoa) small style nits; don't use NSLog 2022-10-26 17:36:58 +02:00
Sergei Trofimovich
f5ee9e74ba
ui/drivers/cocoa: fix -fno-common build (#14204)
`llvm-11` changed the default from `-fcommon` to `-fno-common`:
  https://reviews.llvm.org/D75056

As a result build fails as:

    LD retroarch
    duplicate symbol '_apple_platform' in:
        obj-unix/release/ui/drivers/ui_cocoa.o
        obj-unix/release/ui/drivers/cocoa/cocoa_common.o
    duplicate symbol '_apple_platform' in:
        obj-unix/release/ui/drivers/ui_cocoa.o
        obj-unix/release/gfx/drivers_context/cocoa_gl_ctx.o
    ld: 2 duplicate symbols for architecture x86_64

The change moves `apple_platform` definition from `apple_platform.h`
to `cocoa_common.m` leaving only declaration in `apple_platform.h`.
2022-07-23 10:24:46 +02:00
twinaphex
95fad4d32c Cleanups 2022-04-13 15:08:22 +02:00
yoshisuga
01cb10d8b3
[iOS 13+] Support a toolbar that allows toggling of onscreen keyboard and touch mouse (#13700)
* Fetch translations from Crowdin

* Support for showing and hiding indicator and navigation bar

* Refactored to use a view model

* Support defining helper bar items and support showing/hiding keyboard

* reorganized source files into separate logical files

* Moved mouse support to swift (except for delegate implementation), added support for enabling touch mouse in helper bar; reorganized swift source files

* Reorganized keyboard files; added the touch mouse messages to the RA localization files; use the RA notification system

* change keyboard letters to uppercase for clarity

Co-authored-by: github-actions <github-actions@github.com>
2022-03-07 19:09:49 +01:00
yoshisuga
bc02f8319e
[iOS] New iOS 13 project to support Swift; Custom keyboard and touch mouse support (#13435)
* Support for Swift, added emulator keyboard

* fixed toggle key handling using magic number hack for now

* fixed keyboard transparency slider for now with suboptimal fix; add gesture recognizer to hide/show keyboard

* Support CocoaView extensions in Swift; move keyboard delegate impl and setup to swift extension

* moved keyboard view model creation out of EmulatorKeyboard

* implement key pressed delegate in swift extension

* added input method for directly sending RETROK_* codes to support a touchscreen keyboard; assign keyboard model delegates; updated keyboard layout (added F1-F12 keys); change shift, control and alt keys to be modifiers

* enable focus mode when custom keyboard is shown; enable/disable overlay when custom keyboard is toggled

* Specify -DHAVE_OPENGLES2 instead of -DHAVE_OPENGLES3 since glsym_es3.h does not compile in iOS 14.5
Fix tvOS build using compiler flags

* Create new project for iOS 13 deploy target; add check for deploy target to conditionally compile for new iOS 13 specific feature (custom keyboard)

* force disable core info caching for iOS, use opengl es2 for debug

* Add flag for iOS custom keyboard - 3-finger swipe up to show, 3-finger swipe down to hide

* use OpenGLES2 instead; using ES3 results in compile time errors on iOS 14.5

* code cleanup

* Updated references to -DDONT_WANT_ARM_ASM_OPTIMIZATIONS flag

* Add JIT support for non-jailbroken devices

* iOS: Add support for touch mouse handler

* Added a HAVE_IOS_TOUCHMOUSE preprocessor macro so that it builds under the iOS11_Metal xcode project

* Changed click-and-drag behavior to double tap hold and drag

* Visual improvements to the emulator keyboard: updated colors, improved key-press effect
2022-02-22 08:21:34 +01:00
twinaphex
0b16a64d40 Remove unused variables 2021-11-05 22:42:09 +01:00
twinaphex
18412e34c1 Some CXX_BUILD buildfixes for Mac 2021-11-05 02:16:40 +01:00
twinaphex
dbbf557954 (Metal/WindowListener) Fix duplicate symbol errors by
moving implementation of WindowListener to cocoa_common.m
2021-01-24 03:56:17 +01:00
Autechre
7ea1d7d0da
Revert "Mac buildfixes (#11933)" (#11934)
This reverts commit 18a6880900637cac7ebd26ca810c2b9f2382a5db.
2021-01-24 03:56:05 +01:00
Autechre
18a6880900
Mac buildfixes (#11933)
* (Metal/WindowListener) Fix duplicate symbol errors by
moving implementation of WindowListener to cocoa_common.m

* (Apple) Cleanup some conditionals

* (Cocoa) Cut down on OSX ifdefs in Cocoa-specific code
2021-01-24 03:53:10 +01:00
Autechre
a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Autechre
18170486cd
Update cocoa_common.m 2021-01-19 04:51:38 +01:00
Twinaphex
a83c328631 (Metal) Fix some build problems 2021-01-19 04:38:07 +01:00
Twinaphex
97d954912d (Apple) Buildfix 2021-01-18 21:21:17 +01:00
twinaphex
8d31c410a0 move cocoa_get_metrics to cocoa_common.m 2021-01-18 19:33:06 +01:00
twinaphex
a80a64f261 Add cocoa_update_title to cocoa_common.m 2021-01-18 19:28:36 +01:00
Twinaphex
3d17cf1e38 Move nsview_set/get/cocoaview_get to cocoa_common.m 2021-01-18 19:17:12 +01:00
Twinaphex
eea07ea367 (COcoa GL/Cocoa Common) Refactor code for eventual splitting up
of cocoa_gl_ctx.m into two files
2021-01-18 15:41:30 +01:00
twinaphex
f6d35ee462 (iOS) Cleanups 2021-01-18 03:03:35 +01:00
twinaphex
1e9f6f175e (OSX) Fix PowerPC build 2021-01-17 05:02:07 +01:00
Twinaphex
f6833cf595 Remove unused variables 2021-01-17 00:12:29 +01:00
twinaphex
93b1fbbcdc (Apple) Header cleanups 2021-01-17 00:06:33 +01:00
Autechre
7b90da4af7
Update cocoa_common.m 2020-12-28 07:52:08 +01:00
Twinaphex
0651185ea3 Cleanups 2020-09-17 21:57:35 +02:00
Twinaphex
4c1c0cc80d webServerDidCompleteBonjourRegistration - cleanup some code
duplication
2020-09-16 10:12:43 +02:00
Twinaphex
f8b4477b9a (Cocoa) Cleanups; group things together under TARGET_OSX and TARGET_IOS 2020-09-16 10:09:03 +02:00
Twinaphex
86c0ffaf39 (Cocoa) Cleanups 2020-09-15 20:50:20 +02:00
twinaphex
c9938eb316 Cleanups 2020-09-15 19:48:43 +02:00
twinaphex
91205d17f6 Cut down on else codeblock here - it's identical 2020-09-15 18:59:45 +02:00
Yoshi Sugawara
4456efa6c8 [iOS] Hide the home indicator as it obscures the content too frequently 2020-08-05 15:43:04 -10:00
Yoshi Sugawara
2187cf67c9 Support the ApplePlatform delegate for all iOS builds (the OpenGL one) so that the view initialization happens in the same way; remove the companion UI for iOS; four finger swipe down now shows RA menu on iOS 2020-07-20 15:38:24 -10:00
Yoshi Sugawara
6692a8797f added comments on why native companion menu is disabled 2020-07-19 08:04:17 -10:00
Yoshi Sugawara
42e4854245 replaced confusing ifdef with a more concise #if TARGET_OS_OSX 2020-07-19 07:57:10 -10:00
Yoshi Sugawara
82d6d8e876 add the metal view to the view controller view after initializing the metal view for iOS 2020-07-07 08:19:46 -10:00
Yoshi Sugawara
6308ba1acb support ApplePlatform for iOS and conform app delegate class to it, move app delegate class to apple_platform.h, fix metal references for iOS 2020-07-07 05:03:42 -10:00
twinaphex
861379d8e3 Revert code in hopes iOS works again 2019-11-20 06:25:40 +01:00
Twinaphex
d2d240ecf5 (iOS) Should fix iOS build problems 2019-11-20 02:58:17 +01:00
Twinaphex
540edd7b5d (iOS) Buildfix #1 2019-11-20 02:51:18 +01:00
twinaphex
e3506ed06b Move nsview_get_ptr to cocoa_common 2019-11-20 02:24:03 +01:00
Twinaphex
bac58c99c4 Buildfix 2019-11-20 02:24:03 +01:00
twinaphex
964fcda79a Move glkitview_init to cocoa_common.m 2019-11-20 02:24:02 +01:00
Yoshi Sugawara
2b415292c6 iOS: #9562: wrap call to get app delegate around a gcd main thread async call 2019-10-06 09:41:53 -10:00
Twinaphex
511f43d5cf Move it to cocoa_gl_ctx.m 2019-09-22 11:26:06 +02:00