Thu, 25 Aug 2022 21:34:53 -0500
Port the invite dialog to GTK4
Testing Done:
Opened the dialog via conversations -> invite and made sure it worked as expected.
Reviewed at https://reviews.imfreedom.org/r/1644/
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
1 | /* purple |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
2 | * |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
3 | * Purple is the legal property of its developers, whose names are too numerous |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
5 | * source distribution. |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
6 | * |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
10 | * (at your option) any later version. |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
11 | * |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
15 | * GNU General Public License for more details. |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
16 | * |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
18 | * along with this program; if not, write to the Free Software |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
20 | */ |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
21 | |
|
40474
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39861
diff
changeset
|
22 | #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39861
diff
changeset
|
23 | # error "only <purple.h> may be included directly" |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39861
diff
changeset
|
24 | #endif |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39861
diff
changeset
|
25 | |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
26 | #ifndef PURPLE_IMAGE_H |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
27 | #define PURPLE_IMAGE_H |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
28 | |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
29 | #include <glib-object.h> |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
30 | |
|
40524
a3b1cde8d2d8
Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
31 | /** |
|
a3b1cde8d2d8
Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
32 | * PURPLE_TYPE_IMAGE: |
|
a3b1cde8d2d8
Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
33 | * |
|
a3b1cde8d2d8
Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
34 | * The standard _get_type macro for #PurpleImage. |
|
a3b1cde8d2d8
Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
35 | */ |
|
39545
77379050b5f7
Use G_DECLARE* for PurpleImage and drop private macro.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38745
diff
changeset
|
36 | #define PURPLE_TYPE_IMAGE purple_image_get_type() |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
37 | |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
38 | struct _PurpleImageClass { |
|
39861
392ea8044e8a
mark PurpleImageClass as private
Gary Kramlich <grim@reaperworld.com>
parents:
39545
diff
changeset
|
39 | /*< private >*/ |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
40 | GObjectClass parent_class; |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
41 | |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
42 | void (*purple_reserved1)(void); |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
43 | void (*purple_reserved2)(void); |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
44 | void (*purple_reserved3)(void); |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
45 | void (*purple_reserved4)(void); |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
46 | }; |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
47 | |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
48 | G_BEGIN_DECLS |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
49 | |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
50 | /** |
|
41208
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
51 | * PurpleImage: |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
52 | * |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
53 | * #PurpleImage object is a container for raw image data. It doesn't manipulate |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
54 | * image data, just stores it in its binary format - png, jpeg etc. Thus, it's |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
55 | * totally independent from the UI. |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
56 | * |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
57 | * This class also provides certain file-related features, like: friendly |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
58 | * filenames (not necessarily real filename for displaying); remote images |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
59 | * (which data is not yet loaded) or guessing file format from its header. |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
60 | */ |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
61 | |
|
48baac6c8989
Remove unnecessary gtk-doc comments and move them where possible from libpurple/[d-m]*.h
Gary Kramlich <grim@reaperworld.com>
parents:
40756
diff
changeset
|
62 | /** |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
63 | * purple_image_get_type: |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
64 | * |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
65 | * Returns: the #GType for an image. |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
66 | */ |
|
39545
77379050b5f7
Use G_DECLARE* for PurpleImage and drop private macro.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38745
diff
changeset
|
67 | G_DECLARE_DERIVABLE_TYPE(PurpleImage, purple_image, PURPLE, IMAGE, GObject) |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
68 | |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
69 | /** |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
70 | * purple_image_new_from_bytes: |
|
38745
f4376b1f4682
A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
38298
diff
changeset
|
71 | * @bytes: (transfer none): A #GBytes containing the raw image data. |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
72 | * |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
73 | * Loads a raw image data as a new #PurpleImage object. |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
74 | * |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
75 | * Returns: the new #PurpleImage. |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
76 | */ |
|
38281
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
77 | PurpleImage *purple_image_new_from_bytes(GBytes *bytes); |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
78 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
79 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
80 | * purple_image_new_from_file: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
81 | * @path: the path to the image file. |
|
38745
f4376b1f4682
A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
38298
diff
changeset
|
82 | * @error: (optional) (out): An optional return address for a #GError |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
83 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
84 | * Loads an image file as a new #PurpleImage object. The @path must exists, be |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
85 | * readable and should point to a valid image file. If you don't set @be_eager |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
86 | * parameter, there will be a risk that file will be removed from disk before |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
87 | * you access its data. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
88 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
89 | * Returns: the new #PurpleImage. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
90 | */ |
|
38281
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
91 | PurpleImage *purple_image_new_from_file(const gchar *path, GError **error); |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
92 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
93 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
94 | * purple_image_new_from_data: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
95 | * @data: the pointer to the image data buffer. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
96 | * @length: the length of @data. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
97 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
98 | * Creates a new #PurpleImage object with contents of @data buffer. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
99 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
100 | * The @data buffer is owned by #PurpleImage object, so you might want |
|
40756
3a58ef28ee44
Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents:
40524
diff
changeset
|
101 | * to g_memdup2() it first. |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
102 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
103 | * Returns: the new #PurpleImage. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
104 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
105 | PurpleImage *purple_image_new_from_data(const guint8 *data, gsize length); |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
106 | |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
107 | /** |
|
38294
5a797c987eb2
Rename purple_image_new_from_data_take to purple_image_new_take_data
Gary Kramlich <grim@reaperworld.com>
parents:
38292
diff
changeset
|
108 | * purple_image_new_take_data: |
|
38745
f4376b1f4682
A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
38298
diff
changeset
|
109 | * @data: (transfer full): the pointer to the image data buffer. |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
110 | * @length: the length of @data. |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
111 | * |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
112 | * Creates a new #PurpleImage object with contents of @data buffer. |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
113 | * |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
114 | * The @data buffer is owned by #PurpleImage object, so you might want |
|
40756
3a58ef28ee44
Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents:
40524
diff
changeset
|
115 | * to g_memdup2() it first. |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
116 | * |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
117 | * Returns: the new #PurpleImage. |
|
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
118 | */ |
|
38294
5a797c987eb2
Rename purple_image_new_from_data_take to purple_image_new_take_data
Gary Kramlich <grim@reaperworld.com>
parents:
38292
diff
changeset
|
119 | PurpleImage *purple_image_new_take_data(guint8 *data, gsize length); |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
120 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
121 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
122 | * purple_image_save: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
123 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
124 | * @path: destination of a saved image file. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
125 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
126 | * Saves an @image to the disk. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
127 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
128 | * Returns: %TRUE if succeeded, %FALSE otherwise. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
129 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
130 | gboolean purple_image_save(PurpleImage *image, const gchar *path); |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35806
diff
changeset
|
131 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
132 | /** |
|
38281
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
133 | * purple_image_get_contents: |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
134 | * @image: The #PurpleImage. |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
135 | * |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
136 | * Returns a new reference to the #GBytes that contains the image data. |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
137 | * |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
138 | * Returns: (transfer full): A #GBytes containing the image data. |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
139 | */ |
|
39545
77379050b5f7
Use G_DECLARE* for PurpleImage and drop private macro.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38745
diff
changeset
|
140 | GBytes *purple_image_get_contents(PurpleImage *image); |
|
38281
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
141 | |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
142 | |
|
df274be2afa2
A bunch more hack and slash with a bit more design on the fly
Gary Kramlich <grim@reaperworld.com>
parents:
38278
diff
changeset
|
143 | /** |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
144 | * purple_image_get_path: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
145 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
146 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
147 | * Returns the physical path of the @image file. It is set only, if the @image is |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
148 | * really backed by an existing file. In the other case it returns %NULL. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
149 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
150 | * Returns: the physical path of the @image, or %NULL. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
151 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
152 | const gchar *purple_image_get_path(PurpleImage *image); |
|
35801
9cdf2c4d5a7a
PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35800
diff
changeset
|
153 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
154 | /** |
|
38298
f0a8f63f9312
rename purple_image_get_size to purple_image_get_data_size and deal with the fallout
Gary Kramlich <grim@reaperworld.com>
parents:
38294
diff
changeset
|
155 | * purple_image_get_data_size: |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
156 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
157 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
158 | * Returns the size of @image's data. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
159 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
160 | * Returns: the size of data, or 0 in case of failure. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
161 | */ |
|
38298
f0a8f63f9312
rename purple_image_get_size to purple_image_get_data_size and deal with the fallout
Gary Kramlich <grim@reaperworld.com>
parents:
38294
diff
changeset
|
162 | gsize purple_image_get_data_size(PurpleImage *image); |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
163 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
164 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
165 | * purple_image_get_data: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
166 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
167 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
168 | * Returns the pointer to the buffer containing image data. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
169 | * |
|
35846
07dabf3c0022
PurpleImage: purple_image_get_data should return const buffer
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35845
diff
changeset
|
170 | * Returns: (transfer none): the @image data. |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
171 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
172 | gconstpointer purple_image_get_data(PurpleImage *image); |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
173 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
174 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
175 | * purple_image_get_extension: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
176 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
177 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
178 | * Guesses the @image format based on its contents. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
179 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
180 | * Returns: (transfer none): the file extension suitable for @image format. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
181 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
182 | const gchar *purple_image_get_extension(PurpleImage *image); |
|
35801
9cdf2c4d5a7a
PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35800
diff
changeset
|
183 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
184 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
185 | * purple_image_get_mimetype: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
186 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
187 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
188 | * Guesses the @image mime-type based on its contents. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
189 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
190 | * Returns: (transfer none): the mime-type suitable for @image format. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
191 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
192 | const gchar *purple_image_get_mimetype(PurpleImage *image); |
|
35801
9cdf2c4d5a7a
PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35800
diff
changeset
|
193 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
194 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
195 | * purple_image_generate_filename: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
196 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
197 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
198 | * Calculates almost-unique filename by computing checksum from file contents |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
199 | * and appending a suitable extension. You should not assume the checksum |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
200 | * is SHA-1, because it may change in the future. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
201 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
202 | * Returns: (transfer none): the generated file name. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
203 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
204 | const gchar *purple_image_generate_filename(PurpleImage *image); |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35806
diff
changeset
|
205 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
206 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
207 | * purple_image_set_friendly_filename: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
208 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
209 | * @filename: the friendly filename. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
210 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
211 | * Sets the "friendly filename" for the @image. This don't have to be a real |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
212 | * name, because it's used for displaying or as a default file name when the |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
213 | * user wants to save the @image to the disk. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
214 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
215 | * The provided @filename may either be a full path, or contain |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
216 | * filesystem-unfriendly characters, because it will be reformatted. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
217 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
218 | void purple_image_set_friendly_filename(PurpleImage *image, const gchar *filename); |
|
35819
cc375b914104
imgstore: remove refs from gg prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35809
diff
changeset
|
219 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
220 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
221 | * purple_image_get_friendly_filename: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
222 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
223 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
224 | * Returns the "friendly filename" for the @image, to be displayed or used as |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
225 | * a default name when saving a file to the disk. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
226 | * See #purple_image_set_friendly_filename. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
227 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
228 | * If the friendly filename was not set, it will be generated with |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
229 | * #purple_image_generate_filename. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
230 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
231 | * Returns: (transfer none): the friendly filename. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35829
diff
changeset
|
232 | */ |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
233 | const gchar *purple_image_get_friendly_filename(PurpleImage *image); |
|
35829
268931512478
imgstore: unref oscar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35819
diff
changeset
|
234 | |
|
35800
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
235 | G_END_DECLS |
|
2c21828e7442
PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
236 | |
|
38277
061e91dd78d4
first pass at cleaning up PurpleImage
Gary Kramlich <grim@reaperworld.com>
parents:
35946
diff
changeset
|
237 | #endif /* PURPLE_IMAGE_H */ |