#include "wx/dc.h"
+#include "gdk/gdk.h"
+#include "gtk/gtk.h"
+
//-----------------------------------------------------------------------------
// constants
//-----------------------------------------------------------------------------
m_scaleX = 1.0;
m_scaleY = 1.0;
- m_mappingMode = MM_TEXT;
- m_needComputeScaleX = FALSE;
- m_needComputeScaleY = FALSE;
+ m_mappingMode = wxMM_TEXT;
+ m_needComputeScaleX = FALSE; /* not used yet */
+ m_needComputeScaleY = FALSE; /* not used yet */
- m_signX = 1; // default x-axis left to right
- m_signY = 1; // default y-axis top down
+ m_signX = 1; /* default x-axis left to right */
+ m_signY = 1; /* default y-axis top down. -1 in postscript. */
- m_maxX = m_maxY = -100000;
- m_minY = m_minY = 100000;
+ m_maxX = 0;
+ m_maxY = 0;
+ m_minX = 0;
+ m_minY = 0;
m_logicalFunction = wxCOPY;
// m_textAlignment = wxALIGN_TOP_LEFT;
m_brush = *wxTRANSPARENT_BRUSH;
m_backgroundBrush = *wxWHITE_BRUSH;
-// m_palette = wxAPP_COLOURMAP;
+// m_palette = wxAPP_COLOURMAP; /* I'll learn to handle palettes later in my life */
}
wxDC::~wxDC()
if (height) *height = m_maxY-m_minY;
}
-void wxDC::GetSizeMM( long* width, long* height ) const
+void wxDC::GetSizeMM( int* width, int* height ) const
{
int w = 0;
int h = 0;
GetSize( &w, &h );
- if (width) *width = long( double(w) / (m_scaleX*m_mm_to_pix_x) );
- if (height) *height = long( double(h) / (m_scaleY*m_mm_to_pix_y) );
+ if (width) *width = int( double(w) / (m_scaleX*m_mm_to_pix_x) );
+ if (height) *height = int( double(h) / (m_scaleY*m_mm_to_pix_y) );
+}
+
+// Resolution in pixels per logical inch
+wxSize wxDC::GetPPI(void) const
+{
+ // TODO (should probably be pure virtual)
+ return wxSize(0, 0);
}
void wxDC::SetTextForeground( const wxColour &col )
{
switch (mode)
{
- case MM_TWIPS:
+ case wxMM_TWIPS:
SetLogicalScale( twips2mm*m_mm_to_pix_x, twips2mm*m_mm_to_pix_y );
break;
- case MM_POINTS:
+ case wxMM_POINTS:
SetLogicalScale( pt2mm*m_mm_to_pix_x, pt2mm*m_mm_to_pix_y );
break;
- case MM_METRIC:
+ case wxMM_METRIC:
SetLogicalScale( m_mm_to_pix_x, m_mm_to_pix_y );
break;
- case MM_LOMETRIC:
+ case wxMM_LOMETRIC:
SetLogicalScale( m_mm_to_pix_x/10.0, m_mm_to_pix_y/10.0 );
break;
default:
- case MM_TEXT:
+ case wxMM_TEXT:
SetLogicalScale( 1.0, 1.0 );
break;
}
/* we don't do this mega optimisation
- if (mode != MM_TEXT)
+ if (mode != wxMM_TEXT)
{
m_needComputeScaleX = TRUE;
m_needComputeScaleY = TRUE;