[3] | -> wxPen
The handle table works as follows.
- When a GDI object is created whilst reading in the
+ When a GDI object is created while reading in the
metafile, the (e.g.) createpen record is added to the
first free entry in the handle table. The createpen
record's param1 is a pointer to the actual wxPen, and
/* int lfEsc = */ getshort(handle); // 2 bytes
/* int lfOrient = */ getshort(handle); // 2 bytes
int lfWeight = getshort(handle); // 2 bytes
- char lfItalic = getc(handle); // 1 byte
- char lfUnderline = getc(handle); // 1 byte
+ char lfItalic = (char)getc(handle); // 1 byte
+ char lfUnderline = (char)getc(handle); // 1 byte
/* char lfStrikeout = */ getc(handle); // 1 byte
/* char lfCharSet = */ getc(handle); // 1 byte
/* char lfOutPrecision = */ getc(handle); // 1 byte
/* char lfClipPrecision = */ getc(handle); // 1 byte
/* char lfQuality = */ getc(handle); // 1 byte
- char lfPitchAndFamily = getc(handle); // 1 byte (18th)
+ char lfPitchAndFamily = (char)getc(handle); // 1 byte (18th)
char lfFacename[32];
// Read the rest of the record, which is total record size
// minus the number of bytes already read (18 record, 6 metarecord
wxXMetaFile::~wxXMetaFile(void)
{
- wxNode *node = metaRecords.GetFirst();
+ wxObjectList::compatibility_iterator node = metaRecords.GetFirst();
while (node)
{
wxMetaRecord *rec = (wxMetaRecord *)node->GetData();
delete rec;
- wxNode *next = node->GetNext();
- delete node;
+ wxObjectList::compatibility_iterator next = node->GetNext();
+ metaRecords.Erase(node);
node = next;
}
}
bool wxXMetaFile::Play(wxDC *dc)
{
- wxNode *node = metaRecords.GetFirst();
+ wxObjectList::compatibility_iterator node = metaRecords.GetFirst();
while (node)
{
wxMetaRecord *rec = (wxMetaRecord *)node->GetData();