Implemented user dashes for gnome print.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1529,6 +1529,22 @@ void wxGnomePrintDC::SetPen( const wxPen& pen )
|
|||||||
case wxSHORT_DASH: gs_lgp->gnome_print_setdash( m_gpc, 2, short_dashed, 0 ); break;
|
case wxSHORT_DASH: gs_lgp->gnome_print_setdash( m_gpc, 2, short_dashed, 0 ); break;
|
||||||
case wxLONG_DASH: gs_lgp->gnome_print_setdash( m_gpc, 2, wxCoord_dashed, 0 ); break;
|
case wxLONG_DASH: gs_lgp->gnome_print_setdash( m_gpc, 2, wxCoord_dashed, 0 ); break;
|
||||||
case wxDOT_DASH: gs_lgp->gnome_print_setdash( m_gpc, 4, dotted_dashed, 0 ); break;
|
case wxDOT_DASH: gs_lgp->gnome_print_setdash( m_gpc, 4, dotted_dashed, 0 ); break;
|
||||||
|
case wxUSER_DASH:
|
||||||
|
{
|
||||||
|
// It may be noted that libgnomeprint between at least
|
||||||
|
// versions 2.8.0 and 2.12.1 makes a copy of the dashes
|
||||||
|
// and then leak the memory since it doesn't set the
|
||||||
|
// internal flag "privatedash" to 0.
|
||||||
|
wxDash *wx_dashes;
|
||||||
|
int num = m_pen.GetDashes (&wx_dashes);
|
||||||
|
gdouble *g_dashes = g_new( gdouble, num );
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < num; ++i)
|
||||||
|
g_dashes[i] = (gdouble) wx_dashes[i];
|
||||||
|
gs_lgp -> gnome_print_setdash( m_gpc, num, g_dashes, 0);
|
||||||
|
g_free( g_dashes );
|
||||||
|
}
|
||||||
|
break;
|
||||||
case wxSOLID:
|
case wxSOLID:
|
||||||
case wxTRANSPARENT:
|
case wxTRANSPARENT:
|
||||||
default: gs_lgp->gnome_print_setdash( m_gpc, 0, NULL, 0 ); break;
|
default: gs_lgp->gnome_print_setdash( m_gpc, 0, NULL, 0 ); break;
|
||||||
|
Reference in New Issue
Block a user