node-mac-recorder 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -167,9 +167,8 @@ class MacRecorder extends EventEmitter {
167
167
  targetDisplayId = display.id; // Use actual display ID, not array index
168
168
  // Koordinatları display'e göre normalize et
169
169
  adjustedX = targetWindow.x - display.x;
170
-
171
- // Koordinatları display'e göre normalize et
172
- adjustedY = targetWindow.y - display.y;
170
+ // Y koordinat düzeltmesi - window selector overlay ile sync için
171
+ adjustedY = Math.max(0, targetWindow.y - display.y - 22);
173
172
  break;
174
173
  }
175
174
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-mac-recorder",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "description": "Native macOS screen recording package for Node.js applications",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -990,11 +990,24 @@ Napi::Value GetSelectedWindowInfo(const Napi::CallbackInfo& info) {
990
990
  result.Set("id", Napi::Number::New(env, [[g_selectedWindowInfo objectForKey:@"id"] intValue]));
991
991
  result.Set("title", Napi::String::New(env, [[g_selectedWindowInfo objectForKey:@"title"] UTF8String]));
992
992
  result.Set("appName", Napi::String::New(env, [[g_selectedWindowInfo objectForKey:@"appName"] UTF8String]));
993
+ // Original CGWindow coordinates
993
994
  result.Set("x", Napi::Number::New(env, [[g_selectedWindowInfo objectForKey:@"x"] intValue]));
994
995
  result.Set("y", Napi::Number::New(env, [[g_selectedWindowInfo objectForKey:@"y"] intValue]));
995
996
  result.Set("width", Napi::Number::New(env, [[g_selectedWindowInfo objectForKey:@"width"] intValue]));
996
997
  result.Set("height", Napi::Number::New(env, [[g_selectedWindowInfo objectForKey:@"height"] intValue]));
997
998
 
999
+ // Add overlay coordinates for direct use in recording
1000
+ // These are the exact coordinates used by the recording preview overlay
1001
+ int windowX = [[g_selectedWindowInfo objectForKey:@"x"] intValue];
1002
+ int windowY = [[g_selectedWindowInfo objectForKey:@"y"] intValue];
1003
+ int windowWidth = [[g_selectedWindowInfo objectForKey:@"width"] intValue];
1004
+ int windowHeight = [[g_selectedWindowInfo objectForKey:@"height"] intValue];
1005
+
1006
+ result.Set("overlayX", Napi::Number::New(env, windowX));
1007
+ result.Set("overlayY", Napi::Number::New(env, windowY));
1008
+ result.Set("overlayWidth", Napi::Number::New(env, windowWidth));
1009
+ result.Set("overlayHeight", Napi::Number::New(env, windowHeight));
1010
+
998
1011
  // Determine which screen this window is on
999
1012
  int x = [[g_selectedWindowInfo objectForKey:@"x"] intValue];
1000
1013
  int y = [[g_selectedWindowInfo objectForKey:@"y"] intValue];