Skip to content

Commit bc05a8b

Browse files
committed
screencapturekit: Add bindings for screencapturekit
1 parent 2653e6a commit bc05a8b

14 files changed

+1103
-1
lines changed

macos/_examples/screencap/main.go

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package main
2+
3+
import (
4+
"errors"
5+
"fmt"
6+
7+
"github.com/progrium/macdriver/dispatch"
8+
"github.com/progrium/macdriver/macos/coremedia"
9+
"github.com/progrium/macdriver/macos/foundation"
10+
"github.com/progrium/macdriver/macos/screencapturekit"
11+
)
12+
13+
func main() {
14+
streamOutputHandler := &streamHandler{}
15+
16+
sc := screencapturekit.NewStreamConfiguration()
17+
cf := screencapturekit.NewContentFilter()
18+
s := screencapturekit.NewStreamWithFilterConfigurationDelegate(cf, sc, streamOutputHandler)
19+
20+
var dispatchQueue dispatch.Queue
21+
//dispatchQueue = dispatch.CreateQueue("com.example.queue", dispatch.QueueTypeSerial)
22+
dispatchQueue = dispatch.MainQueue()
23+
err := foundation.Error{}
24+
ok := s.AddStreamOutputTypeSampleHandlerQueueError(streamOutputHandler, screencapturekit.StreamOutputTypeScreen, dispatchQueue, err)
25+
if !ok {
26+
fmt.Println("s.AddStreamOutputTypeSampleHandlerQueueError", err)
27+
}
28+
29+
fmt.Println("s.StartCaptureWithCompletionHandler")
30+
s.StartCaptureWithCompletionHandler(func(err foundation.Error) {
31+
fmt.Println("s.StartCaptureWithCompletionHandler", err)
32+
})
33+
34+
dispatch.Main()
35+
}
36+
37+
type streamHandler struct{}
38+
39+
var _ screencapturekit.PStreamOutput = (*streamHandler)(nil)
40+
var _ screencapturekit.PStreamDelegate = (*streamHandler)(nil)
41+
42+
// StreamOutput methods
43+
44+
func (sh *streamHandler) HasStreamDidOutputSampleBufferOfType() bool {
45+
panic(errors.New("*streamHandler.HasStreamDidOutputSampleBufferOfType not implemented"))
46+
}
47+
48+
func (sh *streamHandler) StreamDidOutputSampleBufferOfType(s screencapturekit.Stream, buf coremedia.SampleBufferRef, out screencapturekit.StreamOutputType) {
49+
panic(errors.New("*streamHandler.StreamDidOutputSampleBufferOfType not implemented"))
50+
}
51+
52+
// StreamDelegate methods
53+
54+
func (sh *streamHandler) StreamDidStopWithError(s screencapturekit.Stream, err foundation.Error) {
55+
fmt.Println("StreamDidStopWithError", err)
56+
}
57+
func (sh *streamHandler) HasStreamDidStopWithError() bool {
58+
fmt.Println("HasStreamDidStopWithError")
59+
return true
60+
}

macos/screencapturekit/content_filter.gen.go

Lines changed: 82 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

macos/screencapturekit/display.gen.go

Lines changed: 91 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

macos/screencapturekit/doc.gen.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

macos/screencapturekit/enumtypes.gen.go

Lines changed: 64 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Code generated by DarwinKit. DO NOT EDIT.
2+
3+
#import "ScreenCaptureKit/ScreenCaptureKit.h"
4+
5+
void importScreenCaptureKitProtocols() {
6+
id o;
7+
o = @protocol(SCStreamDelegate);
8+
o = @protocol(SCStreamOutput);
9+
}

macos/screencapturekit/running_application.gen.go

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package screencapturekit
22

33
import "testing"
4-
4+
55
func TestScreenCaptureKitValid(t *testing.T) {}

0 commit comments

Comments
 (0)