Commit Graph

153 Commits

Author SHA1 Message Date
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 18a6880900.
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
Twinaphex a6ec5a9831 Should now work 2019-09-22 11:19:54 +02:00
Twinaphex 6fe4559b8e Revert "(Cocoa) See if this works"
This reverts commit 1ddd7ee79d.
2019-09-22 10:54:11 +02:00
Twinaphex 83f1b28f98 Revert "(Cocoa) Move nsview_get_ptr and nsview_set_ptr to cocoa_gl_ctx.m"
This reverts commit 4f564360e7.
2019-09-22 10:54:01 +02:00
twinaphex 4f564360e7 (Cocoa) Move nsview_get_ptr and nsview_set_ptr to cocoa_gl_ctx.m 2019-09-22 10:48:23 +02:00
twinaphex 1ddd7ee79d (Cocoa) See if this works 2019-09-22 10:43:31 +02:00
twinaphex ad1fb29092 (Metal) Refactor 2019-09-22 10:28:51 +02:00
Twinaphex 6a9feb7978 (OSX) Refactor this so that we always set the userdata
pointer so we can use the new set_title codepaths - will
have to check how to reduce the overhead in nsview_get_ptr
later
2019-09-22 10:19:03 +02:00
Twinaphex 9f0f53b1d7 (OSX) Correct userdata 2019-09-22 08:16:43 +02:00
twinaphex fbb8a9640c (OSX) Set pointer for HAVE_COCOA_METAL too 2019-09-22 08:00:39 +02:00
twinaphex 2135e86fc7 (Cocoa) Set video display driver userdata for Cocoa 2019-09-22 07:49:43 +02:00
orbea e13ec54dc6 Fix --disable-overlay. 2019-07-21 10:26:42 -07:00
Twinaphex e6e4d09c33 (OSX) Silence warning 2019-07-10 05:50:26 +02:00
Twinaphex 5d56302a31
Merge pull request #9033 from yoshisuga/ios_remove_pause_indicator
iOS: remove pause indicator
2019-06-29 12:12:32 +02:00
twinaphex 5db8da3fc8 (Cocoa) Buildfix 2019-06-17 15:19:00 +02:00
twinaphex 3581786708 Merge camera_driver.c with retroarch.c 2019-06-17 11:18:27 +02:00
Yoshi Sugawara 45b36d7d47 iOS: remove pause indicator; show the native UI menu using 4-finger swipe down gesture 2019-06-14 08:35:33 -10:00
Chuck Smith ac2c6bdac2 correctly centers screen on iPhone X landscape 2019-05-19 21:11:30 +02:00
twinaphex 83497d5029 (iOS) Buildfix 2019-02-10 02:28:12 +01:00
twinaphex 35ee386274 (Metal/OSX) Merge cocoa_common.m and cocoa_common_metal.m - more or less the same
code
2019-02-09 21:10:28 +01:00
twinaphex f705503531 (Apple) Get rid of HAVE_CORELOCATION/HAVE_AVFOUNDATION - was mostly dormant
code and makes the Apple code needlessly complex right now. We can
always reintroduce this later on when the time is right
2019-02-07 04:03:52 +01:00
twinaphex d1edfabddb Revert "Move code to cocoa_common.m"
This reverts commit d3da2e2616.
2019-02-07 03:25:01 +01:00
twinaphex d3da2e2616 Move code to cocoa_common.m 2019-02-07 03:20:33 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
Yoshi Sugawara 11bf1e05b1 remove logging code 2019-02-03 08:59:24 -10:00
Yoshi Sugawara a18512375b Support for tvOS
- add tvOS target
    - support code signing tvOS cores by adding an argument to the code signing cores script
    - use NSCachesDirectory for the documents directory
    - add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
    - autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
    - added a webserver to transfer files for tvOS
    - xcode: clean up project, remove unused folders
    - remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
    - added retroarch app icon courtesy of @MrJs
    - added auto-detect of mfi controller for apple tv
2019-01-29 10:13:46 -10:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
Yoshi Sugawara 83c1199403 iOS: Hide home screen indicator and make the user swipe twice to go home/app switching for iPhone X/2018 iPad Pro 2018-11-27 09:37:21 -10:00
Stuart Carnie 5c1075127b
chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
Yoshi Sugawara f071460d7a use safe area to account for notch for iPhone X and adjust main view size 2018-09-23 22:45:44 -10:00
Stuart Carnie a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Stuart Carnie 789933b333 wip: add Vulkan support to Apple platforms 2018-05-13 21:35:23 +02:00
twinaphex faab2526c8 Create gl_bind_texture 2017-11-10 03:55:10 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
Twinaphex 183dc914c4 (Cocoa) Add stub scrollWheel callback 2016-10-05 02:00:11 +02:00
twinaphex db6171676a Use retro_assert everywhere 2016-09-08 11:59:44 +02:00
neville f170856374 (OSX) Fixes 2016-06-08 07:41:59 +02:00
Twinaphex f17b4fba05 Rename ui_cocoa_window.h 2016-06-07 16:47:48 +02:00
Twinaphex e4d202458a (iOS) Buildfix 2016-06-05 07:01:04 +02:00
Twinaphex 4b0401462f (OSX) Buildfixes 2016-06-04 17:34:01 +02:00
Twinaphex bb5107b5fa Don't use ui_cocoa_window_set_droppable for now 2016-06-04 08:45:20 +02:00
twinaphex 47c7330cc8 Add set_droppable 2016-06-04 08:38:38 +02:00
Twinaphex cbae4af38a (OSX) Add preliminary drag and drop code 2016-06-03 19:21:37 +02:00
twinaphex ce5d065014 Cast as NSUInteger 2016-05-02 14:54:08 +02:00
twinaphex 3f3a305396 (CocoaTouch) Buildfix 2016-01-18 22:15:19 +01:00
twinaphex 91de59c7ff (Cocoa) Cleanups 2016-01-18 22:10:16 +01:00
twinaphex 29f6d23d90 (Cocoa) Buildfix 2015-12-05 17:20:11 +01:00
twinaphex f0b4f216b9 Attempt to fix iOS build errors 2015-12-05 17:15:32 +01:00
twinaphex 239ae7de53 Move gl_common to gfx/common 2015-11-17 08:01:33 +01:00
Twinaphex 5fc267d24a (OSX/iOS) get_chosen_screen buildfixes 2015-11-14 22:26:07 +01:00
Twinaphex 546fb36492 (cocoa_common) Cleanup 2015-11-05 22:13:49 +01:00
Twinaphex 22cae6189c More backwards compatible version of PR 2015-11-05 22:11:46 +01:00
twinaphex 135ee2f503 Use UINT64_C(1) everywhere instead of 1ULL 2015-07-12 07:53:46 +02:00
Twinaphex dcac3bf21f Move RANumberFormatter to cocoatouch_menu.m 2015-04-21 01:14:10 +02:00
twinaphex e8a8b378d5 (Cocoa) Rename RAGameView to CocoaView 2015-04-20 20:39:39 +02:00