diff --git a/reactos/dll/win32/t2embed/CMakeLists.txt b/reactos/dll/win32/t2embed/CMakeLists.txt index ac925625b0e..99beb76a22b 100644 --- a/reactos/dll/win32/t2embed/CMakeLists.txt +++ b/reactos/dll/win32/t2embed/CMakeLists.txt @@ -1,14 +1,15 @@ +add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(t2embed.dll t2embed.spec) list(APPEND SOURCE - t2embed.c - t2embed.rc + main.c + stubs.c ${CMAKE_CURRENT_BINARY_DIR}/t2embed_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/t2embed.def) -add_library(t2embed SHARED ${SOURCE}) +add_library(t2embed SHARED ${SOURCE} t2embed.rc) set_module_type(t2embed win32dll UNICODE) target_link_libraries(t2embed wine) add_importlibs(t2embed gdi32 user32 advapi32 version msvcrt kernel32 ntdll) diff --git a/reactos/dll/win32/t2embed/main.c b/reactos/dll/win32/t2embed/main.c new file mode 100644 index 00000000000..6726c4edafe --- /dev/null +++ b/reactos/dll/win32/t2embed/main.c @@ -0,0 +1,89 @@ +/* + * + * Copyright 2009 Austin English + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define WIN32_NO_STATUS +#include +#include +#include +#include +#include + +WINE_DEFAULT_DEBUG_CHANNEL(t2embed); + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + + switch (fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + break; + } + + return TRUE; +} + +LONG WINAPI TTLoadEmbeddedFont(HANDLE *phFontReference, ULONG ulFlags, + ULONG *pulPrivStatus, ULONG ulPrivs, + ULONG *pulStatus, READEMBEDPROC lpfnReadFromStream, + LPVOID lpvReadStream, LPWSTR szWinFamilyName, + LPSTR szMacFamilyName, TTLOADINFO *pTTLoadInfo) +{ + FIXME("(%p 0x%08x %p 0x%08x %p %p %p %s %s %p) stub\n", phFontReference, + ulFlags, pulPrivStatus, ulPrivs, pulStatus, lpfnReadFromStream, + lpvReadStream, debugstr_w(szWinFamilyName), szMacFamilyName, + pTTLoadInfo); + + return E_API_NOTIMPL; +} + +LONG WINAPI TTEmbedFont(HDC hDC, ULONG ulFlags, ULONG ulCharSet, ULONG *pulPrivStatus, + ULONG *pulStatus, WRITEEMBEDPROC lpfnWriteToStream, LPVOID lpvWriteStream, + USHORT *pusCharCodeSet, USHORT usCharCodeCount, USHORT usLanguage, + TTEMBEDINFO *pTTEmbedInfo) +{ + FIXME("(%p 0x%08x 0x%08x %p %p %p %p %p %u %u %p) stub\n", hDC, + ulFlags, ulCharSet, pulPrivStatus, pulStatus, lpfnWriteToStream, + lpvWriteStream, pusCharCodeSet, usCharCodeCount, usLanguage, + pTTEmbedInfo); + + return E_API_NOTIMPL; +} + +LONG WINAPI TTGetEmbeddingType(HDC hDC, ULONG *status) +{ + FIXME("(%p %p) stub\n", hDC, status); + if (status) *status = EMBED_NOEMBEDDING; + return E_API_NOTIMPL; +} + +LONG WINAPI TTIsEmbeddingEnabled(HDC hDC, BOOL *enabled) +{ + FIXME("(%p %p) stub\n", hDC, enabled); + if (enabled) *enabled = FALSE; + return E_API_NOTIMPL; +} + +LONG WINAPI TTDeleteEmbeddedFont(HANDLE hFontReference, ULONG flags, ULONG *status) +{ + FIXME("(%p 0x%08x %p) stub\n", hFontReference, flags, status); + return E_API_NOTIMPL; +} diff --git a/reactos/dll/win32/t2embed/t2embed.c b/reactos/dll/win32/t2embed/stubs.c similarity index 60% rename from reactos/dll/win32/t2embed/t2embed.c rename to reactos/dll/win32/t2embed/stubs.c index 8abb8952873..8a9f9582d31 100644 --- a/reactos/dll/win32/t2embed/t2embed.c +++ b/reactos/dll/win32/t2embed/stubs.c @@ -1,19 +1,14 @@ /* * PROJECT: Font Embedding Dll - * FILE: dll\win32\t2embed\t2embed.c - * PURPOSE: Main file + * FILE: dll\win32\t2embed\stubs.c + * PURPOSE: Stubs file * PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org) */ #define WIN32_NO_STATUS - -#include #include -#include #include -#include - -WINE_DEFAULT_DEBUG_CHANNEL(t2embed); +#include LONG WINAPI @@ -28,34 +23,6 @@ TTCharToUnicode(HDC hDC, return E_NONE; } -LONG -WINAPI -TTDeleteEmbeddedFont(HANDLE hFontReference, - ULONG ulFlags, - ULONG* pulStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFont(HDC hDC, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - USHORT* pusCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - LONG WINAPI TTEmbedFontFromFileA(HDC hDC, @@ -99,24 +66,6 @@ TTGetEmbeddedFontInfo(ULONG ulFlags, return E_NONE; } -LONG -WINAPI -TTGetEmbeddingType(HDC hDC, - ULONG* pulPrivStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTIsEmbeddingEnabled(HDC hDC, - BOOL* pbEnabled) -{ - UNIMPLEMENTED; - return E_NONE; -} - LONG WINAPI TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, @@ -126,23 +75,6 @@ TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, return E_NONE; } -LONG -WINAPI -TTLoadEmbeddedFont(HANDLE *phFontReference, - ULONG ulFlags, - ULONG* pulPrivStatus, - ULONG ulPrivs, - ULONG* pulStatus, - READEMBEDPROC lpfnReadFromStream, - LPVOID lpvReadStream, - LPWSTR szWinFamilyName, - LPSTR szMacFamilyName, - TTLOADINFO* pTTLoadInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - LONG WINAPI TTRunValidationTests(HDC hDC, @@ -190,20 +122,3 @@ TTGetNewFontName(HANDLE* phFontReference, UNIMPLEMENTED; return E_NONE; } - - -BOOL -WINAPI -DllMain(IN HINSTANCE hinstDLL, - IN DWORD dwReason, - IN LPVOID lpvReserved) -{ - switch (dwReason) - { - case DLL_PROCESS_ATTACH: - DisableThreadLibraryCalls(hinstDLL); - break; - } - - return TRUE; -} diff --git a/reactos/dll/win32/t2embed/t2embed.spec b/reactos/dll/win32/t2embed/t2embed.spec index 364f71b5cdd..4c3ef6fd769 100644 --- a/reactos/dll/win32/t2embed/t2embed.spec +++ b/reactos/dll/win32/t2embed/t2embed.spec @@ -11,14 +11,14 @@ @ stdcall TTRunValidationTests(ptr ptr) @ stub _TTCharToUnicode@24 @ stub _TTDeleteEmbeddedFont@12 -@ stub _TTEmbedFont@44 +@ stdcall _TTEmbedFont@44(long long long ptr ptr ptr ptr ptr long long ptr) TTEmbedFont @ stub _TTEmbedFontFromFileA@52 @ stub _TTEnableEmbeddingForFacename@8 @ stub _TTGetEmbeddedFontInfo@28 -@ stub _TTGetEmbeddingType@8 -@ stub _TTIsEmbeddingEnabled@8 +@ stdcall _TTGetEmbeddingType@8(long ptr) TTGetEmbeddingType +@ stdcall _TTIsEmbeddingEnabled@8(long ptr) TTIsEmbeddingEnabled @ stub _TTIsEmbeddingEnabledForFacename@8 -@ stub _TTLoadEmbeddedFont@40 +@ stdcall _TTLoadEmbeddedFont@40(ptr long ptr long ptr ptr ptr wstr str ptr) TTLoadEmbeddedFont @ stub _TTRunValidationTests@8 @ stdcall TTEmbedFontEx(ptr long long ptr ptr ptr ptr ptr long long ptr) @ stdcall TTRunValidationTestsEx(ptr ptr) diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 92d26971638..12aa704854f 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -187,6 +187,7 @@ reactos/dll/win32/stdole2.tlb # Synced to WineStaging-1.7.55 reactos/dll/win32/stdole32.tlb # Synced to WineStaging-1.7.55 reactos/dll/win32/sti # Synced to WineStaging-1.7.55 reactos/dll/win32/sxs # Synced to WineStaging-1.7.55 +reactos/dll/win32/t2embed # Synced to WineStaging-1.7.55 reactos/dll/win32/tapi32 # Synced to WineStaging-1.7.55 reactos/dll/win32/traffic # Synced to WineStaging-1.7.55 reactos/dll/win32/twain_32 # Synced to WineStaging-1.7.55