1234567891011121314151617181920212223242526272829 |
- // Bing Wallpaper GNOME extension
- // Copyright (C) 2017-2023 Michael Carroll
- // This extension is free software: you can redistribute it and/or modify
- // it under the terms of the GNU Lesser General Public License as published by
- // the Free Software Foundation, either version 3 of the License, or
- // (at your option) any later version.
- // See the GNU General Public License, version 3 or later for details.
- import Gio from 'gi://Gio';
- import GdkPixbuf from 'gi://GdkPixbuf';
- const THUMBNAIL_WIDTH = 480;
- const THUMBNAIL_HEIGHT = 270;
- export default class Thumbnail {
- constructor(filePath, scale = 1.0) {
- if (!filePath) {
- throw new Error(`need argument ${filePath}`);
- }
- try {
- let w = Math.round(THUMBNAIL_WIDTH * scale);
- let h = Math.round(THUMBNAIL_HEIGHT * scale);
- this.pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(filePath, w, h);
- this.srcFile = Gio.File.new_for_path(filePath);
- } catch (err) {
- log('Unable to create thumbnail for corrupt or incomplete file: ' + filePath + ' err: ' + err);
- }
- }
- };
|