|
|
1.1 ! root 1: /* ! 2: Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. ! 3: ! 4: Governed by the TrueCrypt License 2.4 the full text of which is contained ! 5: in the file License.txt included in TrueCrypt binary and source code ! 6: distribution packages. ! 7: */ ! 8: ! 9: #include "System.h" ! 10: #include "Platform/Platform.h" ! 11: #include "Resources.h" ! 12: ! 13: #ifdef TC_WINDOWS ! 14: #include "Main/resource.h" ! 15: #endif ! 16: ! 17: namespace TrueCrypt ! 18: { ! 19: ! 20: #ifdef TC_WINDOWS ! 21: static ConstBufferPtr GetWindowsResource (const wchar_t *resourceType, const wchar_t *resourceName) ! 22: { ! 23: HGLOBAL hResL; ! 24: HRSRC hRes; ! 25: ! 26: hRes = FindResource (NULL, resourceName, resourceType); ! 27: throw_sys_if (!hRes); ! 28: hResL = LoadResource (NULL, hRes); ! 29: throw_sys_if (!hResL); ! 30: ! 31: const byte *resPtr = (const byte *) LockResource (hResL); ! 32: throw_sys_if (!resPtr); ! 33: ! 34: return ConstBufferPtr (resPtr, SizeofResource (NULL, hRes)); ! 35: } ! 36: #endif // TC_WINDOWS ! 37: ! 38: wxBitmap Resources::GetDriveIconBitmap () ! 39: { ! 40: #ifdef TC_WINDOWS ! 41: return wxBitmap (L"IDB_DRIVE_ICON", wxBITMAP_TYPE_BMP_RESOURCE).ConvertToImage().Resize (wxSize (16, 12), wxPoint (0, 0)); ! 42: #else ! 43: static const byte DriveIcon[] = ! 44: { ! 45: # include "Mount/Drive_icon_96dpi.bmp.h" ! 46: }; ! 47: ! 48: wxMemoryInputStream stream (DriveIcon, sizeof (DriveIcon)); ! 49: return wxBitmap (wxImage (stream).Resize (wxSize (16, 12), wxPoint (0, 0))); ! 50: #endif ! 51: } ! 52: ! 53: wxBitmap Resources::GetDriveIconMaskBitmap () ! 54: { ! 55: #ifdef TC_WINDOWS ! 56: wxImage image = wxBitmap (L"IDB_DRIVE_ICON_MASK", wxBITMAP_TYPE_BMP_RESOURCE).ConvertToImage().Resize (wxSize (16, 12), wxPoint (0, 0)); ! 57: return wxBitmap (image.ConvertToMono (0, 0, 0), 1); ! 58: #else ! 59: static const byte DriveIconMask[] = ! 60: { ! 61: # include "Mount/Drive_icon_mask_96dpi.bmp.h" ! 62: }; ! 63: ! 64: wxMemoryInputStream stream (DriveIconMask, sizeof (DriveIconMask)); ! 65: wxImage image (stream); ! 66: image.Resize (wxSize (16, 12), wxPoint (0, 0)); ! 67: ! 68: # ifdef __WXGTK__ ! 69: return wxBitmap (image.ConvertToMono (0, 0, 0), 1); ! 70: # else ! 71: return wxBitmap (image); ! 72: # endif ! 73: #endif ! 74: } ! 75: ! 76: string Resources::GetLanguageXml () ! 77: { ! 78: #ifdef TC_WINDOWS ! 79: ConstBufferPtr res = GetWindowsResource (L"XML", L"IDR_LANGUAGE"); ! 80: Buffer strBuf (res.Size() + 1); ! 81: strBuf.Erase(); ! 82: strBuf.CopyFrom (res); ! 83: return string (reinterpret_cast <char *> (strBuf.Ptr())); ! 84: #else ! 85: static const char LanguageXml[] = ! 86: { ! 87: # include "Common/Language.xml.h" ! 88: , 0 ! 89: }; ! 90: ! 91: return string (LanguageXml); ! 92: #endif ! 93: } ! 94: ! 95: string Resources::GetLegalNotices () ! 96: { ! 97: #ifdef TC_WINDOWS ! 98: ConstBufferPtr res = GetWindowsResource (L"TEXT", L"IDR_LICENSE"); ! 99: Buffer strBuf (res.Size() + 1); ! 100: strBuf.Erase(); ! 101: strBuf.CopyFrom (res); ! 102: return string (reinterpret_cast <char *> (strBuf.Ptr())); ! 103: #else ! 104: static const char License[] = ! 105: { ! 106: # include "License.txt.h" ! 107: , 0 ! 108: }; ! 109: ! 110: return string (License); ! 111: #endif ! 112: } ! 113: ! 114: wxBitmap Resources::GetLogoBitmap () ! 115: { ! 116: #ifdef TC_WINDOWS ! 117: return wxBitmap (L"IDB_LOGO", wxBITMAP_TYPE_BMP_RESOURCE); ! 118: #else ! 119: static const byte Logo[] = ! 120: { ! 121: # include "Mount/Logo_96dpi.bmp.h" ! 122: }; ! 123: ! 124: wxMemoryInputStream stream (Logo, sizeof (Logo)); ! 125: return wxBitmap (wxImage (stream)); ! 126: #endif ! 127: } ! 128: ! 129: wxBitmap Resources::GetTextualLogoBitmap () ! 130: { ! 131: #ifdef TC_WINDOWS ! 132: return wxBitmap (L"IDB_TEXTUAL_LOGO", wxBITMAP_TYPE_BMP_RESOURCE); ! 133: #else ! 134: static const byte Logo[] = ! 135: { ! 136: # include "Common/Textual_logo_96dpi.bmp.h" ! 137: }; ! 138: ! 139: wxMemoryInputStream stream (Logo, sizeof (Logo)); ! 140: return wxBitmap (wxImage (stream)); ! 141: #endif ! 142: } ! 143: ! 144: wxIcon Resources::GetTrueCryptIcon () ! 145: { ! 146: #ifdef TC_WINDOWS ! 147: return wxIcon (L"IDI_TRUECRYPT_ICON", wxBITMAP_TYPE_ICO_RESOURCE, 16, 16); ! 148: #else ! 149: # include "Resources/Icons/TrueCrypt-16x16.xpm" ! 150: return wxIcon (TrueCryptIcon16x16); ! 151: #endif ! 152: } ! 153: ! 154: wxBitmap Resources::GetVolumeCreationWizardBitmap (int height) ! 155: { ! 156: #ifdef TC_WINDOWS ! 157: return wxBitmap (L"IDB_VOLUME_WIZARD_BITMAP", wxBITMAP_TYPE_BMP_RESOURCE); ! 158: #else ! 159: static const byte VolumeWizardIcon[] = ! 160: { ! 161: # include "Format/TrueCrypt_Wizard.bmp.h" ! 162: }; ! 163: ! 164: wxMemoryInputStream stream (VolumeWizardIcon, sizeof (VolumeWizardIcon)); ! 165: ! 166: wxImage image (stream); ! 167: if (height != -1) ! 168: { ! 169: double scaleFactor = double (height) / double (image.GetHeight()); ! 170: image.Rescale (int (image.GetWidth() * scaleFactor), int (image.GetHeight() * scaleFactor), wxIMAGE_QUALITY_HIGH); ! 171: } ! 172: ! 173: return wxBitmap (image); ! 174: #endif ! 175: } ! 176: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.