[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]
[XaraXtreme-commits] Commit Complete
Commit by : gerry
Repository : xara
Revision : 1679
Date : Tue Aug 8 10:47:29 BST 2006
Changed paths:
M /Trunk/XaraLX/Kernel/Makefile.am
M /Trunk/XaraLX/Kernel/cxfile.cpp
M /Trunk/XaraLX/Kernel/cxfrec.cpp
M /Trunk/XaraLX/Kernel/cxftfile.cpp
M /Trunk/XaraLX/Kernel/cxftfile.h
M /Trunk/XaraLX/Kernel/filters.cpp
M /Trunk/XaraLX/Kernel/ftfilter.cpp
M /Trunk/XaraLX/Kernel/ftfilter.h
M /Trunk/XaraLX/wxOil/oilfltrs.cpp
Reinstated filter families and ported .wix filter for debug use
Diff:
Index: Trunk/XaraLX/Kernel/filters.cpp
===================================================================
--- Trunk/XaraLX/Kernel/filters.cpp (revision 1678)
+++ Trunk/XaraLX/Kernel/filters.cpp (revision 1679)
@@ -939,8 +939,7 @@
#endif
-PORTNOTE("filter","Removed FlareTemplateFilter usage")
-#ifndef EXCLUDE_FROM_XARALX
+#ifdef _DEBUG
ADD_FILTER(FlareTemplateFilter) // The text version
#endif
@@ -5206,13 +5205,10 @@
BOOL GenericFilter::Init()
{
-PORTNOTE("filter", "Removed OILFilter usage")
-#ifndef EXCLUDE_FROM_XARALX
// Get the OILFilter object
pOILFilter = new OILFilterFamily(this, _R(IDT_FILTERNAME_GENERIC));
if (pOILFilter == NULL)
return FALSE;
-#endif
// Load the description strings
FilterName.Load(_R(IDT_GENERIC_FILTERNAME));
@@ -5256,13 +5252,10 @@
BOOL VectorFilterFamily::Init()
{
-PORTNOTETRACE("filter","Removed OILFilter usage");
-#ifndef EXCLUDE_FROM_XARALX
// Get the OILFilter object
pOILFilter = new OILFilterFamily(this, _R(IDT_FILTERNAME_VECTOR));
if (pOILFilter == NULL)
return FALSE;
-#endif
// Load the description strings
FilterName.Load(_R(IDT_VECTOR_FILTERNAME));
@@ -5306,13 +5299,10 @@
BOOL BitmapFilterFamily::Init()
{
-PORTNOTETRACE("filter","Removed OILFilter usage");
-#ifndef EXCLUDE_FROM_XARALX
// Get the OILFilter object
pOILFilter = new OILFilterFamily(this, _R(IDT_FILTERNAME_BITMAP));
if (pOILFilter == NULL)
return FALSE;
-#endif
// Load the description strings
FilterName.Load(_R(IDT_BITMAP_FILTERNAME));
@@ -5353,13 +5343,10 @@
********************************************************************************************/
BOOL TextFilterFamily::Init()
{
-PORTNOTETRACE("filter","Removed OILFilter usage");
-#ifndef EXCLUDE_FROM_XARALX
// Get the OILFilter object
pOILFilter = new OILFilterFamily(this, _R(IDT_FILTERNAME_TEXT));
if (pOILFilter == NULL)
return FALSE;
-#endif
// Load the description strings
FilterName.Load(_R(IDT_TEXT_FILTERNAME));
@@ -5405,13 +5392,10 @@
BOOL GenericEPSFilter::Init()
{
-PORTNOTE("filter","Removed OILFilter usage")
-#ifndef EXCLUDE_FROM_XARALX
// Get the OILFilter object
pOILFilter = new OILFilterFamily(this, _R(IDT_FILTERNAME_EPS));
if (pOILFilter == NULL)
return FALSE;
-#endif
// Load the description strings
FilterName.Load(_R(IDT_EPS_FILTERNAME));
Index: Trunk/XaraLX/Kernel/ftfilter.h
===================================================================
--- Trunk/XaraLX/Kernel/ftfilter.h (revision 1678)
+++ Trunk/XaraLX/Kernel/ftfilter.h (revision 1679)
@@ -101,7 +101,8 @@
#ifndef INC_FTFILTER
#define INC_FTFILTER
-#include "webfiltr.h" // CamelotWebFilter
+#include "native.h"
+//#include "webfiltr.h" // CamelotWebFilter
/********************************************************************************************
@@ -116,7 +117,7 @@
********************************************************************************************/
-class FlareTemplateFilter : public CamelotWebFilter
+class FlareTemplateFilter : public CamelotNativeFilter
{
// Give my name in memory dumps
CC_DECLARE_DYNAMIC(FlareTemplateFilter);
Index: Trunk/XaraLX/Kernel/cxfile.cpp
===================================================================
--- Trunk/XaraLX/Kernel/cxfile.cpp (revision 1678)
+++ Trunk/XaraLX/Kernel/cxfile.cpp (revision 1679)
@@ -2010,6 +2010,8 @@
if (ReadNextRecordHeader())
{
+ TRACEUSER("Gerry", _T("HandleRecord %d - %d [%d]"), RecordNumber, ReadTag, ReadSize);
+
CXaraFileRecordHandler* pCXaraFileRecordHandler = FindHandler(ReadTag);
if (pCXaraFileRecordHandler != NULL)
{
Index: Trunk/XaraLX/Kernel/Makefile.am
===================================================================
--- Trunk/XaraLX/Kernel/Makefile.am (revision 1678)
+++ Trunk/XaraLX/Kernel/Makefile.am (revision 1679)
@@ -79,7 +79,8 @@
swfbuttn.cpp swffont.cpp swfplace.cpp swfrndr.cpp swfshape.cpp swfsprit.cpp \
swfexpdc.cpp swftext.cpp pmaskrgn.cpp printctl.cpp prnmkcom.cpp prnmks.cpp \
xsepsops.cpp xarprefs.cpp printing.cpp prntview.cpp psrndrgn.cpp opimgset.cpp \
- optsprin.cpp prnprefs.cpp rulers.cpp biasgdgt.cpp biasdlg.cpp prvwmenu.cpp
+ optsprin.cpp prnprefs.cpp rulers.cpp biasgdgt.cpp biasdlg.cpp prvwmenu.cpp \
+ ftfilter.cpp
AM_CXXFLAGS = $(XARAFLAGS)
Index: Trunk/XaraLX/Kernel/cxftfile.h
===================================================================
--- Trunk/XaraLX/Kernel/cxftfile.h (revision 1678)
+++ Trunk/XaraLX/Kernel/cxftfile.h (revision 1679)
@@ -177,10 +177,10 @@
BOOL WriteAsText(CXaraFileRecord* pRecord);
BOOL WriteBinHex(BYTE* pBuf, UINT32 BufSize);
BOOL WriteLabel(void);
- BOOL IsSimpleUnicode(WCHAR* pStr);
- BOOL WriteSimpleUnicode(WCHAR* pStr);
+ BOOL IsSimpleUnicode(UINT16* pStr);
+ BOOL WriteSimpleUnicode(UINT16* pStr);
BOOL WriteSimpleASCII(char* pStr);
- UINT32 WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, WCHAR* pChars);
+ UINT32 WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, UINT16* pChars);
BOOL WriteSingleWCHAR(WCHAR ch);
inline BOOL IsPrint(WCHAR wc)
Index: Trunk/XaraLX/Kernel/cxftfile.cpp
===================================================================
--- Trunk/XaraLX/Kernel/cxftfile.cpp (revision 1678)
+++ Trunk/XaraLX/Kernel/cxftfile.cpp (revision 1679)
@@ -836,7 +836,7 @@
case FTT_BYTE:
{
BYTE ByteVal = *pBinPtr;
-// TRACEUSER( "Gerry", _T("Byte :
"), ByteVal);
+ TRACEUSER( "Gerry", _T("Byte : %d
"), ByteVal);
Num = sprintf(Buffer, ",B(%u)", ByteVal);
pBinPtr+=1;
break;
@@ -845,7 +845,7 @@
case FTT_UINT32:
{
UINT32 ULongVal = *((UINT32*)pBinPtr);
-// TRACEUSER( "Gerry", _T("ULong : %u
"), ULongVal);
+ TRACEUSER( "Gerry", _T("ULong : %u
"), ULongVal);
Num = sprintf(Buffer, ",U(%u)", ULongVal);
pBinPtr+=4;
break;
@@ -854,7 +854,7 @@
case FTT_INT32:
{
INT32 LongVal = *((INT32*)pBinPtr);
-// TRACEUSER( "Gerry", _T("Long : %d
"), LongVal);
+ TRACEUSER( "Gerry", _T("Long : %d
"), LongVal);
Num = sprintf(Buffer, ",L(%d)", LongVal);
pBinPtr+=4;
break;
@@ -863,7 +863,7 @@
case FTT_UINT16:
{
WORD WordVal = *((WORD*)pBinPtr);
-// TRACEUSER( "Gerry", _T("UINT16 : %hu
"), WordVal);
+ TRACEUSER( "Gerry", _T("UINT16 : %hu
"), WordVal);
Num = sprintf(Buffer, ",W(%hu)", WordVal);
pBinPtr+=2;
break;
@@ -872,7 +872,7 @@
case FTT_INT16:
{
INT16 ShortVal = *((INT16*)pBinPtr);
-// TRACEUSER( "Gerry", _T("INT16 : %hd
"), ShortVal);
+ TRACEUSER( "Gerry", _T("INT16 : %hd
"), ShortVal);
Num = sprintf(Buffer, ",I(%hd)", ShortVal);
pBinPtr+=2;
break;
@@ -881,7 +881,7 @@
case FTT_FLOAT:
{
double DoubleVal = *((FLOAT*)pBinPtr);
-// TRACEUSER( "Gerry", _T("Float : %g
"), DoubleVal);
+ TRACEUSER( "Gerry", _T("Float : %g
"), DoubleVal);
Num = sprintf(Buffer, ",F(%g)", DoubleVal);
pBinPtr+=4;
break;
@@ -890,7 +890,7 @@
case FTT_DOUBLE:
{
double DoubleVal = *((double*)pBinPtr);
-// TRACEUSER( "Gerry", _T("Double : %g
"), DoubleVal);
+ TRACEUSER( "Gerry", _T("Double : %g
"), DoubleVal);
Num = sprintf(Buffer, ",D(%g)", DoubleVal);
pBinPtr+=8;
break;
@@ -899,7 +899,7 @@
case FTT_REFERENCE:
{
INT32 LongVal = *((INT32*)pBinPtr);
-// TRACEUSER( "Gerry", _T("Long : %d
"), LongVal);
+ TRACEUSER( "Gerry", _T("Long : %d
"), LongVal);
if (LongVal <= 0)
{
// then write it as an INT32
@@ -916,7 +916,8 @@
case FTT_WCHAR:
{
- UINT32 NumChars = WriteMultipleWCHARs(&(pPtr[Index]), Count - Index, (WCHAR*)pBinPtr);
+ TRACEUSER( "Gerry", _T("WCHAR : %d items
"), Count - Index);
+ UINT32 NumChars = WriteMultipleWCHARs(&(pPtr[Index]), Count - Index, (UINT16*)pBinPtr);
if (NumChars == 0)
ok = FALSE;
pBinPtr += (NumChars * sizeof(WCHAR)); // Skip the pointerand
@@ -943,7 +944,7 @@
y += (pBinPtr[5] << 8);
x += (pBinPtr[6] << 0);
y += (pBinPtr[7] << 0);
-// TRACEUSER( "Gerry", _T("IntCoord : %d, %d
"), x, y);
+ TRACEUSER( "Gerry", _T("IntCoord : %d, %d
"), x, y);
Num = sprintf(Buffer, ",K(%d,%d)", x, y);
pBinPtr += 8;
break;
@@ -953,6 +954,7 @@
{
// Use ,ASC("String")
size_t len = strlen((char*)pBinPtr) + 1;
+ TRACEUSER("Gerry", _T("ASCII %d"), len);
ok = WriteSimpleASCII((char*)pBinPtr);
pBinPtr += len;
break;
@@ -960,10 +962,14 @@
case FTT_UNICODE:
{
- UINT32 len = 2 * ( camStrlen( (PCTSTR)pBinPtr ) + 1 );
- if (IsSimpleUnicode((WCHAR*) pBinPtr))
+ UINT32 len = 1;
+ UINT16* pCh = (UINT16*)pBinPtr;
+ while (*pCh++ != 0)
+ len++;
+ TRACEUSER("Gerry", _T("Unicode %d"), len);
+ if (IsSimpleUnicode((UINT16*)pBinPtr))
{
- ok = WriteSimpleUnicode((WCHAR*)pBinPtr);
+ ok = WriteSimpleUnicode((UINT16*)pBinPtr);
}
else
{
@@ -976,6 +982,7 @@
case FTT_BINHEX:
{
UINT32 len = *((DWORD*)(pPtr+Index+1)); // Get the length (BYTE pointer arithmetic)
+ TRACEUSER("Gerry", _T("BinHex %d"), len);
Index += 4;
ok = WriteBinHex(pBinPtr, len);
pBinPtr += len;
@@ -1033,7 +1040,7 @@
/********************************************************************************************
-> BOOL CXaraTemplateFile::IsSimpleUnicode(WCHAR* pStr)
+> BOOL CXaraTemplateFile::IsSimpleUnicode(UINT16* pStr)
Author: Gerry_Iles (Xara Group Ltd) <camelotdev@xxxxxxxx>
Created: 12/07/97
@@ -1042,7 +1049,7 @@
********************************************************************************************/
-BOOL CXaraTemplateFile::IsSimpleUnicode(WCHAR* pStr)
+BOOL CXaraTemplateFile::IsSimpleUnicode(UINT16* pStr)
{
if (pStr == NULL)
return(FALSE);
@@ -1075,7 +1082,7 @@
********************************************************************************************/
-BOOL CXaraTemplateFile::WriteSimpleUnicode(WCHAR* pStr)
+BOOL CXaraTemplateFile::WriteSimpleUnicode(UINT16* pStr)
{
if (pStr == NULL)
return(FALSE);
@@ -1092,7 +1099,7 @@
if (ok && *pStr == '"')
ok = pCCFile->write(pStr).good();
- // Advance to next WCHAR
+ // Advance to next UINT16
pStr++;
}
@@ -1147,7 +1154,7 @@
/********************************************************************************************
-> UINT32 CXaraTemplateFile::WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, WCHAR* pChars)
+> UINT32 CXaraTemplateFile::WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, UINT16* pChars)
Author: Gerry_Iles (Xara Group Ltd) <camelotdev@xxxxxxxx>
Created: 12/07/97
@@ -1159,9 +1166,9 @@
********************************************************************************************/
-UINT32 CXaraTemplateFile::WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, WCHAR* pChars)
+UINT32 CXaraTemplateFile::WriteMultipleWCHARs(BYTE* pTypes, DWORD Count, UINT16* pChars)
{
- TRACEUSER( "Gerry", _T("WriteMultipleWCHARs
"));
+ TRACEUSER( "Gerry", _T("WriteMultipleWCHARs %d
"), Count);
ERROR3IF(pTypes == NULL, "NULL type array");
ERROR3IF(pChars == NULL, "NULL chars array");
@@ -1171,7 +1178,7 @@
if (Count == 0)
return(0);
- WORD ch = pChars[0];
+ WCHAR ch = pChars[0];
if (Count == 1 || pTypes[1] != FTT_WCHAR)
return(WriteSingleWCHAR(ch) ? 1 : 0);
@@ -1281,15 +1288,11 @@
}
else if (IsPrint(ch))
{
-#ifdef __WXMSW__
- Num = sprintf(Buffer, ",WC(\"%hc\")", ch);
-#else
- Num = sprintf(Buffer, ",WC(\"%lc\")", ch);
-#endif
+ Num = sprintf(Buffer, ",WC(\"%c\")", (char)(ch & 0xFF));
}
else
{
- Num = sprintf(Buffer, ",W(%hu)", ch);
+ Num = sprintf(Buffer, ",W(%hu)", (INT16)(ch & 0xFFFF));
}
ok = pCCFile->write(Buffer, Num).good();
Index: Trunk/XaraLX/Kernel/cxfrec.cpp
===================================================================
--- Trunk/XaraLX/Kernel/cxfrec.cpp (revision 1678)
+++ Trunk/XaraLX/Kernel/cxfrec.cpp (revision 1679)
@@ -893,8 +893,6 @@
}
while (c!=0);// Until end of string or no longer OK to write
- return ok; // If we terminated due to Read failure tell the caller
-
#else
// pStr points to an ASCII or DBCS string, and we want it written as a Unicode string
// Write out each char separately, converting it to the correct Unicode value
@@ -969,7 +967,7 @@
{
PORTNOTE( "record", "UNICODE characters that don't fit into 1 mb character need better handling" )
char acTmp[MB_CUR_MAX];
- if( 1 == wctomb( acTmp, pStr[i*2] ) )
+ if( 1 == wctomb( acTmp, pStr[i] ) )
ok = WriteBYTE( acTmp[0] );
else
ok = WriteBYTE( '.' );
@@ -1034,6 +1032,8 @@
BOOL CXaraFileRecord::WriteUTF16STR(const StringVar& pvstr)
{
#ifdef _UNICODE
+ ENTERWRITEFUNCTION(FTT_UNICODE);
+
BOOL ok = TRUE;
WCHAR c = 0;
INT32 i = 0;
@@ -1046,6 +1046,8 @@
}
while (c!=0);// Until end of string or no longer OK to write
+ LEAVEWRITEFUNCTION;
+
return ok; // If we terminated due to Read failure tell the caller
#else
ERROR3("StringVar only holds UNICODE data in UNICODE builds");
Index: Trunk/XaraLX/Kernel/ftfilter.cpp
===================================================================
--- Trunk/XaraLX/Kernel/ftfilter.cpp (revision 1678)
+++ Trunk/XaraLX/Kernel/ftfilter.cpp (revision 1679)
@@ -119,7 +119,8 @@
#include "cxftfile.h"
// An implement to match the Declare in the .h file.
-CC_IMPLEMENT_DYNAMIC(FlareTemplateFilter, CamelotWebFilter);
+// This used to be derived from CamelotWebFilter
+CC_IMPLEMENT_DYNAMIC(FlareTemplateFilter, CamelotNativeFilter);
// This will get Camelot to display the filename and linenumber of any memory allocations
// that are not released at program exit
@@ -206,7 +207,7 @@
if (ok) ok = CreateRecordHandlers();
- if (Camelot.DeclareSection("Filters", 10))
+ if (Camelot.DeclareSection(_T("Filters"), 10))
{
// Preferences for the Flare Template options dialog box
@@ -215,15 +216,15 @@
// Preference for bitmap compression requested by the user
// 101 -201 means use PNG but remember old JPEG setting
// 0-100 use JPEG with this quality setting
- Camelot.DeclarePref( NULL, "FTBitmapCompression", &FlareTemplateFilter::FTBitmapCompression, 0, 201 );
+ Camelot.DeclarePref( NULL, _T("FTBitmapCompression"), &FlareTemplateFilter::FTBitmapCompression, 0, 201 );
// Preference for whether we export a preview bitmap in web files
- Camelot.DeclarePref( NULL, "FTExportPreviewBitmap", &FlareTemplateFilter::FTPreviewBitmapExport, 0, 1 );
+ Camelot.DeclarePref( NULL, _T("FTExportPreviewBitmap"), &FlareTemplateFilter::FTPreviewBitmapExport, 0, 1 );
// Preference for whether we convert all text to outlines in web files (baring some assumed fonts)
- Camelot.DeclarePref( NULL, "FTConvertTextToOutlines", &FlareTemplateFilter::FTConvertTextToOutlines, 0, 1 );
+ Camelot.DeclarePref( NULL, _T("FTConvertTextToOutlines"), &FlareTemplateFilter::FTConvertTextToOutlines, 0, 1 );
// Preference for whether we export an HTML tag to the clipboard
- Camelot.DeclarePref( NULL, "FTHTMLToClipboard", &FlareTemplateFilter::FTHTMLToClipboard, 0, 1 );
+ Camelot.DeclarePref( NULL, _T("FTHTMLToClipboard"), &FlareTemplateFilter::FTHTMLToClipboard, 0, 1 );
// Preference for whether we convert all blends to outlines in web files
- Camelot.DeclarePref( NULL, "FTConvertBlendsToOutlines", &FlareTemplateFilter::FTConvertBlendsToOutlines, 0, 1 );
+ Camelot.DeclarePref( NULL, _T("FTConvertBlendsToOutlines"), &FlareTemplateFilter::FTConvertBlendsToOutlines, 0, 1 );
}
// All ok?
Index: Trunk/XaraLX/wxOil/oilfltrs.cpp
===================================================================
--- Trunk/XaraLX/wxOil/oilfltrs.cpp (revision 1678)
+++ Trunk/XaraLX/wxOil/oilfltrs.cpp (revision 1679)
@@ -560,7 +560,7 @@
TCHAR *OILFilterFamily::ConstructFilterString(UINT32 NumberToExport)
{
-#if !defined(EXCLUDE_FROM_RALPH) && !defined(EXCLUDE_FROM_XARALX)
+#if !defined(EXCLUDE_FROM_RALPH)
// Load in the filter name and extensions...
static String_256 FilterStr;
String_256 Extensions;
@@ -572,7 +572,7 @@
if (IS_A(Parent, GenericFilter))
{
// It's the generic filter - just use "*.*" as the extension mask.
- Extensions = "*.*";
+ Extensions = _T("*.*");
}
else
{
@@ -594,7 +594,8 @@
ExtStr = pFilter->pOILFilter->FilterExt;
// Extract each extension and see if we need to add it
- char *pExt = _tcstok((TCHAR *) ExtStr, ",");
+ TCHAR* pTemp = NULL;
+ TCHAR* pExt = camStrtok((TCHAR *) ExtStr, _T(","), &pTemp);
while (pExt != NULL)
{
@@ -603,13 +604,13 @@
// Not already present - add the string.
if (!NoneFound)
// Don't add a semi-colon if this is the first one we find.
- Extensions += ";";
- Extensions += "*.";
+ Extensions += _T(";");
+ Extensions += _T("*.");
Extensions += pExt;
NoneFound = FALSE;
}
- pExt = _tcstok(NULL, ",");
+ pExt = camStrtok(NULL, _T(","), &pTemp);
}
}
@@ -620,7 +621,7 @@
// Construct the filter string from these two strings:
- FilterStr += "|";
+ FilterStr += _T("|");
FilterStr += Extensions;
// Return a pointer to the string.
@@ -693,15 +694,15 @@
pex = Ext;
INT32 l = 0;
- while(pex[l] != '
+ while(pex[l] != _T('
{
ex[l] = camTolower(pex[l]);
l++;
}
- ex[l] = '
+ ex[l] = _T('
TRACEUSER( "Ben", _T("Checking extension matches, of file = '%s', supported = '%s'
Lard
"), (TCHAR *)ex, fe);
- if(ex[0] == '
+ if(ex[0] == _T('
{
// it's a blank extension. It can't match then, can it?
TRACEUSER( "Ben", _T("File didn't have an extension
"));
@@ -709,7 +710,7 @@
}
// see if the extension is in the list of supported extensions in the filter
- if(camStrstr(fe, (ex[0] == '.')?(ex + 1):ex) != NULL)
+ if(camStrstr(fe, (ex[0] == _T('.'))?(ex + 1):ex) != NULL)
return TRUE;
return FALSE;
Xara