Changeset 91:b5c6e5033649
- Timestamp:
- 02/06/08 17:12:32
(1 year ago)
- Author:
- Frank Benoit <benoit@tionex.de>
- branch:
- default
- Message:
debug
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r90 |
r91 |
|
| 23 | 23 | import dwt.internal.win32.OS; |
|---|
| 24 | 24 | |
|---|
| | 25 | import tango.util.log.Trace; |
|---|
| | 26 | void trace(int line ){ |
|---|
| | 27 | Trace.formatln( "Gdip {}", line ); |
|---|
| | 28 | } |
|---|
| 25 | 29 | |
|---|
| 26 | 30 | alias dwt.internal.gdip.native.GdiplusStartupInput GdiplusStartupInput; |
|---|
| … | … | |
| 36 | 40 | { |
|---|
| 37 | 41 | static this(){ |
|---|
| | 42 | trace(__LINE__); |
|---|
| 38 | 43 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| 39 | 44 | loadLib_Gdip(); |
|---|
| | 45 | trace(__LINE__); |
|---|
| 40 | 46 | } |
|---|
| 41 | 47 | } |
|---|
| r90 |
r91 |
|
| 23 | 23 | static import tango.stdc.stdlib; |
|---|
| 24 | 24 | |
|---|
| | 25 | void trace(int line ){ |
|---|
| | 26 | Trace.formatln( "OS {}", line ); |
|---|
| | 27 | } |
|---|
| 25 | 28 | |
|---|
| 26 | 29 | // declare of Callback functions |
|---|
| … | … | |
| 221 | 224 | //PORTING_CHANGE: made by version |
|---|
| 222 | 225 | //IsPPC = IsPPC(); |
|---|
| 223 | | |
|---|
| | 226 | trace(__LINE__); |
|---|
| 224 | 227 | version(WinCE) { |
|---|
| 225 | 228 | IsHPC = IsWinCE && !IsPPC && !IsSP; |
|---|
| … | … | |
| 229 | 232 | WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR); |
|---|
| 230 | 233 | |
|---|
| | 234 | trace(__LINE__); |
|---|
| 231 | 235 | // when to load uxtheme |
|---|
| 232 | 236 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| … | … | |
| 236 | 240 | loadLib( Symbols_CoreImm, `Coreimm.dll` ); |
|---|
| 237 | 241 | } |
|---|
| 238 | | if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) { |
|---|
| | 242 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) { |
|---|
| 239 | 243 | loadLib( Symbols_User32, `User32.dll` ); |
|---|
| 240 | 244 | } |
|---|
| 241 | | if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| | 245 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| 242 | 246 | loadLib( Symbols_Imm32, `Imm32.dll` ); |
|---|
| 243 | 247 | } |
|---|
| 244 | | if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| | 248 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| 245 | 249 | loadLib( Symbols_Kernel32, `Kernel32.dll` ); |
|---|
| 246 | 250 | } |
|---|
| 247 | 251 | |
|---|
| | 252 | trace(__LINE__); |
|---|
| 248 | 253 | //PORTING_CHANGE: made by version |
|---|
| 249 | 254 | //IsUnicode = !IsWin32s && !IsWin95; |
|---|
| … | … | |
| 251 | 256 | //if (System.getProperty (NO_MANIFEST) is null) { |
|---|
| 252 | 257 | if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { |
|---|
| | 258 | trace(__LINE__); |
|---|
| 253 | 259 | TCHAR[] buffer = new TCHAR[ MAX_PATH ]; |
|---|
| 254 | 260 | HANDLE hModule = OS.GetLibraryHandle (); |
|---|
| … | … | |
| 260 | 266 | TCHAR* pszText = cast(TCHAR*) OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount); |
|---|
| 261 | 267 | OS.MoveMemory (pszText, buffer.ptr, byteCount); |
|---|
| | 268 | trace(__LINE__); |
|---|
| 262 | 269 | ACTCTX pActCtx; |
|---|
| 263 | 270 | pActCtx.cbSize = ACTCTX.sizeof; |
|---|
| … | … | |
| 265 | 272 | pActCtx.lpSource = pszText; |
|---|
| 266 | 273 | pActCtx.lpResourceName = cast(TCHAR*)MANIFEST_RESOURCE_ID; |
|---|
| | 274 | trace(__LINE__); |
|---|
| | 275 | Trace.formatln( "is loaded {}", ( OS.CreateActCtx !is null )); |
|---|
| 267 | 276 | HANDLE hActCtx = OS.CreateActCtx (&pActCtx); |
|---|
| | 277 | trace(__LINE__); |
|---|
| 268 | 278 | if (pszText !is null) OS.HeapFree (hHeap, 0, pszText); |
|---|
| 269 | 279 | uint lpCookie; |
|---|
| 270 | 280 | OS.ActivateActCtx (hActCtx, &lpCookie); |
|---|
| | 281 | trace(__LINE__); |
|---|
| 271 | 282 | /* |
|---|
| 272 | 283 | * NOTE: A single activation context is created and activated |
|---|
| … | … | |
| 284 | 295 | BOOL immEnabled = OS.GetSystemMetrics (SM_IMMENABLED) !is 0; |
|---|
| 285 | 296 | IsDBLocale = dbcsEnabled || immEnabled; |
|---|
| | 297 | trace(__LINE__); |
|---|
| 286 | 298 | |
|---|
| 287 | 299 | /* |
|---|
| … | … | |
| 299 | 311 | short langID = OS.GetSystemDefaultUILanguage (); |
|---|
| 300 | 312 | short primaryLang = OS.PRIMARYLANGID (langID); |
|---|
| | 313 | trace(__LINE__); |
|---|
| 301 | 314 | if (primaryLang is LANG_KOREAN) { |
|---|
| 302 | 315 | OSVERSIONINFOEX infoex; |
|---|
| … | … | |
| 304 | 317 | GetVersionEx (cast(OSVERSIONINFO*) &infoex ); |
|---|
| 305 | 318 | if (infoex.wServicePackMajor < 2) { |
|---|
| | 319 | trace(__LINE__); |
|---|
| 306 | 320 | OS.ImmDisableTextFrameService (0); |
|---|
| 307 | 321 | } |
|---|
| 308 | 322 | } |
|---|
| 309 | 323 | } |
|---|
| | 324 | trace(__LINE__); |
|---|
| 310 | 325 | |
|---|
| 311 | 326 | /* Get the COMCTL32.DLL version */ |
|---|
| … | … | |
| 320 | 335 | char[] name = "DllGetVersion\0"; //$NON-NLS-1$ |
|---|
| 321 | 336 | void* DllGetVersion = lib.getSymbol(name.ptr); |
|---|
| | 337 | trace(__LINE__); |
|---|
| 322 | 338 | if (DllGetVersion !is null){ |
|---|
| 323 | 339 | alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; |
|---|
| 324 | 340 | TDllVersion f = cast( TDllVersion )DllGetVersion; |
|---|
| | 341 | trace(__LINE__); |
|---|
| 325 | 342 | f(&dvi); |
|---|
| 326 | 343 | } |
|---|
| | 344 | trace(__LINE__); |
|---|
| 327 | 345 | lib.unload(); |
|---|
| 328 | 346 | } |
|---|
| | 347 | trace(__LINE__); |
|---|
| 329 | 348 | COMCTL32_MAJOR = dvi.dwMajorVersion; |
|---|
| 330 | 349 | COMCTL32_MINOR = dvi.dwMinorVersion; |
|---|
| … | … | |
| 337 | 356 | //TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$ |
|---|
| 338 | 357 | //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName); |
|---|
| | 358 | trace(__LINE__); |
|---|
| 339 | 359 | if ( auto lib = SharedLib.load( `Shell32.dll`)) { |
|---|
| 340 | 360 | char[] name = "DllGetVersion\0"; //$NON-NLS-1$ |
|---|
| 341 | 361 | void* DllGetVersion = lib.getSymbol(name.ptr); |
|---|
| | 362 | trace(__LINE__); |
|---|
| 342 | 363 | if (DllGetVersion !is null){ |
|---|
| 343 | 364 | alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion; |
|---|
| 344 | 365 | TDllVersion f = cast( TDllVersion )DllGetVersion; |
|---|
| | 366 | trace(__LINE__); |
|---|
| 345 | 367 | f(&dvi); |
|---|
| 346 | 368 | } |
|---|
| | 369 | trace(__LINE__); |
|---|
| 347 | 370 | lib.unload(); |
|---|
| 348 | 371 | } |
|---|
| … | … | |
| 350 | 373 | SHELL32_MINOR = dvi.dwMinorVersion; |
|---|
| 351 | 374 | SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR); |
|---|
| | 375 | trace(__LINE__); |
|---|
| 352 | 376 | } |
|---|
| 353 | 377 | |
|---|