Skip to content

Commit 13657fd

Browse files
[USER32][LIBPNG] Support PNG/Vista icons (Retry) (reactos#7709)
CORE-18385 Retry of PR reactos#7704 In USER32 change CMakeLists.txt to include libpng. Improve libpng.spec to include additional needed defines. Add code into mostly cursoricon.c to support PNG icons. Co-authored-by: Katayama Hirofumi MZ <[email protected]>
1 parent 190782c commit 13657fd

File tree

3 files changed

+353
-62
lines changed

3 files changed

+353
-62
lines changed

dll/3rdparty/libpng/libpng.spec

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,26 @@
77
@ cdecl png_destroy_read_struct(ptr ptr ptr)
88
@ cdecl png_destroy_write_struct(ptr ptr)
99
@ cdecl png_error(ptr ptr)
10+
@ cdecl png_free(ptr ptr)
1011
@ cdecl png_get_bit_depth(ptr ptr)
12+
@ cdecl png_get_channels(ptr ptr)
1113
@ cdecl png_get_color_type(ptr ptr)
1214
@ cdecl png_get_error_ptr(ptr)
1315
@ cdecl png_get_iCCP(ptr ptr ptr ptr ptr ptr)
16+
@ cdecl png_get_IHDR(ptr ptr ptr ptr ptr ptr ptr ptr ptr)
1417
@ cdecl png_get_image_height(ptr ptr)
1518
@ cdecl png_get_image_width(ptr ptr)
1619
@ cdecl png_get_io_ptr(ptr)
1720
@ cdecl png_get_pHYs(ptr ptr ptr ptr)
1821
@ cdecl png_get_PLTE(ptr ptr ptr ptr)
22+
@ cdecl png_get_rowbytes(ptr ptr)
23+
@ cdecl png_get_rows(ptr ptr)
1924
@ cdecl png_get_tRNS(ptr ptr ptr ptr ptr)
25+
@ cdecl png_malloc(ptr long)
26+
@ cdecl png_read_end(ptr ptr)
2027
@ cdecl png_read_image(ptr ptr)
2128
@ cdecl png_read_info(ptr ptr)
29+
@ cdecl png_read_update_info(ptr ptr)
2230
@ cdecl png_set_bgr(ptr)
2331
@ cdecl png_set_crc_action(ptr long long)
2432
@ cdecl png_set_filter(ptr long long)
@@ -27,14 +35,19 @@
2735
@ cdecl png_set_gray_to_rgb(ptr)
2836
@ cdecl png_set_IHDR(ptr ptr long long long long long long long)
2937
@ cdecl png_set_interlace_handling(ptr)
38+
@ cdecl png_set_palette_to_rgb(ptr)
3039
@ cdecl png_set_pHYs(ptr ptr ptr long long long)
3140
@ cdecl png_set_PLTE(ptr ptr ptr long)
3241
@ cdecl png_set_read_fn(ptr ptr ptr)
42+
@ cdecl png_set_rows(ptr ptr ptr)
43+
@ cdecl png_set_scale_16(ptr)
44+
@ cdecl png_set_sig_bytes(ptr long)
3345
@ cdecl png_set_swap(ptr)
3446
@ cdecl png_set_tRNS(ptr ptr ptr long ptr)
3547
@ cdecl png_set_tRNS_to_alpha(ptr)
3648
@ cdecl png_set_write_fn(ptr ptr ptr ptr)
3749
@ cdecl png_set_chunk_malloc_max(ptr long)
50+
@ cdecl png_sig_cmp(ptr long long)
3851
@ cdecl png_write_end(ptr)
3952
@ cdecl png_write_info(ptr ptr)
4053
@ cdecl png_write_rows(ptr ptr long)

win32ss/user/user32/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ include_directories(
55
${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys
66
include
77
${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine
8-
${REACTOS_SOURCE_DIR}/win32ss/include)
8+
${REACTOS_SOURCE_DIR}/win32ss/include
9+
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libpng)
910

1011
list(APPEND SOURCE
1112
controls/appswitch.c
@@ -88,7 +89,7 @@ if(MSVC AND (ARCH STREQUAL "i386"))
8889
target_sources(user32 PRIVATE $<TARGET_OBJECTS:ftol2_sse>)
8990
endif()
9091

91-
add_delay_importlibs(user32 usp10)
92+
add_delay_importlibs(user32 usp10 libpng)
9293
add_importlibs(user32 gdi32 advapi32 kernel32 ntdll)
9394
add_pch(user32 include/user32.h SOURCE)
9495
add_cd_file(TARGET user32 DESTINATION reactos/system32 FOR all)

0 commit comments

Comments
 (0)