|
1 # Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 # All rights reserved. |
|
3 # This component and the accompanying materials are made available |
|
4 # under the terms of "Eclipse Public License v1.0" |
|
5 # which accompanies this distribution, and is available |
|
6 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 # |
|
8 # Initial Contributors: |
|
9 # Nokia Corporation - initial contribution. |
|
10 # |
|
11 # Contributors: |
|
12 # |
|
13 # Description: |
|
14 # Generate test RSC files using new RSC file format: RSC file header + RSC file section + Bitmap file section |
|
15 # |
|
16 # |
|
17 |
|
18 use Cwd; |
|
19 use File::Path; |
|
20 |
|
21 chdir ".."; |
|
22 $parentdir = getcwd(); |
|
23 |
|
24 $datadir="/tbit/mbmfiles"; |
|
25 $datadir = $parentdir . $datadir; |
|
26 |
|
27 if (-e "$datadir") |
|
28 { |
|
29 #proceed with your code |
|
30 } |
|
31 else |
|
32 { |
|
33 eval { mkpath($datadir) }; |
|
34 if ($@) { |
|
35 print "Couldn't create $datadir: $@"; |
|
36 } |
|
37 } |
|
38 system("bmconv /s $datadir/8romc.mbm /c8$datadir/RLETest.BMP"); |
|
39 system("bmconv $datadir/8ramc.mbm /c8$datadir/RLETest.BMP"); |
|
40 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8romc.mbm","$datadir/romrsc_rommbm.rsc"); |
|
41 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8ramc.mbm","$datadir/ramrsc_rammbm.rsc"); |
|
42 |
|
43 system("bmconv $datadir/8ramc2.mbm /c8$datadir/TBMP.BMP /c8$datadir/TGDIGEN.BMP"); |
|
44 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8ramc2.mbm","$datadir/ramrsc_rammbm2.rsc"); |
|
45 system("bmconv /s $datadir/8romc2.mbm /c8$datadir/TBMP.BMP /c8$datadir/TGDIGEN.BMP"); |
|
46 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8romc2.mbm","$datadir/romrsc_rommbm2.rsc"); |
|
47 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8ramc.mbm","$datadir/romrsc_rammbm.rsc"); |
|
48 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8romc.mbm","$datadir/ramrsc_rommbm.rsc"); |
|
49 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8romc2.mbm","$datadir/ramrsc_rommbm2.rsc"); |
|
50 binaryCopy("$datadir/RscHeader2.Bin","$datadir/DummyRscFile.RSC","$datadir/8ramc2.mbm","$datadir/romrsc_rammbm2.rsc"); |
|
51 |
|
52 |
|
53 sub binaryCopy |
|
54 { |
|
55 $numOfParams = @_; |
|
56 my $buffer; |
|
57 |
|
58 open OUTF, ">$_[$numOfParams-1]" or die "\nCan't open $_[$numOfParams-1] for writing: $!\n"; |
|
59 binmode OUTF; |
|
60 |
|
61 for($i=0;$i<$numOfParams-1;$i++) |
|
62 { |
|
63 open INF, $_[$i] or die "\nCan't open $_[$i] for reading: $!\n"; |
|
64 binmode INF; |
|
65 while ( |
|
66 read (INF, $buffer, 65536) # read in (up to) 64k chunks, write |
|
67 and print OUTF $buffer # exit if read or write fails |
|
68 ) {}; |
|
69 die "Problem copying: $!\n" if $!; |
|
70 close INF or die "Can't close $_[$i]: $!\n"; |
|
71 } |
|
72 close OUTF or die "Can't close $_[$numOfParams-1]: $!\n"; |
|
73 } |