GLCanvasManager.m 1.34 KB
Newer Older
1 2 3
#import "GLCanvasManager.h"
#import "GLCanvas.h"
#import "RCTConvert+GLData.h"
4 5
#import "RCTSparseArray.h"
#import "RCTUIManager.h"
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#import "RCTLog.h"
#import <UIKit/UIKit.h>

@implementation GLCanvasManager

RCT_EXPORT_MODULE();

- (instancetype)init
{
  self = [super init];
  if (self) {
  }
  return self;
}

21
RCT_EXPORT_VIEW_PROPERTY(nbContentTextures, NSNumber);
22
RCT_EXPORT_VIEW_PROPERTY(opaque, BOOL);
23 24
RCT_EXPORT_VIEW_PROPERTY(autoRedraw, BOOL);
RCT_EXPORT_VIEW_PROPERTY(eventsThrough, BOOL);
25
RCT_EXPORT_VIEW_PROPERTY(visibleContent, BOOL);
26
RCT_EXPORT_VIEW_PROPERTY(data, GLData);
27
RCT_EXPORT_VIEW_PROPERTY(renderId, NSNumber);
28
RCT_EXPORT_VIEW_PROPERTY(imagesToPreload, NSArray);
29 30
RCT_EXPORT_VIEW_PROPERTY(onLoad, BOOL);
RCT_EXPORT_VIEW_PROPERTY(onProgress, BOOL);
31
RCT_EXPORT_VIEW_PROPERTY(onChange, BOOL);
32

33 34 35 36 37 38 39 40 41 42 43 44 45
RCT_EXPORT_METHOD(capture: (nonnull NSNumber *)reactTag callback:(RCTResponseSenderBlock)callback)
{
  [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, RCTSparseArray *viewRegistry) {
    GLCanvas *view = viewRegistry[reactTag];
    if (![view isKindOfClass:[GLCanvas class]]) {
      RCTLog(@"expecting UIView, got: %@", view);
      callback(@[@"view is not a GLCanvas"]);
    }
    else {
      [view capture:callback];
    }
  }];
}
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
46

47 48 49
- (UIView *)view
{
  GLCanvas * v;
50
  v = [[GLCanvas alloc] initWithBridge:self.bridge];
51 52 53 54 55
  return v;
  
}

@end