electron-screenshots 0.3.0 → 0.3.1

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.
Files changed (2) hide show
  1. package/lib/screenshots.js +22 -3
  2. package/package.json +4 -3
@@ -61,6 +61,7 @@ var events_1 = __importDefault(require("events"));
61
61
  var padStart_1 = __importDefault(require("./padStart"));
62
62
  var getBoundAndDisplay_1 = __importDefault(require("./getBoundAndDisplay"));
63
63
  var logger_1 = __importDefault(require("./logger"));
64
+ var node_screenshots_1 = require("node-screenshots");
64
65
  var Screenshots = /** @class */ (function (_super) {
65
66
  __extends(Screenshots, _super);
66
67
  function Screenshots(opts) {
@@ -177,11 +178,27 @@ var Screenshots = /** @class */ (function (_super) {
177
178
  Screenshots.prototype.capture = function (_a) {
178
179
  var display = _a.display;
179
180
  return __awaiter(this, void 0, void 0, function () {
180
- var sources, source;
181
+ var capturer, image, err_1, sources, source;
181
182
  return __generator(this, function (_b) {
182
183
  switch (_b.label) {
183
184
  case 0:
184
185
  (0, logger_1.default)('SCREENSHOTS:capture');
186
+ _b.label = 1;
187
+ case 1:
188
+ _b.trys.push([1, 3, , 5]);
189
+ capturer = node_screenshots_1.Screenshots.fromDisplay(display.id);
190
+ (0, logger_1.default)('SCREENSHOTS:NodeScreenshots.fromDisplay(%d) %o', display.id, capturer);
191
+ if (!capturer) {
192
+ throw new Error("NodeScreenshots.fromDisplay(".concat(display.id, ") get null"));
193
+ }
194
+ return [4 /*yield*/, capturer.capture()];
195
+ case 2:
196
+ image = _b.sent();
197
+ this.$view.webContents.send('SCREENSHOTS:capture', display, "data:image/png;base64,".concat(image.toString('base64')));
198
+ return [3 /*break*/, 5];
199
+ case 3:
200
+ err_1 = _b.sent();
201
+ (0, logger_1.default)('SCREENSHOTS:capturer.capture() error %o', err_1);
185
202
  return [4 /*yield*/, electron_1.desktopCapturer.getSources({
186
203
  types: ['screen'],
187
204
  thumbnailSize: {
@@ -189,8 +206,9 @@ var Screenshots = /** @class */ (function (_super) {
189
206
  height: display.height
190
207
  }
191
208
  })];
192
- case 1:
209
+ case 4:
193
210
  sources = _b.sent();
211
+ source = void 0;
194
212
  // Linux系统上,screen.getDisplayNearestPoint 返回的 Display 对象的 id 和 这儿 source 对象上的 display_id(Linux上,这个值是空字符串) 或 id 的中间部分,都不一致
195
213
  // 但是,如果只有一个显示器的话,其实不用判断,直接返回就行
196
214
  if (sources.length === 1) {
@@ -208,7 +226,8 @@ var Screenshots = /** @class */ (function (_super) {
208
226
  return [2 /*return*/];
209
227
  }
210
228
  this.$view.webContents.send('SCREENSHOTS:capture', display, source.thumbnail.toDataURL());
211
- return [2 /*return*/];
229
+ return [3 /*break*/, 5];
230
+ case 5: return [2 /*return*/];
212
231
  }
213
232
  });
214
233
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-screenshots",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "electron 截图插件",
5
5
  "types": "lib/screenshots.d.ts",
6
6
  "main": "lib/screenshots.js",
@@ -36,7 +36,8 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "debug": "^4.3.3",
39
- "react-screenshots": "^0.3.0"
39
+ "node-screenshots": "^0.0.2",
40
+ "react-screenshots": "^0.3.1"
40
41
  },
41
42
  "peerDependencies": {
42
43
  "electron": ">=11"
@@ -55,5 +56,5 @@
55
56
  "rimraf": "^3.0.2",
56
57
  "typescript": "^4.5.5"
57
58
  },
58
- "gitHead": "d9d3774ba9cf7d713d3895f1b01731ca05736406"
59
+ "gitHead": "9249caaff3da43effcf0b4ae72d2691c0d7d4595"
59
60
  }