Files
rive-ios/Source/Renderer/include/RenderContextManager.h
csmartdalton 98241a4d9d Remove Skia from iOS runtime
The Rive renderer is stable and ready for production now. This cuts the runtime size from 7.1 MB to 2.3.

Diffs=
32f7a05eb Remove Skia from iOS runtime (#6072)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-07-24 18:03:14 +00:00

34 lines
963 B
Objective-C

/*
* Copyright 2023 Rive
*/
#pragma once
#ifndef render_context_manager_h
#define render_context_manager_h
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, RendererType) { riveRenderer, cgRenderer };
@class RenderContext;
@class RiveFactory;
/// The RenderContextManager is used to allow us to share contexts (e.g., Skia, CG, Rive, ...),
/// while there are active view(s). It has weak refs to its render contexts, which means that when
/// no more RiveRenderViews require these, they can be freed.
@interface RenderContextManager : NSObject
@property RendererType defaultRenderer;
+ (RenderContextManager*)shared;
- (RenderContext*)getDefaultContext;
- (RenderContext*)getRiveRendererContext;
- (RenderContext*)getCGRendererContext;
// exposing these directly as RenderContext is not exposed
- (RiveFactory*)getDefaultFactory;
- (RiveFactory*)getSkiaFactory;
- (RiveFactory*)getCGFactory;
- (RiveFactory*)getRiveRendererFactory;
@end
#endif