|
From: <sm...@us...> - 2008-11-18 22:40:37
|
Revision: 8991
http://plplot.svn.sourceforge.net/plplot/?rev=8991&view=rev
Author: smekal
Date: 2008-11-18 22:40:34 +0000 (Tue, 18 Nov 2008)
Log Message:
-----------
Fixed bug in wxGraphicsContext backend, where in some examples lines were missing.
Modified Paths:
--------------
trunk/drivers/wxwidgets.h
trunk/drivers/wxwidgets_dc.cpp
trunk/drivers/wxwidgets_gc.cpp
Modified: trunk/drivers/wxwidgets.h
===================================================================
--- trunk/drivers/wxwidgets.h 2008-11-18 21:45:34 UTC (rev 8990)
+++ trunk/drivers/wxwidgets.h 2008-11-18 22:40:34 UTC (rev 8991)
@@ -326,6 +326,14 @@
/* text colors */
unsigned char textRed, textGreen, textBlue;
+
+ unsigned char mStrokeOpacity;
+ unsigned char mColorRedStroke;
+ unsigned char mColorGreenStroke;
+ unsigned char mColorBlueStroke;
+ unsigned char mColorRedFill;
+ unsigned char mColorGreenFill;
+ unsigned char mColorBlueFill;
};
#endif
@@ -467,7 +475,7 @@
\*----------------------------------------------------------------------*/
/* define if you want debug output */
-// #define _DEBUG //*/
+/* #define _DEBUG //*/
/* #define _DEBUG_VERBOSE //*/
void Log_Verbose( const char *fmt, ... );
void Log_Debug( const char *fmt, ... );
Modified: trunk/drivers/wxwidgets_dc.cpp
===================================================================
--- trunk/drivers/wxwidgets_dc.cpp 2008-11-18 21:45:34 UTC (rev 8990)
+++ trunk/drivers/wxwidgets_dc.cpp 2008-11-18 22:40:34 UTC (rev 8991)
@@ -24,7 +24,6 @@
/* TODO:
* - text clipping
* - implement AddToClipRegion for text correctly
- * - Example 16 problem at last page
*/
#include "plDevs.h"
Modified: trunk/drivers/wxwidgets_gc.cpp
===================================================================
--- trunk/drivers/wxwidgets_gc.cpp 2008-11-18 21:45:34 UTC (rev 8990)
+++ trunk/drivers/wxwidgets_gc.cpp 2008-11-18 22:40:34 UTC (rev 8991)
@@ -94,24 +94,14 @@
{
// Log_Verbose( "%s", __FUNCTION__ );
- wxDouble x1a, y1a, x2a, y2a;
-
- x1a=xa[0]/scalex;
- y1a=height-ya[0]/scaley;
-
wxGraphicsPath path=m_context->CreatePath();
- path.MoveToPoint( x1a, y1a );
- for( PLINT i=1; i<npts; i++ ) {
- x2a=xa[i]/scalex;
- y2a=height-ya[i]/scaley;
- path.AddLineToPoint( x2a, y2a );
- x1a=x2a; y1a=y2a;
- }
+ path.MoveToPoint( xa[0]/scalex, height-ya[0]/scaley );
+ for( PLINT i=1; i<npts; i++ )
+ path.AddLineToPoint( xa[i]/scalex, height-ya[i]/scaley );
m_context->StrokePath( path );
wxDouble x, y, w, h;
path.GetBox( &x, &y, &w, &h );
-
AddtoClipRegion( (int)x, (int)y, (int)(x+w), (int)(y+h) );
}
@@ -127,15 +117,14 @@
if( x2<0 ) x2a=width; else x2a=x2/scalex;
if( y2<0 ) y2a=height; else y2a=height-y2/scaley;
- const wxPen oldPen=m_dc->GetPen();
- const wxBrush oldBrush=m_dc->GetBrush();
-
m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(bgr, bgg, bgb), 1, wxSOLID)) );
m_context->SetBrush( wxBrush(wxColour(bgr, bgg, bgb)) );
m_context->DrawRectangle( x1a, y1a, x2a-x1a, y2a-y1a );
- m_context->SetPen( oldPen );
- m_context->SetBrush( oldBrush );
+ m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(mColorRedStroke, mColorGreenStroke,
+ mColorBlueStroke, mStrokeOpacity),
+ 1, wxSOLID)) );
+ m_context->SetBrush( wxBrush(wxColour(mColorRedFill, mColorGreenFill, mColorBlueFill, mStrokeOpacity)) );
AddtoClipRegion( (int)x1a, (int)y1a, (int)x2a, (int)y2a );
}
@@ -143,7 +132,7 @@
void wxPLDevGC::FillPolygon( PLStream *pls )
{
- Log_Verbose( "%s", __FUNCTION__ );
+ // Log_Verbose( "%s", __FUNCTION__ );
wxGraphicsPath path=m_context->CreatePath();
path.MoveToPoint( pls->dev_x[0]/scalex, height-pls->dev_y[0]/scaley );
@@ -193,8 +182,8 @@
{
// Log_Verbose( "%s", __FUNCTION__ );
- m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g,
- pls->cmap0[pls->icol0].b, (unsigned char)(pls->cmap0[pls->icol0].a*255)),
+ m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(mColorRedStroke, mColorGreenStroke,
+ mColorBlueStroke, mStrokeOpacity),
pls->width>0 ? pls->width : 1, wxSOLID)) );
}
@@ -203,11 +192,18 @@
{
// Log_Verbose( "%s", __FUNCTION__ );
- m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g,
- pls->cmap0[pls->icol0].b, (unsigned char)(pls->cmap0[pls->icol0].a*255)),
+ 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);
+
+ m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(mColorRedStroke, mColorGreenStroke,
+ mColorBlueStroke, mStrokeOpacity),
pls->width>0 ? pls->width : 1, wxSOLID)) );
- m_context->SetBrush( wxBrush(wxColour(pls->cmap0[pls->icol0].r, pls->cmap0[pls->icol0].g, pls->cmap0[pls->icol0].b,
- (unsigned char)(pls->cmap0[pls->icol0].a*255))) );
+ m_context->SetBrush( wxBrush(wxColour(mColorRedFill, mColorGreenFill, mColorBlueFill, mStrokeOpacity)) );
}
@@ -215,11 +211,18 @@
{
// Log_Verbose( "%s", __FUNCTION__ );
- m_context->SetPen( *(wxThePenList->FindOrCreatePen(wxColour(pls->curcolor.r, pls->curcolor.g,
- pls->curcolor.b, (unsigned char)(pls->curcolor.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),
pls->width>0 ? pls->width : 1, wxSOLID)) );
- m_context->SetBrush( wxBrush(wxColour(pls->curcolor.r, pls->curcolor.g, pls->curcolor.b,
- (unsigned char)(pls->curcolor.a*255))) );
+ m_context->SetBrush( wxBrush(wxColour(mColorRedFill, mColorGreenFill, mColorBlueFill, mStrokeOpacity)) );
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|