home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Programming / nsis-2.46-setup.exe / Examples / BgImage / Example.nsi
Text File  |  2008-12-12  |  3KB  |  100 lines

  1. Name "BgImage.dll test"
  2.  
  3. OutFile "BgImage Test.exe"
  4.  
  5. XPStyle on
  6.  
  7. !define DEBUG
  8. !macro GetReturnValue
  9. !ifdef DEBUG
  10.     Pop $R9
  11.     StrCmp $R9 success +2
  12.         DetailPrint "Error: $R9"
  13. !endif
  14. !macroend
  15.  
  16. Function .onGUIInit
  17.     # the plugins dir is automatically deleted when the installer exits
  18.     InitPluginsDir
  19.     # lets extract some bitmaps...
  20.     File /oname=$PLUGINSDIR\1.bmp "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp"
  21.     File /oname=$PLUGINSDIR\2.bmp "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
  22.  
  23. !ifdef DEBUG
  24.     # turn return values on if in debug mode
  25.     BgImage::SetReturn on
  26. !endif
  27.  
  28.     # set the initial background for images to be drawn on
  29.     # we will use a gradient from drak green to dark red
  30.     BgImage::SetBg /GRADIENT 0 0x80 0 0x80 0 0
  31.     !insertmacro GetReturnValue
  32.     # add an image @ (150,0)
  33.     BgImage::AddImage $PLUGINSDIR\2.bmp 150 0
  34.     !insertmacro GetReturnValue
  35.     # add the same image only transparent (magenta wiped) @ (150,16)
  36.     BgImage::AddImage /TRANSPARENT 255 0 255 $PLUGINSDIR\2.bmp 150 16
  37.     !insertmacro GetReturnValue
  38.     # create the font for the following text
  39.     CreateFont $R0 "Comic Sans MS" 50 700
  40.     # add a blue shadow for the text
  41.     BgImage::AddText "Testing 1... 2... 3..." $R0 0 0 255 48 48 798 198
  42.     !insertmacro GetReturnValue
  43.     # add a green shadow for the text
  44.     BgImage::AddText "Testing 1... 2... 3..." $R0 0 255 0 52 52 802 202
  45.     !insertmacro GetReturnValue
  46.     # add the text
  47.     BgImage::AddText "Testing 1... 2... 3..." $R0 255 0 0 50 50 800 200
  48.     !insertmacro GetReturnValue
  49.     # show our creation to the world!
  50.     BgImage::Redraw
  51.     # Refresh doesn't return any value
  52.     
  53. FunctionEnd
  54.  
  55. ShowInstDetails show
  56.  
  57. Section
  58.     # play some sounds
  59.     FindFirst $0 $1 $WINDIR\Media\*.wav
  60.     StrCmp $0 "" skipSound
  61.         moreSounds:
  62.         StrCmp $1 "" noMoreSounds
  63.             BgImage::Sound /WAIT $WINDIR\Media\$1
  64.             # Sound doesn't return any value either
  65.             MessageBox MB_YESNO "Another sound?" IDNO noMoreSounds
  66.                 FindNext $0 $1
  67.                 Goto moreSounds
  68.  
  69.     noMoreSounds:
  70.         FindClose $0
  71.     skipSound:
  72.  
  73.     # change the background image to Mike, tiled
  74.     BgImage::SetBg /TILED $PLUGINSDIR\1.bmp
  75.     !insertmacro GetReturnValue
  76.     # we have to redraw to reflect the changes
  77.     BgImage::Redraw
  78.  
  79.     MessageBox MB_OK "Mike the llama"
  80.  
  81.     # clear everything
  82.     BgImage::Clear
  83.     # Clear doesn't return any value
  84.     # set another gradient
  85.     BgImage::SetBg /GRADIENT 0xFF 0xFA 0xBA 0xAA 0xA5 0x65
  86.     !insertmacro GetReturnValue
  87.     # add some text
  88.     BgImage::AddText "A Desert for Mike" $R0 0 0 0 50 50 800 150
  89.     !insertmacro GetReturnValue
  90.     # add mike as an image
  91.     BgImage::AddImage $PLUGINSDIR\1.bmp 50 150
  92.     !insertmacro GetReturnValue
  93.     # again, we have to call redraw to reflect changes
  94.     BgImage::Redraw
  95. SectionEnd
  96.  
  97. Function .onGUIEnd
  98.     BgImage::Destroy
  99.     # Destroy doesn't return any value
  100. FunctionEnd