mirror of
https://github.com/rive-app/rive-ios.git
synced 2026-01-18 17:11:28 +01:00
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>
34 lines
963 B
Objective-C
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
|