# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1273843488 -10800 # Node ID fb7380a082a0b601cd31f811c811249115a36ae8 # Parent 9b222d6b819d795c40636de653ffe5732aca2bcc Revision: 201017 Kit: 201019 diff -r 9b222d6b819d -r fb7380a082a0 gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt --- a/gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt Fri Apr 16 15:32:00 2010 +0300 +++ b/gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt Fri May 14 16:24:48 2010 +0300 @@ -1,7 +1,7 @@ =============================================================================== -RELEASE NOTES - MIFCONV v3.2.0 -RELEASED 24th February 2010 +RELEASE NOTES - MIFCONV v3.2.1 +RELEASED 20th April 2010 SUPPORTS S60 3.2+ @@ -26,11 +26,9 @@ =============================================================================== -What's New in v3.2.0 +What's New in v3.2.1 ==================== -- Change: Removed dependencies to BMCONV tool by adding the BMCONV encoding - functionality as a part of MifConv functionality. External BMCONV tool can still - be used by giving -B parameter. +- Change: Added new default search directories for icon files. =============================================================================== @@ -68,6 +66,12 @@ Version History: ================ +Version 3.2.0 - 24th February 2010 +==================== +- Change: Removed dependencies to BMCONV tool by adding the BMCONV encoding + functionality as a part of MifConv functionality. External BMCONV tool can still + be used by giving -B parameter. + Version 3.1.7 - 10th July 2009 ==================== - Fix: MIF-file is created also when no input files are given. diff -r 9b222d6b819d -r fb7380a082a0 gfxconversion/mifconv/inc/mifconv.h --- a/gfxconversion/mifconv/inc/mifconv.h Fri Apr 16 15:32:00 2010 +0300 +++ b/gfxconversion/mifconv/inc/mifconv.h Fri May 14 16:24:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -38,8 +38,8 @@ using namespace MifConvDefs; // Mifconv version -static const MifConvString MifConvVersion("3.2.0"); -static const MifConvString MifConvDate("24th February 2010"); +static const MifConvString MifConvVersion("3.2.1"); +static const MifConvString MifConvDate("12th March 2010"); static const MifConvString MifConvYears("2010"); // Mifconv return values: diff -r 9b222d6b819d -r fb7380a082a0 gfxconversion/mifconv/makefile_templates/mifconv_global_options.make --- a/gfxconversion/mifconv/makefile_templates/mifconv_global_options.make Fri Apr 16 15:32:00 2010 +0300 +++ b/gfxconversion/mifconv/makefile_templates/mifconv_global_options.make Fri May 14 16:24:48 2010 +0300 @@ -42,6 +42,11 @@ VECTORSOURCEDIR:=$(EPOCROOT)epoc32$/s60$/icons BITMAPSOURCEDIR:=$(EPOCROOT)epoc32$/s60$/bitmaps +# Optional SVG icon searching subdirectories: +VECTORSOURCESUBDIR_NSS:=$(VECTORSOURCEDIR)$/nss +VECTORSOURCESUBDIR_NOKIA:=$(VECTORSOURCEDIR)$/nokia +VECTORSOURCESUBDIR_OEM:=$(VECTORSOURCEDIR)$/oem + # Default target directories: WINS_TARGETDIR:=$(EPOCROOT)epoc32$/release$/wins$/$(CFG)$/z$/resource$/apps WINSCW_TARGETDIR:=$(EPOCROOT)epoc32$/release$/winscw$/$(CFG)$/z$/resource$/apps diff -r 9b222d6b819d -r fb7380a082a0 gfxconversion/mifconv/makefile_templates/mifconv_step3.make --- a/gfxconversion/mifconv/makefile_templates/mifconv_step3.make Fri Apr 16 15:32:00 2010 +0300 +++ b/gfxconversion/mifconv/makefile_templates/mifconv_step3.make Fri May 14 16:24:48 2010 +0300 @@ -19,20 +19,46 @@ # Get list of files # -# First get SVG files from SOURCEDIR, then .bmp files from SOURCEDIR, then .svg from VECTORSOURCEDIR and finally .bmp from BITMAPSOURCEDIR +# First get SVG files from SOURCEDIR, then .bmp files from SOURCEDIR, then .svg from VECTORSOURCEDIR, +# then .bmp from BITMAPSOURCEDIR and finally .svg from all VECTORSOURCESUBDIR's SOURCEPATHS:=$(foreach FILE, \ $(basename $(FILES)), \ - $(firstword $(wildcard $(SOURCEDIR)$/$(FILE).svg $(SOURCEDIR)$/$(FILE).bmp $(VECTORSOURCEDIR)$/$(FILE).svg) $(BITMAPSOURCEDIR)$/$(FILE).bmp)) - -# Get a full list of SVG files + $(firstword \ + $(wildcard $(SOURCEDIR)$/$(FILE).svg $(SOURCEDIR)$/$(FILE).bmp $(VECTORSOURCEDIR)$/$(FILE).svg) \ + $(wildcard $(VECTORSOURCESUBDIR_NSS)$/$(FILE).svg $(VECTORSOURCESUBDIR_NOKIA)$/$(FILE).svg $(VECTORSOURCESUBDIR_OEM)$/$(FILE).svg) \ + $(BITMAPSOURCEDIR)$/$(FILE).bmp) \ + ) + +# Get a list of SVG files including VECTORSOURCESUBDIRs SVGFILES:=$(filter %.svg,$(SOURCEPATHS)) -# Paths of SVGB files will be under the intermediate directory -SVGBFILES:=$(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES)))) - # BMP files are all the other files BMPFILES:=$(filter-out $(SVGFILES),$(SOURCEPATHS)) +# Filter VECTORSOURCESUBDIRs content out from SVGFILES +SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_NSS)%,$(SVGFILES)) +SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_NOKIA)%,$(SVGFILES)) +SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_OEM)%,$(SVGFILES)) + +# Get SVG files from VECTORSOURCESUBDIRs +SVGFILES_NSS:=$(foreach FILE, \ + $(basename $(FILES)), \ + $(wildcard $(VECTORSOURCESUBDIR_NSS)$/$(FILE).svg)) + +SVGFILES_NOKIA:=$(foreach FILE, \ + $(basename $(FILES)), \ + $(wildcard $(VECTORSOURCESUBDIR_NOKIA)$/$(FILE).svg)) + +SVGFILES_OEM:=$(foreach FILE, \ + $(basename $(FILES)), \ + $(wildcard $(VECTORSOURCESUBDIR_OEM)$/$(FILE).svg)) + +# Paths of SVGB files will be under the intermediate directory +SVGBFILES:=$(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES)))) \ + $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_NSS)))) \ + $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_NOKIA)))) \ + $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_OEM)))) + # Resolve mask files. Mask files are assumed to locate in the same folder than the actual bmp-file. MASKFILES:=$(foreach FILE, \ $(BMPFILES), \ @@ -51,12 +77,12 @@ # If SOURCEDIR is defined, we need to create a rule for copying the vector files into the intermediate directory ifneq ($(strip $(SOURCEDIR)),) - # Create list of files - USERSVGFILES:=$(filter $(SOURCEDIR)%,$(SVGFILES)) - USERBMPFILES:=$(filter $(SOURCEDIR)%,$(BMPFILES)) - USERINTERMEDIATESVGFILES := $(subst $(SOURCEDIR), \ - $(VECTORINTERMEDIATEDIR), \ - $(USERSVGFILES) \ +# Create list of files +USERSVGFILES:=$(filter $(SOURCEDIR)%,$(SVGFILES)) +USERBMPFILES:=$(filter $(SOURCEDIR)%,$(BMPFILES)) +USERINTERMEDIATESVGFILES := $(subst $(SOURCEDIR), \ + $(VECTORINTERMEDIATEDIR), \ + $(USERSVGFILES) \ ) # Now define the copy rule @@ -72,13 +98,52 @@ # The same copy rule is needed for system files as well, first generate the lists SYSTEMSVGFILES:=$(filter $(VECTORSOURCEDIR)%,$(SVGFILES)) -SYSTEMBMPFILES:=$(filter $(BITMAPSOURCEDIR)%,$(BMPFILES)) SYSTEMINTERMEDIATESVGFILES := $(subst $(VECTORSOURCEDIR), \ $(VECTORINTERMEDIATEDIR), \ $(SYSTEMSVGFILES) \ ) +SYSTEMINTERMEDIATESVGFILES_NSS:=$(subst $(VECTORSOURCESUBDIR_NSS), \ + $(VECTORINTERMEDIATEDIR), \ + $(SVGFILES_NSS) \ + ) +SYSTEMINTERMEDIATESVGFILES_NOKIA:=$(subst $(VECTORSOURCESUBDIR_NOKIA), \ + $(VECTORINTERMEDIATEDIR), \ + $(SVGFILES_NOKIA) \ + ) +SYSTEMINTERMEDIATESVGFILES_OEM:=$(subst $(VECTORSOURCESUBDIR_OEM), \ + $(VECTORINTERMEDIATEDIR), \ + $(SVGFILES_OEM) \ + ) +SYSTEMBMPFILES:=$(filter $(BITMAPSOURCEDIR)%,$(BMPFILES)) -# And finally define the copy rule +# Copy SVG files in reverse order of priority to enabele overriding SVG files with lesser priority + +# Define the copy rules for VECTORSOURCESUBDIRs +ifeq ($(INIT_CFG),$(PLATFORM)$(CFG)) +$(SYSTEMINTERMEDIATESVGFILES_OEM) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_OEM)% + $(TOOLCOPY) $< $@ +ifeq ($(OSTYPE),cygwin) + $(GNUCHMOD) a+rw "$@" +endif +endif + +ifeq ($(INIT_CFG),$(PLATFORM)$(CFG)) +$(SYSTEMINTERMEDIATESVGFILES_NOKIA) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_NOKIA)% + $(TOOLCOPY) $< $@ +ifeq ($(OSTYPE),cygwin) + $(GNUCHMOD) a+rw "$@" +endif +endif + +ifeq ($(INIT_CFG),$(PLATFORM)$(CFG)) +$(SYSTEMINTERMEDIATESVGFILES_NSS) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_NSS)% + $(TOOLCOPY) $< $@ +ifeq ($(OSTYPE),cygwin) + $(GNUCHMOD) a+rw "$@" +endif +endif + +# Define the copy rule for VECTORSOURCEDIR ifeq ($(INIT_CFG),$(PLATFORM)$(CFG)) $(SYSTEMINTERMEDIATESVGFILES) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCEDIR)% $(TOOLCOPY) $< $@ @@ -87,14 +152,18 @@ endif endif + # Get full list of intermediate files -VECTORINTERMEDIATESOURCES := $(SYSTEMINTERMEDIATESVGFILES) $(USERINTERMEDIATESVGFILES) +VECTORINTERMEDIATESOURCES := $(SYSTEMINTERMEDIATESVGFILES) $(SYSTEMINTERMEDIATESVGFILES_NSS) $(SYSTEMINTERMEDIATESVGFILES_NOKIA) $(SYSTEMINTERMEDIATESVGFILES_OEM) $(USERINTERMEDIATESVGFILES) # Debug prints for debugging purposes #$(warning SOURCEPATHS $(SOURCEPATHS)) #$(warning SVGFILES $(SVGFILES)) +#$(warning SVGFILES_NSS $(SVGFILES_NSS)) +#$(warning SVGFILES_NOKIA $(SVGFILES_NOKIA)) +#$(warning SVGFILES_OEM $(SVGFILES_OEM)) #$(warning SVGBFILES $(SVGBFILES)) #$(warning BMPFILES $(BMPFILES)) #$(warning USERSVGFILES $(USERSVGFILES)) @@ -103,6 +172,9 @@ #$(warning SYSTEMSVGFILES $(SYSTEMSVGFILES)) #$(warning SYSTEMBMPFILES $(SYSTEMBMPFILES)) #$(warning SYSTEMINTERMEDIATESVGFILES $(SYSTEMINTERMEDIATESVGFILES)) +#$(warning SYSTEMINTERMEDIATESVGFILES_NSS $(SYSTEMINTERMEDIATESVGFILES_NSS)) +#$(warning SYSTEMINTERMEDIATESVGFILES_NOKIA $(SYSTEMINTERMEDIATESVGFILES_NOKIA)) +#$(warning SYSTEMINTERMEDIATESVGFILES_OEM $(SYSTEMINTERMEDIATESVGFILES_OEM)) #$(warning VECTORINTERMEDIATESOURCES $(VECTORINTERMEDIATESOURCES)) diff -r 9b222d6b819d -r fb7380a082a0 gfxconversion/mifconv/src/mifconv_argumentmanager.cpp --- a/gfxconversion/mifconv/src/mifconv_argumentmanager.cpp Fri Apr 16 15:32:00 2010 +0300 +++ b/gfxconversion/mifconv/src/mifconv_argumentmanager.cpp Fri May 14 16:24:48 2010 +0300 @@ -322,6 +322,12 @@ iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH), vector(1, SVG_FILE_EXTENSION))); // Global bitmaps folder can contain only .bmp files: iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_BITMAPS_PATH), vector(1, BMP_FILE_EXTENSION))); + // If not found from global icons folder, try subfolder nss: + iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "nss"), vector(1, SVG_FILE_EXTENSION))); + // If not found from nss sub folder, try subfolder nokia: + iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "nokia"), vector(1, SVG_FILE_EXTENSION))); + // If not found from nokia sub folder, try subfolder oem: + iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "oem"), vector(1, SVG_FILE_EXTENSION))); // EPOCROOT, if given in environment variables: if( epocRoot.length() > 0 ) { @@ -659,7 +665,7 @@ * */ bool MifConvArgumentManager::FindAndSetPathAndType( MifConvSourceFile& srcFile, const MifConvString& extension ) -{ +{ // Search the filename first "as is": MifConvString tmp( MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension ); if( MifConvUtil::FileExists(tmp) ) @@ -698,7 +704,7 @@ if( validPath ) { MifConvString searchPath(i->SearchPath()); - + // Make sure that the last char is directory separator if( searchPath.length() > 0 && searchPath.at( searchPath.length()-1) != DIR_SEPARATOR2 ) { @@ -708,11 +714,12 @@ searchPath += MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension; MifConvUtil::RemoveDuplicateDirSeparators(searchPath); - + if( MifConvUtil::FileExists( searchPath ) ) { srcFile.SetFilename(searchPath); - MifConvUtil::FindAndSetBitmapMaskFile(srcFile); + MifConvUtil::FindAndSetBitmapMaskFile(srcFile); + return true; } }