// Rotate attachment points
double sinTheta = (double)sin(actualTheta);
double cosTheta = (double)cos(actualTheta);
- wxNode *node = m_attachmentPoints.First();
+ wxNode *node = m_attachmentPoints.GetFirst();
while (node)
{
- wxAttachmentPoint *point = (wxAttachmentPoint *)node->Data();
+ wxAttachmentPoint *point = (wxAttachmentPoint *)node->GetData();
double x1 = point->m_x;
double y1 = point->m_y;
point->m_x = x1*cosTheta - y1*sinTheta + x*(1.0 - cosTheta) + y*sinTheta;
point->m_y = x1*sinTheta + y1*cosTheta + y*(1.0 - cosTheta) + x*sinTheta;
- node = node->Next();
+ node = node->GetNext();
}
m_rotation = theta;
{
if (m_metafiles[m_currentAngle].GetOutlineOp() != -1)
{
- wxNode* node = m_metafiles[m_currentAngle].GetOps().Nth(m_metafiles[m_currentAngle].GetOutlineOp());
+ wxNode* node = m_metafiles[m_currentAngle].GetOps().Item(m_metafiles[m_currentAngle].GetOutlineOp());
wxASSERT (node != NULL);
- wxDrawOp* op = (wxDrawOp*) node->Data();
+ wxDrawOp* op = (wxDrawOp*) node->GetData();
if (op->OnDrawOutline(dc, x, y, w, h, m_width, m_height))
return;
{
if (m_metafiles[m_currentAngle].GetOutlineOp() != -1)
{
- wxNode* node = m_metafiles[m_currentAngle].GetOps().Nth(m_metafiles[m_currentAngle].GetOutlineOp());
+ wxNode* node = m_metafiles[m_currentAngle].GetOps().Item(m_metafiles[m_currentAngle].GetOutlineOp());
wxASSERT (node != NULL);
- wxDrawOp* op = (wxDrawOp*) node->Data();
+ wxDrawOp* op = (wxDrawOp*) node->GetData();
if (op->GetPerimeterPoint(x1, y1, x2, y2, x3, y3, GetX(), GetY(), GetAttachmentMode()))
return TRUE;
}
else
{
- wxNode *node = m_image->m_gdiObjects.Nth(m_gdiIndex);
+ wxNode *node = m_image->m_gdiObjects.Item(m_gdiIndex);
if (node)
{
- wxPen *pen = (wxPen *)node->Data();
+ wxPen *pen = (wxPen *)node->GetData();
if (pen)
dc.SetPen(* pen);
}
}
else
{
- wxNode *node = m_image->m_gdiObjects.Nth(m_gdiIndex);
+ wxNode *node = m_image->m_gdiObjects.Item(m_gdiIndex);
if (node)
{
- wxBrush *brush = (wxBrush *)node->Data();
+ wxBrush *brush = (wxBrush *)node->GetData();
if (brush)
dc.SetBrush(* brush);
}
}
case DRAWOP_SET_FONT:
{
- wxNode *node = m_image->m_gdiObjects.Nth(m_gdiIndex);
+ wxNode *node = m_image->m_gdiObjects.Item(m_gdiIndex);
if (node)
{
- wxFont *font = (wxFont *)node->Data();
+ wxFont *font = (wxFont *)node->GetData();
if (font)
dc.SetFont(* font);
}
case DRAWOP_SET_BRUSH:
case DRAWOP_SET_FONT:
{
- m_gdiIndex = (int)expr->Nth(1)->IntegerValue();
+ m_gdiIndex = (int)expr->Item(1)->IntegerValue();
break;
}
case DRAWOP_SET_TEXT_COLOUR:
case DRAWOP_SET_BK_COLOUR:
{
- m_r = (unsigned char)expr->Nth(1)->IntegerValue();
- m_g = (unsigned char)expr->Nth(2)->IntegerValue();
- m_b = (unsigned char)expr->Nth(3)->IntegerValue();
+ m_r = (unsigned char)expr->Item(1)->IntegerValue();
+ m_g = (unsigned char)expr->Item(2)->IntegerValue();
+ m_b = (unsigned char)expr->Item(3)->IntegerValue();
break;
}
case DRAWOP_SET_BK_MODE:
{
- m_mode = (int)expr->Nth(1)->IntegerValue();
+ m_mode = (int)expr->Item(1)->IntegerValue();
break;
}
default:
{
case DRAWOP_SET_CLIPPING_RECT:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
- m_x2 = expr->Nth(3)->RealValue();
- m_y2 = expr->Nth(4)->RealValue();
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
+ m_x2 = expr->Item(3)->RealValue();
+ m_y2 = expr->Item(4)->RealValue();
break;
}
default:
case DRAWOP_DRAW_RECT:
case DRAWOP_DRAW_ELLIPSE:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
- m_x2 = expr->Nth(3)->RealValue();
- m_y2 = expr->Nth(4)->RealValue();
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
+ m_x2 = expr->Item(3)->RealValue();
+ m_y2 = expr->Item(4)->RealValue();
break;
}
case DRAWOP_DRAW_ROUNDED_RECT:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
- m_x2 = expr->Nth(3)->RealValue();
- m_y2 = expr->Nth(4)->RealValue();
- m_radius = expr->Nth(5)->RealValue();
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
+ m_x2 = expr->Item(3)->RealValue();
+ m_y2 = expr->Item(4)->RealValue();
+ m_radius = expr->Item(5)->RealValue();
break;
}
case DRAWOP_DRAW_POINT:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
break;
}
case DRAWOP_DRAW_TEXT:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
- wxString str(expr->Nth(3)->StringValue());
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
+ wxString str(expr->Item(3)->StringValue());
m_textString = copystring(str);
break;
}
case DRAWOP_DRAW_ARC:
case DRAWOP_DRAW_ELLIPTIC_ARC:
{
- m_x1 = expr->Nth(1)->RealValue();
- m_y1 = expr->Nth(2)->RealValue();
- m_x2 = expr->Nth(3)->RealValue();
- m_y2 = expr->Nth(4)->RealValue();
- m_x3 = expr->Nth(5)->RealValue();
- m_y3 = expr->Nth(6)->RealValue();
+ m_x1 = expr->Item(1)->RealValue();
+ m_y1 = expr->Item(2)->RealValue();
+ m_x2 = expr->Item(3)->RealValue();
+ m_y2 = expr->Item(4)->RealValue();
+ m_x3 = expr->Item(5)->RealValue();
+ m_y3 = expr->Item(6)->RealValue();
break;
}
default:
void wxOpPolyDraw::ReadExpr(wxPseudoMetaFile *image, wxExpr *expr)
{
- m_noPoints = (int)expr->Nth(1)->IntegerValue();
+ m_noPoints = (int)expr->Item(1)->IntegerValue();
char buf1[5];
char buf2[5];
m_points = new wxRealPoint[m_noPoints];
int i = 0;
int bufPtr = 0;
- wxString hexString = expr->Nth(2)->StringValue();
+ wxString hexString = expr->Item(2)->StringValue();
while (i < m_noPoints)
{
buf1[0] = hexString[(size_t)bufPtr];
void wxPseudoMetaFile::Clear()
{
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
delete op;
- node = node->Next();
+ node = node->GetNext();
}
m_ops.Clear();
m_gdiObjects.Clear();
void wxPseudoMetaFile::Draw(wxDC& dc, double xoffset, double yoffset)
{
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
op->Do(dc, xoffset, yoffset);
- node = node->Next();
+ node = node->GetNext();
}
}
void wxPseudoMetaFile::Scale(double sx, double sy)
{
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
op->Scale(sx, sy);
- node = node->Next();
+ node = node->GetNext();
}
m_width *= sx;
m_height *= sy;
void wxPseudoMetaFile::Translate(double x, double y)
{
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
op->Translate(x, y);
- node = node->Next();
+ node = node->GetNext();
}
}
double cosTheta = (double)cos(theta1);
double sinTheta = (double)sin(theta1);
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
op->Rotate(x, y, theta, sinTheta, cosTheta);
- node = node->Next();
+ node = node->GetNext();
}
m_currentRotation = theta;
}
// Write GDI objects
char buf[50];
int i = 1;
- wxNode *node = m_gdiObjects.First();
+ wxNode *node = m_gdiObjects.GetFirst();
while (node)
{
sprintf(buf, "gdi%d_%d", whichAngle, i);
- wxObject *obj = (wxObject *)node->Data();
+ wxObject *obj = (wxObject *)node->GetData();
wxExpr *expr = NULL;
if (obj)
{
clause->AddAttributeValue(buf, expr);
i ++;
}
- node = node->Next();
+ node = node->GetNext();
}
// Write drawing operations
i = 1;
- node = m_ops.First();
+ node = m_ops.GetFirst();
while (node)
{
sprintf(buf, "op%d_%d", whichAngle, i);
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
wxExpr *expr = op->WriteExpr(this);
if (expr)
{
clause->AddAttributeValue(buf, expr);
i ++;
}
- node = node->Next();
+ node = node->GetNext();
}
// Write outline and fill GDI op lists (if any)
- if (m_outlineColours.Number() > 0)
+ if (m_outlineColours.GetCount() > 0)
{
wxExpr *outlineExpr = new wxExpr(wxExprList);
- node = m_outlineColours.First();
+ node = m_outlineColours.GetFirst();
while (node)
{
- outlineExpr->Append(new wxExpr((long)node->Data()));
- node = node->Next();
+ outlineExpr->Append(new wxExpr((long)node->GetData()));
+ node = node->GetNext();
}
wxString outlineObjectsStr;
outlineObjectsStr.Printf(wxT("outline_objects%d"), whichAngle);
clause->AddAttributeValue(outlineObjectsStr, outlineExpr);
}
- if (m_fillColours.Number() > 0)
+ if (m_fillColours.GetCount() > 0)
{
wxExpr *fillExpr = new wxExpr(wxExprList);
- node = m_fillColours.First();
+ node = m_fillColours.GetFirst();
while (node)
{
- fillExpr->Append(new wxExpr((long)node->Data()));
- node = node->Next();
+ fillExpr->Append(new wxExpr((long)node->GetData()));
+ node = node->GetNext();
}
wxString fillObjectsStr;
fillObjectsStr.Printf(wxT("fill_objects%d"), whichAngle);
}
else
{
- wxExpr *idExpr = expr->Nth(0);
+ wxExpr *idExpr = expr->Item(0);
switch (idExpr->IntegerValue())
{
case gyTYPE_PEN:
{
- int penWidth = (int)expr->Nth(1)->IntegerValue();
- int penStyle = (int)expr->Nth(2)->IntegerValue();
- int penRed = (int)expr->Nth(3)->IntegerValue();
- int penGreen = (int)expr->Nth(4)->IntegerValue();
- int penBlue = (int)expr->Nth(5)->IntegerValue();
+ int penWidth = (int)expr->Item(1)->IntegerValue();
+ int penStyle = (int)expr->Item(2)->IntegerValue();
+ int penRed = (int)expr->Item(3)->IntegerValue();
+ int penGreen = (int)expr->Item(4)->IntegerValue();
+ int penBlue = (int)expr->Item(5)->IntegerValue();
wxColour col(penRed, penGreen, penBlue);
wxPen *p = wxThePenList->FindOrCreatePen(col, penWidth, penStyle);
if (!p)
}
case gyTYPE_BRUSH:
{
- int brushStyle = (int)expr->Nth(1)->IntegerValue();
- int brushRed = (int)expr->Nth(2)->IntegerValue();
- int brushGreen = (int)expr->Nth(3)->IntegerValue();
- int brushBlue = (int)expr->Nth(4)->IntegerValue();
+ int brushStyle = (int)expr->Item(1)->IntegerValue();
+ int brushRed = (int)expr->Item(2)->IntegerValue();
+ int brushGreen = (int)expr->Item(3)->IntegerValue();
+ int brushBlue = (int)expr->Item(4)->IntegerValue();
wxColour col(brushRed, brushGreen, brushBlue);
wxBrush *b = wxTheBrushList->FindOrCreateBrush(col, brushStyle);
if (!b)
}
case gyTYPE_FONT:
{
- int fontPointSize = (int)expr->Nth(1)->IntegerValue();
- int fontFamily = (int)expr->Nth(2)->IntegerValue();
- int fontStyle = (int)expr->Nth(3)->IntegerValue();
- int fontWeight = (int)expr->Nth(4)->IntegerValue();
- int fontUnderlined = (int)expr->Nth(5)->IntegerValue();
+ int fontPointSize = (int)expr->Item(1)->IntegerValue();
+ int fontFamily = (int)expr->Item(2)->IntegerValue();
+ int fontStyle = (int)expr->Item(3)->IntegerValue();
+ int fontWeight = (int)expr->Item(4)->IntegerValue();
+ int fontUnderlined = (int)expr->Item(5)->IntegerValue();
m_gdiObjects.Append(wxTheFontList->FindOrCreateFont(fontPointSize,
fontFamily, fontStyle, fontWeight, (fontUnderlined != 0)));
break;
}
else
{
- wxExpr *idExpr = expr->Nth(0);
+ wxExpr *idExpr = expr->Item(0);
int opId = (int)idExpr->IntegerValue();
switch (opId)
{
copy.m_outlineOp = m_outlineOp;
// Copy the GDI objects
- wxNode *node = m_gdiObjects.First();
+ wxNode *node = m_gdiObjects.GetFirst();
while (node)
{
- wxObject *obj = (wxObject *)node->Data();
+ wxObject *obj = (wxObject *)node->GetData();
copy.m_gdiObjects.Append(obj);
- node = node->Next();
+ node = node->GetNext();
}
// Copy the operations
- node = m_ops.First();
+ node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
copy.m_ops.Append(op->Copy(©));
- node = node->Next();
+ node = node->GetNext();
}
// Copy the outline/fill operations
- node = m_outlineColours.First();
+ node = m_outlineColours.GetFirst();
while (node)
{
- copy.m_outlineColours.Append((wxObject *)node->Data());
- node = node->Next();
+ copy.m_outlineColours.Append((wxObject *)node->GetData());
+ node = node->GetNext();
}
- node = m_fillColours.First();
+ node = m_fillColours.GetFirst();
while (node)
{
- copy.m_fillColours.Append((wxObject *)node->Data());
- node = node->Next();
+ copy.m_fillColours.Append((wxObject *)node->GetData());
+ node = node->GetNext();
}
}
bool wxPseudoMetaFile::LoadFromMetaFile(const wxString& filename, double *rwidth, double *rheight)
{
if (!wxFileExists(filename))
- return NULL;
+ return FALSE;
wxXMetaFile *metaFile = new wxXMetaFile;
double lastY = 0.0;
// Convert from metafile records to wxDrawnShape records
- wxNode *node = metaFile->metaRecords.First();
+ wxNode *node = metaFile->metaRecords.GetFirst();
while (node)
{
- wxMetaRecord *record = (wxMetaRecord *)node->Data();
+ wxMetaRecord *record = (wxMetaRecord *)node->GetData();
switch (record->metaFunction)
{
case META_SETBKCOLOR:
{
// The pen, brush etc. has already been created when the metafile
// was read in, so we don't create it - we set it.
- wxNode *recNode = metaFile->gdiObjects.Nth((int)record->param2);
+ wxNode *recNode = metaFile->gdiObjects.Item((int)record->param2);
if (recNode)
{
- wxMetaRecord *gdiRec = (wxMetaRecord *)recNode->Data();
+ wxMetaRecord *gdiRec = (wxMetaRecord *)recNode->GetData();
if (gdiRec && (gdiRec->param1 != 0))
{
wxObject *obj = (wxObject *)gdiRec->param1;
break;
}
}
- node = node->Next();
+ node = node->GetNext();
}
double actualWidth = (double)fabs(metaFile->right - metaFile->left);
double actualHeight = (double)fabs(metaFile->bottom - metaFile->top);
double minX = (double) 99999.9;
double minY = (double) 99999.9;
- wxNode *node = m_ops.First();
+ wxNode *node = m_ops.GetFirst();
while (node)
{
- wxDrawOp *op = (wxDrawOp *)node->Data();
+ wxDrawOp *op = (wxDrawOp *)node->GetData();
switch (op->GetOp())
{
case DRAWOP_DRAW_LINE:
default:
break;
}
- node = node->Next();
+ node = node->GetNext();
}
*boundMinX = minX;
m_ops.Append(theOp);
if (flags & oglMETAFLAGS_OUTLINE)
- m_outlineOp = (m_ops.Number() - 1);
+ m_outlineOp = (m_ops.GetCount() - 1);
}
void wxPseudoMetaFile::DrawSpline(int n, wxPoint pts[])
void wxPseudoMetaFile::SetPen(wxPen* pen, bool isOutline)
{
m_gdiObjects.Append(pen);
- int n = m_gdiObjects.Number();
+ int n = m_gdiObjects.GetCount();
wxOpSetGDI* theOp = new wxOpSetGDI(DRAWOP_SET_PEN, this, n - 1);
void wxPseudoMetaFile::SetBrush(wxBrush* brush, bool isFill)
{
m_gdiObjects.Append(brush);
- int n = m_gdiObjects.Number();
+ int n = m_gdiObjects.GetCount();
wxOpSetGDI* theOp = new wxOpSetGDI(DRAWOP_SET_BRUSH, this, n - 1);
void wxPseudoMetaFile::SetFont(wxFont* font)
{
m_gdiObjects.Append(font);
- int n = m_gdiObjects.Number();
+ int n = m_gdiObjects.GetCount();
wxOpSetGDI* theOp = new wxOpSetGDI(DRAWOP_SET_FONT, this, n - 1);