-
Notifications
You must be signed in to change notification settings - Fork 73
/
Utilities.h
105 lines (56 loc) · 2.14 KB
/
Utilities.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//
// Utilities.h
// MCSketchPluginFramework
//
// Created by Matt Curtis on 10/2/15.
// Copyright © 2015 Matt. All rights reserved.
//
#import <MCSketchPluginFramework/SketchRuntime.h>
#import "MochaRuntime.h"
#ifndef Utilities_h
#define Utilities_h
#pragma mark -
#pragma mark General
Class GetClass(NSString *className);
#pragma mark -
#pragma mark Mocha
JSContext *JSContextOfMochaObject(MOJavaScriptObject *mochaObject);
JSValue *JSValueFromMochaObject(MOJavaScriptObject *mochaObject);
#pragma mark -
#pragma mark Text
CGFloat Sketch_GetTextHeight(CGFloat desiredTextWidth, MSTextLayer *textLayer);
CGSize Sketch_GetTextSize(MSTextLayer *textLayer);
#pragma mark -
#pragma mark Document
MSDocument *Sketch_GetCurrentDocument();
#pragma mark -
#pragma mark Page
MSPage *Sketch_GetCurrentPage();
#pragma mark -
#pragma mark Undo Registration
void Sketch_DisableUndoRegistration(MSDocument *document);
void Sketch_EnableUndoRegistration(MSDocument *document);
void Sketch_DisableUndoRegistrationInBlock(MSDocument *document, void(^block)());
#pragma mark -
#pragma mark Selection
NSArray *Sketch_GetSelectedLayers(MSDocument *document);
NSArray *Sketch_GetSelectedArtboards(MSDocument *document, BOOL linear, BOOL includeCurrentOrOnly);
#pragma mark -
#pragma mark Artboards
MSArtboardGroup *Sketch_GetCurrentArtboard(MSDocument *document);
MSArtboardGroup *Sketch_GetCurrentOrOnlyArtboard(MSDocument *document);
#pragma mark -
#pragma mark Geometry
CGRect Sketch_MSRectToCGRect(MSRect *rect);
NSRect Sketch_MSRectToNSRect(MSRect *rect);
void Sketch_SetMSRectWithCGRect(MSRect *msrect, CGRect cgrect);
void Sketch_SetMSRectWithNSRect(MSRect *msrect, NSRect nsrect);
CGRect Sketch_GetAbsoluteLayerFrame(MSLayer *layer);
CGRect Sketch_GetLayerFrameInContentDrawView(MSLayer *layer);
CGRect Sketch_GetLayerFrameInWindow(MSLayer *layer, MSDocument *document);
CGRect Sketch_GetLayerFrameInScreen(MSLayer *layer, MSDocument *document);
#pragma mark -
#pragma mark Layer to Images
NSData *Sketch_GetImageDataFromLayer(MSLayer *layer, double scale);
NSImage *Sketch_GetImageFromLayer(MSLayer *layer, double scale);
#endif /* Utilities_h */