header image RTL support, fixed NOSTRETCH settings

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3164 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-11-18 21:31:44 +00:00
parent 3a948e6451
commit 575b9ae83f
4 changed files with 87 additions and 25 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Before After
Before After

View file

@ -173,21 +173,47 @@ Display an image on the header of a page.</p>
<p><strong>MUI_HEADERIMAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
Bitmap image to display on the header of installers pages (recommended size: 150x57 pixels).<br />
<em>Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp</em></p>
<p><strong>MUI_HEADERIMAGE_UNBITMAP</strong> <span class="parameter">bmp_file</span><br />
Bitmap image to display on the header of uninstaller pages (recommended size: 150x57 pixels).<br />
<em>Default: Installer header bitmap</em></p>
<p><strong>MUI_HEADERIMAGE_NOSTRETCH</strong><br />
<div>
<p><strong>MUI_HEADERIMAGE_BITMAP_NOSTRETCH</strong><br />
Do not stretch the installer header bitmap to fit the size of the field. Use this option only if
you have an image that does not use the whole space. If you have a full size bitmap that fits
exactly, you should not use this option because the size of the field will be different if the user
has a custom DPI setting.</p>
<p><strong>MUI_HEADERIMAGE_UNNOSTRETCH</strong><br />
<p><strong>MUI_HEADERIMAGE_BITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
Bitmap image to display on the header of installers pages when using a RTL language
(recommended size: 150x57 pixels).<br />
<em>Default: Non-RTL bitmap</em></p>
<div>
<p><strong>MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH</strong><br />
Do not stretch the installer header bitmap when using a RTL language to fit the size of the field. Use this option only if
you have an image that does not use the whole space. If you have a full size bitmap that fits
exactly, you should not use this option because the size of the field will be different if the user
has a custom DPI setting.</p>
</div>
</div>
<p><strong>MUI_HEADERIMAGE_UNBITMAP</strong> <span class="parameter">bmp_file</span><br />
Bitmap image to display on the header of uninstaller pages (recommended size: 150x57 pixels).<br />
<em>Default: Installer header bitmap</em></p>
<div>
<p><strong>MUI_HEADERIMAGE_UNBITMAP_UNNOSTRETCH</strong><br />
Do not stretch the uninstaller header bitmap to fit the size of the field. Use this option only if
you have an image that does not use the whole space. If you have a full size bitmap that fits
exactly, you should not use this option because the size of the field will be different if the user
has a custom DPI setting.</p>
<p><strong>MUI_HEADERIMAGE_UNBITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
Bitmap image to display on the header of uninstallers pages when using a RTL language (recommended size: 150x57 pixels).<br />
<em>Default: Installer RTL header bitmap</em></p>
<div>
<p><strong>MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH</strong><br />
Do not stretch the uninstaller header bitmap when using a RTL language to fit the size of the field. Use this option only if
you have an image that does not use the whole space. If you have a full size bitmap that fits
exactly, you should not use this option because the size of the field will be different if the user
has a custom DPI setting.</p>
</div>
</div>
<p><strong>MUI_HEADERIMAGE_RIGHT</strong><br />
Display the header image on the right side instead of the left side.</p>
Display the header image on the right side instead of the left side (when using a RTL language it
will be displayed on the left side instead of the right side).</p>
</div>
<p><strong>MUI_BGCOLOR</strong> <span class="parameter">(color: RRGGBBR hexadecimal)</span><br />
Background color for the header, Welcome- and Finish page.<br />
@ -224,7 +250,7 @@ text (with the default font).</p>
Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).<br />
<em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
<div>
<p><strong>MUI_WELCOMEFINISHPAGE_NOSTRETCH</strong><br />
<p><strong>MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field. Use this
option only if you have an image that does not use the whole space. If you have a full size bitmap
that fits exactly, you should not use this option because the size of the field will be different
@ -241,7 +267,7 @@ InstallOptions INI file for the Welcome- and Finish page with space for 3 lines
the default font).<br />
<em>Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial3.ini</em></p>
</div>
<h3>Uninstaller Welcome/Finish Page InstallOptions INI Settings</h3>
<h3>Uninstaller Welcome/Finish Page Settings</h3>
<div>
<p><strong>MUI_UNWELCOMEFINISHPAGE_3LINES</strong><br />
Create a bigger area for the title on the uninstaller Welcome- and Finish page, to allow displaying
@ -250,14 +276,14 @@ Create a bigger area for the title on the uninstaller Welcome- and Finish page,
Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).<br />
<em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
<div>
<p><strong>MUI_UNWELCOMEFINISHPAGE_NOSTRETCH</strong><br />
<p><strong>MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field. Use this
option only if you have an image that does not use the whole space. If you have a full size bitmap
that fits exactly, you should not use this option because the size of the field will be different
if the user has a custom DPI setting.</p>
</div>
</div>
<h3>Uninstaller Welcome/Finish Page Interface INI File Settings</h3>
<h3>Uninstaller Welcome/Finish Page Interface INI Settings</h3>
<div>
<p><strong>MUI_UNWELCOMEFINISHPAGE_INI</strong> <span class="parameter">ini_file</span><br />
InstallOptions INI file for the uninstaller Welcome- and Finish page.<br />
@ -457,9 +483,9 @@ Do not display the checkbox to disable the creation of Start Menu shortcuts.</p>
<strong>MUI_STARTMENUPAGE_REGISTRY_VALUENAME</strong> <span class=
"parameter">value_name</span><br />
The registry key to store the Start Menu folder. The page will use it to remember the users
preference. You should also use it in the uninstaller to remove the Start Menu folders. Don't
forget to remove this key in the uninstaller.</p>
<p>In the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:</p>
preference. You should also use for the uninstaller to remove the Start Menu folders. Don't
forget to remove this key during uninstallation.</p>
<p>For the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:</p>
<pre>
!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
@ -567,7 +593,7 @@ LoadLanguageFile.</p>
<div>
<p>If you want the installer to display a language selection dialog (have a look at the <a href=
"../../Examples/Modern%20UI/MultiLanguage.nsi">MultiLanguage.nsi</a> example), insert the
MUI_LANGDLL_DISPLAY macro in the .onInit function.</p>
MUI_LANGDLL_DISPLAY macro in the .onInit function:</p>
<pre>
Function .onInit
@ -575,6 +601,7 @@ Function .onInit
FunctionEnd
</pre>
<p>You can also use this macro for the uninstaller, in the un.onInit function.</p>
<h3>Language Selection Dialog Settings</h3>
<div>
<p>To remember to users preference, you can define a registry key.<br />
@ -583,10 +610,10 @@ FunctionEnd
<strong>MUI_LANGDLL_REGISTRY_KEY</strong> <span class="parameter">key</span><br />
<strong>MUI_LANGDLL_REGISTRY_VALUENAME</strong> <span class="parameter">value_name</span><br />
The registry key to store the language. The users preference will be remembered. You can also use
it in the uninstaller to display the right language. Don't forget to remove this key in the
it for the uninstaller to display the right language. Don't forget to remove this key in the
uninstaller.</p>
<p>In the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language
preference.</p>
<p>For the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language
preference:</p>
<pre>
Function un.onInit

View file

@ -106,15 +106,25 @@ Var MUI_TEMP2
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
!ifdef MUI_HEADERIMAGE
!insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
!ifndef MUI_HEADERIMAGE_UNBITMAP
!define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
!ifdef MUI_HEADERIMAGE_NOSTRETCH
!ifndef MUI_HEADERIMAGE_UNNOSTRETCH
!define MUI_HEADERIMAGE_UNNOSTRETCH
!ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
!endif
!endif
!ifdef MUI_HEADERIMAGE_BITMAP_RTL
!ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
!define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
!ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
!endif
!endif
!endif
!endif
XPStyle On
@ -362,12 +372,37 @@ Var MUI_TEMP2
!ifdef MUI_HEADERIMAGE
InitPluginsDir
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
!ifndef MUI_HEADERIMAGE_${UNINSTALLER}NOSTRETCH
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!else
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
StrCmp $(^RTL) 0 mui.headerimageinit_nortl
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"
!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!else
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!endif
Goto mui.headerimageinit_done
mui.headerimageinit_nortl:
!endif
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!else
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!endif
!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
mui.headerimageinit_done:
!endif
!endif