mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 19:45:41 -04:00
[librpbase] RpPng::load(): Take IRpFile* instead of IRpFilePtr. (BREAKING CHANGE; SOVERSION bumped to 6)
In many cases, an IRpFilePtr isn't actually needed here, so make the base function take just IRpFile*. Add a static inline wrapper that takes IRpFilePtr. J2MEPrivate::loadIcon(): Get rid of MemFilePtr, since we don't actually need it here. Use a plain MemFile* instead.
This commit is contained in:
parent
5d618e66aa
commit
e0abbe20bb
18
debian/control
vendored
18
debian/control
vendored
@ -42,7 +42,7 @@ Vcs-Browser: https://github.com/GerbilSoft/rom-properties
|
|||||||
|
|
||||||
Package: rom-properties-all
|
Package: rom-properties-all
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${misc:Depends}, libromdata5, rom-properties-kde4, rom-properties-kf5, rom-properties-xfce, rom-properties-gtk3, rom-properties-cli, rom-properties-tracker, rom-properties-utils, rom-properties-lang, rom-properties-thumbnailer-dbus
|
Depends: ${misc:Depends}, libromdata6, rom-properties-kde4, rom-properties-kf5, rom-properties-xfce, rom-properties-gtk3, rom-properties-cli, rom-properties-tracker, rom-properties-utils, rom-properties-lang, rom-properties-thumbnailer-dbus
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
This shell extension provides thumbnailing and property page functionality
|
This shell extension provides thumbnailing and property page functionality
|
||||||
for ROM images, disc images, and save files for various game consoles,
|
for ROM images, disc images, and save files for various game consoles,
|
||||||
@ -50,7 +50,7 @@ Description: ROM Properties Page shell extension
|
|||||||
.
|
.
|
||||||
This is a meta-package that installs all rom-properties packages.
|
This is a meta-package that installs all rom-properties packages.
|
||||||
|
|
||||||
Package: libromdata5
|
Package: libromdata6
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, rom-properties-data
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rom-properties-data
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
@ -63,7 +63,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-kde4
|
Package: rom-properties-kde4
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg
|
||||||
Recommends: rom-properties-lang
|
Recommends: rom-properties-lang
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
This shell extension provides thumbnailing and property page functionality
|
This shell extension provides thumbnailing and property page functionality
|
||||||
@ -74,7 +74,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-kio-servicemenus
|
Package: rom-properties-kio-servicemenus
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils
|
||||||
Conflicts: rom-properties-kf5 (<< 2.3)
|
Conflicts: rom-properties-kf5 (<< 2.3)
|
||||||
Replaces: rom-properties-kf5 (<< 2.3)
|
Replaces: rom-properties-kf5 (<< 2.3)
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
@ -86,7 +86,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-kf5
|
Package: rom-properties-kf5
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-kio-servicemenus
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-kio-servicemenus
|
||||||
Recommends: rom-properties-lang
|
Recommends: rom-properties-lang
|
||||||
Conflicts: rom-properties-kde5
|
Conflicts: rom-properties-kde5
|
||||||
Replaces: rom-properties-kde5
|
Replaces: rom-properties-kde5
|
||||||
@ -99,7 +99,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-xfce
|
Package: rom-properties-xfce
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||||
Recommends: rom-properties-lang, rom-properties-tracker
|
Recommends: rom-properties-lang, rom-properties-tracker
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
This shell extension provides thumbnailing and property page functionality
|
This shell extension provides thumbnailing and property page functionality
|
||||||
@ -113,7 +113,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-gtk3
|
Package: rom-properties-gtk3
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6, rom-properties-utils, rom-properties-xdg, rom-properties-thumbnailer-dbus
|
||||||
Recommends: rom-properties-lang, rom-properties-tracker
|
Recommends: rom-properties-lang, rom-properties-tracker
|
||||||
Conflicts: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
Conflicts: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
||||||
Replaces: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
Replaces: rom-properties-gnome, rom-properties-mate, rom-properties-cinnamon, rom-properties-gtk3-common
|
||||||
@ -132,7 +132,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-cli
|
Package: rom-properties-cli
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6
|
||||||
Recommends: rom-properties-lang
|
Recommends: rom-properties-lang
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
This shell extension provides thumbnailing and property page functionality
|
This shell extension provides thumbnailing and property page functionality
|
||||||
@ -143,7 +143,7 @@ Description: ROM Properties Page shell extension
|
|||||||
|
|
||||||
Package: rom-properties-tracker
|
Package: rom-properties-tracker
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata5
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libromdata6
|
||||||
Description: ROM Properties Page shell extension
|
Description: ROM Properties Page shell extension
|
||||||
This shell extension provides thumbnailing and property page functionality
|
This shell extension provides thumbnailing and property page functionality
|
||||||
for ROM images, disc images, and save files for various game consoles,
|
for ROM images, disc images, and save files for various game consoles,
|
||||||
|
@ -455,8 +455,8 @@ IF(RP_LIBROMDATA_IS_DLL)
|
|||||||
ADD_DEFINITIONS(-DRP_BUILDING_FOR_DLL=1)
|
ADD_DEFINITIONS(-DRP_BUILDING_FOR_DLL=1)
|
||||||
# NOTE: Not using the project version here.
|
# NOTE: Not using the project version here.
|
||||||
# This represents the ABI version.
|
# This represents the ABI version.
|
||||||
SET(${PROJECT_NAME}_VERSION 5.0)
|
SET(${PROJECT_NAME}_VERSION 6.0)
|
||||||
SET(${PROJECT_NAME}_SOVERSION 5)
|
SET(${PROJECT_NAME}_SOVERSION 6)
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
# Delay-load sources.
|
# Delay-load sources.
|
||||||
SET(${PROJECT_NAME}-DELAYLOAD_SRC ../libwin32common/DelayLoadHelper.c)
|
SET(${PROJECT_NAME}-DELAYLOAD_SRC ../libwin32common/DelayLoadHelper.c)
|
||||||
|
@ -502,8 +502,9 @@ rp_image_const_ptr J2MEPrivate::loadIcon(void)
|
|||||||
|
|
||||||
// Create a MemFile and decode the image.
|
// Create a MemFile and decode the image.
|
||||||
// TODO: For rpcli, shortcut to extract the PNG directly.
|
// TODO: For rpcli, shortcut to extract the PNG directly.
|
||||||
MemFilePtr f_mem = std::make_shared<MemFile>(png_buf.data(), png_buf.size());
|
MemFile *const f_mem = new MemFile(png_buf.data(), png_buf.size());
|
||||||
this->img_icon = RpPng::load(f_mem);
|
this->img_icon = RpPng::load(f_mem);
|
||||||
|
delete f_mem;
|
||||||
return this->img_icon;
|
return this->img_icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ static rp_image_ptr loadPng(png_structp png_ptr, png_infop info_ptr)
|
|||||||
* @param file IRpFile to load from
|
* @param file IRpFile to load from
|
||||||
* @return rp_image*, or nullptr on error
|
* @return rp_image*, or nullptr on error
|
||||||
*/
|
*/
|
||||||
rp_image_ptr load(const IRpFilePtr &file)
|
rp_image_ptr load(IRpFile *file)
|
||||||
{
|
{
|
||||||
if (!file)
|
if (!file)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@ -512,7 +512,7 @@ rp_image_ptr load(const IRpFilePtr &file)
|
|||||||
#endif /* PNG_WARNINGS_SUPPORTED */
|
#endif /* PNG_WARNINGS_SUPPORTED */
|
||||||
|
|
||||||
// Initialize the custom I/O handler for IRpFile.
|
// Initialize the custom I/O handler for IRpFile.
|
||||||
png_set_read_fn(png_ptr, file.get(), png_io_IRpFile_read);
|
png_set_read_fn(png_ptr, file, png_io_IRpFile_read);
|
||||||
|
|
||||||
// Call the actual PNG image reading function.
|
// Call the actual PNG image reading function.
|
||||||
const rp_image_ptr img = loadPng(png_ptr, info_ptr);
|
const rp_image_ptr img = loadPng(png_ptr, info_ptr);
|
||||||
|
@ -29,7 +29,17 @@ namespace RpPng {
|
|||||||
* @return rp_image*, or nullptr on error
|
* @return rp_image*, or nullptr on error
|
||||||
*/
|
*/
|
||||||
RP_LIBROMDATA_PUBLIC
|
RP_LIBROMDATA_PUBLIC
|
||||||
LibRpTexture::rp_image_ptr load(const LibRpFile::IRpFilePtr &file);
|
LibRpTexture::rp_image_ptr load(LibRpFile::IRpFile *file);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load a PNG image from an IRpFile.
|
||||||
|
* @param file IRpFile to load from
|
||||||
|
* @return rp_image*, or nullptr on error
|
||||||
|
*/
|
||||||
|
static inline LibRpTexture::rp_image_ptr load(const LibRpFile::IRpFilePtr &file)
|
||||||
|
{
|
||||||
|
return load(file.get());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save an image in PNG format to an IRpFile.
|
* Save an image in PNG format to an IRpFile.
|
||||||
|
Loading…
Reference in New Issue
Block a user