From: <ai...@us...> - 2012-01-22 00:39:09
|
Revision: 12147 http://plplot.svn.sourceforge.net/plplot/?rev=12147&view=rev Author: airwin Date: 2012-01-22 00:39:02 +0000 (Sun, 22 Jan 2012) Log Message: ----------- Apply slightly modified patch by Phil Rosenberg to replace references to cmap0 (except for background which is a special case which must use cmap0) by curcolor. This change allows plcol1 (which also sets curcolor just like plcol0) to affect the text colors in the first page of example 21 for the wxwidgets devices just like happens for all other devices. Modified Paths: -------------- trunk/drivers/wxwidgets_agg.cpp trunk/drivers/wxwidgets_dc.cpp trunk/drivers/wxwidgets_gc.cpp trunk/src/plfreetype.c Modified: trunk/drivers/wxwidgets_agg.cpp =================================================================== --- trunk/drivers/wxwidgets_agg.cpp 2012-01-22 00:21:26 UTC (rev 12146) +++ trunk/drivers/wxwidgets_agg.cpp 2012-01-22 00:39:02 UTC (rev 12147) @@ -399,10 +399,10 @@ //-------------------------------------------------------------------------- void wxPLDevAGG::SetColor0( PLStream *pls ) { - mColorRedStroke = pls->cmap0[pls->icol0].r; - mColorGreenStroke = pls->cmap0[pls->icol0].g; - mColorBlueStroke = pls->cmap0[pls->icol0].b; - mStrokeOpacity = (wxUint8) ( pls->cmap0[pls->icol0].a * 255 ); + mColorRedStroke = pls->curcolor.r; + mColorGreenStroke = pls->curcolor.g; + mColorBlueStroke = pls->curcolor.b; + mStrokeOpacity = (wxUint8) ( pls->curcolor.a * 255 ); } Modified: trunk/drivers/wxwidgets_dc.cpp =================================================================== --- trunk/drivers/wxwidgets_dc.cpp 2012-01-22 00:21:26 UTC (rev 12146) +++ trunk/drivers/wxwidgets_dc.cpp 2012-01-22 00:39:02 UTC (rev 12147) @@ -227,8 +227,7 @@ //-------------------------------------------------------------------------- void wxPLDevDC::SetWidth( PLStream *pls ) { - m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g, - pls->cmap0[pls->icol0].b ), + m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ), pls->width > 0 ? pls->width : 1, wxSOLID ) ) ); } @@ -240,10 +239,9 @@ //-------------------------------------------------------------------------- void wxPLDevDC::SetColor0( PLStream *pls ) { - m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g, - pls->cmap0[pls->icol0].b ), + m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ), pls->width > 0 ? pls->width : 1, wxSOLID ) ) ); - m_dc->SetBrush( wxBrush( wxColour( pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g, pls->cmap0[pls->icol0].b ) ) ); + m_dc->SetBrush( wxBrush( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ) ) ); } @@ -254,8 +252,7 @@ //-------------------------------------------------------------------------- void wxPLDevDC::SetColor1( PLStream *pls ) { - m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->curcolor.r, pls->curcolor.g, - pls->curcolor.b ), + m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ), pls->width > 0 ? pls->width : 1, wxSOLID ) ) ); m_dc->SetBrush( wxBrush( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ) ) ); } @@ -422,8 +419,7 @@ sin_rot = sin( rotation ); // Set font color - m_dc->SetTextForeground( wxColour( pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g, - pls->cmap0[pls->icol0].b ) ); + m_dc->SetTextForeground( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ) ); m_dc->SetTextBackground( wxColour( pls->curcolor.r, pls->curcolor.g, pls->curcolor.b ) ); posX = args->x; Modified: trunk/drivers/wxwidgets_gc.cpp =================================================================== --- trunk/drivers/wxwidgets_gc.cpp 2012-01-22 00:21:26 UTC (rev 12146) +++ trunk/drivers/wxwidgets_gc.cpp 2012-01-22 00:39:02 UTC (rev 12147) @@ -267,13 +267,13 @@ { // Log_Verbose( "%s", __FUNCTION__ ); - mColorRedStroke = pls->cmap0[pls->icol0].r; - mColorGreenStroke = pls->cmap0[pls->icol0].g; - mColorBlueStroke = pls->cmap0[pls->icol0].b; - mColorRedFill = pls->cmap0[pls->icol0].r; - mColorGreenFill = pls->cmap0[pls->icol0].g; - mColorBlueFill = pls->cmap0[pls->icol0].b; - mStrokeOpacity = (unsigned char) ( pls->cmap0[pls->icol0].a * 255 ); + mColorRedStroke = pls->curcolor.r; + mColorGreenStroke = pls->curcolor.g; + mColorBlueStroke = pls->curcolor.b; + mColorRedFill = pls->curcolor.r; + mColorGreenFill = pls->curcolor.g; + mColorBlueFill = pls->curcolor.b; + mStrokeOpacity = (unsigned char) ( pls->curcolor.a * 255 ); m_context->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( mColorRedStroke, mColorGreenStroke, mColorBlueStroke, mStrokeOpacity ), @@ -452,9 +452,9 @@ #endif // text color - textRed = pls->cmap0[pls->icol0].r; - textGreen = pls->cmap0[pls->icol0].g; - textBlue = pls->cmap0[pls->icol0].b; + textRed = pls->curcolor.r; + textGreen = pls->curcolor.g; + textBlue = pls->curcolor.b; // calculate rotation of text plRotationShear( args->xform, &rotation, &shear, &stride ); Modified: trunk/src/plfreetype.c =================================================================== --- trunk/src/plfreetype.c 2012-01-22 00:21:26 UTC (rev 12146) +++ trunk/src/plfreetype.c 2012-01-22 00:39:02 UTC (rev 12147) @@ -2,7 +2,7 @@ // // Copyright (C) 2002, 2004, 2005 Andrew Roach // Copyright (C) 2002 Maurice LeBrun -// Copyright (C) 2002, 2004, 2005 Alan W. Irwin +// Copyright (C) 2002-2012 Alan W. Irwin // Copyright (C) 2003, 2004 Joao Cardoso // Copyright (C) 2003, 2004, 2005 Rafael Laboissiere // Copyright (C) 2004 Andrew Ross @@ -541,9 +541,9 @@ alpha_a = (float) FT->shade / 255.0; // alpha_b=1.0-alpha_a; - // R=(plsc->cmap0[pls->icol0].r*alpha_a)+(R*alpha_b); - // G=(plsc->cmap0[pls->icol0].g*alpha_a)+(G*alpha_b); - // B=(plsc->cmap0[pls->icol0].b*alpha_a)+(B*alpha_b); + // R=(plsc->curcolor.r*alpha_a)+(R*alpha_b); + // G=(plsc->curcolor.g*alpha_a)+(G*alpha_b); + // B=(plsc->curcolor.b*alpha_a)+(B*alpha_b); // // This next bit of code is, I *think*, computationally @@ -555,9 +555,9 @@ // Is one faster than the other so that you'd ever notice ? // - R = (int) ( ( ( plsc->cmap0[pls->icol0].r - R ) * alpha_a ) + R ); - G = (int) ( ( ( plsc->cmap0[pls->icol0].g - G ) * alpha_a ) + G ); - B = (int) ( ( ( plsc->cmap0[pls->icol0].b - B ) * alpha_a ) + B ); + R = (int) ( ( ( plsc->curcolor.r - R ) * alpha_a ) + R ); + G = (int) ( ( ( plsc->curcolor.g - G ) * alpha_a ) + G ); + B = (int) ( ( ( plsc->curcolor.b - B ) * alpha_a ) + B ); FT->set_pixel( pls, x + k, y + i, RGB( R > 255 ? 255 : R, G > 255 ? 255 : G, B > 255 ? 255 : B ) ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |