Skip to content

280-ensure-ios-implementation-does-not-break-anything_4 Ready for PR - #315

Draft
Johnnyg63 wants to merge 1 commit into
developfrom
280-ensure-ios-implementation-does-not-break-anything_4
Draft

Johnnyg63 wants to merge 1 commit into
developfrom
280-ensure-ios-implementation-does-not-break-anything_4

Conversation

@Johnnyg63

Copy link
Copy Markdown
Collaborator

This pull request adds initial support for iOS as a build and runtime target. The main changes include platform detection for iOS, updates to OpenGL ES and image loader integration, and the introduction of a new C API header for iOS-specific functionality. The changes touch platform configuration, build system, OpenGL abstraction, and application API surfaces.

iOS Platform Support

  • Added detection of iOS and iOS Simulator in config.h, defining OLC_HOST_IOS and related macros for proper platform differentiation.
  • Updated the list of tested platforms in README.md to include iOS.

Build System Integration

  • Updated Helpers.cmake to link iOS-specific frameworks (UIKit, Foundation, CoreGraphics, QuartzCore, Metal, MetalKit, OpenGLES, GLKit) when building examples for iOS.

OpenGL ES and Platform Abstraction

  • Modified OpenGL abstraction in api_opengl.h and api_opengl.cpp to support iOS, including conditional compilation, header inclusion, and function pointer typedefs for OpenGL ES. [1] [2] [3] [4] [5] [6] [7] [8]
  • Added iOS-specific diagnostic pragmas and friendly host naming for iOS builds. [1] [2] [3]

Image Loader and Core Integration

  • Defined a new image loader type and class for iOS, and updated core.cpp to include the iOS image loader and host files. [1] [2] [3] [4]

iOS Application API

  • Introduced a new header api_ios.h providing a C API for iOS-specific application, view controller, OpenGL ES renderer, image loader, and event handling (touch, keyboard, orientation, etc.). This enables integration with iOS runtime and Objective-C APIs.

@Johnnyg63 Johnnyg63 self-assigned this Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant