node-mac-recorder 2.17.7 → 2.17.8
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/package.json +1 -1
- package/src/cursor_tracker.mm +35 -30
package/package.json
CHANGED
package/src/cursor_tracker.mm
CHANGED
|
@@ -112,7 +112,7 @@ NSString* getCursorType() {
|
|
|
112
112
|
[elementRole isEqualToString:@"AXTooltip"]) {
|
|
113
113
|
cursorType = @"help";
|
|
114
114
|
}
|
|
115
|
-
// RESIZE CURSORS
|
|
115
|
+
// RESIZE CURSORS - sadece AXSplitter için
|
|
116
116
|
else if ([elementRole isEqualToString:@"AXSplitter"]) {
|
|
117
117
|
// Get splitter orientation to determine resize direction
|
|
118
118
|
CFStringRef orientation = NULL;
|
|
@@ -120,34 +120,23 @@ NSString* getCursorType() {
|
|
|
120
120
|
if (error == kAXErrorSuccess && orientation) {
|
|
121
121
|
NSString *orientationStr = (__bridge_transfer NSString*)orientation;
|
|
122
122
|
if ([orientationStr isEqualToString:@"AXHorizontalOrientation"]) {
|
|
123
|
-
cursorType = @"
|
|
123
|
+
cursorType = @"ns-resize"; // Yatay splitter -> dikey hareket (north-south)
|
|
124
|
+
} else if ([orientationStr isEqualToString:@"AXVerticalOrientation"]) {
|
|
125
|
+
cursorType = @"col-resize"; // Dikey splitter -> yatay hareket (east-west)
|
|
124
126
|
} else {
|
|
125
|
-
cursorType = @"
|
|
127
|
+
cursorType = @"default"; // Bilinmeyen orientation
|
|
126
128
|
}
|
|
127
129
|
} else {
|
|
128
|
-
cursorType = @"
|
|
130
|
+
cursorType = @"default"; // Orientation alınamazsa default
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
|
-
// SCROLL CURSORS -
|
|
133
|
+
// SCROLL CURSORS - hep default olsun, all-scroll görünmesin
|
|
132
134
|
else if ([elementRole isEqualToString:@"AXScrollBar"]) {
|
|
133
|
-
//
|
|
134
|
-
CFStringRef orientation = NULL;
|
|
135
|
-
error = AXUIElementCopyAttributeValue(elementAtPosition, CFSTR("AXOrientation"), (CFTypeRef*)&orientation);
|
|
136
|
-
if (error == kAXErrorSuccess && orientation) {
|
|
137
|
-
NSString *orientationStr = (__bridge_transfer NSString*)orientation;
|
|
138
|
-
if ([orientationStr isEqualToString:@"AXVerticalOrientation"]) {
|
|
139
|
-
cursorType = @"ns-resize"; // vertical scrollbar
|
|
140
|
-
} else {
|
|
141
|
-
cursorType = @"col-resize"; // horizontal scrollbar
|
|
142
|
-
}
|
|
143
|
-
} else {
|
|
144
|
-
cursorType = @"default"; // fallback to default
|
|
145
|
-
}
|
|
135
|
+
cursorType = @"default"; // ScrollBar'lar için de default
|
|
146
136
|
}
|
|
147
|
-
// AXScrollArea
|
|
137
|
+
// AXScrollArea - hep default
|
|
148
138
|
else if ([elementRole isEqualToString:@"AXScrollArea"]) {
|
|
149
|
-
|
|
150
|
-
cursorType = @"default";
|
|
139
|
+
cursorType = @"default"; // ScrollArea her zaman default
|
|
151
140
|
}
|
|
152
141
|
// CROSSHAIR CURSORS (drawing/selection tools)
|
|
153
142
|
else if ([elementRole isEqualToString:@"AXCanvas"] ||
|
|
@@ -196,22 +185,38 @@ NSString* getCursorType() {
|
|
|
196
185
|
// Sadece çok kenar köşelerde resize cursor'ı göster
|
|
197
186
|
BOOL isOnBorder = NO;
|
|
198
187
|
|
|
199
|
-
// Corner resize detection - çok dar alanda
|
|
200
|
-
if (
|
|
201
|
-
cursorType = @"nwse-resize";
|
|
188
|
+
// Corner resize detection - çok dar alanda, doğru açılar
|
|
189
|
+
if (x <= edge && y <= edge) {
|
|
190
|
+
cursorType = @"nwse-resize"; // Sol üst köşe - northwest-southeast
|
|
202
191
|
isOnBorder = YES;
|
|
203
192
|
}
|
|
204
|
-
else if (
|
|
205
|
-
cursorType = @"nesw-resize";
|
|
193
|
+
else if (x >= w-edge && y <= edge) {
|
|
194
|
+
cursorType = @"nesw-resize"; // Sağ üst köşe - northeast-southwest
|
|
195
|
+
isOnBorder = YES;
|
|
196
|
+
}
|
|
197
|
+
else if (x <= edge && y >= h-edge) {
|
|
198
|
+
cursorType = @"nesw-resize"; // Sol alt köşe - southwest-northeast
|
|
199
|
+
isOnBorder = YES;
|
|
200
|
+
}
|
|
201
|
+
else if (x >= w-edge && y >= h-edge) {
|
|
202
|
+
cursorType = @"nwse-resize"; // Sağ alt köşe - southeast-northwest
|
|
206
203
|
isOnBorder = YES;
|
|
207
204
|
}
|
|
208
205
|
// Edge resize detection - sadece çok kenarlarda
|
|
209
|
-
else if (
|
|
210
|
-
cursorType = @"col-resize";
|
|
206
|
+
else if (x <= edge && y > edge && y < h-edge) {
|
|
207
|
+
cursorType = @"col-resize"; // Sol kenar - column resize (yatay)
|
|
208
|
+
isOnBorder = YES;
|
|
209
|
+
}
|
|
210
|
+
else if (x >= w-edge && y > edge && y < h-edge) {
|
|
211
|
+
cursorType = @"col-resize"; // Sağ kenar - column resize (yatay)
|
|
212
|
+
isOnBorder = YES;
|
|
213
|
+
}
|
|
214
|
+
else if (y <= edge && x > edge && x < w-edge) {
|
|
215
|
+
cursorType = @"ns-resize"; // Üst kenar - north-south resize (dikey)
|
|
211
216
|
isOnBorder = YES;
|
|
212
217
|
}
|
|
213
|
-
else if (
|
|
214
|
-
cursorType = @"
|
|
218
|
+
else if (y >= h-edge && x > edge && x < w-edge) {
|
|
219
|
+
cursorType = @"ns-resize"; // Alt kenar - north-south resize (dikey)
|
|
215
220
|
isOnBorder = YES;
|
|
216
221
|
}
|
|
217
222
|
|