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