wx_spline_add_point(x1, y1);
while ((node = node->GetNext())
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
!= NULL
-#endif // !wxUSE_STL
+#endif // !wxUSE_STD_CONTAINERS
)
{
p = node->GetData();
SetLayoutDirection(win->GetLayoutDirection());
}
+void wxDCImpl::DoGetFontMetrics(int *height,
+ int *ascent,
+ int *descent,
+ int *internalLeading,
+ int *externalLeading,
+ int *averageWidth) const
+{
+ // Average width is typically the same as width of 'x'.
+ wxCoord h, d;
+ DoGetTextExtent("x", averageWidth, &h, &d, externalLeading);
+
+ if ( height )
+ *height = h;
+ if ( ascent )
+ *ascent = h - d;
+ if ( descent )
+ *descent = d;
+ if ( internalLeading )
+ *internalLeading = 0;
+}
+
//-----------------------------------------------------------------------------
// wxDC
//-----------------------------------------------------------------------------
GetMultiLineTextExtent(text, &widthText, &heightText, &heightLine);
wxCoord width, height;
- if ( bitmap.Ok() )
+ if ( bitmap.IsOk() )
{
width = widthText + bitmap.GetWidth();
height = bitmap.GetHeight();
wxCoord x0 = x,
y0 = y,
width0 = width;
- if ( bitmap.Ok() )
+ if ( bitmap.IsOk() )
{
DrawBitmap(bitmap, x, y, true /* use mask */);
// it should be of the same colour as text
SetPen(wxPen(GetTextForeground(), 0, wxPENSTYLE_SOLID));
- yUnderscore--;
+ // This adjustment is relatively arbitrary: we need to draw the
+ // underline slightly higher to avoid overflowing the character cell
+ // but whether we should do it 1, 2 or 3 pixels higher is not clear.
+ //
+ // The currently used value seems to be compatible with native MSW
+ // behaviour, i.e. it results in the same appearance of the owner-drawn
+ // and normal labels.
+ yUnderscore -= 2;
DrawLine(startUnderscore, yUnderscore, endUnderscore, yUnderscore);
}
y2 = y2-y-y+1;
--y;
}
- // old y now to big: set point with old y, old x
+ // old y now too big: set point with old y, old x
if( bNewPoint && x>1)
{
int x1 = x - 1;