78 Commits

Author SHA1 Message Date
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
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
746101010f
(Apple/Clang/ARC) ARC (Automatic Reference Counting) only available (#11920)
since Clang. PowerPC Mac is stuck with GCC and predates the use of ARC,
__has_feature() also is a Clang extension, so wrap around this with a
conditional so that GCC PowerPC on Mac can still work
2021-01-21 08:53:16 +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
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
1e9f6f175e (OSX) Fix PowerPC build 2021-01-17 05:02:07 +01:00
twinaphex
225b851eb6 Cleanups 2021-01-16 22:04:11 +01:00
Twinaphex
1d4ff9bedd Take out HAVE_MENU ifdef in cocoa_common.h 2021-01-16 21:47:14 +01:00
twinaphex
757ea32782 Go back to CocoaView pointer in prototype 2021-01-16 20:37:56 +01:00
twinaphex
4e74a6f8b1 Attempt to fix build for iOS 2021-01-16 17:02:25 +01:00
twinaphex
9ddc39af59 Buildfix 2020-12-27 20:01:41 +01:00
Twinaphex
cec774ba3b RAMenuBase can be removed now 2020-09-15 19:36:40 +02:00
twinaphex
9245e3bd6b Cleanups 2020-09-15 19:30:44 +02: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
42e4854245 replaced confusing ifdef with a more concise #if TARGET_OS_OSX 2020-07-19 07:57:10 -10:00
Yoshi Sugawara
eed84b3021 re-created RetroArch_iOS11_Metal.xcodeproj with the appropriate compiler flags and fixed building for both metal and opengl; hardcoding the metal drawable size for now for testing 2020-07-18 07:47:10 -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
932071952d (OSX) Buildfix 2019-11-20 11:19:18 +01:00
twinaphex
e3506ed06b Move nsview_get_ptr to cocoa_common 2019-11-20 02:24:03 +01:00
Twinaphex
511f43d5cf Move it to cocoa_gl_ctx.m 2019-09-22 11:26:06 +02:00
Twinaphex
83f1b28f98 Revert "(Cocoa) Move nsview_get_ptr and nsview_set_ptr to cocoa_gl_ctx.m"
This reverts commit 4f564360e7ba3df82e496d8dec8ca1a0dc3d4261.
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
ad1fb29092 (Metal) Refactor 2019-09-22 10:28:51 +02:00
twinaphex
b9db1c1702 Add function prototype to cocoa_common.h 2019-02-10 02:13:57 +01:00
twinaphex
5733ed9a29 Move these defines to cocoa_common.h 2019-02-10 02:11:22 +01:00
Twinaphex
47ed8d3627 (iOS) Buildfix 2019-02-09 04:43:15 +01:00
twinaphex
1a8ad73c3f (Cocoa) Unify both headers 2019-02-09 04:40:38 +01:00
twinaphex
f64f598987 (Apple) Header buildfixes 2019-02-09 04:28:28 +01:00
twinaphex
ef8d1ad406 (Cocoa) Create common shared header file 2019-02-09 04:21:01 +01:00
twinaphex
acf71fc46c Header guards should not be identical to cocoa_common_metal.h 2019-02-09 04:13:53 +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
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
bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08: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
Stuart Carnie
c7b21d5bd6 feat(Metal): Add support to disable display sleep (no screen saver) 2018-07-04 13:13:03 -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
Twinaphex
511044270b Fix iOS build 2018-06-21 08:37:08 +02: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
gblues
6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
Twinaphex
b11bfc8a73 Add ui_companion_driver_get_main_window 2016-06-12 19:29:07 +02:00
twinaphex
b4085b6118 Hide Qt wrapper code behind an ifdef - HAVE_QT_WRAPPER, set this to
1 in Makefile.common in order to use it
2016-06-09 19:51:50 +02:00
twinaphex
047ffe9d30 Remove apple_display_alert 2016-06-08 07:19:19 +02:00
Twinaphex
860fb1d525 (Cocoa) Implement ui_window_cocoa_set_title 2016-06-04 08:09:55 +02:00
Twinaphex
7a564720fb (Cocoa) Buildfix 2016-06-04 08:00:19 +02:00
twinaphex
93e17b46bd Cleanups 2016-02-26 13:32:56 +01:00