Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenstubsa.c
Go to the documentation of this file.
00001 /* 00002 * dll/win32/gdi32/misc/stubsa.c 00003 * 00004 * GDI32.DLL Stubs for ANSI functions 00005 * 00006 * When you implement one of these functions, 00007 * remove its stub from this file. 00008 * 00009 */ 00010 00011 #include "precomp.h" 00012 #include <debug.h> 00013 00014 00015 /* 00016 * @unimplemented 00017 */ 00018 BOOL 00019 WINAPI 00020 PolyTextOutA( HDC hdc, const POLYTEXTA *pptxt, INT cStrings ) 00021 { 00022 for (; cStrings>0; cStrings--, pptxt++) 00023 if (!ExtTextOutA( hdc, pptxt->x, pptxt->y, pptxt->uiFlags, &pptxt->rcl, pptxt->lpstr, pptxt->n, pptxt->pdx )) 00024 return FALSE; 00025 return TRUE; 00026 } 00027 00028 /* 00029 * @unimplemented 00030 */ 00031 BOOL 00032 WINAPI 00033 GetLogColorSpaceA( 00034 HCOLORSPACE a0, 00035 LPLOGCOLORSPACEA a1, 00036 DWORD a2 00037 ) 00038 { 00039 UNIMPLEMENTED; 00040 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 00041 return FALSE; 00042 } 00043 00044 00045 /* 00046 * @unimplemented 00047 */ 00048 BOOL 00049 WINAPI 00050 GetICMProfileA( 00051 HDC hdc, 00052 LPDWORD pBufSize, 00053 LPSTR pszFilename 00054 ) 00055 { 00056 WCHAR filenameW[MAX_PATH]; 00057 DWORD buflen = MAX_PATH; 00058 BOOL ret = FALSE; 00059 00060 if (!hdc || !pBufSize || !pszFilename) return FALSE; 00061 00062 if (GetICMProfileW(hdc, &buflen, filenameW)) 00063 { 00064 ULONG len = WideCharToMultiByte(CP_ACP, 0, filenameW, -1, NULL, 0, NULL, NULL); 00065 if (*pBufSize >= len) 00066 { 00067 WideCharToMultiByte(CP_ACP, 0, filenameW, -1, pszFilename, *pBufSize, NULL, NULL); 00068 ret = TRUE; 00069 } 00070 else SetLastError(ERROR_INSUFFICIENT_BUFFER); 00071 *pBufSize = len; 00072 } 00073 00074 return ret; 00075 } 00076 00077 00078 /* 00079 * @unimplemented 00080 */ 00081 BOOL 00082 WINAPI 00083 SetICMProfileA( 00084 HDC a0, 00085 LPSTR a1 00086 ) 00087 { 00088 UNIMPLEMENTED; 00089 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 00090 return FALSE; 00091 } 00092 00093 00094 /* 00095 * @unimplemented 00096 */ 00097 int 00098 WINAPI 00099 EnumICMProfilesA( 00100 HDC a0, 00101 ICMENUMPROCA a1, 00102 LPARAM a2 00103 ) 00104 { 00105 /* 00106 * FIXME - call NtGdiEnumICMProfiles with NULL for lpstrBuffer 00107 * to find out how big a buffer we need. Then allocate that buffer 00108 * and call NtGdiEnumICMProfiles again to have the buffer filled. 00109 * 00110 * Finally, step through the buffer ( MULTI-SZ recommended for format ), 00111 * and convert each string to ANSI, calling the user's callback function 00112 * until we run out of strings or the user returns FALSE 00113 */ 00114 00115 UNIMPLEMENTED; 00116 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 00117 return 0; 00118 } 00119 00120 00121 /* 00122 * @unimplemented 00123 */ 00124 BOOL 00125 WINAPI 00126 UpdateICMRegKeyA( 00127 DWORD a0, 00128 LPSTR a1, 00129 LPSTR a2, 00130 UINT a3 00131 ) 00132 { 00133 UNIMPLEMENTED; 00134 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 00135 return FALSE; 00136 } 00137 00138 /* 00139 * @implemented 00140 */ 00141 UINT 00142 WINAPI 00143 GetStringBitmapA(HDC hdc, 00144 LPSTR psz, 00145 BOOL DoCall, 00146 UINT cj, 00147 BYTE *lpSB) 00148 { 00149 00150 NTSTATUS Status; 00151 PWSTR pwsz; 00152 UINT retValue = 0; 00153 00154 if (DoCall) 00155 { 00156 Status = HEAP_strdupA2W ( &pwsz, psz ); 00157 if ( !NT_SUCCESS (Status) ) 00158 { 00159 SetLastError (RtlNtStatusToDosError(Status)); 00160 } 00161 else 00162 { 00163 retValue = NtGdiGetStringBitmapW(hdc, pwsz, 1, lpSB, cj); 00164 HEAP_free ( pwsz ); 00165 } 00166 } 00167 00168 return retValue; 00169 00170 } 00171 00172 00173 /* EOF */ Generated on Sat May 26 2012 04:37:10 for ReactOS by
1.7.6.1
|