@girs/gexiv2-0.10 0.14.0-3.0.0-beta.12
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/README.md +33 -0
- package/gexiv2-0.10.cjs +9 -0
- package/gexiv2-0.10.d.cts +1162 -0
- package/gexiv2-0.10.d.ts +1167 -0
- package/gexiv2-0.10.js +8 -0
- package/package.json +54 -0
- package/tsconfig.doc.json +19 -0
|
@@ -0,0 +1,1162 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
* Type Definitions for Gjs (https://gjs.guide/)
|
|
4
|
+
*
|
|
5
|
+
* These type definitions are automatically generated, do not edit them by hand.
|
|
6
|
+
* If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gjs
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* GExiv2-0.10
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type Gio from '@girs/gio-2.0';
|
|
13
|
+
import type GObject from '@girs/gobject-2.0';
|
|
14
|
+
import type GLib from '@girs/glib-2.0';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Options to control the byte order of binary EXIF data exports
|
|
18
|
+
*/
|
|
19
|
+
export enum ByteOrder {
|
|
20
|
+
/**
|
|
21
|
+
* Use little-endian byte order
|
|
22
|
+
*/
|
|
23
|
+
LITTLE,
|
|
24
|
+
/**
|
|
25
|
+
* Use big-endian byte order
|
|
26
|
+
*/
|
|
27
|
+
BIG,
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* GExiv2 log levels
|
|
31
|
+
*/
|
|
32
|
+
export enum LogLevel {
|
|
33
|
+
/**
|
|
34
|
+
* Log level for debugging
|
|
35
|
+
*/
|
|
36
|
+
DEBUG,
|
|
37
|
+
/**
|
|
38
|
+
* Log level for informational messages
|
|
39
|
+
*/
|
|
40
|
+
INFO,
|
|
41
|
+
/**
|
|
42
|
+
* Log level for warning messages
|
|
43
|
+
*/
|
|
44
|
+
WARN,
|
|
45
|
+
/**
|
|
46
|
+
* Log level for error messages
|
|
47
|
+
*/
|
|
48
|
+
ERROR,
|
|
49
|
+
/**
|
|
50
|
+
* Suppress all log messages
|
|
51
|
+
*/
|
|
52
|
+
MUTE,
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The orientation of an image is defined as the location of it's x,y origin. More than rotation,
|
|
56
|
+
* orientation allows for every variation of rotation, flips, and mirroring to be described in
|
|
57
|
+
* 3 bits of data.
|
|
58
|
+
*
|
|
59
|
+
* A handy primer to orientation can be found at
|
|
60
|
+
* <ulink url="http://jpegclub.org/exif_orientation.html"></ulink>
|
|
61
|
+
*/
|
|
62
|
+
export enum Orientation {
|
|
63
|
+
/**
|
|
64
|
+
* The orientation of the image is unknown
|
|
65
|
+
*/
|
|
66
|
+
UNSPECIFIED,
|
|
67
|
+
/**
|
|
68
|
+
* The orientation of the image is without any rotation.
|
|
69
|
+
*/
|
|
70
|
+
NORMAL,
|
|
71
|
+
/**
|
|
72
|
+
* The image is flipped on its horizontal axis
|
|
73
|
+
*/
|
|
74
|
+
HFLIP,
|
|
75
|
+
/**
|
|
76
|
+
* The image is rotated by 180 degrees
|
|
77
|
+
*/
|
|
78
|
+
ROT_180,
|
|
79
|
+
/**
|
|
80
|
+
* The Image is flipped on its vertical axis
|
|
81
|
+
*/
|
|
82
|
+
VFLIP,
|
|
83
|
+
/**
|
|
84
|
+
* The image is rotated by 90 degrees clockwise and flipped on its horizontal axis
|
|
85
|
+
*/
|
|
86
|
+
ROT_90_HFLIP,
|
|
87
|
+
/**
|
|
88
|
+
* The image is rotated by 90 degrees clockwise
|
|
89
|
+
*/
|
|
90
|
+
ROT_90,
|
|
91
|
+
/**
|
|
92
|
+
* The image is rotated by 90 degrees clockwise and flipped on its vertical axis
|
|
93
|
+
*/
|
|
94
|
+
ROT_90_VFLIP,
|
|
95
|
+
/**
|
|
96
|
+
* The image is rotated 270 degrees clockwise
|
|
97
|
+
*/
|
|
98
|
+
ROT_270,
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Used in gexiv2_metadata_set_xmp_tag_struct() to determine the array type
|
|
102
|
+
*/
|
|
103
|
+
export enum StructureType {
|
|
104
|
+
/**
|
|
105
|
+
* Structure is not an array
|
|
106
|
+
*/
|
|
107
|
+
NONE,
|
|
108
|
+
/**
|
|
109
|
+
* A list of alternative values
|
|
110
|
+
*/
|
|
111
|
+
ALT,
|
|
112
|
+
/**
|
|
113
|
+
* An unordered list of values
|
|
114
|
+
*/
|
|
115
|
+
BAG,
|
|
116
|
+
/**
|
|
117
|
+
* An ordered list of values
|
|
118
|
+
*/
|
|
119
|
+
SEQ,
|
|
120
|
+
/**
|
|
121
|
+
* Not supported. For completeness only
|
|
122
|
+
*/
|
|
123
|
+
LANG,
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Options to control the format of the serialized XMP packet
|
|
127
|
+
* Taken from: exiv2/src/xmp.hpp
|
|
128
|
+
* @bitfield
|
|
129
|
+
*/
|
|
130
|
+
export enum XmpFormatFlags {
|
|
131
|
+
/**
|
|
132
|
+
* Omit the XML packet wrapper.
|
|
133
|
+
*/
|
|
134
|
+
OMIT_PACKET_WRAPPER,
|
|
135
|
+
/**
|
|
136
|
+
* Default is a writeable packet.
|
|
137
|
+
*/
|
|
138
|
+
READ_ONLY_PACKET,
|
|
139
|
+
/**
|
|
140
|
+
* Use a compact form of RDF.
|
|
141
|
+
*/
|
|
142
|
+
USE_COMPACT_FORMAT,
|
|
143
|
+
/**
|
|
144
|
+
* Include a padding allowance for a thumbnail image.
|
|
145
|
+
*/
|
|
146
|
+
INCLUDE_THUMBNAIL_PAD,
|
|
147
|
+
/**
|
|
148
|
+
* The padding parameter is the overall packet length.
|
|
149
|
+
*/
|
|
150
|
+
EXACT_PACKET_LENGTH,
|
|
151
|
+
/**
|
|
152
|
+
* Show aliases as XML comments.
|
|
153
|
+
*/
|
|
154
|
+
WRITE_ALIAS_COMMENTS,
|
|
155
|
+
/**
|
|
156
|
+
* Omit all formatting whitespace.
|
|
157
|
+
*/
|
|
158
|
+
OMIT_ALL_FORMATTING,
|
|
159
|
+
}
|
|
160
|
+
export const MAJOR_VERSION: number
|
|
161
|
+
export const MICRO_VERSION: number
|
|
162
|
+
export const MINOR_VERSION: number
|
|
163
|
+
export function get_version(): number
|
|
164
|
+
/**
|
|
165
|
+
* gexiv2 requires initialization before its methods are used. In particular, this call must be
|
|
166
|
+
* made in a thread-safe fashion. Best practice is to call from the application's main thread and
|
|
167
|
+
* not to use any Gexiv2 code until it has returned.
|
|
168
|
+
* @returns %TRUE if initialized. If %FALSE, GExiv2 should not be used (unable to initialize properly).
|
|
169
|
+
*/
|
|
170
|
+
export function initialize(): boolean
|
|
171
|
+
export function log_get_level(): LogLevel
|
|
172
|
+
/**
|
|
173
|
+
* Log messages below this level will not be logged.
|
|
174
|
+
* @param level The #GExiv2LogLevel gexiv2 should respect.
|
|
175
|
+
*/
|
|
176
|
+
export function log_set_level(level: LogLevel): void
|
|
177
|
+
/**
|
|
178
|
+
* When called, gexiv2 will install it's own #GExiv2LogHandler which redirects all Exiv2 and gexiv2
|
|
179
|
+
* log messages to GLib's logging calls (g_debug(), g_message(), g_warning(), and g_critical() for the
|
|
180
|
+
* respective #GExiv2LogLevel value). #GEXIV2_LOG_LEVEL_MUTE logs are dropped.
|
|
181
|
+
*
|
|
182
|
+
* One advantage to using this is that GLib's logging control and handlers can be used rather than
|
|
183
|
+
* GExiv2's ad hoc scheme. It also means an application can use GLib logging and have all its
|
|
184
|
+
* messages routed through the same calls.
|
|
185
|
+
*/
|
|
186
|
+
export function log_use_glib_logging(): void
|
|
187
|
+
/**
|
|
188
|
+
* The log handler can be set by gexiv2_log_set_handler(). When set, the log handler will receive
|
|
189
|
+
* all log messages emitted by Exiv2 and gexiv2. It's up to the handler to decide where (and if)
|
|
190
|
+
* the images are displayed or stored.
|
|
191
|
+
* @callback
|
|
192
|
+
* @param level The #GExiv2LogLevel for the particular message
|
|
193
|
+
* @param msg The log message
|
|
194
|
+
*/
|
|
195
|
+
export interface LogHandler {
|
|
196
|
+
(level: LogLevel, msg: string | null): void
|
|
197
|
+
}
|
|
198
|
+
export module Metadata {
|
|
199
|
+
|
|
200
|
+
// Constructor properties interface
|
|
201
|
+
|
|
202
|
+
export interface ConstructorProperties extends GObject.Object.ConstructorProperties {
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export interface Metadata {
|
|
208
|
+
|
|
209
|
+
// Own fields of GExiv2-0.10.GExiv2.Metadata
|
|
210
|
+
|
|
211
|
+
parent_instance: GObject.Object
|
|
212
|
+
|
|
213
|
+
// Owm methods of GExiv2-0.10.GExiv2.Metadata
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Removes all tags for all domains (EXIF, IPTC, and XMP).
|
|
217
|
+
*/
|
|
218
|
+
clear(): void
|
|
219
|
+
/**
|
|
220
|
+
* This is a composite clear method that will clear a number of fields. See
|
|
221
|
+
* #gexiv2_metadata_get_comment for more information.
|
|
222
|
+
*/
|
|
223
|
+
clear_comment(): void
|
|
224
|
+
/**
|
|
225
|
+
* Clears all EXIF metadata from the loaded image.
|
|
226
|
+
*/
|
|
227
|
+
clear_exif(): void
|
|
228
|
+
/**
|
|
229
|
+
* Clears all IPTC metadata from the loaded image.
|
|
230
|
+
*/
|
|
231
|
+
clear_iptc(): void
|
|
232
|
+
/**
|
|
233
|
+
* Removes the Exiv2 tag from the metadata object.
|
|
234
|
+
*
|
|
235
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
236
|
+
* @param tag Exiv2 tag
|
|
237
|
+
* @returns TRUE if the tag was present.
|
|
238
|
+
*/
|
|
239
|
+
clear_tag(tag: string | null): boolean
|
|
240
|
+
/**
|
|
241
|
+
* Clears all XMP metadata from the loaded image.
|
|
242
|
+
*/
|
|
243
|
+
clear_xmp(): void
|
|
244
|
+
/**
|
|
245
|
+
* Removes all GPS metadata from the loaded image
|
|
246
|
+
*/
|
|
247
|
+
delete_gps_info(): void
|
|
248
|
+
/**
|
|
249
|
+
* Removes the EXIF thumbnail from the loaded image.
|
|
250
|
+
*/
|
|
251
|
+
erase_exif_thumbnail(): void
|
|
252
|
+
/**
|
|
253
|
+
* Destroys the #GExiv2Metadata object and frees all associated memory.
|
|
254
|
+
*/
|
|
255
|
+
free(): void
|
|
256
|
+
/**
|
|
257
|
+
* Load only an EXIF buffer, typically stored in a JPEG's APP1 segment.
|
|
258
|
+
* @param data A buffer containing the data to be read
|
|
259
|
+
* @returns Boolean success indicator.
|
|
260
|
+
*/
|
|
261
|
+
from_app1_segment(data: Uint8Array): boolean
|
|
262
|
+
/**
|
|
263
|
+
* This function does not work and will be removed in a future release.
|
|
264
|
+
* @param stream
|
|
265
|
+
*/
|
|
266
|
+
from_stream(stream: Gio.InputStream): boolean
|
|
267
|
+
/**
|
|
268
|
+
* Encode the XMP packet as a %NULL-terminated string.
|
|
269
|
+
* @param xmp_format_flags One of #GExiv2XmpFormatFlags
|
|
270
|
+
* @param padding The padding (FIXME: Add documentation)
|
|
271
|
+
* @returns Encode the XMP packet and return as a %NULL-terminated string.
|
|
272
|
+
*/
|
|
273
|
+
generate_xmp_packet(xmp_format_flags: XmpFormatFlags, padding: number): string | null
|
|
274
|
+
/**
|
|
275
|
+
* A composite accessor that uses the first available metadata field from a list of well-known
|
|
276
|
+
* locations to find the photo's comment (or description).
|
|
277
|
+
*
|
|
278
|
+
* MWG guidelines refer to these as <emphasis>Description</emphasis>: a textual description of a resource's content.
|
|
279
|
+
*
|
|
280
|
+
* These fields are:
|
|
281
|
+
*
|
|
282
|
+
* - Exif.Image.ImageDescription (MWG Guidelines)
|
|
283
|
+
* - Exif.Photo.UserComment
|
|
284
|
+
* - Exif.Image.XPComment
|
|
285
|
+
* - Iptc.Application2.Caption (MWG Guidelines)
|
|
286
|
+
* - Xmp.dc.description (MWG Guidelines)
|
|
287
|
+
* - Xmp.acdsee.notes (Commonly requested, read only)
|
|
288
|
+
*
|
|
289
|
+
* <note>Note that in the EXIF specification Exif.Image.ImageDescription is
|
|
290
|
+
* described as "the title of the image". Also, it does not support
|
|
291
|
+
* two-byte character codes for encoding. However, it's still used here for legacy reasons.
|
|
292
|
+
* </note>
|
|
293
|
+
*
|
|
294
|
+
* For fine-grained control, it's recommended to use Exiv2 tags directly rather than this method,
|
|
295
|
+
* which is more useful for quick or casual use.
|
|
296
|
+
* @returns The photo's comment field.
|
|
297
|
+
*/
|
|
298
|
+
get_comment(): string | null
|
|
299
|
+
get_exif_data(byte_order: ByteOrder): GLib.Bytes | null
|
|
300
|
+
/**
|
|
301
|
+
* Fetch EXIF `tag` represented by a fraction. `nom` will contain the numerator,
|
|
302
|
+
* `den` the denominator of the fraction on successful return.
|
|
303
|
+
* @param tag The tag you want the rational value for
|
|
304
|
+
* @returns Boolean success value
|
|
305
|
+
*/
|
|
306
|
+
get_exif_tag_rational(tag: string | null): [ /* returnType */ boolean, /* nom */ number, /* den */ number ]
|
|
307
|
+
/**
|
|
308
|
+
* Query `self` for a list of available EXIF tags
|
|
309
|
+
* @returns A unique list of the available EXIF tags in the loaded image
|
|
310
|
+
*/
|
|
311
|
+
get_exif_tags(): string[]
|
|
312
|
+
/**
|
|
313
|
+
* Get the thumbnail stored in the EXIF data of `self`
|
|
314
|
+
* @returns Boolean success value
|
|
315
|
+
*/
|
|
316
|
+
get_exif_thumbnail(): [ /* returnType */ boolean, /* buffer */ Uint8Array ]
|
|
317
|
+
/**
|
|
318
|
+
* Returns the exposure time in seconds (shutter speed, <emphasis>not</emphasis> date-time of exposure) as a
|
|
319
|
+
* rational. See <ulink url="https://en.wikipedia.org/wiki/Shutter_speed"></ulink> for more information.
|
|
320
|
+
* @returns Boolean success value
|
|
321
|
+
*/
|
|
322
|
+
get_exposure_time(): [ /* returnType */ boolean, /* nom */ number, /* den */ number ]
|
|
323
|
+
/**
|
|
324
|
+
* See <ulink url="https://en.wikipedia.org/wiki/F-number"></ulink> for more information.
|
|
325
|
+
* If Exif.Photo.FNumber does not exist, it will fall back to calculating the FNumber from
|
|
326
|
+
* Exif.Photo.ApertureValue (if available);
|
|
327
|
+
* @returns The exposure Fnumber as a gdouble, or -1.0 if tag is not present or invalid.
|
|
328
|
+
*/
|
|
329
|
+
get_fnumber(): number
|
|
330
|
+
/**
|
|
331
|
+
* See <ulink url="https://en.wikipedia.org/wiki/Flange_focal_distance"></ulink> for more information.
|
|
332
|
+
* @returns The focal length as a gdouble, or -1.0 if tag is not present or invalid.
|
|
333
|
+
*/
|
|
334
|
+
get_focal_length(): number
|
|
335
|
+
/**
|
|
336
|
+
* Convenience function to query the altitude stored in the GPS tags of the
|
|
337
|
+
* image
|
|
338
|
+
* @returns Boolean success value
|
|
339
|
+
*/
|
|
340
|
+
get_gps_altitude(): [ /* returnType */ boolean, /* altitude */ number ]
|
|
341
|
+
/**
|
|
342
|
+
* Convenience function to query all available GPS information at once.
|
|
343
|
+
* @returns Boolean success value.
|
|
344
|
+
*/
|
|
345
|
+
get_gps_info(): [ /* returnType */ boolean, /* longitude */ number, /* latitude */ number, /* altitude */ number ]
|
|
346
|
+
/**
|
|
347
|
+
* Query the latitude stored in the GPS tags of `self`
|
|
348
|
+
* @returns Boolean success value
|
|
349
|
+
*/
|
|
350
|
+
get_gps_latitude(): [ /* returnType */ boolean, /* latitude */ number ]
|
|
351
|
+
/**
|
|
352
|
+
* Query the longitude stored in the GPS tags of `self`
|
|
353
|
+
* @returns Boolean success value
|
|
354
|
+
*/
|
|
355
|
+
get_gps_longitude(): [ /* returnType */ boolean, /* longitude */ number ]
|
|
356
|
+
/**
|
|
357
|
+
* Query `self` for a list of available IPTC tags
|
|
358
|
+
* @returns A unique list of the available IPTC tags
|
|
359
|
+
*/
|
|
360
|
+
get_iptc_tags(): string[]
|
|
361
|
+
/**
|
|
362
|
+
* See <ulink url="https://en.wikipedia.org/wiki/Iso_speed"></ulink> for more information.
|
|
363
|
+
* @returns The ISO speed rating as a gint, or 0 if tag is not present or invalid.
|
|
364
|
+
*/
|
|
365
|
+
get_iso_speed(): number
|
|
366
|
+
/**
|
|
367
|
+
* Composite accessor to query the pixel with stored in the metadata. This
|
|
368
|
+
* might differ from the height of image that is available through
|
|
369
|
+
* gexiv2_metadata_get_pixel_height()
|
|
370
|
+
* @returns Height of images in pixels as stored in the metadata
|
|
371
|
+
*/
|
|
372
|
+
get_metadata_pixel_height(): number
|
|
373
|
+
/**
|
|
374
|
+
* Composite accessor to query the pixel with stored in the metadata. This
|
|
375
|
+
* might differ from the width of image that is available through
|
|
376
|
+
* gexiv2_metadata_get_pixel_width()
|
|
377
|
+
* @returns Width of images in pixels as stored in the metadata
|
|
378
|
+
*/
|
|
379
|
+
get_metadata_pixel_width(): number
|
|
380
|
+
/**
|
|
381
|
+
* Query mime type of currently loaded image.
|
|
382
|
+
* @returns The MIME type of the loaded image, %NULL if not loaded or unknown.
|
|
383
|
+
*/
|
|
384
|
+
get_mime_type(): string | null
|
|
385
|
+
/**
|
|
386
|
+
* The EXIF Orientation field
|
|
387
|
+
* @returns A #GExiv2Orientation value representing the EXIF orientation value.
|
|
388
|
+
*/
|
|
389
|
+
get_orientation(): Orientation
|
|
390
|
+
/**
|
|
391
|
+
* Get the <emphasis>actual</emphasis> unoriented display height in pixels of the loaded image. This may
|
|
392
|
+
* be different than the height reported by various metadata tags, i.e. "Exif.Photo.PixelYDimension".
|
|
393
|
+
* @returns Pixel height of current image
|
|
394
|
+
*/
|
|
395
|
+
get_pixel_height(): number
|
|
396
|
+
/**
|
|
397
|
+
* Get the <emphasis>actual</emphasis> unoriented display width in pixels of the loaded
|
|
398
|
+
* image. May be different than the width reported by various metadata tags,
|
|
399
|
+
* i.e. "Exif.Photo.PixelXDimension".
|
|
400
|
+
* @returns Pixel width of current image
|
|
401
|
+
*/
|
|
402
|
+
get_pixel_width(): number
|
|
403
|
+
get_preview_image(props: PreviewProperties): PreviewImage
|
|
404
|
+
/**
|
|
405
|
+
* An image may have stored one or more previews, often of different qualities, sometimes of
|
|
406
|
+
* different image formats than the containing image. This call returns the properties of all
|
|
407
|
+
* previews Exiv2 finds within the loaded image. Use #gexiv2_metadata_get_preview_image to
|
|
408
|
+
* load a particular preview into memory.
|
|
409
|
+
* @returns An array of #GExiv2PreviewProperties instances, one for each preview present in the loaded image.
|
|
410
|
+
*/
|
|
411
|
+
get_preview_properties(): PreviewProperties[] | null
|
|
412
|
+
/**
|
|
413
|
+
* Query `self` whether it supports writing EXIF metadata.
|
|
414
|
+
* @returns %TRUE if the loaded image type supports writing EXIF metadata.
|
|
415
|
+
*/
|
|
416
|
+
get_supports_exif(): boolean
|
|
417
|
+
/**
|
|
418
|
+
* Query `self` whether it supports writing IPTC metadata.
|
|
419
|
+
* @returns %TRUE if the loaded image type supports writing IPTC metadata.
|
|
420
|
+
*/
|
|
421
|
+
get_supports_iptc(): boolean
|
|
422
|
+
/**
|
|
423
|
+
* Query `self` whether it supports writing XMP metadata.
|
|
424
|
+
* @returns %TRUE if the loaded image type supports writing XMP metadata.
|
|
425
|
+
*/
|
|
426
|
+
get_supports_xmp(): boolean
|
|
427
|
+
/**
|
|
428
|
+
* An interpreted string is one fit for user display. It may display units or use formatting
|
|
429
|
+
* appropriate to the type of data the tag holds.
|
|
430
|
+
*
|
|
431
|
+
* Tags that support multiple values are returned as a single string, with elements separated by ", ".
|
|
432
|
+
*
|
|
433
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
434
|
+
* @param tag Exiv2 tag name
|
|
435
|
+
* @returns The tag's interpreted value as a string
|
|
436
|
+
*/
|
|
437
|
+
get_tag_interpreted_string(tag: string | null): string | null
|
|
438
|
+
/**
|
|
439
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
440
|
+
* @param tag Exiv2 tag name
|
|
441
|
+
* @returns The tag's value as a glong
|
|
442
|
+
*/
|
|
443
|
+
get_tag_long(tag: string | null): number
|
|
444
|
+
/**
|
|
445
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
446
|
+
*
|
|
447
|
+
* In case of error, a GLib warning will be logged. Use instead
|
|
448
|
+
* gexiv2_metadata_try_get_tag_multiple() if you want to avoid this and
|
|
449
|
+
* control if and how the error is outputted.
|
|
450
|
+
* @param tag Exiv2 tag name
|
|
451
|
+
* @returns The multiple string values of the tag. Returns %NULL if parameters are %NULL or @tag does not begin with recognised type of metadata ("Exif.", "Xmp." or "Iptc."). For a well formed @tag, returns array[0] = %NULL if @tag is undefined or is not set in the current metadata. (Note: <ulink url="https://gitlab.gnome.org/GNOME/gexiv2/-/issues/61">xmpText/langAlt bug</ulink> is fixed in gexiv2_metadata_try_get_tag_multiple())
|
|
452
|
+
*/
|
|
453
|
+
get_tag_multiple(tag: string | null): string[] | null
|
|
454
|
+
/**
|
|
455
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
456
|
+
*
|
|
457
|
+
* Tags that support multiple values may bereturned as a single byte array, with records separated
|
|
458
|
+
* by 4x INFORMATION SEPARATOR FOUR (ASCII 0x1c)
|
|
459
|
+
* @param tag Exiv2 tag name
|
|
460
|
+
* @returns The tag's raw value as a byte array
|
|
461
|
+
*/
|
|
462
|
+
get_tag_raw(tag: string | null): GLib.Bytes | null
|
|
463
|
+
/**
|
|
464
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
465
|
+
*
|
|
466
|
+
* Tags that support multiple values are returned as a single string, with elements separated by ", ".
|
|
467
|
+
*
|
|
468
|
+
* In case of error, a GLib warning will be logged. Use instead
|
|
469
|
+
* gexiv2_metadata_try_get_tag_string() if you want to avoid this and
|
|
470
|
+
* control if and how the error is outputted.
|
|
471
|
+
* @param tag Exiv2 tag name
|
|
472
|
+
* @returns The tag's value as a string
|
|
473
|
+
*/
|
|
474
|
+
get_tag_string(tag: string | null): string | null
|
|
475
|
+
get_xmp_packet(): string | null
|
|
476
|
+
get_xmp_tags(): string[]
|
|
477
|
+
has_exif(): boolean
|
|
478
|
+
has_iptc(): boolean
|
|
479
|
+
/**
|
|
480
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
481
|
+
* @param tag Exiv2 tag
|
|
482
|
+
* @returns TRUE if the tag is present.
|
|
483
|
+
*/
|
|
484
|
+
has_tag(tag: string | null): boolean
|
|
485
|
+
has_xmp(): boolean
|
|
486
|
+
/**
|
|
487
|
+
* The buffer must be an image format supported by Exiv2.
|
|
488
|
+
* @param data A buffer containing the data to be read
|
|
489
|
+
* @returns Boolean success indicator
|
|
490
|
+
*/
|
|
491
|
+
open_buf(data: Uint8Array): boolean
|
|
492
|
+
/**
|
|
493
|
+
* The file must be an image format supported by Exiv2.
|
|
494
|
+
* @param path Path to the file you want to open
|
|
495
|
+
* @returns Boolean success indicator
|
|
496
|
+
*/
|
|
497
|
+
open_path(path: string | null): boolean
|
|
498
|
+
/**
|
|
499
|
+
* Saves the metadata to the specified using an XMP sidecar file.
|
|
500
|
+
* @param path Path to the file you want to save to.
|
|
501
|
+
* @returns Boolean success indicator.
|
|
502
|
+
*/
|
|
503
|
+
save_external(path: string | null): boolean
|
|
504
|
+
/**
|
|
505
|
+
* Saves the metadata to the specified file by reading the file into memory,copying this object's
|
|
506
|
+
* metadata into the image, then writing the image back out.
|
|
507
|
+
* @param path Path to the file you want to save to.
|
|
508
|
+
* @returns Boolean success indicator.
|
|
509
|
+
*/
|
|
510
|
+
save_file(path: string | null): boolean
|
|
511
|
+
/**
|
|
512
|
+
* This is a composite setter that will set a number of fields to the supplied value. See
|
|
513
|
+
* #gexiv2_metadata_get_comment for more information.
|
|
514
|
+
* @param comment Comment string to set. Must not be %NULL
|
|
515
|
+
*/
|
|
516
|
+
set_comment(comment: string | null): void
|
|
517
|
+
/**
|
|
518
|
+
* Set EXIF `tag` represented by a fraction, with `nom` being the numerator,
|
|
519
|
+
* `den` the denominator of the fraction.
|
|
520
|
+
* @param tag The Exiv2 tag
|
|
521
|
+
* @param nom Rational numerator
|
|
522
|
+
* @param den Rational denominator
|
|
523
|
+
* @returns Boolean success value
|
|
524
|
+
*/
|
|
525
|
+
set_exif_tag_rational(tag: string | null, nom: number, den: number): boolean
|
|
526
|
+
set_exif_thumbnail_from_buffer(buffer: Uint8Array): void
|
|
527
|
+
/**
|
|
528
|
+
* Sets or replaces the EXIF thumbnail with the image in the file
|
|
529
|
+
* @param path Path of image file
|
|
530
|
+
* @returns Boolean success value
|
|
531
|
+
*/
|
|
532
|
+
set_exif_thumbnail_from_file(path: string | null): boolean
|
|
533
|
+
/**
|
|
534
|
+
* Convenience function to create a new set of simple GPS data. Warning: Will remove any other
|
|
535
|
+
* GPS information that is currently set. See gexiv2_metadata_update_gps_info() for
|
|
536
|
+
* just modifying the GPS data.
|
|
537
|
+
* @param longitude Longitude value to set or replace current value
|
|
538
|
+
* @param latitude Latitude value to set or replace current value
|
|
539
|
+
* @param altitude Altitude value to set or replace current value
|
|
540
|
+
* @returns Boolean success value.
|
|
541
|
+
*/
|
|
542
|
+
set_gps_info(longitude: number, latitude: number, altitude: number): boolean
|
|
543
|
+
/**
|
|
544
|
+
* Update the image's metadata with `height`
|
|
545
|
+
* @param height The width of the image as it should be put into the metadata.
|
|
546
|
+
*/
|
|
547
|
+
set_metadata_pixel_height(height: number): void
|
|
548
|
+
/**
|
|
549
|
+
* Composite setter to update the image's metadata with `width`
|
|
550
|
+
* @param width The width of the image as it should be put into the metadata
|
|
551
|
+
*/
|
|
552
|
+
set_metadata_pixel_width(width: number): void
|
|
553
|
+
/**
|
|
554
|
+
* The orientation must be valid and cannot be #GEXIV2_ORIENTATION_UNSPECIFIED.
|
|
555
|
+
* @param orientation The new #GExiv2Orientation for the image.
|
|
556
|
+
*/
|
|
557
|
+
set_orientation(orientation: Orientation): void
|
|
558
|
+
/**
|
|
559
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
560
|
+
* @param tag Exiv2 tag name
|
|
561
|
+
* @param value The value to set or replace the existing value
|
|
562
|
+
* @returns TRUE on success
|
|
563
|
+
*/
|
|
564
|
+
set_tag_long(tag: string | null, value: number): boolean
|
|
565
|
+
/**
|
|
566
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
567
|
+
*
|
|
568
|
+
* All previous `tag` values are erased. For multiple value tags, each of the non %NULL
|
|
569
|
+
* entries in `values` is stored. For single value tags, only the last non %NULL value
|
|
570
|
+
* is assigned.
|
|
571
|
+
*
|
|
572
|
+
* In case of error, a GLib warning will be logged. Use instead
|
|
573
|
+
* gexiv2_metadata_try_set_tag_multiple() if you want to avoid this and
|
|
574
|
+
* control if and how the error is outputted.
|
|
575
|
+
* @param tag Exiv2 tag name
|
|
576
|
+
* @param values An array of values to set or replace the existing value(s)
|
|
577
|
+
* @returns Boolean success value
|
|
578
|
+
*/
|
|
579
|
+
set_tag_multiple(tag: string | null, values: string[]): boolean
|
|
580
|
+
/**
|
|
581
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
582
|
+
*
|
|
583
|
+
* If a tag supports multiple values, then `value` is added to any existing values. For single
|
|
584
|
+
* value tags, `value` replaces the value.
|
|
585
|
+
*
|
|
586
|
+
* In case of error, a GLib warning will be logged. Use instead
|
|
587
|
+
* gexiv2_metadata_try_set_tag_string() if you want to avoid this and
|
|
588
|
+
* control if and how the error is outputted.
|
|
589
|
+
* @param tag Exiv2 tag name
|
|
590
|
+
* @param value The value to set or replace the existing value
|
|
591
|
+
* @returns TRUE on success
|
|
592
|
+
*/
|
|
593
|
+
set_tag_string(tag: string | null, value: string | null): boolean
|
|
594
|
+
/**
|
|
595
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
596
|
+
* @param tag Exiv2 tag name
|
|
597
|
+
* @param type The GExiv2StructureType specifying the type of structure
|
|
598
|
+
* @returns TRUE on success
|
|
599
|
+
*/
|
|
600
|
+
set_xmp_tag_struct(tag: string | null, type: StructureType): boolean
|
|
601
|
+
/**
|
|
602
|
+
* Removes the Exiv2 tag from the metadata object.
|
|
603
|
+
*
|
|
604
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
605
|
+
* @param tag Exiv2 tag
|
|
606
|
+
* @returns TRUE if the tag was present.
|
|
607
|
+
*/
|
|
608
|
+
try_clear_tag(tag: string | null): boolean
|
|
609
|
+
/**
|
|
610
|
+
* Removes all GPS metadata from the loaded image
|
|
611
|
+
*/
|
|
612
|
+
try_delete_gps_info(): void
|
|
613
|
+
/**
|
|
614
|
+
* Removes the EXIF thumbnail from the loaded image.
|
|
615
|
+
*/
|
|
616
|
+
try_erase_exif_thumbnail(): void
|
|
617
|
+
/**
|
|
618
|
+
* Encode the XMP packet as a %NULL-terminated string.
|
|
619
|
+
* @param xmp_format_flags One of #GExiv2XmpFormatFlags
|
|
620
|
+
* @param padding The padding (FIXME: Add documentation)
|
|
621
|
+
* @returns Encode the XMP packet and return as a %NULL-terminated string.
|
|
622
|
+
*/
|
|
623
|
+
try_generate_xmp_packet(xmp_format_flags: XmpFormatFlags, padding: number): string | null
|
|
624
|
+
/**
|
|
625
|
+
* A composite accessor that uses the first available metadata field from a list of well-known
|
|
626
|
+
* locations to find the photo's comment (or description).
|
|
627
|
+
*
|
|
628
|
+
* MWG guidelines refer to these as <emphasis>Description</emphasis>: a textual description of a resource's content.
|
|
629
|
+
*
|
|
630
|
+
* These fields are:
|
|
631
|
+
*
|
|
632
|
+
* - Exif.Image.ImageDescription (MWG Guidelines)
|
|
633
|
+
* - Exif.Photo.UserComment
|
|
634
|
+
* - Exif.Image.XPComment
|
|
635
|
+
* - Iptc.Application2.Caption (MWG Guidelines)
|
|
636
|
+
* - Xmp.dc.description (MWG Guidelines)
|
|
637
|
+
* - Xmp.acdsee.notes (Commonly requested, read only)
|
|
638
|
+
*
|
|
639
|
+
* <note>Note that in the EXIF specification Exif.Image.ImageDescription is
|
|
640
|
+
* described as "the title of the image". Also, it does not support
|
|
641
|
+
* two-byte character codes for encoding. However, it's still used here for legacy reasons.
|
|
642
|
+
* </note>
|
|
643
|
+
*
|
|
644
|
+
* For fine-grained control, it's recommended to use Exiv2 tags directly rather than this method,
|
|
645
|
+
* which is more useful for quick or casual use.
|
|
646
|
+
* @returns The photo's comment field.
|
|
647
|
+
*/
|
|
648
|
+
try_get_comment(): string | null
|
|
649
|
+
/**
|
|
650
|
+
* Fetch EXIF `tag` represented by a fraction. `nom` will contain the numerator,
|
|
651
|
+
* `den` the denominator of the fraction on successful return.
|
|
652
|
+
* @param tag The tag you want the rational value for
|
|
653
|
+
* @returns Boolean success value
|
|
654
|
+
*/
|
|
655
|
+
try_get_exif_tag_rational(tag: string | null): [ /* returnType */ boolean, /* nom */ number, /* den */ number ]
|
|
656
|
+
/**
|
|
657
|
+
* Returns the exposure time in seconds (shutter speed, <emphasis>not</emphasis> date-time of exposure) as a
|
|
658
|
+
* rational. See <ulink url="https://en.wikipedia.org/wiki/Shutter_speed"></ulink> for more information.
|
|
659
|
+
* @returns Boolean success value
|
|
660
|
+
*/
|
|
661
|
+
try_get_exposure_time(): [ /* returnType */ boolean, /* nom */ number, /* den */ number ]
|
|
662
|
+
/**
|
|
663
|
+
* See <ulink url="https://en.wikipedia.org/wiki/F-number"></ulink> for more information.
|
|
664
|
+
* If Exif.Photo.FNumber does not exist, it will fall back to calculating the FNumber from
|
|
665
|
+
* Exif.Photo.ApertureValue (if available);
|
|
666
|
+
* @returns The exposure Fnumber as a gdouble, or -1.0 if tag is not present or invalid.
|
|
667
|
+
*/
|
|
668
|
+
try_get_fnumber(): number
|
|
669
|
+
/**
|
|
670
|
+
* See <ulink url="https://en.wikipedia.org/wiki/Flange_focal_distance"></ulink> for more information.
|
|
671
|
+
* @returns The focal length as a gdouble, or -1.0 if tag is not present or invalid.
|
|
672
|
+
*/
|
|
673
|
+
try_get_focal_length(): number
|
|
674
|
+
/**
|
|
675
|
+
* Convenience function to query the altitude stored in the GPS tags of the
|
|
676
|
+
* image
|
|
677
|
+
* @returns Boolean success value
|
|
678
|
+
*/
|
|
679
|
+
try_get_gps_altitude(): [ /* returnType */ boolean, /* altitude */ number ]
|
|
680
|
+
/**
|
|
681
|
+
* Convenience function to query all available GPS information at once.
|
|
682
|
+
* @returns Boolean success value.
|
|
683
|
+
*/
|
|
684
|
+
try_get_gps_info(): [ /* returnType */ boolean, /* longitude */ number, /* latitude */ number, /* altitude */ number ]
|
|
685
|
+
/**
|
|
686
|
+
* Query the latitude stored in the GPS tags of `self`
|
|
687
|
+
* @returns Boolean success value
|
|
688
|
+
*/
|
|
689
|
+
try_get_gps_latitude(): [ /* returnType */ boolean, /* latitude */ number ]
|
|
690
|
+
/**
|
|
691
|
+
* Query the longitude stored in the GPS tags of `self`
|
|
692
|
+
* @returns Boolean success value
|
|
693
|
+
*/
|
|
694
|
+
try_get_gps_longitude(): [ /* returnType */ boolean, /* longitude */ number ]
|
|
695
|
+
/**
|
|
696
|
+
* See <ulink url="https://en.wikipedia.org/wiki/Iso_speed"></ulink> for more information.
|
|
697
|
+
* @returns The ISO speed rating as a gint, or 0 if tag is not present or invalid.
|
|
698
|
+
*/
|
|
699
|
+
try_get_iso_speed(): number
|
|
700
|
+
/**
|
|
701
|
+
* Composite accessor to query the pixel with stored in the metadata. This
|
|
702
|
+
* might differ from the height of image that is available through
|
|
703
|
+
* gexiv2_metadata_get_pixel_height()
|
|
704
|
+
* @returns Height of images in pixels as stored in the metadata
|
|
705
|
+
*/
|
|
706
|
+
try_get_metadata_pixel_height(): number
|
|
707
|
+
/**
|
|
708
|
+
* Composite accessor to query the pixel with stored in the metadata. This
|
|
709
|
+
* might differ from the width of image that is available through
|
|
710
|
+
* gexiv2_metadata_get_pixel_width()
|
|
711
|
+
* @returns Width of images in pixels as stored in the metadata
|
|
712
|
+
*/
|
|
713
|
+
try_get_metadata_pixel_width(): number
|
|
714
|
+
/**
|
|
715
|
+
* The EXIF Orientation field
|
|
716
|
+
* @returns A #GExiv2Orientation value representing the EXIF orientation value.
|
|
717
|
+
*/
|
|
718
|
+
try_get_orientation(): Orientation
|
|
719
|
+
try_get_preview_image(props: PreviewProperties): PreviewImage
|
|
720
|
+
/**
|
|
721
|
+
* An interpreted string is one fit for user display. It may display units or use formatting
|
|
722
|
+
* appropriate to the type of data the tag holds.
|
|
723
|
+
*
|
|
724
|
+
* Tags that support multiple values are returned as a single string, with elements separated by ", ".
|
|
725
|
+
*
|
|
726
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
727
|
+
* @param tag Exiv2 tag name
|
|
728
|
+
* @returns The tag's interpreted value as a string
|
|
729
|
+
*/
|
|
730
|
+
try_get_tag_interpreted_string(tag: string | null): string | null
|
|
731
|
+
/**
|
|
732
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
733
|
+
* @param tag Exiv2 tag name
|
|
734
|
+
* @returns The tag's value as a glong
|
|
735
|
+
*/
|
|
736
|
+
try_get_tag_long(tag: string | null): number
|
|
737
|
+
/**
|
|
738
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
739
|
+
* @param tag Exiv2 tag name
|
|
740
|
+
* @returns The multiple string values of @tag. Returns %NULL if parameters are %NULL or @tag does not begin with recognised type of metadata ("Exif.", "Xmp." or "Iptc."). For a well formed @tag, returns array[0] = %NULL if @tag is undefined or is not set in the current metadata.
|
|
741
|
+
*/
|
|
742
|
+
try_get_tag_multiple(tag: string | null): string[] | null
|
|
743
|
+
/**
|
|
744
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
745
|
+
*
|
|
746
|
+
* Tags that support multiple values may be returned as a single byte array, with records separated
|
|
747
|
+
* by 4x INFORMATION SEPARATOR FOUR (ASCII 0x1c)
|
|
748
|
+
* @param tag Exiv2 tag name
|
|
749
|
+
* @returns The tag's raw value as a byte array
|
|
750
|
+
*/
|
|
751
|
+
try_get_tag_raw(tag: string | null): GLib.Bytes | null
|
|
752
|
+
/**
|
|
753
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
754
|
+
*
|
|
755
|
+
* Tags that support multiple values are returned as a single string, with elements separated by ", ".
|
|
756
|
+
* @param tag Exiv2 tag name
|
|
757
|
+
* @returns The tag's value as a string
|
|
758
|
+
*/
|
|
759
|
+
try_get_tag_string(tag: string | null): string | null
|
|
760
|
+
try_get_xmp_packet(): string | null
|
|
761
|
+
/**
|
|
762
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
763
|
+
* @param tag Exiv2 tag
|
|
764
|
+
* @returns TRUE if the tag is present.
|
|
765
|
+
*/
|
|
766
|
+
try_has_tag(tag: string | null): boolean
|
|
767
|
+
/**
|
|
768
|
+
* This is a composite setter that will set a number of fields to the supplied value. See
|
|
769
|
+
* #gexiv2_metadata_get_comment for more information.
|
|
770
|
+
* @param comment Comment string to set. Must not be %NULL
|
|
771
|
+
*/
|
|
772
|
+
try_set_comment(comment: string | null): void
|
|
773
|
+
/**
|
|
774
|
+
* Set EXIF `tag` represented by a fraction, with `nom` being the numerator,
|
|
775
|
+
* `den` the denominator of the fraction.
|
|
776
|
+
* @param tag The Exiv2 tag
|
|
777
|
+
* @param nom Rational numerator
|
|
778
|
+
* @param den Rational denominator
|
|
779
|
+
* @returns Boolean success value
|
|
780
|
+
*/
|
|
781
|
+
try_set_exif_tag_rational(tag: string | null, nom: number, den: number): boolean
|
|
782
|
+
try_set_exif_thumbnail_from_buffer(buffer: Uint8Array): void
|
|
783
|
+
/**
|
|
784
|
+
* Convenience function to create a new set of simple GPS data. Warning: Will remove any other
|
|
785
|
+
* GPS information that is currently set. See gexiv2_metadata_update_gps_info() for
|
|
786
|
+
* just modifying the GPS data.
|
|
787
|
+
* @param longitude Longitude value to set or replace current value
|
|
788
|
+
* @param latitude Latitude value to set or replace current value
|
|
789
|
+
* @param altitude Altitude value to set or replace current value
|
|
790
|
+
* @returns Boolean success value.
|
|
791
|
+
*/
|
|
792
|
+
try_set_gps_info(longitude: number, latitude: number, altitude: number): boolean
|
|
793
|
+
/**
|
|
794
|
+
* Update the image's metadata with `height`
|
|
795
|
+
* @param height The width of the image as it should be put into the metadata.
|
|
796
|
+
*/
|
|
797
|
+
try_set_metadata_pixel_height(height: number): void
|
|
798
|
+
/**
|
|
799
|
+
* Composite setter to update the image's metadata with `width`
|
|
800
|
+
* @param width The width of the image as it should be put into the metadata
|
|
801
|
+
*/
|
|
802
|
+
try_set_metadata_pixel_width(width: number): void
|
|
803
|
+
/**
|
|
804
|
+
* The orientation must be valid and cannot be #GEXIV2_ORIENTATION_UNSPECIFIED.
|
|
805
|
+
* @param orientation The new #GExiv2Orientation for the image.
|
|
806
|
+
*/
|
|
807
|
+
try_set_orientation(orientation: Orientation): void
|
|
808
|
+
/**
|
|
809
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
810
|
+
* @param tag Exiv2 tag name
|
|
811
|
+
* @param value The value to set or replace the existing value
|
|
812
|
+
* @returns TRUE on success
|
|
813
|
+
*/
|
|
814
|
+
try_set_tag_long(tag: string | null, value: number): boolean
|
|
815
|
+
/**
|
|
816
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
817
|
+
*
|
|
818
|
+
* All previous `tag` values are erased. For multiple value tags, each of the non %NULL
|
|
819
|
+
* entries in `values` is stored. For single value tags, only the last non %NULL value
|
|
820
|
+
* is assigned.
|
|
821
|
+
* @param tag Exiv2 tag name
|
|
822
|
+
* @param values An array of values to set or replace the existing value(s)
|
|
823
|
+
* @returns Boolean success value
|
|
824
|
+
*/
|
|
825
|
+
try_set_tag_multiple(tag: string | null, values: string[]): boolean
|
|
826
|
+
/**
|
|
827
|
+
* If a tag supports multiple values, then `value` is added to any existing values. For single
|
|
828
|
+
* tags, `value` replaces the value.
|
|
829
|
+
*
|
|
830
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
831
|
+
* @param tag Exiv2 tag name
|
|
832
|
+
* @param value The value to set or replace the existing value
|
|
833
|
+
* @returns TRUE on success
|
|
834
|
+
*/
|
|
835
|
+
try_set_tag_string(tag: string | null, value: string | null): boolean
|
|
836
|
+
/**
|
|
837
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
838
|
+
* @param tag Exiv2 tag name
|
|
839
|
+
* @param type The GExiv2StructureType specifying the type of structure
|
|
840
|
+
* @returns TRUE on success
|
|
841
|
+
*/
|
|
842
|
+
try_set_xmp_tag_struct(tag: string | null, type: StructureType): boolean
|
|
843
|
+
/**
|
|
844
|
+
* The Exiv2 Tag Reference can be found at <ulink url="https://www.exiv2.org/metadata.html"></ulink>
|
|
845
|
+
*
|
|
846
|
+
* Multiple value tags are Xmp tags of type "XmpAlt", "XmpBag", "XmpSeq" or "LangAlt", or Iptc
|
|
847
|
+
* tags marked as Repeatable (which can be of any Iptc type). There are no multiple value Exif
|
|
848
|
+
* tags.
|
|
849
|
+
* @param tag An Exiv2 tag
|
|
850
|
+
* @returns Whether @tag is capable of storing multiple values or not. If @tag is undefined (i.e. not built-in and not added to @self), then @error is set and %FALSE is returned.
|
|
851
|
+
*/
|
|
852
|
+
try_tag_supports_multiple_values(tag: string | null): boolean
|
|
853
|
+
/**
|
|
854
|
+
* Convenience function to update longitude, latitude and altitude at once.
|
|
855
|
+
* @param longitude Longitude value to set or replace current value
|
|
856
|
+
* @param latitude Latitude value to set or replace current value
|
|
857
|
+
* @param altitude Altitude value to set or replace current value
|
|
858
|
+
* @returns Boolean success value.
|
|
859
|
+
*/
|
|
860
|
+
try_update_gps_info(longitude: number, latitude: number, altitude: number): boolean
|
|
861
|
+
/**
|
|
862
|
+
* Convenience function to update longitude, latitude and altitude at once.
|
|
863
|
+
* @param longitude Longitude value to set or replace current value
|
|
864
|
+
* @param latitude Latitude value to set or replace current value
|
|
865
|
+
* @param altitude Altitude value to set or replace current value
|
|
866
|
+
* @returns Boolean success value.
|
|
867
|
+
*/
|
|
868
|
+
update_gps_info(longitude: number, latitude: number, altitude: number): boolean
|
|
869
|
+
|
|
870
|
+
// Class property signals of GExiv2-0.10.GExiv2.Metadata
|
|
871
|
+
|
|
872
|
+
connect(sigName: string, callback: (...args: any[]) => void): number
|
|
873
|
+
connect_after(sigName: string, callback: (...args: any[]) => void): number
|
|
874
|
+
emit(sigName: string, ...args: any[]): void
|
|
875
|
+
disconnect(id: number): void
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
/**
|
|
879
|
+
* An object holding all the Exiv2 metadata. Previews, if present, are also available.
|
|
880
|
+
*
|
|
881
|
+
* As gexiv2 is only a wrapper around Exiv2, it's better to read its documentation to understand
|
|
882
|
+
* the full scope of what it offers: <ulink url="http://www.exiv2.org/"></ulink>
|
|
883
|
+
*
|
|
884
|
+
* In particular, rather than providing a getter/setter method pair for every metadata value
|
|
885
|
+
* available for images (of which there are thousands), Exiv2 uses a dotted addressing scheme.
|
|
886
|
+
* For example, to access a photo's EXIF Orientation field, the caller passes to Exiv2
|
|
887
|
+
* "Exif.Photo.Orientation". These <emphasis>tags</emphasis> (in Exiv2 parlance) are key to using Exiv2 (and
|
|
888
|
+
* therefore gexiv2) to its fullest.
|
|
889
|
+
*
|
|
890
|
+
* A full reference for all supported Exiv2 tags can be found at
|
|
891
|
+
* <ulink url="http://www.exiv2.org/metadata.html"></ulink>
|
|
892
|
+
* @class
|
|
893
|
+
*/
|
|
894
|
+
export class Metadata extends GObject.Object {
|
|
895
|
+
|
|
896
|
+
// Own properties of GExiv2-0.10.GExiv2.Metadata
|
|
897
|
+
|
|
898
|
+
static name: string
|
|
899
|
+
static $gtype: GObject.GType<Metadata>
|
|
900
|
+
|
|
901
|
+
// Constructors of GExiv2-0.10.GExiv2.Metadata
|
|
902
|
+
|
|
903
|
+
constructor(config?: Metadata.ConstructorProperties)
|
|
904
|
+
constructor()
|
|
905
|
+
static new(): Metadata
|
|
906
|
+
_init(config?: Metadata.ConstructorProperties): void
|
|
907
|
+
/**
|
|
908
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
909
|
+
* @param tag An Exiv2 tag
|
|
910
|
+
* @returns The tag's description
|
|
911
|
+
*/
|
|
912
|
+
static get_tag_description(tag: string | null): string | null
|
|
913
|
+
/**
|
|
914
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
915
|
+
* @param tag An Exiv2 tag
|
|
916
|
+
* @returns The tag's label
|
|
917
|
+
*/
|
|
918
|
+
static get_tag_label(tag: string | null): string | null
|
|
919
|
+
/**
|
|
920
|
+
* The names of the various Exiv2 tag types can be found at Exiv2::TypeId,
|
|
921
|
+
* <ulink url="http://exiv2.org/doc/namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c"></ulink>
|
|
922
|
+
*
|
|
923
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
924
|
+
* @param tag An Exiv2 tag
|
|
925
|
+
* @returns The tag's type name.
|
|
926
|
+
*/
|
|
927
|
+
static get_tag_type(tag: string | null): string | null
|
|
928
|
+
static get_xmp_namespace_for_tag(tag: string | null): string | null
|
|
929
|
+
/**
|
|
930
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
931
|
+
* @param tag An Exiv2 tag
|
|
932
|
+
* @returns TRUE if the Exiv2 tag is for the EXIF domain.
|
|
933
|
+
*/
|
|
934
|
+
static is_exif_tag(tag: string | null): boolean
|
|
935
|
+
/**
|
|
936
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
937
|
+
* @param tag An Exiv2 tag
|
|
938
|
+
* @returns TRUE if the Exiv2 tag is for the IPTC domain.
|
|
939
|
+
*/
|
|
940
|
+
static is_iptc_tag(tag: string | null): boolean
|
|
941
|
+
/**
|
|
942
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
943
|
+
* @param tag An Exiv2 tag
|
|
944
|
+
* @returns TRUE if the Exiv2 tag is for the XMP domain.
|
|
945
|
+
*/
|
|
946
|
+
static is_xmp_tag(tag: string | null): boolean
|
|
947
|
+
static register_xmp_namespace(name: string | null, prefix: string | null): boolean
|
|
948
|
+
/**
|
|
949
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
950
|
+
* @param tag An Exiv2 tag
|
|
951
|
+
* @returns The tag's description
|
|
952
|
+
*/
|
|
953
|
+
static try_get_tag_description(tag: string | null): string | null
|
|
954
|
+
/**
|
|
955
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
956
|
+
* @param tag An Exiv2 tag
|
|
957
|
+
* @returns The tag's label
|
|
958
|
+
*/
|
|
959
|
+
static try_get_tag_label(tag: string | null): string | null
|
|
960
|
+
/**
|
|
961
|
+
* The names of the various Exiv2 tag types can be found at Exiv2::TypeId,
|
|
962
|
+
* <ulink url="http://exiv2.org/doc/namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c"></ulink>
|
|
963
|
+
*
|
|
964
|
+
* The Exiv2 Tag Reference can be found at <ulink url="http://exiv2.org/metadata.html"></ulink>
|
|
965
|
+
* @param tag An Exiv2 tag
|
|
966
|
+
* @returns The tag's type name.
|
|
967
|
+
*/
|
|
968
|
+
static try_get_tag_type(tag: string | null): string | null
|
|
969
|
+
static try_get_xmp_namespace_for_tag(tag: string | null): string | null
|
|
970
|
+
static try_register_xmp_namespace(name: string | null, prefix: string | null): boolean
|
|
971
|
+
static try_unregister_all_xmp_namespaces(): void
|
|
972
|
+
static try_unregister_xmp_namespace(name: string | null): boolean
|
|
973
|
+
static unregister_all_xmp_namespaces(): void
|
|
974
|
+
static unregister_xmp_namespace(name: string | null): boolean
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
export module PreviewImage {
|
|
978
|
+
|
|
979
|
+
// Constructor properties interface
|
|
980
|
+
|
|
981
|
+
export interface ConstructorProperties extends GObject.Object.ConstructorProperties {
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
export interface PreviewImage {
|
|
987
|
+
|
|
988
|
+
// Own fields of GExiv2-0.10.GExiv2.PreviewImage
|
|
989
|
+
|
|
990
|
+
parent_instance: GObject.Object
|
|
991
|
+
|
|
992
|
+
// Owm methods of GExiv2-0.10.GExiv2.PreviewImage
|
|
993
|
+
|
|
994
|
+
/**
|
|
995
|
+
* Releases the preview image and all associated memory.
|
|
996
|
+
*/
|
|
997
|
+
free(): void
|
|
998
|
+
get_data(): Uint8Array
|
|
999
|
+
|
|
1000
|
+
// Overloads of get_data
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* Gets a named field from the objects table of associations (see g_object_set_data()).
|
|
1004
|
+
* @param key name of the key for that association
|
|
1005
|
+
* @returns the data if found, or %NULL if no such data exists.
|
|
1006
|
+
*/
|
|
1007
|
+
get_data(key: string | null): any | null
|
|
1008
|
+
get_extension(): string | null
|
|
1009
|
+
get_height(): number
|
|
1010
|
+
get_mime_type(): string | null
|
|
1011
|
+
get_width(): number
|
|
1012
|
+
try_write_file(path: string | null): number
|
|
1013
|
+
write_file(path: string | null): number
|
|
1014
|
+
|
|
1015
|
+
// Class property signals of GExiv2-0.10.GExiv2.PreviewImage
|
|
1016
|
+
|
|
1017
|
+
connect(sigName: string, callback: (...args: any[]) => void): number
|
|
1018
|
+
connect_after(sigName: string, callback: (...args: any[]) => void): number
|
|
1019
|
+
emit(sigName: string, ...args: any[]): void
|
|
1020
|
+
disconnect(id: number): void
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
export class PreviewImage extends GObject.Object {
|
|
1024
|
+
|
|
1025
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewImage
|
|
1026
|
+
|
|
1027
|
+
static name: string
|
|
1028
|
+
static $gtype: GObject.GType<PreviewImage>
|
|
1029
|
+
|
|
1030
|
+
// Constructors of GExiv2-0.10.GExiv2.PreviewImage
|
|
1031
|
+
|
|
1032
|
+
constructor(config?: PreviewImage.ConstructorProperties)
|
|
1033
|
+
_init(config?: PreviewImage.ConstructorProperties): void
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
export module PreviewProperties {
|
|
1037
|
+
|
|
1038
|
+
// Constructor properties interface
|
|
1039
|
+
|
|
1040
|
+
export interface ConstructorProperties extends GObject.Object.ConstructorProperties {
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
export interface PreviewProperties {
|
|
1046
|
+
|
|
1047
|
+
// Own fields of GExiv2-0.10.GExiv2.PreviewProperties
|
|
1048
|
+
|
|
1049
|
+
parent_instance: GObject.Object
|
|
1050
|
+
|
|
1051
|
+
// Owm methods of GExiv2-0.10.GExiv2.PreviewProperties
|
|
1052
|
+
|
|
1053
|
+
get_extension(): string | null
|
|
1054
|
+
get_height(): number
|
|
1055
|
+
get_mime_type(): string | null
|
|
1056
|
+
get_size(): number
|
|
1057
|
+
get_width(): number
|
|
1058
|
+
|
|
1059
|
+
// Class property signals of GExiv2-0.10.GExiv2.PreviewProperties
|
|
1060
|
+
|
|
1061
|
+
connect(sigName: string, callback: (...args: any[]) => void): number
|
|
1062
|
+
connect_after(sigName: string, callback: (...args: any[]) => void): number
|
|
1063
|
+
emit(sigName: string, ...args: any[]): void
|
|
1064
|
+
disconnect(id: number): void
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
export class PreviewProperties extends GObject.Object {
|
|
1068
|
+
|
|
1069
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewProperties
|
|
1070
|
+
|
|
1071
|
+
static name: string
|
|
1072
|
+
static $gtype: GObject.GType<PreviewProperties>
|
|
1073
|
+
|
|
1074
|
+
// Constructors of GExiv2-0.10.GExiv2.PreviewProperties
|
|
1075
|
+
|
|
1076
|
+
constructor(config?: PreviewProperties.ConstructorProperties)
|
|
1077
|
+
_init(config?: PreviewProperties.ConstructorProperties): void
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
export interface MetadataClass {
|
|
1081
|
+
|
|
1082
|
+
// Own fields of GExiv2-0.10.GExiv2.MetadataClass
|
|
1083
|
+
|
|
1084
|
+
parent_class: GObject.ObjectClass
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
export abstract class MetadataClass {
|
|
1088
|
+
|
|
1089
|
+
// Own properties of GExiv2-0.10.GExiv2.MetadataClass
|
|
1090
|
+
|
|
1091
|
+
static name: string
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
export interface MetadataPrivate {
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
export class MetadataPrivate {
|
|
1098
|
+
|
|
1099
|
+
// Own properties of GExiv2-0.10.GExiv2.MetadataPrivate
|
|
1100
|
+
|
|
1101
|
+
static name: string
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
export interface PreviewImageClass {
|
|
1105
|
+
|
|
1106
|
+
// Own fields of GExiv2-0.10.GExiv2.PreviewImageClass
|
|
1107
|
+
|
|
1108
|
+
parent_class: GObject.ObjectClass
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
export abstract class PreviewImageClass {
|
|
1112
|
+
|
|
1113
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewImageClass
|
|
1114
|
+
|
|
1115
|
+
static name: string
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
export interface PreviewImagePrivate {
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
export class PreviewImagePrivate {
|
|
1122
|
+
|
|
1123
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewImagePrivate
|
|
1124
|
+
|
|
1125
|
+
static name: string
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
export interface PreviewPropertiesClass {
|
|
1129
|
+
|
|
1130
|
+
// Own fields of GExiv2-0.10.GExiv2.PreviewPropertiesClass
|
|
1131
|
+
|
|
1132
|
+
parent_class: GObject.ObjectClass
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
export abstract class PreviewPropertiesClass {
|
|
1136
|
+
|
|
1137
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewPropertiesClass
|
|
1138
|
+
|
|
1139
|
+
static name: string
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
export interface PreviewPropertiesPrivate {
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
export class PreviewPropertiesPrivate {
|
|
1146
|
+
|
|
1147
|
+
// Own properties of GExiv2-0.10.GExiv2.PreviewPropertiesPrivate
|
|
1148
|
+
|
|
1149
|
+
static name: string
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
/**
|
|
1153
|
+
* Name of the imported GIR library
|
|
1154
|
+
* @see https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
|
|
1155
|
+
*/
|
|
1156
|
+
export const __name__: string
|
|
1157
|
+
/**
|
|
1158
|
+
* Version of the imported GIR library
|
|
1159
|
+
* @see https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
|
|
1160
|
+
*/
|
|
1161
|
+
export const __version__: string
|
|
1162
|
+
// END
|