329 Commits

Author SHA1 Message Date
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
Vladimir Serbinenko
4e24fb3d01
Add osx-ppc compilation for frontend (#13532)
* Fix old osx condition

Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not
true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat
binaries it includes osx x86 and compilation fails.

* Disable crtswitchres when no c++11 is available

Crtswitchres altually needs c++11. Since it's not that important to make
it compatible with lower c++, just disable if no c++11 is available

* Don't use firstObject on old Mac OS X.

It was introduced in 10.6, so on old ones just implement it ourselves

* Compile osx-ppc frontend

* osx-ppc: Build a fat binary

On 10.6 i386 xcode apparently refuses to build a pure ppc.
Settle for a fat binary.
2022-01-24 16:22:07 +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
ee77cd7288 Move cocoa_defines.h to defines/ 2021-03-08 03:58:41 +01:00
twinaphex
01c163a2fa (Cocoa) Combine Cocoa files into one 2021-03-08 00:28:21 +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
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
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
0294b0c626 (Cocoa) Don't use NSEventModifierFlags type anymore - just
use NSUInteger instead
2021-01-18 20:41:30 +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
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
Autechre
7b90da4af7
Update cocoa_common.m 2020-12-28 07:52:08 +01:00
twinaphex
9ddc39af59 Buildfix 2020-12-27 20:01:41 +01:00
twinaphex
f65ecf24f1 Go back to ObjC file 2020-12-27 16:49:05 +01:00
twinaphex
899ad1cf88 Buildfix for OSX 2020-10-01 17:22:00 +02: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
ddfbd38610 Cleanups 2020-09-15 20:40:24 +02:00
twinaphex
c9938eb316 Cleanups 2020-09-15 19:48:43 +02: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
twinaphex
91205d17f6 Cut down on else codeblock here - it's identical 2020-09-15 18:59:45 +02:00
Twinaphex
88e927cf94 Convert ui_cocoa_application.m to C 2020-09-14 17:12:57 +02:00
Twinaphex
a8beb91f0f Reimplement ui_application_cocoa_process_event 2020-09-14 16:50:26 +02:00
Twinaphex
b1723f7cd0 Remove unused CocoaTouch menu - allows us to get rid of a lot of
dead code
2020-08-09 19:41:04 +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
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