static wxAppInitializerFunction GetInitializerFunction()
{ return m_appInitFn; }
+ // process all events in the wxPendingEvents list
+ virtual void ProcessPendingEvents();
+
// access to the command line arguments
int argc;
wxChar **argv;
#include "wx/list.h" // we use wxList in inline functions
-// ---------------------------------------------------------------------------
-// types
-// ---------------------------------------------------------------------------
-
-// type which should be used (whenever possible, i.e. as long as it doesn't
-// break compatibility) for screen coordinates
-typedef int wxCoord;
-
// ---------------------------------------------------------------------------
// global variables
// ---------------------------------------------------------------------------
// graphic primitives
// ------------------
- void FloodFill(long x, long y, const wxColour& col,
- int style = wxFLOOD_SURFACE)
+ void FloodFill(wxCoord x, wxCoord y, const wxColour& col,
+ int style = wxFLOOD_SURFACE)
{ DoFloodFill(x, y, col, style); }
void FloodFill(const wxPoint& pt, const wxColour& col,
- int style = wxFLOOD_SURFACE)
+ int style = wxFLOOD_SURFACE)
{ DoFloodFill(pt.x, pt.y, col, style); }
- bool GetPixel(long x, long y, wxColour *col) const
+ bool GetPixel(wxCoord x, wxCoord y, wxColour *col) const
{ return DoGetPixel(x, y, col); }
bool GetPixel(const wxPoint& pt, wxColour *col) const
{ return DoGetPixel(pt.x, pt.y, col); }
- void DrawLine(long x1, long y1, long x2, long y2)
+ void DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
{ DoDrawLine(x1, y1, x2, y2); }
void DrawLine(const wxPoint& pt1, const wxPoint& pt2)
{ DoDrawLine(pt1.x, pt1.y, pt2.x, pt2.y); }
- void CrossHair(long x, long y)
+ void CrossHair(wxCoord x, wxCoord y)
{ DoCrossHair(x, y); }
void CrossHair(const wxPoint& pt)
{ DoCrossHair(pt.x, pt.y); }
- void DrawArc(long x1, long y1, long x2, long y2, long xc, long yc)
+ void DrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc)
{ DoDrawArc(x1, y1, x2, y2, xc, yc); }
void DrawArc(const wxPoint& pt1, const wxPoint& pt2, const wxPoint& centre)
{ DoDrawArc(pt1.x, pt1.y, pt2.x, pt2.y, centre.x, centre.y); }
- void DrawEllipticArc(long x, long y, long w, long h, double sa, double ea)
+ void DrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
+ double sa, double ea)
{ DoDrawEllipticArc(x, y, w, h, sa, ea); }
void DrawEllipticArc(const wxPoint& pt, const wxSize& sz,
double sa, double ea)
{ DoDrawEllipticArc(pt.x, pt.y, sz.x, sz.y, sa, ea); }
- void DrawPoint(long x, long y)
+ void DrawPoint(wxCoord x, wxCoord y)
{ DoDrawPoint(x, y); }
void DrawPoint(const wxPoint& pt)
{ DoDrawPoint(pt.x, pt.y); }
- void DrawLines(int n, wxPoint points[], long xoffset = 0, long yoffset = 0)
+ void DrawLines(int n, wxPoint points[],
+ wxCoord xoffset = 0, wxCoord yoffset = 0)
{ DoDrawLines(n, points, xoffset, yoffset); }
- void DrawLines(const wxList *list, long xoffset = 0, long yoffset = 0);
+ void DrawLines(const wxList *list,
+ wxCoord xoffset = 0, wxCoord yoffset = 0);
void DrawPolygon(int n, wxPoint points[],
- long xoffset = 0, long yoffset = 0,
+ wxCoord xoffset = 0, wxCoord yoffset = 0,
int fillStyle = wxODDEVEN_RULE)
{ DoDrawPolygon(n, points, xoffset, yoffset, fillStyle); }
void DrawPolygon(const wxList *list,
- long xoffset = 0, long yoffset = 0,
+ wxCoord xoffset = 0, wxCoord yoffset = 0,
int fillStyle = wxODDEVEN_RULE);
- void DrawRectangle(long x, long y, long width, long height)
+ void DrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{ DoDrawRectangle(x, y, width, height); }
void DrawRectangle(const wxPoint& pt, const wxSize& sz)
{ DoDrawRectangle(pt.x, pt.y, sz.x, sz.y); }
void DrawRectangle(const wxRect& rect)
{ DoDrawRectangle(rect.x, rect.y, rect.width, rect.height); }
- void DrawRoundedRectangle(long x, long y, long width, long height,
+ void DrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height,
double radius)
{ DoDrawRoundedRectangle(x, y, width, height, radius); }
void DrawRoundedRectangle(const wxPoint& pt, const wxSize& sz,
void DrawRoundedRectangle(const wxRect& r, double radius)
{ DoDrawRoundedRectangle(r.x, r.y, r.width, r.height, radius); }
- void DrawCircle(long x, long y, long radius)
+ void DrawCircle(wxCoord x, wxCoord y, wxCoord radius)
{ DoDrawEllipse(x - radius, y - radius, 2*radius, 2*radius); }
- void DrawEllipse(long x, long y, long width, long height)
+ void DrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{ DoDrawEllipse(x, y, width, height); }
void DrawEllipse(const wxPoint& pt, const wxSize& sz)
{ DoDrawEllipse(pt.x, pt.y, sz.x, sz.y); }
void DrawEllipse(const wxRect& rect)
{ DoDrawEllipse(rect.x, rect.y, rect.width, rect.height); }
- void DrawIcon(const wxIcon& icon, long x, long y)
+ void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y)
{ DoDrawIcon(icon, x, y); }
void DrawIcon(const wxIcon& icon, const wxPoint& pt)
{ DoDrawIcon(icon, pt.x, pt.y); }
- void DrawBitmap(const wxBitmap &bmp, long x, long y, bool useMask = FALSE)
+ void DrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
+ bool useMask = FALSE)
{ DoDrawBitmap(bmp, x, y, useMask); }
void DrawBitmap(const wxBitmap &bmp, const wxPoint& pt,
bool useMask = FALSE)
{ DoDrawBitmap(bmp, pt.x, pt.y, useMask); }
- void DrawText(const wxString& text, long x, long y)
+ void DrawText(const wxString& text, wxCoord x, wxCoord y)
{ DoDrawText(text, x, y); }
void DrawText(const wxString& text, const wxPoint& pt)
{ DoDrawText(text, pt.x, pt.y); }
- bool Blit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+ bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int rop = wxCOPY, bool useMask = FALSE)
{
return DoBlit(xdest, ydest, width, height,
}
#if wxUSE_SPLINES
-// TODO: this API needs fixing (wxPointList, why (!const) "wxList *"?)
- void DrawSpline(long x1, long y1, long x2, long y2, long x3, long y3);
+ // TODO: this API needs fixing (wxPointList, why (!const) "wxList *"?)
+ void DrawSpline(wxCoord x1, wxCoord y1,
+ wxCoord x2, wxCoord y2,
+ wxCoord x3, wxCoord y3);
void DrawSpline(int n, wxPoint points[]);
void DrawSpline(wxList *points) { DoDrawSpline(points); }
// clipping region
// ---------------
- void SetClippingRegion(long x, long y, long width, long height)
+ void SetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{ DoSetClippingRegion(x, y, width, height); }
void SetClippingRegion(const wxPoint& pt, const wxSize& sz)
{ DoSetClippingRegion(pt.x, pt.y, sz.x, sz.y); }
virtual void DestroyClippingRegion() = 0;
- void GetClippingBox(long *x, long *y, long *w, long *h) const
+ void GetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const
{ DoGetClippingBox(x, y, w, h); }
void GetClippingBox(wxRect& rect) const
{ DoGetClippingBox(&rect.x, &rect.y, &rect.width, &rect.height); }
// text extent
// -----------
- virtual long GetCharHeight() const = 0;
- virtual long GetCharWidth() const = 0;
- virtual void GetTextExtent(const wxString& string,
- long *x, long *y,
- long *descent = NULL,
- long *externalLeading = NULL,
- wxFont *theFont = NULL) const = 0;
+ virtual wxCoord GetCharHeight() const = 0;
+ virtual wxCoord GetCharWidth() const = 0;
+ void GetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent = NULL,
+ wxCoord *externalLeading = NULL,
+ wxFont *theFont = NULL) const
+ { DoGetTextExtent(string, x, y, descent, externalLeading, theFont); }
// size and resolution
// -------------------
// This group of functions does actual conversion of the input, as you'd
// expect.
- long DeviceToLogicalX(long x) const;
- long DeviceToLogicalY(long y) const;
- long DeviceToLogicalXRel(long x) const;
- long DeviceToLogicalYRel(long y) const;
- long LogicalToDeviceX(long x) const;
- long LogicalToDeviceY(long y) const;
- long LogicalToDeviceXRel(long x) const;
- long LogicalToDeviceYRel(long y) const;
+ wxCoord DeviceToLogicalX(wxCoord x) const;
+ wxCoord DeviceToLogicalY(wxCoord y) const;
+ wxCoord DeviceToLogicalXRel(wxCoord x) const;
+ wxCoord DeviceToLogicalYRel(wxCoord y) const;
+ wxCoord LogicalToDeviceX(wxCoord x) const;
+ wxCoord LogicalToDeviceY(wxCoord y) const;
+ wxCoord LogicalToDeviceXRel(wxCoord x) const;
+ wxCoord LogicalToDeviceYRel(wxCoord y) const;
// query DC capabilities
// ---------------------
m_logicalScaleY = y;
}
- void GetLogicalOrigin(long *x, long *y) const
+ void GetLogicalOrigin(wxCoord *x, wxCoord *y) const
{ DoGetLogicalOrigin(x, y); }
wxPoint GetLogicalOrigin() const
- { long x, y; DoGetLogicalOrigin(&x, &y); return wxPoint(x, y); }
- virtual void SetLogicalOrigin(long x, long y) = 0;
+ { wxCoord x, y; DoGetLogicalOrigin(&x, &y); return wxPoint(x, y); }
+ virtual void SetLogicalOrigin(wxCoord x, wxCoord y) = 0;
- void GetDeviceOrigin(long *x, long *y) const
+ void GetDeviceOrigin(wxCoord *x, wxCoord *y) const
{ DoGetDeviceOrigin(x, y); }
wxPoint GetDeviceOrigin() const
- { long x, y; DoGetDeviceOrigin(&x, &y); return wxPoint(x, y); }
- virtual void SetDeviceOrigin(long x, long y) = 0;
+ { wxCoord x, y; DoGetDeviceOrigin(&x, &y); return wxPoint(x, y); }
+ virtual void SetDeviceOrigin(wxCoord x, wxCoord y) = 0;
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp) = 0;
// bounding box
// ------------
- virtual void CalcBoundingBox(long x, long y)
+ virtual void CalcBoundingBox(wxCoord x, wxCoord y)
{
- if (x < m_minX) m_minX = x;
- if (y < m_minY) m_minY = y;
- if (x > m_maxX) m_maxX = x;
- if (y > m_maxY) m_maxY = y;
+ if ( x < m_minX ) m_minX = x;
+ if ( y < m_minY ) m_minY = y;
+ if ( x > m_maxX ) m_maxX = x;
+ if ( y > m_maxY ) m_maxY = y;
}
// Get the final bounding box of the PostScript or Metafile picture.
- long MinX() const { return m_minX; }
- long MaxX() const { return m_maxX; }
- long MinY() const { return m_minY; }
- long MaxY() const { return m_maxY; }
+ wxCoord MinX() const { return m_minX; }
+ wxCoord MaxX() const { return m_maxX; }
+ wxCoord MinY() const { return m_minY; }
+ wxCoord MaxY() const { return m_maxY; }
// misc old functions
// ------------------
+ // for compatibility with the old code when wxCoord was long everywhere
+#ifndef __WIN16__
+ void GetTextExtent(const wxString& string,
+ long *x, long *y,
+ long *descent = NULL,
+ long *externalLeading = NULL,
+ wxFont *theFont = NULL) const
+ {
+ wxCoord x2, y2, descent2, externalLeading2;
+ DoGetTextExtent(string, &x2, &y2,
+ &descent2, &externalLeading2,
+ theFont);
+ if ( x )
+ *x = x2;
+ if ( y )
+ *y = y2;
+ if ( descent )
+ *descent = descent2;
+ if ( externalLeading )
+ *externalLeading = externalLeading2;
+ }
+
+ void GetLogicalOrigin(long *x, long *y) const
+ {
+ wxCoord x2, y2;
+ DoGetLogicalOrigin(&x2, &y2);
+ if ( x )
+ *x = x2;
+ if ( y )
+ *y = y2;
+ }
+
+ void GetDeviceOrigin(long *x, long *y) const
+ {
+ wxCoord x2, y2;
+ DoGetDeviceOrigin(&x2, &y2);
+ if ( x )
+ *x = x2;
+ if ( y )
+ *y = y2;
+ }
+#endif // !Win16
+
#if WXWIN_COMPATIBILITY
virtual void SetColourMap(const wxPalette& palette) { SetPalette(palette); }
void GetTextExtent(const wxString& string, float *x, float *y,
protected:
// the pure virtual functions which should be implemented by wxDC
- virtual void DoFloodFill(long x, long y, const wxColour& col,
+ virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
int style = wxFLOOD_SURFACE) = 0;
- virtual bool DoGetPixel(long x, long y, wxColour *col) const = 0;
+ virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const = 0;
- virtual void DoDrawPoint(long x, long y) = 0;
- virtual void DoDrawLine(long x1, long y1, long x2, long y2) = 0;
+ virtual void DoDrawPoint(wxCoord x, wxCoord y) = 0;
+ virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) = 0;
- virtual void DoDrawArc(long x1, long y1,
- long x2, long y2,
- long xc, long yc) = 0;
- virtual void DoDrawEllipticArc(long x, long y, long w, long h,
+ virtual void DoDrawArc(wxCoord x1, wxCoord y1,
+ wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc) = 0;
+ virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
double sa, double ea) = 0;
- virtual void DoDrawRectangle(long x, long y, long width, long height) = 0;
- virtual void DoDrawRoundedRectangle(long x, long y,
- long width, long height,
+ virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) = 0;
+ virtual void DoDrawRoundedRectangle(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height,
double radius) = 0;
- virtual void DoDrawEllipse(long x, long y, long width, long height) = 0;
+ virtual void DoDrawEllipse(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height) = 0;
- virtual void DoCrossHair(long x, long y) = 0;
+ virtual void DoCrossHair(wxCoord x, wxCoord y) = 0;
- virtual void DoDrawIcon(const wxIcon& icon, long x, long y) = 0;
- virtual void DoDrawBitmap(const wxBitmap &bmp, long x, long y,
+ virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y) = 0;
+ virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
bool useMask = FALSE) = 0;
- virtual void DoDrawText(const wxString& text, long x, long y) = 0;
+ virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y) = 0;
- virtual bool DoBlit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+ virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
+ wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int rop = wxCOPY, bool useMask = FALSE) = 0;
virtual void DoGetSize(int *width, int *height) const = 0;
virtual void DoGetSizeMM(int* width, int* height) const = 0;
virtual void DoDrawLines(int n, wxPoint points[],
- long xoffset, long yoffset) = 0;
+ wxCoord xoffset, wxCoord yoffset) = 0;
virtual void DoDrawPolygon(int n, wxPoint points[],
- long xoffset, long yoffset,
+ wxCoord xoffset, wxCoord yoffset,
int fillStyle = wxODDEVEN_RULE) = 0;
virtual void DoSetClippingRegionAsRegion(const wxRegion& region) = 0;
- virtual void DoSetClippingRegion(long x, long y,
- long width, long height) = 0;
+ virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height) = 0;
// FIXME are these functions really different?
- virtual void DoGetClippingRegion(long *x, long *y,
- long *w, long *h)
+ virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y,
+ wxCoord *w, wxCoord *h)
{ DoGetClippingBox(x, y, w, h); }
- virtual void DoGetClippingBox(long *x, long *y,
- long *w, long *h) const
+ virtual void DoGetClippingBox(wxCoord *x, wxCoord *y,
+ wxCoord *w, wxCoord *h) const
{
if ( m_clipping )
{
}
}
- virtual void DoGetLogicalOrigin(long *x, long *y) const
+ virtual void DoGetLogicalOrigin(wxCoord *x, wxCoord *y) const
{
if ( x ) *x = m_logicalOriginX;
if ( y ) *y = m_logicalOriginY;
}
- virtual void DoGetDeviceOrigin(long *x, long *y) const
+ virtual void DoGetDeviceOrigin(wxCoord *x, wxCoord *y) const
{
if ( x ) *x = m_deviceOriginX;
if ( y ) *y = m_deviceOriginY;
}
+ virtual void DoGetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent = NULL,
+ wxCoord *externalLeading = NULL,
+ wxFont *theFont = NULL) const = 0;
+
#if wxUSE_SPLINES
virtual void DoDrawSpline(wxList *points) = 0;
#endif
// TODO short descriptions of what exactly they are would be nice...
- long m_logicalOriginX, m_logicalOriginY;
- long m_deviceOriginX, m_deviceOriginY;
+ wxCoord m_logicalOriginX, m_logicalOriginY;
+ wxCoord m_deviceOriginX, m_deviceOriginY;
double m_logicalScaleX, m_logicalScaleY;
double m_userScaleX, m_userScaleY;
int m_signX, m_signY;
// bounding and clipping boxes
- long m_minX, m_minY, m_maxX, m_maxY;
- long m_clipX1, m_clipY1, m_clipX2, m_clipY2;
+ wxCoord m_minX, m_minY, m_maxX, m_maxY;
+ wxCoord m_clipX1, m_clipY1, m_clipX2, m_clipY2;
int m_logicalFunction;
int m_backgroundMode;
};
// ----------------------------------------------------------------------------
-// machine specific settings
+// standard wxWindows types
// ----------------------------------------------------------------------------
+// the type for screen and DC coordinates
+
+#if wxUSE_COMPATIBLE_COORD_TYPES
+ // to ensure compatibility with 2.0, we must use long
+ #define wxCoord long
+#else // !wxUSE_COMPATIBLE_COORD_TYPES
+ #ifdef __WIN16__
+ // under Win16, int is too small, so use long to allow for bigger
+ // virtual canvases
+ typedef long wxCoord;
+ #else // !Win16
+ // other platforms we support have at least 32bit int - quite enough
+ typedef int wxCoord;
+ #endif // Win16/!Win16
+#endif // wxUSE_COMPATIBLE_COORD_TYPES/!wxUSE_COMPATIBLE_COORD_TYPES
+
// fixed length types
#define wxInt8 char signed
#define wxByte wxUint8
#define wxWord wxUint16
+// ----------------------------------------------------------------------------
+// byte ordering related definition and macros
+// ----------------------------------------------------------------------------
+
// byte sex
#define wxBIG_ENDIAN 4321
#include "wx/gdicmn.h"
#endif
-#if wxUSE_THREADS
- #include "wx/thread.h"
-#endif
+#include "wx/thread.h"
// ----------------------------------------------------------------------------
// forward declarations
// members are public for compatibility (don't use them directly,
// especially that there names were chosen very unfortunately - they should
// have been called width and height)
- long x;
- long y;
+ int x, y;
// constructors
wxSize() { x = y = 0; }
- wxSize(long xx, long yy) { Set(xx, yy); }
+ wxSize(int xx, int yy) { Set(xx, yy); }
// no copy ctor or assignment operator - the defaults are ok
bool operator==(const wxSize& sz) const { return x == sz.x && y == sz.y; }
wxSize operator-(const wxSize& sz) { return wxSize(x - sz.x, y - sz.y); }
// accessors
- void Set(long xx, long yy) { x = xx; y = yy; }
- void SetWidth(long w) { x = w; }
- void SetHeight(long h) { y = h; }
+ void Set(int xx, int yy) { x = xx; y = yy; }
+ void SetWidth(int w) { x = w; }
+ void SetHeight(int h) { y = h; }
- long GetWidth() const { return x; }
- long GetHeight() const { return y; }
+ int GetWidth() const { return x; }
+ int GetHeight() const { return y; }
// compatibility
- long GetX() const { return x; }
- long GetY() const { return y; }
+ int GetX() const { return x; }
+ int GetY() const { return y; }
};
// ---------------------------------------------------------------------------
class WXDLLEXPORT wxPoint
{
public:
-#if defined(__WXMSW__) && !defined(__WIN32__)
- int x;
- int y;
-#else
- long x;
- long y;
-#endif
+ int x, y;
wxPoint() { x = y = 0; };
- wxPoint(long xx, long yy) { x = xx; y = yy; };
+ wxPoint(int xx, int yy) { x = xx; y = yy; };
// no copy ctor or assignment operator - the defaults are ok
{
public:
wxRect() { x = y = width = height = 0; }
- wxRect(long xx, long yy, long ww, long hh)
+ wxRect(int xx, int yy, int ww, int hh)
{ x = xx; y = yy; width = ww; height = hh; }
wxRect(const wxPoint& topLeft, const wxPoint& bottomRight);
wxRect(const wxPoint& pos, const wxSize& size);
// default copy ctor and assignment operators ok
- long GetX() const { return x; }
- void SetX(long xx) { x = xx; }
+ int GetX() const { return x; }
+ void SetX(int xx) { x = xx; }
- long GetY() const { return y; }
- void SetY(long yy) { y = yy; }
+ int GetY() const { return y; }
+ void SetY(int yy) { y = yy; }
- long GetWidth() const { return width; }
- void SetWidth(long w) { width = w; }
+ int GetWidth() const { return width; }
+ void SetWidth(int w) { width = w; }
- long GetHeight() const { return height; }
- void SetHeight(long h) { height = h; }
+ int GetHeight() const { return height; }
+ void SetHeight(int h) { height = h; }
wxPoint GetPosition() const { return wxPoint(x, y); }
wxSize GetSize() const { return wxSize(width, height); }
// MFC-like functions
- long GetLeft() const { return x; }
- long GetTop() const { return y; }
- long GetBottom() const { return y + height - 1; }
- long GetRight() const { return x + width - 1; }
+ int GetLeft() const { return x; }
+ int GetTop() const { return y; }
+ int GetBottom() const { return y + height - 1; }
+ int GetRight() const { return x + width - 1; }
- void SetLeft(long left) { x = left; }
- void SetRight(long right) { width = right - x + 1; }
- void SetTop(long top) { y = top; }
- void SetBottom(long bottom) { height = bottom - y + 1; }
+ void SetLeft(int left) { x = left; }
+ void SetRight(int right) { width = right - x + 1; }
+ void SetTop(int top) { y = top; }
+ void SetBottom(int bottom) { height = bottom - y + 1; }
bool operator==(const wxRect& rect) const;
bool operator!=(const wxRect& rect) const { return !(*this == rect); }
bool Inside(int cx, int cy) const;
wxRect operator + (const wxRect& rect) const;
const wxRect& operator += (const wxRect& rect);
-
+
public:
- long x, y, width, height;
+ int x, y, width, height;
};
// ---------------------------------------------------------------------------
virtual void BeginDrawing() {}
virtual void EndDrawing() {}
- void DoFloodFill(long x1, long y1, const wxColour &col, int style=wxFLOOD_SURFACE );
- bool DoGetPixel(long x1, long y1, wxColour *col) const;
-
- void DoDrawLine(long x1, long y1, long x2, long y2);
- void DoCrossHair(long x, long y) ;
- void DoDrawArc(long x1,long y1,long x2,long y2,long xc,long yc);
- void DoDrawEllipticArc(long x,long y,long w,long h,double sa,double ea);
- void DoDrawPoint(long x, long y);
- void DoDrawLines(int n, wxPoint points[], long xoffset = 0, long yoffset = 0);
- void DoDrawPolygon(int n, wxPoint points[], long xoffset = 0, long yoffset = 0, int fillStyle=wxODDEVEN_RULE);
- void DoDrawRectangle(long x, long y, long width, long height);
- void DoDrawRoundedRectangle(long x, long y, long width, long height, double radius = 20);
- void DoDrawEllipse(long x, long y, long width, long height);
+ void DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style=wxFLOOD_SURFACE );
+ bool DoGetPixel(wxCoord x1, wxCoord y1, wxColour *col) const;
+
+ void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
+ void DoCrossHair(wxCoord x, wxCoord y) ;
+ void DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,wxCoord xc,wxCoord yc);
+ void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea);
+ void DoDrawPoint(wxCoord x, wxCoord y);
+ void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
+ void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, int fillStyle=wxODDEVEN_RULE);
+ void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+ void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20);
+ void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
void DoDrawSpline(wxList *points);
- bool DoBlit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc, int rop = wxCOPY, bool useMask = FALSE);
- inline bool CanDrawBitmap(void) const { return TRUE; }
+ bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop = wxCOPY, bool useMask = FALSE);
+ bool CanDrawBitmap() const { return TRUE; }
- void DoDrawIcon( const wxIcon& icon, long x, long y );
- void DoDrawBitmap( const wxBitmap& bitmap, long x, long y, bool useMask=FALSE );
+ void DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y );
+ void DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask=FALSE );
- void DoDrawText(const wxString& text, long x, long y );
+ void DoDrawText(const wxString& text, wxCoord x, wxCoord y );
void Clear();
void SetFont( const wxFont& font );
void SetLogicalFunction( int function );
void SetBackground( const wxBrush& brush );
- void DoSetClippingRegion(long x, long y, long width, long height);
+ void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
void DestroyClippingRegion();
- void DoSetClippingRegionAsRegion( const wxRegion &WXUNUSED(clip) ) {}
+ void DoSetClippingRegionAsRegion( const wxRegion &WXUNUSED(clip) ) { }
bool StartDoc(const wxString& message);
void EndDoc();
void StartPage();
void EndPage();
- long GetCharHeight() const;
- long GetCharWidth() const;
- inline bool CanGetTextExtent(void) const { return FALSE; }
- void GetTextExtent(const wxString& string, long *x, long *y,
- long *descent = (long *) NULL,
- long *externalLeading = (long *) NULL,
+ wxCoord GetCharHeight() const;
+ wxCoord GetCharWidth() const;
+ bool CanGetTextExtent() const { return FALSE; }
+ void DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
+ wxCoord *descent = (wxCoord *) NULL,
+ wxCoord *externalLeading = (wxCoord *) NULL,
wxFont *theFont = (wxFont *) NULL ) const;
void DoGetSize(int* width, int* height) const;
void DoGetSizeMM(int *width, int *height) const;
// Resolution in pixels per logical inch
- wxSize GetPPI(void) const;
+ wxSize GetPPI() const;
void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
- void SetDeviceOrigin( long x, long y );
+ void SetDeviceOrigin( wxCoord x, wxCoord y );
- inline void SetBackgroundMode(int WXUNUSED(mode)) {}
- inline void SetPalette(const wxPalette& WXUNUSED(palette)) {}
+ void SetBackgroundMode(int WXUNUSED(mode)) { }
+ void SetPalette(const wxPalette& WXUNUSED(palette)) { }
wxPrintData& GetPrintData() { return m_printData; }
void SetPrintData(const wxPrintData& data) { m_printData = data; }
// Deprecated: should use wxGenericPrintDialog instead.
#if 1
-#define wxID_PRINTER_COMMAND 1
-#define wxID_PRINTER_OPTIONS 2
-#define wxID_PRINTER_ORIENTATION 3
-#define wxID_PRINTER_MODES 4
-#define wxID_PRINTER_X_SCALE 5
-#define wxID_PRINTER_Y_SCALE 6
-#define wxID_PRINTER_X_TRANS 7
-#define wxID_PRINTER_Y_TRANS 8
+enum
+{
+ wxID_PRINTER_COMMAND = 1,
+ wxID_PRINTER_OPTIONS,
+ wxID_PRINTER_ORIENTATION,
+ wxID_PRINTER_MODES,
+ wxID_PRINTER_X_SCALE,
+ wxID_PRINTER_Y_SCALE,
+ wxID_PRINTER_X_TRANS,
+ wxID_PRINTER_Y_TRANS
+};
class WXDLLEXPORT wxPostScriptPrintDialog: public wxDialog
{
public:
wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_DIALOG_STYLE);
+ wxCoord style = wxDEFAULT_DIALOG_STYLE);
- virtual int ShowModal(void) ;
+ virtual int ShowModal();
};
-#endif
+#endif // 1
// Print Orientation (Should also add Left, Right)
enum
WXDLLEXPORT void wxSetPrinterOptions(const wxString& flags);
WXDLLEXPORT void wxSetPrinterOrientation(int orientation);
WXDLLEXPORT void wxSetPrinterScaling(double x, double y);
-WXDLLEXPORT void wxSetPrinterTranslation(long x, long y);
+WXDLLEXPORT void wxSetPrinterTranslation(wxCoord x, wxCoord y);
WXDLLEXPORT void wxSetPrinterMode(int mode);
WXDLLEXPORT void wxSetPrinterFile(const wxString& f);
WXDLLEXPORT void wxSetAFMPath(const wxString& f);
WXDLLEXPORT wxString wxGetPrinterOptions();
WXDLLEXPORT int wxGetPrinterOrientation();
WXDLLEXPORT void wxGetPrinterScaling(double* x, double* y);
-WXDLLEXPORT void wxGetPrinterTranslation(long *x, long *y);
+WXDLLEXPORT void wxGetPrinterTranslation(wxCoord *x, wxCoord *y);
WXDLLEXPORT int wxGetPrinterMode();
WXDLLEXPORT wxString wxGetPrinterFile();
WXDLLEXPORT wxString wxGetAFMPath();
void SetPrinterFile(const wxString& f) { m_printerFile = f; };
void SetPrinterOrientation(int orient) { m_printerOrient = orient; };
void SetPrinterScaling(double x, double y) { m_printerScaleX = x; m_printerScaleY = y; };
- void SetPrinterTranslation(long x, long y) { m_printerTranslateX = x; m_printerTranslateY = y; };
+ void SetPrinterTranslation(wxCoord x, wxCoord y) { m_printerTranslateX = x; m_printerTranslateY = y; };
// 1 = Preview, 2 = print to file, 3 = send to printer
void SetPrinterMode(int mode) { m_printerMode = mode; };
void SetAFMPath(const wxString& f) { m_afmPath = f; };
wxString GetPaperName() const { return m_paperName; }
int GetPrinterOrientation() const { return m_printerOrient; };
void GetPrinterScaling(double* x, double* y) const { *x = m_printerScaleX; *y = m_printerScaleY; };
- void GetPrinterTranslation(long *x, long *y) const { *x = m_printerTranslateX; *y = m_printerTranslateY; };
+ void GetPrinterTranslation(wxCoord *x, wxCoord *y) const { *x = m_printerTranslateX; *y = m_printerTranslateY; };
int GetPrinterMode() const { return m_printerMode; };
wxString GetAFMPath() const { return m_afmPath; };
bool GetColour() const { return m_printColour; };
// There is also an operator for initializing a wxPrintData from a wxPrintSetupData.
void operator=(const wxPrintData& data);
+#ifndef __WIN16__
+ void GetPrinterTranslation(long *x, long *y) const
+ { *x = m_printerTranslateX; *y = m_printerTranslateY; }
+#endif // !Win16
+
public:
wxString m_printerCommand;
wxString m_previewCommand;
int m_printerOrient;
double m_printerScaleX;
double m_printerScaleY;
- long m_printerTranslateX;
- long m_printerTranslateY;
+ wxCoord m_printerTranslateX;
+ wxCoord m_printerTranslateY;
// 1 = Preview, 2 = print to file, 3 = send to printer
int m_printerMode;
wxString m_afmPath;
wxString m_paperName;
bool m_printColour;
- DECLARE_DYNAMIC_CLASS(wxPrintSetupData)
+ DECLARE_DYNAMIC_CLASS(wxPrintSetupData)
};
WXDLLEXPORT_DATA(extern wxPrintSetupData*) wxThePrintSetupData;
#endif
// wxUSE_POSTSCRIPT
-
+
#endif
// wxUSE_PRINTING_ARCHITECTURE
static void CleanUp();
bool ProcessIdle();
- void ProcessPendingEvents();
void DeletePendingObjects();
// This can be used to suppress the generation of Idle events.
virtual void SetMapMode( int mode );
virtual void SetUserScale( double x, double y );
virtual void SetLogicalScale( double x, double y );
- virtual void SetLogicalOrigin( long x, long y );
- virtual void SetDeviceOrigin( long x, long y );
+ virtual void SetLogicalOrigin( wxCoord x, wxCoord y );
+ virtual void SetDeviceOrigin( wxCoord x, wxCoord y );
virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
virtual void ComputeScaleAndOrigin();
- long XDEV2LOG(long x) const
+ wxCoord XDEV2LOG(wxCoord x) const
{
- long new_x = x - m_deviceOriginX;
+ wxCoord new_x = x - m_deviceOriginX;
if (new_x > 0)
- return (long)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
+ return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
else
- return (long)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
+ return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
}
- long XDEV2LOGREL(long x) const
+ wxCoord XDEV2LOGREL(wxCoord x) const
{
if (x > 0)
- return (long)((double)(x) / m_scaleX + 0.5);
+ return (wxCoord)((double)(x) / m_scaleX + 0.5);
else
- return (long)((double)(x) / m_scaleX - 0.5);
+ return (wxCoord)((double)(x) / m_scaleX - 0.5);
}
- long YDEV2LOG(long y) const
+ wxCoord YDEV2LOG(wxCoord y) const
{
- long new_y = y - m_deviceOriginY;
+ wxCoord new_y = y - m_deviceOriginY;
if (new_y > 0)
- return (long)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
+ return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
else
- return (long)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
+ return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
}
- long YDEV2LOGREL(long y) const
+ wxCoord YDEV2LOGREL(wxCoord y) const
{
if (y > 0)
- return (long)((double)(y) / m_scaleY + 0.5);
+ return (wxCoord)((double)(y) / m_scaleY + 0.5);
else
- return (long)((double)(y) / m_scaleY - 0.5);
+ return (wxCoord)((double)(y) / m_scaleY - 0.5);
}
- long XLOG2DEV(long x) const
+ wxCoord XLOG2DEV(wxCoord x) const
{
- long new_x = x - m_logicalOriginX;
+ wxCoord new_x = x - m_logicalOriginX;
if (new_x > 0)
- return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
+ return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
else
- return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
+ return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
}
- long XLOG2DEVREL(long x) const
+ wxCoord XLOG2DEVREL(wxCoord x) const
{
if (x > 0)
- return (long)((double)(x) * m_scaleX + 0.5);
+ return (wxCoord)((double)(x) * m_scaleX + 0.5);
else
- return (long)((double)(x) * m_scaleX - 0.5);
+ return (wxCoord)((double)(x) * m_scaleX - 0.5);
}
- long YLOG2DEV(long y) const
+ wxCoord YLOG2DEV(wxCoord y) const
{
- long new_y = y - m_logicalOriginY;
+ wxCoord new_y = y - m_logicalOriginY;
if (new_y > 0)
- return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
+ return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
else
- return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
+ return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
}
- long YLOG2DEVREL(long y) const
+ wxCoord YLOG2DEVREL(wxCoord y) const
{
if (y > 0)
- return (long)((double)(y) * m_scaleY + 0.5);
+ return (wxCoord)((double)(y) * m_scaleY + 0.5);
else
- return (long)((double)(y) * m_scaleY - 0.5);
+ return (wxCoord)((double)(y) * m_scaleY - 0.5);
}
protected:
// base class pure virtuals implemented here
- virtual void DoSetClippingRegion(long x, long y, long width, long height);
+ virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
virtual void DoGetSize(int *width, int *height) const;
virtual void DoGetSizeMM(int* width, int* height) const;
virtual bool CanDrawBitmap() const { return TRUE; }
virtual bool CanGetTextExtent() const { return TRUE; }
- virtual void DoFloodFill( long x, long y, const wxColour& col, int style=wxFLOOD_SURFACE );
- virtual bool DoGetPixel( long x1, long y1, wxColour *col ) const;
-
- virtual void DoDrawLine( long x1, long y1, long x2, long y2 );
- virtual void DoCrossHair( long x, long y );
- virtual void DoDrawArc( long x1, long y1, long x2, long y2,
- long xc, long yc );
- virtual void DoDrawEllipticArc( long x, long y, long width, long height,
+ virtual void DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style=wxFLOOD_SURFACE );
+ virtual bool DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const;
+
+ virtual void DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 );
+ virtual void DoCrossHair( wxCoord x, wxCoord y );
+ virtual void DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc );
+ virtual void DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxCoord height,
double sa, double ea );
- virtual void DoDrawPoint( long x, long y );
+ virtual void DoDrawPoint( wxCoord x, wxCoord y );
virtual void DoDrawLines(int n, wxPoint points[],
- long xoffset, long yoffset);
+ wxCoord xoffset, wxCoord yoffset);
virtual void DoDrawPolygon(int n, wxPoint points[],
- long xoffset, long yoffset,
+ wxCoord xoffset, wxCoord yoffset,
int fillStyle = wxODDEVEN_RULE);
- virtual void DoDrawRectangle( long x, long y, long width, long height );
- virtual void DoDrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 );
- virtual void DoDrawEllipse( long x, long y, long width, long height );
+ virtual void DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
+ virtual void DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0 );
+ virtual void DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
- virtual void DoDrawIcon( const wxIcon &icon, long x, long y );
- virtual void DoDrawBitmap( const wxBitmap &bitmap, long x, long y,
+ virtual void DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y );
+ virtual void DoDrawBitmap( const wxBitmap &bitmap, wxCoord x, wxCoord y,
bool useMask = FALSE );
- virtual bool DoBlit( long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+ virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int logical_func = wxCOPY, bool useMask = FALSE );
- virtual void DoDrawText( const wxString &text, long x, long y );
- virtual void GetTextExtent( const wxString &string,
- long *width, long *height,
- long *descent = (long *) NULL,
- long *externalLeading = (long *) NULL,
+ virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y );
+ virtual void DoGetTextExtent( const wxString &string,
+ wxCoord *width, wxCoord *height,
+ wxCoord *descent = (wxCoord *) NULL,
+ wxCoord *externalLeading = (wxCoord *) NULL,
wxFont *theFont = (wxFont *) NULL) const;
- virtual long GetCharWidth() const;
- virtual long GetCharHeight() const;
+ virtual wxCoord GetCharWidth() const;
+ virtual wxCoord GetCharHeight() const;
virtual void Clear();
virtual void SetBackgroundMode( int mode );
virtual void SetPalette( const wxPalette& palette );
- virtual void DoSetClippingRegion( long x, long y, long width, long height );
+ virtual void DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
virtual void DestroyClippingRegion();
virtual void DoSetClippingRegionAsRegion( const wxRegion ®ion );
// wxMemoryDC
//-----------------------------------------------------------------------------
-class wxMemoryDC: public wxWindowDC
+class wxMemoryDC : public wxWindowDC
{
DECLARE_DYNAMIC_CLASS(wxMemoryDC)
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKDCSCREENH__
DECLARE_DYNAMIC_CLASS(wxScreenDC)
public:
- wxScreenDC(void);
- ~wxScreenDC(void);
+ wxScreenDC();
+ ~wxScreenDC();
static bool StartDrawingOnTop( wxWindow *window );
static bool StartDrawingOnTop( wxRect *rect = (wxRect *) NULL );
- static bool EndDrawingOnTop(void);
-
+ static bool EndDrawingOnTop();
+
// implementation
-
+
static GdkWindow *sm_overlayWindow;
static int sm_overlayWindowX;
static int sm_overlayWindowY;
static void CleanUp();
bool ProcessIdle();
- void ProcessPendingEvents();
void DeletePendingObjects();
// This can be used to suppress the generation of Idle events.
virtual void SetMapMode( int mode );
virtual void SetUserScale( double x, double y );
virtual void SetLogicalScale( double x, double y );
- virtual void SetLogicalOrigin( long x, long y );
- virtual void SetDeviceOrigin( long x, long y );
+ virtual void SetLogicalOrigin( wxCoord x, wxCoord y );
+ virtual void SetDeviceOrigin( wxCoord x, wxCoord y );
virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
virtual void ComputeScaleAndOrigin();
- long XDEV2LOG(long x) const
+ wxCoord XDEV2LOG(wxCoord x) const
{
- long new_x = x - m_deviceOriginX;
+ wxCoord new_x = x - m_deviceOriginX;
if (new_x > 0)
- return (long)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
+ return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
else
- return (long)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
+ return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
}
- long XDEV2LOGREL(long x) const
+ wxCoord XDEV2LOGREL(wxCoord x) const
{
if (x > 0)
- return (long)((double)(x) / m_scaleX + 0.5);
+ return (wxCoord)((double)(x) / m_scaleX + 0.5);
else
- return (long)((double)(x) / m_scaleX - 0.5);
+ return (wxCoord)((double)(x) / m_scaleX - 0.5);
}
- long YDEV2LOG(long y) const
+ wxCoord YDEV2LOG(wxCoord y) const
{
- long new_y = y - m_deviceOriginY;
+ wxCoord new_y = y - m_deviceOriginY;
if (new_y > 0)
- return (long)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
+ return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
else
- return (long)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
+ return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
}
- long YDEV2LOGREL(long y) const
+ wxCoord YDEV2LOGREL(wxCoord y) const
{
if (y > 0)
- return (long)((double)(y) / m_scaleY + 0.5);
+ return (wxCoord)((double)(y) / m_scaleY + 0.5);
else
- return (long)((double)(y) / m_scaleY - 0.5);
+ return (wxCoord)((double)(y) / m_scaleY - 0.5);
}
- long XLOG2DEV(long x) const
+ wxCoord XLOG2DEV(wxCoord x) const
{
- long new_x = x - m_logicalOriginX;
+ wxCoord new_x = x - m_logicalOriginX;
if (new_x > 0)
- return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
+ return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
else
- return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
+ return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
}
- long XLOG2DEVREL(long x) const
+ wxCoord XLOG2DEVREL(wxCoord x) const
{
if (x > 0)
- return (long)((double)(x) * m_scaleX + 0.5);
+ return (wxCoord)((double)(x) * m_scaleX + 0.5);
else
- return (long)((double)(x) * m_scaleX - 0.5);
+ return (wxCoord)((double)(x) * m_scaleX - 0.5);
}
- long YLOG2DEV(long y) const
+ wxCoord YLOG2DEV(wxCoord y) const
{
- long new_y = y - m_logicalOriginY;
+ wxCoord new_y = y - m_logicalOriginY;
if (new_y > 0)
- return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
+ return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
else
- return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
+ return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
}
- long YLOG2DEVREL(long y) const
+ wxCoord YLOG2DEVREL(wxCoord y) const
{
if (y > 0)
- return (long)((double)(y) * m_scaleY + 0.5);
+ return (wxCoord)((double)(y) * m_scaleY + 0.5);
else
- return (long)((double)(y) * m_scaleY - 0.5);
+ return (wxCoord)((double)(y) * m_scaleY - 0.5);
}
protected:
// base class pure virtuals implemented here
- virtual void DoSetClippingRegion(long x, long y, long width, long height);
+ virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
virtual void DoGetSize(int *width, int *height) const;
virtual void DoGetSizeMM(int* width, int* height) const;
virtual bool CanDrawBitmap() const { return TRUE; }
virtual bool CanGetTextExtent() const { return TRUE; }
- virtual void DoFloodFill( long x, long y, const wxColour& col, int style=wxFLOOD_SURFACE );
- virtual bool DoGetPixel( long x1, long y1, wxColour *col ) const;
-
- virtual void DoDrawLine( long x1, long y1, long x2, long y2 );
- virtual void DoCrossHair( long x, long y );
- virtual void DoDrawArc( long x1, long y1, long x2, long y2,
- long xc, long yc );
- virtual void DoDrawEllipticArc( long x, long y, long width, long height,
+ virtual void DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style=wxFLOOD_SURFACE );
+ virtual bool DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const;
+
+ virtual void DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 );
+ virtual void DoCrossHair( wxCoord x, wxCoord y );
+ virtual void DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc );
+ virtual void DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxCoord height,
double sa, double ea );
- virtual void DoDrawPoint( long x, long y );
+ virtual void DoDrawPoint( wxCoord x, wxCoord y );
virtual void DoDrawLines(int n, wxPoint points[],
- long xoffset, long yoffset);
+ wxCoord xoffset, wxCoord yoffset);
virtual void DoDrawPolygon(int n, wxPoint points[],
- long xoffset, long yoffset,
+ wxCoord xoffset, wxCoord yoffset,
int fillStyle = wxODDEVEN_RULE);
- virtual void DoDrawRectangle( long x, long y, long width, long height );
- virtual void DoDrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 );
- virtual void DoDrawEllipse( long x, long y, long width, long height );
+ virtual void DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
+ virtual void DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0 );
+ virtual void DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
- virtual void DoDrawIcon( const wxIcon &icon, long x, long y );
- virtual void DoDrawBitmap( const wxBitmap &bitmap, long x, long y,
+ virtual void DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y );
+ virtual void DoDrawBitmap( const wxBitmap &bitmap, wxCoord x, wxCoord y,
bool useMask = FALSE );
- virtual bool DoBlit( long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+ virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int logical_func = wxCOPY, bool useMask = FALSE );
- virtual void DoDrawText( const wxString &text, long x, long y );
- virtual void GetTextExtent( const wxString &string,
- long *width, long *height,
- long *descent = (long *) NULL,
- long *externalLeading = (long *) NULL,
+ virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y );
+ virtual void DoGetTextExtent( const wxString &string,
+ wxCoord *width, wxCoord *height,
+ wxCoord *descent = (wxCoord *) NULL,
+ wxCoord *externalLeading = (wxCoord *) NULL,
wxFont *theFont = (wxFont *) NULL) const;
- virtual long GetCharWidth() const;
- virtual long GetCharHeight() const;
+ virtual wxCoord GetCharWidth() const;
+ virtual wxCoord GetCharHeight() const;
virtual void Clear();
virtual void SetBackgroundMode( int mode );
virtual void SetPalette( const wxPalette& palette );
- virtual void DoSetClippingRegion( long x, long y, long width, long height );
+ virtual void DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
virtual void DestroyClippingRegion();
virtual void DoSetClippingRegionAsRegion( const wxRegion ®ion );
// wxMemoryDC
//-----------------------------------------------------------------------------
-class wxMemoryDC: public wxWindowDC
+class wxMemoryDC : public wxWindowDC
{
DECLARE_DYNAMIC_CLASS(wxMemoryDC)
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKDCSCREENH__
DECLARE_DYNAMIC_CLASS(wxScreenDC)
public:
- wxScreenDC(void);
- ~wxScreenDC(void);
+ wxScreenDC();
+ ~wxScreenDC();
static bool StartDrawingOnTop( wxWindow *window );
static bool StartDrawingOnTop( wxRect *rect = (wxRect *) NULL );
- static bool EndDrawingOnTop(void);
-
+ static bool EndDrawingOnTop();
+
// implementation
-
+
static GdkWindow *sm_overlayWindow;
static int sm_overlayWindowX;
static int sm_overlayWindowY;
#include <wx/defs.h>
-#if wxUSE_PRINTING_ARCHITECTURE
+#if wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#include "wx/html/htmlcell.h"
#include "wx/html/winpars.h"
#include "wx/print.h"
#include "wx/printdlg.h"
-
//--------------------------------------------------------------------------------
// wxHtmlDCRenderer
// This class is capable of rendering HTML into specified
// portion of DC
//--------------------------------------------------------------------------------
-
-class wxHtmlDCRenderer : public wxObject
+class WXDLLEXPORT wxHtmlDCRenderer : public wxObject
{
public:
wxHtmlDCRenderer();
//--------------------------------------------------------------------------------
-class wxHtmlPrintout : public wxPrintout
+class WXDLLEXPORT wxHtmlPrintout : public wxPrintout
{
public:
wxHtmlPrintout(const wxString& title = "Printout");
// stores page&printer settings in it.
//--------------------------------------------------------------------------------
-class wxHtmlEasyPrinting : public wxObject
+class WXDLLEXPORT wxHtmlEasyPrinting : public wxObject
{
public:
-#endif // wxUSE_PRINTING_ARCHITECTURE
+#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#endif // _WX_HTMPRINT_H_
// Created: 17/09/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ACCEL_H_
m_flags = flags; m_keyCode = keyCode; m_command = cmd;
}
- inline void Set(int flags, int keyCode, int cmd)
+ void Set(int flags, int keyCode, int cmd)
{ m_flags = flags; m_keyCode = keyCode; m_command = cmd; }
- inline int GetFlags() const { return m_flags; }
- inline int GetKeyCode() const { return m_keyCode; }
- inline int GetCommand() const { return m_command; }
+ int GetFlags() const { return m_flags; }
+ int GetKeyCode() const { return m_keyCode; }
+ int GetCommand() const { return m_command; }
void operator = (const wxAcceleratorEntry& entry)
{
bool MatchesEvent(const wxKeyEvent& event) const;
public:
- int m_flags;
- int m_keyCode; // ASCII or virtual keycode
- int m_command; // Command id to generate
+ int m_flags;
+ int m_keyCode; // ASCII or virtual keycode
+ int m_command; // Command id to generate
};
class WXDLLEXPORT wxAcceleratorTable: public wxObject
wxAcceleratorTable(int n, wxAcceleratorEntry entries[]); // Load from array
// Copy constructors
- inline wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); }
- inline wxAcceleratorTable(const wxAcceleratorTable* accel) { if (accel) Ref(*accel); }
+ wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); }
+ wxAcceleratorTable(const wxAcceleratorTable* accel) { if (accel) Ref(*accel); }
~wxAcceleratorTable();
- inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if (*this == accel) return (*this); Ref(accel); return *this; }
- inline bool operator == (const wxAcceleratorTable& accel) { return m_refData == accel.m_refData; }
- inline bool operator != (const wxAcceleratorTable& accel) { return m_refData != accel.m_refData; }
+ wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if (*this == accel) return (*this); Ref(accel); return *this; }
+ bool operator == (const wxAcceleratorTable& accel) { return m_refData == accel.m_refData; }
+ bool operator != (const wxAcceleratorTable& accel) { return m_refData != accel.m_refData; }
bool Ok() const;
class WXDLLEXPORT wxFrame;
class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxApp ;
+class WXDLLEXPORT wxApp;
class WXDLLEXPORT wxKeyEvent;
class WXDLLEXPORT wxLog;
virtual int MainLoop();
virtual void ExitMainLoop();
virtual bool Initialized();
- virtual bool Pending() ;
- virtual void Dispatch() ;
+ virtual bool Pending();
+ virtual void Dispatch();
virtual bool OnInitGui();
void DeletePendingObjects();
bool ProcessIdle();
-#if wxUSE_THREADS
- void ProcessPendingEvents();
-#endif
// Motif-specific
WXAppContext GetAppContext() const { return m_appContext; }
WXWidget GetTopLevelWidget() const { return m_topLevelWidget; }
- WXColormap GetMainColormap(WXDisplay* display) ;
+ WXColormap GetMainColormap(WXDisplay* display);
WXDisplay* GetInitialDisplay() const { return m_initialDisplay; }
long GetMaxRequestSize() const { return m_maxRequestSize; }
int m_nCmdShow;
protected:
- bool m_keepGoing ;
+ bool m_keepGoing;
// Motif-specific
WXAppContext m_appContext;
bool Create(const wxBitmap& bitmap, int paletteIndex);
bool Create(const wxBitmap& bitmap);
- inline WXPixmap GetPixmap() const { return m_pixmap; }
- inline void SetPixmap(WXPixmap pixmap) { m_pixmap = pixmap; }
+ WXPixmap GetPixmap() const { return m_pixmap; }
+ void SetPixmap(WXPixmap pixmap) { m_pixmap = pixmap; }
protected:
WXPixmap m_pixmap;
int desiredWidth, int desiredHeight);
virtual bool SaveFile(wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
- inline void SetName(const wxString& name) { m_name = name; }
- inline void SetExtension(const wxString& ext) { m_extension = ext; }
- inline void SetType(long type) { m_type = type; }
- inline wxString GetName() const { return m_name; }
- inline wxString GetExtension() const { return m_extension; }
- inline long GetType() const { return m_type; }
+ void SetName(const wxString& name) { m_name = name; }
+ void SetExtension(const wxString& ext) { m_extension = ext; }
+ void SetType(long type) { m_type = type; }
+ wxString GetName() const { return m_name; }
+ wxString GetExtension() const { return m_extension; }
+ long GetType() const { return m_type; }
protected:
wxString m_name;
wxString m_extension;
wxBitmap(); // Platform-specific
// Copy constructors
- inline wxBitmap(const wxBitmap& bitmap)
+ wxBitmap(const wxBitmap& bitmap)
{ Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
// Initialize with raw XBM data
virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_XPM);
virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
- inline bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
- inline int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
- inline int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
- inline int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
- inline int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
+ bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
+ int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
+ int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
+ int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
+ int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
void SetWidth(int w);
void SetHeight(int h);
void SetDepth(int d);
void SetQuality(int q);
void SetOk(bool isOk);
- inline wxPalette* GetPalette() const { return (M_BITMAPDATA ? (& M_BITMAPDATA->m_bitmapPalette) : (wxPalette*) NULL); }
+ wxPalette* GetPalette() const { return (M_BITMAPDATA ? (& M_BITMAPDATA->m_bitmapPalette) : (wxPalette*) NULL); }
void SetPalette(const wxPalette& palette);
- inline wxMask *GetMask() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_bitmapMask : (wxMask*) NULL); }
+ wxMask *GetMask() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_bitmapMask : (wxMask*) NULL); }
void SetMask(wxMask *mask) ;
- inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
- inline bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
- inline bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
+ wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
+ bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
+ bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
// Format handling
- static inline wxList& GetHandlers() { return sm_handlers; }
+ static wxList& GetHandlers() { return sm_handlers; }
static void AddHandler(wxBitmapHandler *handler);
static void InsertHandler(wxBitmapHandler *handler);
static bool RemoveHandler(const wxString& name);
// Motif implementation
public:
- inline WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
- inline WXDisplay* GetPixmap() const { return M_BITMAPDATA->m_pixmap; }
+ WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
+ WXDisplay* GetPixmap() const { return M_BITMAPDATA->m_pixmap; }
virtual WXPixmap GetLabelPixmap(WXWidget w) ;
virtual WXPixmap GetArmPixmap(WXWidget w) ;
virtual WXPixmap GetInsensPixmap(WXWidget w = (WXWidget) 0) ;
wxCursor();
// Copy constructors
- inline wxCursor(const wxCursor& cursor) { Ref(cursor); }
+ wxCursor(const wxCursor& cursor) { Ref(cursor); }
wxCursor(const char bits[], int width, int height, int hotSpotX = -1, int hotSpotY = -1,
const char maskBits[] = NULL);
virtual bool Ok() const { return ((m_refData != NULL) && M_CURSORDATA->m_ok); }
- inline wxCursor& operator = (const wxCursor& cursor) { if (*this == cursor) return (*this); Ref(cursor); return *this; }
- inline bool operator == (const wxCursor& cursor) const { return m_refData == cursor.m_refData; }
- inline bool operator != (const wxCursor& cursor) const { return m_refData != cursor.m_refData; }
+ wxCursor& operator = (const wxCursor& cursor) { if (*this == cursor) return (*this); Ref(cursor); return *this; }
+ bool operator == (const wxCursor& cursor) const { return m_refData == cursor.m_refData; }
+ bool operator != (const wxCursor& cursor) const { return m_refData != cursor.m_refData; }
// Motif-specific.
// Create/get a cursor for the current display
// Created: 17/09/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PALETTE_H_
public:
wxPalette();
- inline wxPalette(const wxPalette& palette) { Ref(palette); }
+ wxPalette(const wxPalette& palette) { Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
~wxPalette();
virtual bool Ok() const { return (m_refData != NULL) ; }
- inline wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
- inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; }
- inline bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; }
+ wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
+ bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; }
+ bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; }
// Motif-specific
WXColormap GetXColormap(WXDisplay* display = NULL) const;
virtual bool ProcessMessage(WXMSG* pMsg);
void DeletePendingObjects();
bool ProcessIdle();
- void ProcessPendingEvents();
int GetComCtl32Version() const;
public:
virtual void DestroyClippingRegion();
- virtual long GetCharHeight() const;
- virtual long GetCharWidth() const;
- virtual void GetTextExtent(const wxString& string,
- long *x, long *y,
- long *descent = NULL,
- long *externalLeading = NULL,
- wxFont *theFont = NULL) const;
+ virtual wxCoord GetCharHeight() const;
+ virtual wxCoord GetCharWidth() const;
+ virtual void DoGetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent = NULL,
+ wxCoord *externalLeading = NULL,
+ wxFont *theFont = NULL) const;
virtual bool CanDrawBitmap() const;
virtual bool CanGetTextExtent() const;
virtual void SetUserScale(double x, double y);
virtual void SetSystemScale(double x, double y);
virtual void SetLogicalScale(double x, double y);
- virtual void SetLogicalOrigin(long x, long y);
- virtual void SetDeviceOrigin(long x, long y);
+ virtual void SetLogicalOrigin(wxCoord x, wxCoord y);
+ virtual void SetDeviceOrigin(wxCoord x, wxCoord y);
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
virtual void SetLogicalFunction(int function);
}
protected:
- virtual void DoFloodFill(long x, long y, const wxColour& col,
+ virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
int style = wxFLOOD_SURFACE);
- virtual bool DoGetPixel(long x, long y, wxColour *col) const;
+ virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const;
- virtual void DoDrawPoint(long x, long y);
- virtual void DoDrawLine(long x1, long y1, long x2, long y2);
+ virtual void DoDrawPoint(wxCoord x, wxCoord y);
+ virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
- virtual void DoDrawArc(long x1, long y1,
- long x2, long y2,
- long xc, long yc);
- virtual void DoDrawEllipticArc(long x, long y, long w, long h,
+ virtual void DoDrawArc(wxCoord x1, wxCoord y1,
+ wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc);
+ virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
double sa, double ea);
- virtual void DoDrawRectangle(long x, long y, long width, long height);
- virtual void DoDrawRoundedRectangle(long x, long y,
- long width, long height,
+ virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+ virtual void DoDrawRoundedRectangle(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height,
double radius);
- virtual void DoDrawEllipse(long x, long y, long width, long height);
+ virtual void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
- virtual void DoCrossHair(long x, long y);
+ virtual void DoCrossHair(wxCoord x, wxCoord y);
- virtual void DoDrawIcon(const wxIcon& icon, long x, long y);
- virtual void DoDrawBitmap(const wxBitmap &bmp, long x, long y,
+ virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
+ virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
bool useMask = FALSE);
- virtual void DoDrawText(const wxString& text, long x, long y);
+ virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y);
- virtual bool DoBlit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+ virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int rop = wxCOPY, bool useMask = FALSE);
// this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding
virtual void DoSetClippingRegionAsRegion(const wxRegion& region);
- virtual void DoSetClippingRegion(long x, long y,
- long width, long height);
- virtual void DoGetClippingRegion(long *x, long *y,
- long *width, long *height)
+ virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height);
+ virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y,
+ wxCoord *width, wxCoord *height)
{
GetClippingBox(x, y, width, height);
}
virtual void DoGetSizeMM(int* width, int* height) const;
virtual void DoDrawLines(int n, wxPoint points[],
- long xoffset, long yoffset);
+ wxCoord xoffset, wxCoord yoffset);
virtual void DoDrawPolygon(int n, wxPoint points[],
- long xoffset, long yoffset,
+ wxCoord xoffset, wxCoord yoffset,
int fillStyle = wxODDEVEN_RULE);
#if wxUSE_SPLINES
#include "wx/dcclient.h"
-class WXDLLEXPORT wxMemoryDC: public wxDC
+class WXDLLEXPORT wxMemoryDC : public wxDC
{
- DECLARE_DYNAMIC_CLASS(wxMemoryDC)
+public:
+ wxMemoryDC();
+ wxMemoryDC(wxDC *dc); // Create compatible DC
- public:
- wxMemoryDC(void);
- wxMemoryDC(wxDC *dc); // Create compatible DC
+ ~wxMemoryDC();
- ~wxMemoryDC(void);
- virtual void SelectObject(const wxBitmap& bitmap);
- virtual void DoGetSize(int* width, int* height) const;
+ virtual void SelectObject(const wxBitmap& bitmap);
+
+ virtual void DoGetSize(int* width, int* height) const;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxMemoryDC)
};
#endif
+/*
+ * The main configuration file for wxWindows.
+ *
+ * NB: this file can be included in .c files, so it must be compileable by a C
+ * compiler - use #ifdef __cplusplus for C++ specific features and avoid
+ * using C++ style comments
+ */
#ifndef _WX_SETUP_H_BASE_
#define _WX_SETUP_H_BASE_
/* compatibility code, to be removed asap: */
#if !defined(__WXMSW__) && !defined(__WXGTK__) && !defined(__WXMOTIF__) && !defined(__WXQT__) && !defined(__WXSTUBS__) && !defined(__WXMAC__) && !defined(__WXPM__)
-# error No __WXxxx__ define set! Please define one of __WXGTK__,__WXMSW__,__WXMOTIF__,__WXMAC__,__WXQT__,__WXPM__,__WXSTUBS__
+#error No __WXxxx__ define set! Please define one of __WXGTK__,__WXMSW__,__WXMOTIF__,__WXMAC__,__WXQT__,__WXPM__,__WXSTUBS__
#endif
#if defined(__WXMSW__)
#include "wx/gtk/setup.h"
#endif
+/*
+ * Compatibility defines: note that, in general, there is a a reason for not
+ * compatible changes, so you should try to avoid defining WXWIN_COMPATIBILITY
+ * and do so only if your program really can't be compiled otherwise.
+ */
+
+/*
+ * Compatibility with 1.66 API.
+ * Level 0: no backward compatibility, all new features
+ * Level 1: wxDC, OnSize (etc.) compatibility, but
+ * some new features such as event tables
+ */
+#define WXWIN_COMPATIBILITY 0
+
+/*
+ * wxWindows 2.0 API compatibility. Possible values are:
+ * 0: no backwards compatibility
+ * 1: some backwards compatibility, but if it conflicts with the new
+ * features, use the new code, not the old one
+ * 2: maximum backwards compatiblity: even if compatibility can only be
+ * achieved by disabling new features, do it.
+ */
+#define WXWIN_COMPATIBILITY_2 1
+
+/*
+ * wxWindows 2.0 uses long for wxPoint/wxRect/wxSize member fields and wxDC
+ * method arguments, wxWindows 2.1 and later uses wxCoord typedef which is
+ * usually int. Using long leads to (justified) warnings about long to int
+ * conversions from some compilers and is, generally speaking, unneeded.
+ */
+#define wxUSE_COMPATIBLE_COORD_TYPES 0
+
+/*
+ * Maximum compatibility with 2.0 API
+ */
+#if WXWIN_COMPATIBILITY_2 == 2
+#undef wxUSE_COMPATIBLE_COORD_TYPES
+#define wxUSE_COMPATIBLE_COORD_TYPES 1
+#endif /* WXWIN_COMPATIBILITY_2_MAX */
+
#endif
/* _WX_SETUP_H_BASE_ */
void WXDLLEXPORT wxMutexGuiEnter();
void WXDLLEXPORT wxMutexGuiLeave();
+// macros for entering/leaving critical sections which may be used without
+// having to take them inside "#if wxUSE_THREADS"
+#define wxENTER_CRIT_SECT(cs) (cs)->Enter()
+#define wxLEAVE_CRIT_SECT(cs) (cs)->Leave()
+#define wxCRIT_SECT_LOCKER(name, cs) wxCriticalSectionLocker name(*cs)
+
#else // !wxUSE_THREADS
#include "wx/defs.h" // for WXDLLEXPORT
inline void WXDLLEXPORT wxMutexGuiEnter() { }
inline void WXDLLEXPORT wxMutexGuiLeave() { }
+// macros for entering/leaving critical sections which may be used without
+// having to take them inside "#if wxUSE_THREADS"
+#define wxENTER_CRIT_SECT(cs)
+#define wxLEAVE_CRIT_SECT(cs)
+#define wxCRIT_SECT_LOCKER(name, cs)
+
#endif // wxUSE_THREADS
// automatically unlock GUI mutex in dtor
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: common/appcmn.cpp
+// Purpose: wxAppBase methods common to all platforms
+// Author: Vadim Zeitlin
+// Modified by:
+// Created: 18.10.99
+// RCS-ID: $Id$
+// Copyright: (c) Vadim Zeitlin
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ---------------------------------------------------------------------------
+// headers
+// ---------------------------------------------------------------------------
+
+#ifdef __GNUG__
+ #pragma implementation "appbase.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#if defined(__BORLANDC__)
+ #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+#endif
+
+#include "wx/thread.h"
+
+// ===========================================================================
+// implementation
+// ===========================================================================
+
+// ---------------------------------------------------------------------------
+// wxAppBase
+// ----------------------------------------------------------------------------
+
+void wxAppBase::ProcessPendingEvents()
+{
+ // ensure that we're the only thread to modify the pending events list
+ wxCRIT_SECT_LOCKER(locker, wxPendingEventsLocker);
+
+ if ( !wxPendingEvents )
+ return;
+
+ // iterate until the list becomes empty
+ wxNode *node = wxPendingEvents->First();
+ while (node)
+ {
+ wxEvtHandler *handler = (wxEvtHandler *)node->Data();
+
+ handler->ProcessPendingEvents();
+
+ delete node;
+ node = wxPendingEvents->First();
+ }
+}
+
#include "wx/dc.h"
-void wxDCBase::DrawLines(const wxList *list, long xoffset, long yoffset)
+void wxDCBase::DrawLines(const wxList *list, wxCoord xoffset, wxCoord yoffset)
{
int n = list->Number();
wxPoint *points = new wxPoint[n];
void wxDCBase::DrawPolygon(const wxList *list,
- long xoffset, long yoffset,
+ wxCoord xoffset, wxCoord yoffset,
int fillStyle)
{
int n = list->Number();
#if wxUSE_SPLINES
// TODO: this API needs fixing (wxPointList, why (!const) "wxList *"?)
-void wxDCBase::DrawSpline(long x1, long y1, long x2, long y2, long x3, long y3)
+void wxDCBase::DrawSpline(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord x3, wxCoord y3)
{
wxList point_list;
{
switch (but) {
case -1:
- return (ButtonUp(-1) || ButtonDown(-1) || ButtonDClick(-1)) ;
+ return (ButtonUp(-1) || ButtonDown(-1) || ButtonDClick(-1));
case 1:
return (LeftDown() || LeftUp() || LeftDClick());
case 2:
m_pendingEvents->Append(event2);
- wxPendingEventsLocker->Enter();
+ wxENTER_CRIT_SECT(wxPendingEventsLocker);
+
if ( !wxPendingEvents )
wxPendingEvents = new wxList;
wxPendingEvents->Append(this);
- wxPendingEventsLocker->Leave();
+
+ wxLEAVE_CRIT_SECT(wxPendingEventsLocker);
// TODO: Wake up idle handler for the other platforms.
#ifdef __WXGTK__
void wxEvtHandler::ProcessPendingEvents()
{
-#if wxUSE_THREADS
- wxCriticalSectionLocker locker(*m_eventsLocker);
-#endif
+ wxCRIT_SECT_LOCKER(locker, m_eventsLocker);
wxNode *node = m_pendingEvents->First();
wxEvent *event;
return object;
}
+#ifdef __WXDEBUG__
void wxObject::CopyObject(wxObject& object_dest) const
+#else // !Debug
+void wxObject::CopyObject(wxObject& WXUNUSED(object_dest)) const
+#endif // Debug/!Debug
{
wxASSERT(object_dest.GetClassInfo()->IsKindOf(GetClassInfo()));
}
if (m_pstream)
{
fclose( m_pstream );
- m_pstream = (FILE*) NULL;
+ m_pstream = (FILE*) NULL;
}
}
return m_ok;
}
-void wxPostScriptDC::DoSetClippingRegion (long x, long y, long w, long h)
+void wxPostScriptDC::DoSetClippingRegion (wxCoord x, wxCoord y, wxCoord w, wxCoord h)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
wxDC::DoSetClippingRegion(x, y, w, h);
m_clipping = TRUE;
- fprintf( m_pstream,
+ fprintf( m_pstream,
"gsave\n newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
- "closepath clip newpath\n",
- XLOG2DEV(x), YLOG2DEV(y),
- XLOG2DEV(x+w), YLOG2DEV(y),
- XLOG2DEV(x+w), YLOG2DEV(y+h),
- XLOG2DEV(x), YLOG2DEV(y+h) );
+ "%d %d moveto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
+ "closepath clip newpath\n",
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x+w), YLOG2DEV(y),
+ XLOG2DEV(x+w), YLOG2DEV(y+h),
+ XLOG2DEV(x), YLOG2DEV(y+h) );
}
if (m_clipping)
{
m_clipping = FALSE;
- fprintf( m_pstream, "grestore\n" );
+ fprintf( m_pstream, "grestore\n" );
}
wxDC::DestroyClippingRegion();
wxFAIL_MSG( wxT("wxPostScriptDC::Clear not implemented.") );
}
-void wxPostScriptDC::DoFloodFill (long WXUNUSED(x), long WXUNUSED(y), const wxColour &WXUNUSED(col), int WXUNUSED(style))
+void wxPostScriptDC::DoFloodFill (wxCoord WXUNUSED(x), wxCoord WXUNUSED(y), const wxColour &WXUNUSED(col), int WXUNUSED(style))
{
wxFAIL_MSG( wxT("wxPostScriptDC::FloodFill not implemented.") );
}
-bool wxPostScriptDC::DoGetPixel (long WXUNUSED(x), long WXUNUSED(y), wxColour * WXUNUSED(col)) const
+bool wxPostScriptDC::DoGetPixel (wxCoord WXUNUSED(x), wxCoord WXUNUSED(y), wxColour * WXUNUSED(col)) const
{
wxFAIL_MSG( wxT("wxPostScriptDC::GetPixel not implemented.") );
return FALSE;
}
-void wxPostScriptDC::DoCrossHair (long WXUNUSED(x), long WXUNUSED(y))
+void wxPostScriptDC::DoCrossHair (wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
{
wxFAIL_MSG( wxT("wxPostScriptDC::CrossHair not implemented.") );
}
-void wxPostScriptDC::DoDrawLine (long x1, long y1, long x2, long y2)
+void wxPostScriptDC::DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
fprintf( m_pstream,
"newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n"
- "stroke\n",
- XLOG2DEV(x1), YLOG2DEV(y1),
- XLOG2DEV(x2), YLOG2DEV (y2) );
+ "%d %d moveto\n"
+ "%d %d lineto\n"
+ "stroke\n",
+ XLOG2DEV(x1), YLOG2DEV(y1),
+ XLOG2DEV(x2), YLOG2DEV (y2) );
CalcBoundingBox( x1, y1 );
CalcBoundingBox( x2, y2 );
#define RAD2DEG 57.29577951308
-void wxPostScriptDC::DoDrawArc (long x1, long y1, long x2, long y2, long xc, long yc)
+void wxPostScriptDC::DoDrawArc (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord xc, wxCoord yc)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
- long dx = x1 - xc;
- long dy = y1 - yc;
- long radius = (long) sqrt( (double)(dx*dx+dy*dy) );
+ wxCoord dx = x1 - xc;
+ wxCoord dy = y1 - yc;
+ wxCoord radius = (wxCoord) sqrt( (double)(dx*dx+dy*dy) );
double alpha1, alpha2;
if (x1 == x2 && y1 == y2)
{
alpha1 = 0.0;
alpha2 = 360.0;
- }
+ }
else if (radius == 0.0)
{
alpha1 = alpha2 = 0.0;
- }
+ }
else
{
alpha1 = (x1 - xc == 0) ?
if (m_brush.GetStyle() != wxTRANSPARENT)
{
SetBrush( m_brush );
-
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld %ld %ld ellipse\n"
- "%ld %ld lineto\n"
- "closepath\n"
- "fill\n",
- XLOG2DEV(xc), YLOG2DEV(yc), XLOG2DEVREL(radius), YLOG2DEVREL(radius), (long)alpha1, (long) alpha2,
- XLOG2DEV(xc), YLOG2DEV(yc) );
+
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d %d %d %d ellipse\n"
+ "%d %d lineto\n"
+ "closepath\n"
+ "fill\n",
+ XLOG2DEV(xc), YLOG2DEV(yc), XLOG2DEVREL(radius), YLOG2DEVREL(radius), (wxCoord)alpha1, (wxCoord) alpha2,
+ XLOG2DEV(xc), YLOG2DEV(yc) );
CalcBoundingBox( xc-radius, yc-radius );
CalcBoundingBox( xc+radius, yc+radius );
if (m_pen.GetStyle() != wxTRANSPARENT)
{
SetPen( m_pen );
-
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld %ld %ld ellipse\n"
- "%ld %ld lineto\n"
- "stroke\n"
- "fill\n",
- XLOG2DEV(xc), YLOG2DEV(yc), XLOG2DEVREL(radius), YLOG2DEVREL(radius), (long)alpha1, (long) alpha2,
- XLOG2DEV(xc), YLOG2DEV(yc) );
+
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d %d %d %d ellipse\n"
+ "%d %d lineto\n"
+ "stroke\n"
+ "fill\n",
+ XLOG2DEV(xc), YLOG2DEV(yc), XLOG2DEVREL(radius), YLOG2DEVREL(radius), (wxCoord)alpha1, (wxCoord) alpha2,
+ XLOG2DEV(xc), YLOG2DEV(yc) );
CalcBoundingBox( xc-radius, yc-radius );
CalcBoundingBox( xc+radius, yc+radius );
}
}
-void wxPostScriptDC::DoDrawEllipticArc(long x,long y,long w,long h,double sa,double ea)
+void wxPostScriptDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
if (m_brush.GetStyle () != wxTRANSPARENT)
{
SetBrush( m_brush );
-
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld %ld %ld true ellipticarc\n",
- XLOG2DEV(x+w/2), YLOG2DEV(y+h/2), XLOG2DEVREL(w/2), YLOG2DEVREL(h/2), (long)sa, (long)ea );
-
+
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d %d %d %d true ellipticarc\n",
+ XLOG2DEV(x+w/2), YLOG2DEV(y+h/2), XLOG2DEVREL(w/2), YLOG2DEVREL(h/2), (wxCoord)sa, (wxCoord)ea );
+
CalcBoundingBox( x ,y );
CalcBoundingBox( x+w, y+h );
- }
-
+ }
+
if (m_pen.GetStyle () != wxTRANSPARENT)
{
SetPen( m_pen );
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld %ld %ld false ellipticarc\n",
- XLOG2DEV(x+w/2), YLOG2DEV(y+h/2), XLOG2DEVREL(w/2), YLOG2DEVREL(h/2), (long)sa, (long)ea );
-
+ fprintf(m_pstream,
+ "newpath\n"
+ "%d %d %d %d %d %d false ellipticarc\n",
+ XLOG2DEV(x+w/2), YLOG2DEV(y+h/2), XLOG2DEVREL(w/2), YLOG2DEVREL(h/2), (wxCoord)sa, (wxCoord)ea );
+
CalcBoundingBox( x ,y );
CalcBoundingBox( x+w, y+h );
}
}
-void wxPostScriptDC::DoDrawPoint (long x, long y)
+void wxPostScriptDC::DoDrawPoint (wxCoord x, wxCoord y)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
fprintf( m_pstream,
"newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n"
- "stroke\n",
- XLOG2DEV(x), YLOG2DEV(y),
- XLOG2DEV(x+1), YLOG2DEV(y) );
+ "%d %d moveto\n"
+ "%d %d lineto\n"
+ "stroke\n",
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x+1), YLOG2DEV(y) );
CalcBoundingBox( x, y );
}
-void wxPostScriptDC::DoDrawPolygon (int n, wxPoint points[], long xoffset, long yoffset, int WXUNUSED(fillStyle))
+void wxPostScriptDC::DoDrawPolygon (int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int WXUNUSED(fillStyle))
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
fprintf( m_pstream, "newpath\n" );
- long xx = XLOG2DEV(points[0].x + xoffset);
- long yy = YLOG2DEV(points[0].y + yoffset);
-
- fprintf( m_pstream, "%ld %ld moveto\n", xx, yy );
-
+ wxCoord xx = XLOG2DEV(points[0].x + xoffset);
+ wxCoord yy = YLOG2DEV(points[0].y + yoffset);
+
+ fprintf( m_pstream, "%d %d moveto\n", xx, yy );
+
CalcBoundingBox( points[0].x + xoffset, points[0].y + yoffset );
for (int i = 1; i < n; i++)
{
xx = XLOG2DEV(points[i].x + xoffset);
yy = YLOG2DEV(points[i].y + yoffset);
-
- fprintf( m_pstream, "%ld %ld lineto\n", xx, yy );
+
+ fprintf( m_pstream, "%d %d lineto\n", xx, yy );
CalcBoundingBox( points[i].x + xoffset, points[i].y + yoffset);
}
-
- fprintf( m_pstream, "fill\n" );
+
+ fprintf( m_pstream, "fill\n" );
}
if (m_pen.GetStyle () != wxTRANSPARENT)
{
SetPen( m_pen );
-
+
fprintf( m_pstream, "newpath\n" );
- long xx = XLOG2DEV(points[0].x + xoffset);
- long yy = YLOG2DEV(points[0].y + yoffset);
-
- fprintf( m_pstream, "%ld %ld moveto\n", xx, yy );
-
+ wxCoord xx = XLOG2DEV(points[0].x + xoffset);
+ wxCoord yy = YLOG2DEV(points[0].y + yoffset);
+
+ fprintf( m_pstream, "%d %d moveto\n", xx, yy );
+
CalcBoundingBox( points[0].x + xoffset, points[0].y + yoffset );
for (int i = 1; i < n; i++)
{
xx = XLOG2DEV(points[i].x + xoffset);
yy = YLOG2DEV(points[i].y + yoffset);
-
- fprintf( m_pstream, "%ld %ld lineto\n", xx, yy );
-
+
+ fprintf( m_pstream, "%d %d lineto\n", xx, yy );
+
CalcBoundingBox( points[i].x + xoffset, points[i].y + yoffset);
}
- fprintf( m_pstream, "fill\n" );
+ fprintf( m_pstream, "fill\n" );
}
}
-void wxPostScriptDC::DoDrawLines (int n, wxPoint points[], long xoffset, long yoffset)
+void wxPostScriptDC::DoDrawLines (int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
if (m_pen.GetStyle() == wxTRANSPARENT) return;
-
+
if (n <= 0) return;
SetPen (m_pen);
fprintf( m_pstream,
"newpath\n"
- "%ld %ld moveto\n",
- XLOG2DEV(points[0].x+xoffset), YLOG2DEV(points[0].y+yoffset) );
+ "%d %d moveto\n",
+ XLOG2DEV(points[0].x+xoffset), YLOG2DEV(points[0].y+yoffset) );
for (i = 1; i < n; i++)
{
fprintf( m_pstream,
- "%ld %ld lineto\n",
- XLOG2DEV(points[i].x+xoffset), YLOG2DEV(points[i].y+yoffset) );
+ "%d %d lineto\n",
+ XLOG2DEV(points[i].x+xoffset), YLOG2DEV(points[i].y+yoffset) );
}
fprintf( m_pstream, "stroke\n" );
}
-void wxPostScriptDC::DoDrawRectangle (long x, long y, long width, long height)
+void wxPostScriptDC::DoDrawRectangle (wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
if (m_brush.GetStyle () != wxTRANSPARENT)
{
SetBrush( m_brush );
-
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
+
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d moveto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
"closepath\n"
"fill\n",
- XLOG2DEV(x), YLOG2DEV(y),
- XLOG2DEV(x + width), YLOG2DEV(y),
- XLOG2DEV(x + width), YLOG2DEV(y + height),
- XLOG2DEV(x), YLOG2DEV(y + height) );
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x + width), YLOG2DEV(y),
+ XLOG2DEV(x + width), YLOG2DEV(y + height),
+ XLOG2DEV(x), YLOG2DEV(y + height) );
CalcBoundingBox( x, y );
CalcBoundingBox( x + width, y + height );
{
SetPen (m_pen);
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
- "%ld %ld lineto\n"
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d moveto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
+ "%d %d lineto\n"
"closepath\n"
"stroke\n",
- XLOG2DEV(x), YLOG2DEV(y),
- XLOG2DEV(x + width), YLOG2DEV(y),
- XLOG2DEV(x + width), YLOG2DEV(y + height),
- XLOG2DEV(x), YLOG2DEV(y + height) );
-
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x + width), YLOG2DEV(y),
+ XLOG2DEV(x + width), YLOG2DEV(y + height),
+ XLOG2DEV(x), YLOG2DEV(y + height) );
+
CalcBoundingBox( x, y );
CalcBoundingBox( x + width, y + height );
}
}
-void wxPostScriptDC::DoDrawRoundedRectangle (long x, long y, long width, long height, double radius)
+void wxPostScriptDC::DoDrawRoundedRectangle (wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
radius = (-radius * smallest);
}
- long rad = (long) radius;
+ wxCoord rad = (wxCoord) radius;
if (m_brush.GetStyle () != wxTRANSPARENT)
{
SetBrush( m_brush );
/* Draw rectangle anticlockwise */
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld 90 180 arc\n"
- "%ld %ld moveto\n"
- "%ld %ld %ld 180 270 arc\n"
- "%ld %ld lineto\n"
- "%ld %ld %ld 270 0 arc\n"
- "%ld %ld lineto\n"
- "%ld %ld %ld 0 90 arc\n"
- "%ld %ld lineto\n"
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d 90 180 arc\n"
+ "%d %d moveto\n"
+ "%d %d %d 180 270 arc\n"
+ "%d %d lineto\n"
+ "%d %d %d 270 0 arc\n"
+ "%d %d lineto\n"
+ "%d %d %d 0 90 arc\n"
+ "%d %d lineto\n"
"closepath\n"
"fill\n",
- XLOG2DEV(x + rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
- XLOG2DEV(x), YLOG2DEV(y + rad),
+ XLOG2DEV(x + rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x), YLOG2DEV(y + rad),
XLOG2DEV(x + rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
XLOG2DEV(x + width - rad), YLOG2DEV(y + height),
- XLOG2DEV(x + width - rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
- XLOG2DEV(x + width), YLOG2DEV(y + rad),
- XLOG2DEV(x + width - rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
- XLOG2DEV(x + rad), YLOG2DEV(y) );
+ XLOG2DEV(x + width - rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x + width), YLOG2DEV(y + rad),
+ XLOG2DEV(x + width - rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x + rad), YLOG2DEV(y) );
CalcBoundingBox( x, y );
CalcBoundingBox( x + width, y + height );
SetPen (m_pen);
/* Draw rectangle anticlockwise */
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld 90 180 arc\n"
- "%ld %ld moveto\n"
- "%ld %ld %ld 180 270 arc\n"
- "%ld %ld lineto\n"
- "%ld %ld %ld 270 0 arc\n"
- "%ld %ld lineto\n"
- "%ld %ld %ld 0 90 arc\n"
- "%ld %ld lineto\n"
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d 90 180 arc\n"
+ "%d %d moveto\n"
+ "%d %d %d 180 270 arc\n"
+ "%d %d lineto\n"
+ "%d %d %d 270 0 arc\n"
+ "%d %d lineto\n"
+ "%d %d %d 0 90 arc\n"
+ "%d %d lineto\n"
"closepath\n"
"stroke\n",
- XLOG2DEV(x + rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
- XLOG2DEV(x), YLOG2DEV(y + rad),
+ XLOG2DEV(x + rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x), YLOG2DEV(y + rad),
XLOG2DEV(x + rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
XLOG2DEV(x + width - rad), YLOG2DEV(y + height),
- XLOG2DEV(x + width - rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
- XLOG2DEV(x + width), YLOG2DEV(y + rad),
- XLOG2DEV(x + width - rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
- XLOG2DEV(x + rad), YLOG2DEV(y) );
+ XLOG2DEV(x + width - rad), YLOG2DEV(y + height - rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x + width), YLOG2DEV(y + rad),
+ XLOG2DEV(x + width - rad), YLOG2DEV(y + rad), XLOG2DEVREL(rad),
+ XLOG2DEV(x + rad), YLOG2DEV(y) );
CalcBoundingBox( x, y );
CalcBoundingBox( x + width, y + height );
}
}
-void wxPostScriptDC::DoDrawEllipse (long x, long y, long width, long height)
+void wxPostScriptDC::DoDrawEllipse (wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
{
SetBrush (m_brush);
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld 0 360 ellipse\n"
- "fill\n",
- XLOG2DEV(x + width / 2), YLOG2DEV(y + height / 2),
- XLOG2DEV(width / 2), YLOG2DEVREL(height / 2) );
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d %d 0 360 ellipse\n"
+ "fill\n",
+ XLOG2DEV(x + width / 2), YLOG2DEV(y + height / 2),
+ XLOG2DEV(width / 2), YLOG2DEVREL(height / 2) );
CalcBoundingBox( x - width, y - height );
CalcBoundingBox( x + width, y + height );
{
SetPen (m_pen);
- fprintf( m_pstream,
- "newpath\n"
- "%ld %ld %ld %ld 0 360 ellipse\n"
- "stroke\n",
- XLOG2DEV(x + width / 2), YLOG2DEV(y + height / 2),
- XLOG2DEV(width / 2), YLOG2DEVREL(height / 2) );
+ fprintf( m_pstream,
+ "newpath\n"
+ "%d %d %d %d 0 360 ellipse\n"
+ "stroke\n",
+ XLOG2DEV(x + width / 2), YLOG2DEV(y + height / 2),
+ XLOG2DEV(width / 2), YLOG2DEVREL(height / 2) );
CalcBoundingBox( x - width, y - height );
CalcBoundingBox( x + width, y + height );
}
}
-void wxPostScriptDC::DoDrawIcon( const wxIcon& icon, long x, long y )
+void wxPostScriptDC::DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y )
{
DrawBitmap( icon, x, y, TRUE );
}
buf[2] = 0;
}
-void wxPostScriptDC::DoDrawBitmap( const wxBitmap& bitmap, long x, long y, bool WXUNUSED(useMask) )
+void wxPostScriptDC::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool WXUNUSED(useMask) )
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
if (!image.Ok()) return;
- long ww = XLOG2DEVREL(image.GetWidth());
- long hh = YLOG2DEVREL(image.GetHeight());
+ wxCoord ww = XLOG2DEVREL(image.GetWidth());
+ wxCoord hh = YLOG2DEVREL(image.GetHeight());
image = image.Scale( ww, hh );
if (!image.Ok()) return;
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y + bitmap.GetHeight());
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y + bitmap.GetHeight());
fprintf( m_pstream,
"/origstate save def\n"
- "20 dict begin\n"
- "/pix %ld string def\n"
- "/grays %ld string def\n"
+ "20 dict begin\n"
+ "/pix %d string def\n"
+ "/grays %d string def\n"
"/npixels 0 def\n"
"/rgbindx 0 def\n"
- "%ld %ld translate\n"
- "%ld %ld scale\n"
- "%ld %ld 8\n"
- "[%ld 0 0 %ld 0 %ld]\n"
- "{currentfile pix readhexstring pop}\n"
- "false 3 colorimage\n",
- ww, ww, xx, yy, ww, hh, ww, hh, ww, -hh, hh );
+ "%d %d translate\n"
+ "%d %d scale\n"
+ "%d %d 8\n"
+ "[%d 0 0 %d 0 %d]\n"
+ "{currentfile pix readhexstring pop}\n"
+ "false 3 colorimage\n",
+ ww, ww, xx, yy, ww, hh, ww, hh, ww, -hh, hh );
for (int j = 0; j < hh; j++)
{
{
char buffer[5];
LocalDecToHex( image.GetRed(i,j), buffer );
- fprintf( m_pstream, buffer );
+ fprintf( m_pstream, buffer );
LocalDecToHex( image.GetGreen(i,j), buffer );
- fprintf( m_pstream, buffer );
- LocalDecToHex( image.GetBlue(i,j), buffer );
- fprintf( m_pstream, buffer );
+ fprintf( m_pstream, buffer );
+ LocalDecToHex( image.GetBlue(i,j), buffer );
+ fprintf( m_pstream, buffer );
}
fprintf( m_pstream, "\n" );
}
#ifdef __WXMSW__
fprintf( m_pstream, "%d scalefont setfont\n", YLOG2DEVREL(m_font.GetPointSize()) );
#else
- fprintf( m_pstream, "%ld scalefont setfont\n", YLOG2DEVREL(m_font.GetPointSize()) );
+ fprintf( m_pstream, "%d scalefont setfont\n", YLOG2DEVREL(m_font.GetPointSize()) );
#endif
}
#ifdef __WXMSW__
fprintf( m_pstream, "%d setlinewidth\n", XLOG2DEVREL(m_pen.GetWidth()) );
#else
- fprintf( m_pstream, "%ld setlinewidth\n", XLOG2DEVREL(m_pen.GetWidth()) );
+ fprintf( m_pstream, "%d setlinewidth\n", XLOG2DEVREL(m_pen.GetWidth()) );
#endif
/*
Line style - WRONG: 2nd arg is OFFSET
ter is not number of values in the array of the first one, but an offset
into this description of the pattern. I mean a real *offset* not index
into array. I.e. If the command is [3 4] 1 setdash is used, then there
- will be first black line *2* units long, then space 4 units, then the
+ will be first black line *2* units wxCoord, then space 4 units, then the
pattern of *3* units black, 4 units space will be repeated.
*/
static const char *dotted = "[2 5] 2";
static const char *short_dashed = "[4 4] 2";
- static const char *long_dashed = "[4 8] 2";
+ static const char *wxCoord_dashed = "[4 8] 2";
static const char *dotted_dashed = "[6 6 2 6] 4";
const char *psdash = (char *) NULL;
{
case wxDOT: psdash = dotted; break;
case wxSHORT_DASH: psdash = short_dashed; break;
- case wxLONG_DASH: psdash = long_dashed; break;
+ case wxLONG_DASH: psdash = wxCoord_dashed; break;
case wxDOT_DASH: psdash = dotted_dashed; break;
case wxSOLID:
case wxTRANSPARENT:
if (oldStyle != m_pen.GetStyle())
{
fprintf( m_pstream, psdash );
- fprintf( m_pstream," setdash\n" );
+ fprintf( m_pstream," setdash\n" );
}
// Line colour
if (!m_colour)
{
// Anything not white is black
- if (! (red == (unsigned char) 255 &&
- blue == (unsigned char) 255 &&
+ if (! (red == (unsigned char) 255 &&
+ blue == (unsigned char) 255 &&
green == (unsigned char) 255) )
{
red = (unsigned char) 0;
green = (unsigned char) 0;
blue = (unsigned char) 0;
- }
+ }
// setgray here ?
}
double redPS = (double)(red) / 255.0;
double bluePS = (double)(blue) / 255.0;
double greenPS = (double)(green) / 255.0;
-
- fprintf( m_pstream,
- "%.8f %.8f %.8f setrgbcolor\n",
- redPS, greenPS, bluePS );
-
+
+ fprintf( m_pstream,
+ "%.8f %.8f %.8f setrgbcolor\n",
+ redPS, greenPS, bluePS );
+
m_currentRed = red;
m_currentBlue = blue;
m_currentGreen = green;
if (!m_colour)
{
// Anything not white is black
- if (! (red == (unsigned char) 255 &&
- blue == (unsigned char) 255 &&
+ if (! (red == (unsigned char) 255 &&
+ blue == (unsigned char) 255 &&
green == (unsigned char) 255) )
{
red = (unsigned char) 0;
green = (unsigned char) 0;
blue = (unsigned char) 0;
- }
+ }
// setgray here ?
}
-
+
if (!(red == m_currentRed && green == m_currentGreen && blue == m_currentBlue))
{
double redPS = (double)(red) / 255.0;
double bluePS = (double)(blue) / 255.0;
double greenPS = (double)(green) / 255.0;
-
- fprintf( m_pstream,
- "%.8f %.8f %.8f setrgbcolor\n",
- redPS, greenPS, bluePS );
-
+
+ fprintf( m_pstream,
+ "%.8f %.8f %.8f setrgbcolor\n",
+ redPS, greenPS, bluePS );
+
m_currentRed = red;
m_currentBlue = blue;
m_currentGreen = green;
}
}
-void wxPostScriptDC::DoDrawText( const wxString& text, long x, long y )
+void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
if (!m_colour)
{
// Anything not white is black
- if (! (red == (unsigned char) 255 &&
- blue == (unsigned char) 255 &&
- green == (unsigned char) 255))
+ if (! (red == (unsigned char) 255 &&
+ blue == (unsigned char) 255 &&
+ green == (unsigned char) 255))
{
red = (unsigned char) 0;
green = (unsigned char) 0;
double redPS = (double)(red) / 255.0;
double bluePS = (double)(blue) / 255.0;
double greenPS = (double)(green) / 255.0;
-
- fprintf( m_pstream,
- "%.8f %.8f %.8f setrgbcolor\n",
- redPS, greenPS, bluePS );
-
+
+ fprintf( m_pstream,
+ "%.8f %.8f %.8f setrgbcolor\n",
+ redPS, greenPS, bluePS );
+
m_currentRed = red;
m_currentBlue = blue;
m_currentGreen = green;
int size = m_font.GetPointSize();
- long by = y + (long)floor( double(size) * 2.0 / 3.0 ); // approximate baseline
- fprintf( m_pstream, "%ld %ld moveto\n", XLOG2DEV(x), YLOG2DEV(by) );
+ wxCoord by = y + (wxCoord)floor( double(size) * 2.0 / 3.0 ); // approximate baseline
+ fprintf( m_pstream, "%d %d moveto\n", XLOG2DEV(x), YLOG2DEV(by) );
/* I don't know how to write char to a stream, so I use a mini string */
char tmpbuf[2];
tmpbuf[1] = 0;
-
+
fprintf( m_pstream, "(" );
const wxWX2MBbuf textbuf = text.mb_str();
int len = strlen(textbuf);
if (c == ')' || c == '(' || c == '\\')
{
/* Cope with special characters */
- fprintf( m_pstream, "\\" );
- tmpbuf[0] = (char) c;
- fprintf( m_pstream, tmpbuf );
+ fprintf( m_pstream, "\\" );
+ tmpbuf[0] = (char) c;
+ fprintf( m_pstream, tmpbuf );
}
else if ( c >= 128 )
{
/* Cope with character codes > 127 */
- fprintf(m_pstream, "\\%o", c);
+ fprintf(m_pstream, "\\%o", c);
}
else
- {
- tmpbuf[0] = (char) c;
- fprintf( m_pstream, tmpbuf );
- }
+ {
+ tmpbuf[0] = (char) c;
+ fprintf( m_pstream, tmpbuf );
+ }
}
-
+
fprintf( m_pstream, ") show\n" );
if (m_font.GetUnderlined())
{
- long uy = (long)(y + size - m_underlinePosition);
- long w, h;
+ wxCoord uy = (wxCoord)(y + size - m_underlinePosition);
+ wxCoord w, h;
GetTextExtent(text, &w, &h);
- fprintf( m_pstream,
- "gsave\n"
- "%ld %ld moveto\n"
- "%ld setlinewidth\n"
- "%ld %ld lineto\n"
- "stroke\n"
- "grestore\n",
+ fprintf( m_pstream,
+ "gsave\n"
+ "%d %d moveto\n"
+ "%d setlinewidth\n"
+ "%d %d lineto\n"
+ "stroke\n"
+ "grestore\n",
XLOG2DEV(x), YLOG2DEV(uy),
- (long)m_underlineThickness,
- XLOG2DEV(x + w), YLOG2DEV(uy) );
+ (wxCoord)m_underlineThickness,
+ XLOG2DEV(x + w), YLOG2DEV(uy) );
}
CalcBoundingBox( x, y );
x3 = a = (double)(x1 + c) / 2;
y3 = b = (double)(y1 + d) / 2;
- fprintf( m_pstream,
+ fprintf( m_pstream,
"newpath\n"
- "%ld %ld moveto\n"
- "%ld %ld lineto\n",
- XLOG2DEV((long)x1), YLOG2DEV((long)y1),
- XLOG2DEV((long)x3), YLOG2DEV((long)y3) );
+ "%d %d moveto\n"
+ "%d %d lineto\n",
+ XLOG2DEV((wxCoord)x1), YLOG2DEV((wxCoord)y1),
+ XLOG2DEV((wxCoord)x3), YLOG2DEV((wxCoord)y3) );
- CalcBoundingBox( (long)x1, (long)y1 );
- CalcBoundingBox( (long)x3, (long)y3 );
+ CalcBoundingBox( (wxCoord)x1, (wxCoord)y1 );
+ CalcBoundingBox( (wxCoord)x3, (wxCoord)y3 );
while ((node = node->Next()) != NULL)
{
d = q->y;
x3 = (double)(x2 + c) / 2;
y3 = (double)(y2 + d) / 2;
-
- fprintf( m_pstream,
- "%ld %ld %ld %ld %ld %ld DrawSplineSection\n",
- XLOG2DEV((long)x1), YLOG2DEV((long)y1),
- XLOG2DEV((long)x2), YLOG2DEV((long)y2),
- XLOG2DEV((long)x3), YLOG2DEV((long)y3) );
-
- CalcBoundingBox( (long)x1, (long)y1 );
- CalcBoundingBox( (long)x3, (long)y3 );
+
+ fprintf( m_pstream,
+ "%d %d %d %d %d %d DrawSplineSection\n",
+ XLOG2DEV((wxCoord)x1), YLOG2DEV((wxCoord)y1),
+ XLOG2DEV((wxCoord)x2), YLOG2DEV((wxCoord)y2),
+ XLOG2DEV((wxCoord)x3), YLOG2DEV((wxCoord)y3) );
+
+ CalcBoundingBox( (wxCoord)x1, (wxCoord)y1 );
+ CalcBoundingBox( (wxCoord)x3, (wxCoord)y3 );
}
-/*
- At this point, (x2,y2) and (c,d) are the position of the
- next-to-last and last point respectively, in the point list
-*/
+ /*
+ At this point, (x2,y2) and (c,d) are the position of the
+ next-to-last and last point respectively, in the point list
+ */
fprintf( m_pstream,
- "%ld %ld lineto\n"
- "stroke\n",
- XLOG2DEV((long)c), YLOG2DEV((long)d) );
+ "%d %d lineto\n"
+ "stroke\n",
+ XLOG2DEV((wxCoord)c), YLOG2DEV((wxCoord)d) );
}
-long wxPostScriptDC::GetCharWidth() const
+wxCoord wxPostScriptDC::GetCharWidth() const
{
// Chris Breeze: reasonable approximation using wxMODERN/Courier
- return (long) (GetCharHeight() * 72.0 / 120.0);
+ return (wxCoord) (GetCharHeight() * 72.0 / 120.0);
}
#endif
}
-void wxPostScriptDC::SetDeviceOrigin( long x, long y )
+void wxPostScriptDC::SetDeviceOrigin( wxCoord x, wxCoord y )
{
wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
w = paper->GetSizeDeviceUnits().x;
h = paper->GetSizeDeviceUnits().y;
}
-
+
if (m_printData.GetOrientation() == wxLANDSCAPE)
{
int tmp = w;
- w = h;
- h = tmp;
+ w = h;
+ h = tmp;
}
-
+
if (width) *width = w;
if (height) *height = h;
}
w = paper->GetWidth() / 10;
h = paper->GetHeight() / 10;
}
-
+
if (m_printData.GetOrientation() == wxLANDSCAPE)
{
int tmp = w;
- w = h;
- h = tmp;
+ w = h;
+ h = tmp;
}
-
+
if (width) *width = w;
if (height) *height = h;
}
wxString filename = wxGetTempFileName("ps");
m_printData.SetFilename(filename);
}
-
+
m_pstream = fopen( m_printData.GetFilename().fn_str(), "w+" );
if (!m_pstream)
if (m_clipping)
{
m_clipping = FALSE;
- fprintf( m_pstream, "grestore\n" );
+ fprintf( m_pstream, "grestore\n" );
}
fclose( m_pstream );
wxChar userName[245];
if (wxGetUserName(userName, sizeof(userName)))
fprintf( m_pstream, " (%s)", wxMBSTRINGCAST wxConvCurrent->cWX2MB(userName) );
- fprintf( m_pstream, "\n" );
+ fprintf( m_pstream, "\n" );
}
else if ( wxGetUserName(userID, sizeof(userID)) )
{
// THE FOLLOWING HAS BEEN CONTRIBUTED BY Andy Fyfe <andy@hyperparallel.com>
- long wx_printer_translate_x, wx_printer_translate_y;
+ wxCoord wx_printer_translate_x, wx_printer_translate_y;
double wx_printer_scale_x, wx_printer_scale_y;
wx_printer_translate_x = m_printData.GetPrinterTranslateX();
// Compute the bounding box. Note that it is in the default user
// coordinate system, thus we have to convert the values.
- long llx = (long) ((XLOG2DEV(m_minX)+wx_printer_translate_x)*wx_printer_scale_x);
- long lly = (long) ((YLOG2DEV(m_minY)+wx_printer_translate_y)*wx_printer_scale_y);
- long urx = (long) ((XLOG2DEV(m_maxX)+wx_printer_translate_x)*wx_printer_scale_x);
- long ury = (long) ((YLOG2DEV(m_maxY)+wx_printer_translate_y)*wx_printer_scale_y);
+ wxCoord llx = (wxCoord) ((XLOG2DEV(m_minX)+wx_printer_translate_x)*wx_printer_scale_x);
+ wxCoord lly = (wxCoord) ((YLOG2DEV(m_minY)+wx_printer_translate_y)*wx_printer_scale_y);
+ wxCoord urx = (wxCoord) ((XLOG2DEV(m_maxX)+wx_printer_translate_x)*wx_printer_scale_x);
+ wxCoord ury = (wxCoord) ((YLOG2DEV(m_maxY)+wx_printer_translate_y)*wx_printer_scale_y);
// If we're landscape, our sense of "x" and "y" is reversed.
if (m_printData.GetOrientation() == wxLANDSCAPE)
{
- long tmp;
+ wxCoord tmp;
tmp = llx; llx = lly; lly = tmp;
tmp = urx; urx = ury; ury = tmp;
// We need either the two lines that follow, or we need to subtract
// min_x from real_translate_y, which is commented out below.
- llx = llx - (long)(m_minX*wx_printer_scale_y);
- urx = urx - (long)(m_minX*wx_printer_scale_y);
+ llx = llx - (wxCoord)(m_minX*wx_printer_scale_y);
+ urx = urx - (wxCoord)(m_minX*wx_printer_scale_y);
}
// The Adobe specifications call for integers; we round as to make
// the bounding larger.
- fprintf( m_pstream,
- "%%%%BoundingBox: %ld %ld %ld %ld\n",
- (long)floor((double)llx), (long)floor((double)lly),
- (long)ceil((double)urx), (long)ceil((double)ury) );
+ fprintf( m_pstream,
+ "%%%%BoundingBox: %d %d %d %d\n",
+ (wxCoord)floor((double)llx), (wxCoord)floor((double)lly),
+ (wxCoord)ceil((double)urx), (wxCoord)ceil((double)ury) );
fprintf( m_pstream, "%%%%Pages: %d\n", (wxPageNumber - 1) );
fprintf( m_pstream, "%%%%EndComments\n\n" );
// adjustment of scale, rotation, or translation, and hence are in the
// default user coordinates.
fprintf( m_pstream, "%% newpath\n" );
- fprintf( m_pstream, "%% %ld %ld moveto\n", llx, lly );
- fprintf( m_pstream, "%% %ld %ld lineto\n", urx, lly );
- fprintf( m_pstream, "%% %ld %ld lineto\n", urx, ury );
- fprintf( m_pstream, "%% %ld %ld lineto closepath stroke\n", llx, ury );
+ fprintf( m_pstream, "%% %d %d moveto\n", llx, lly );
+ fprintf( m_pstream, "%% %d %d lineto\n", urx, lly );
+ fprintf( m_pstream, "%% %d %d lineto\n", urx, ury );
+ fprintf( m_pstream, "%% %d %d lineto closepath stroke\n", llx, ury );
fclose( m_pstream );
m_pstream = (FILE*) NULL;
wxString printerOptions(m_printData.GetPrinterOptions());
wxString filename(m_printData.GetFilename());
- switch (m_printData.GetPrintMode())
- {
+ switch (m_printData.GetPrintMode())
+ {
case wxPRINT_MODE_PREVIEW:
{
wxChar *argv[3];
// (and rotate the page for landscape printing)
// Output scaling
- long translate_x, translate_y;
+ wxCoord translate_x, translate_y;
double scale_x, scale_y;
translate_x = m_printData.GetPrinterTranslateX();
GetSize( (int*) NULL, &h );
translate_y -= h;
fprintf( m_pstream, "90 rotate\n" );
-
+
// I copied this one from a PostScript tutorial, but to no avail. RR.
-// fprintf( m_pstream, "90 rotate llx neg ury nef translate\n" );
+ // fprintf( m_pstream, "90 rotate llx neg ury nef translate\n" );
}
fprintf( m_pstream, "%.8f %.8f scale\n", scale_x, scale_y );
- fprintf( m_pstream, "%ld %ld translate\n", translate_x, translate_y );
+ fprintf( m_pstream, "%d %d translate\n", translate_x, translate_y );
}
void wxPostScriptDC::EndPage ()
fprintf( m_pstream, "showpage\n" );
}
-bool wxPostScriptDC::DoBlit( long xdest, long ydest,
- long fwidth, long fheight,
+bool wxPostScriptDC::DoBlit( wxCoord xdest, wxCoord ydest,
+ wxCoord fwidth, wxCoord fheight,
wxDC *source,
- long xsrc, long ysrc,
+ wxCoord xsrc, wxCoord ysrc,
int rop, bool WXUNUSED(useMask) )
{
wxCHECK_MSG( m_ok && m_pstream, FALSE, wxT("invalid postscript dc") );
return TRUE;
}
-long wxPostScriptDC::GetCharHeight() const
+wxCoord wxPostScriptDC::GetCharHeight() const
{
if (m_font.Ok())
return m_font.GetPointSize();
return 12;
}
-void wxPostScriptDC::GetTextExtent( const wxString& string, long *x, long *y,
- long *descent, long *externalLeading, wxFont *theFont ) const
+void wxPostScriptDC::DoGetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent, wxCoord *externalLeading,
+ wxFont *theFont ) const
{
wxFont *fontToUse = theFont;
{
height = fontToUse->GetPointSize();
}
- *x = strlen (strbuf) * height * 72 / 120;
- *y = (long) (height * 1.32); /* allow for descender */
+ if ( x )
+ *x = strlen (strbuf) * height * 72 / 120;
+ if ( y )
+ *y = (wxCoord) (height * 1.32); /* allow for descender */
if (descent) *descent = 0;
if (externalLeading) *externalLeading = 0;
#else
/ wxSetAFMPath("d:\\wxw161\\afm\\");
/ dc.StartDoc("Test");
/ dc.StartPage();
- / long w,h;
+ / wxCoord w,h;
/ dc.SetFont(new wxFont(10, wxROMAN, wxNORMAL, wxNORMAL));
/ dc.GetTextExtent("Hallo",&w,&h);
/ dc.EndPage();
static int lastWeight= INT_MIN;
static int lastDescender = INT_MIN;
static int lastWidths[256]; /* widths of the characters */
-
+
double UnderlinePosition = 0.0;
double UnderlineThickness = 0.0;
if ((Style == wxITALIC) && (Weight == wxBOLD)) name = "TimesBoO";
else if ((Style != wxITALIC) && (Weight == wxBOLD)) name = "TimesBo";
else if ((Style == wxITALIC) && (Weight != wxBOLD)) name = "TimesO";
- else name = "TimesRo";
+ else name = "TimesRo";
}
break;
default:
/* get the directory of the AFM files */
char afmName[256];
afmName[0] = 0;
-
- if (!m_printData.GetFontMetricPath().IsEmpty())
- {
- strcpy( afmName, m_printData.GetFontMetricPath().fn_str() );
- }
+
+ if (!m_printData.GetFontMetricPath().IsEmpty())
+ {
+ strcpy( afmName, m_printData.GetFontMetricPath().fn_str() );
+ }
/* 2. open and process the file
/ a short explanation of the AFM format:
strcat(afmName,name);
strcat(afmName,".afm");
FILE *afmFile = fopen(afmName,"r");
-
+
#ifdef __UNIX__
- if (afmFile==NULL)
- {
- strcpy( afmName, "/usr/local/share/wx/afm/" );
+ if (afmFile==NULL)
+ {
+ strcpy( afmName, "/usr/local/share/wx/afm/" );
strcat(afmName,name);
strcat(afmName,".afm");
afmFile = fopen(afmName,"r");
- }
+ }
- if (afmFile==NULL)
- {
- strcpy( afmName, "/usr/share/wx/afm/" );
- strcat(afmName,name);
- strcat(afmName,".afm");
- afmFile = fopen(afmName,"r");
- }
+ if (afmFile==NULL)
+ {
+ strcpy( afmName, "/usr/share/wx/afm/" );
+ strcat(afmName,name);
+ strcat(afmName,".afm");
+ afmFile = fopen(afmName,"r");
+ }
#endif
-
+
if (afmFile==NULL)
{
wxLogDebug( "GetTextExtent: can't open AFM file '%s'\n", afmName );
/ string. they are given in 1/1000 of the size! */
double widthSum=0;
- long height=Size; /* by default */
+ wxCoord height=Size; /* by default */
unsigned char *p;
for(p=(unsigned char *)strbuf; *p; p++)
{
if(lastWidths[*p]== INT_MIN)
{
wxLogDebug("GetTextExtent: undefined width for character '%c' (%d)\n", *p,*p);
- widthSum += /*(long)*/(lastWidths[' ']/1000.0F * Size); /* assume space */
+ widthSum += /*(wxCoord)*/(lastWidths[' ']/1000.0F * Size); /* assume space */
}
else
{
- widthSum += /*(long)*/((lastWidths[*p]/1000.0F)*Size);
+ widthSum += /*(wxCoord)*/((lastWidths[*p]/1000.0F)*Size);
}
}
/* add descender to height (it is usually a negative value) */
if (lastDescender != INT_MIN)
{
- height += (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
+ height += (wxCoord)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
}
/* return size values */
- *x = (long)widthSum;
- *y = height;
+ if ( x )
+ *x = (wxCoord)widthSum;
+ if ( y )
+ *y = height;
/* return other parameters */
if (descent)
{
if(lastDescender!=INT_MIN)
{
- *descent = (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
+ *descent = (wxCoord)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
}
else
{
IMPLEMENT_CLASS(wxPostScriptPrintDialog, wxDialog)
wxPostScriptPrintDialog::wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
- const wxPoint& pos, const wxSize& size, long style):
+ const wxPoint& pos, const wxSize& size, wxCoord style):
wxDialog(parent, -1, title, pos, size, style)
{
wxBeginBusyCursor();
*orientation = new wxString[2],
*print_modes = new wxString[3];
int features;
- long wx_printer_translate_x, wx_printer_translate_y;
+ wxCoord wx_printer_translate_x, wx_printer_translate_y;
double wx_printer_scale_x, wx_printer_scale_y;
orientation[0] = _("Portrait");
yPos += 25;
(void) new wxStaticText(this, -1, _("X Translation"), wxPoint(5, yPos));
- sprintf (buf, "%.2ld", wx_printer_translate_x);
+ sprintf (buf, "%.2d", wx_printer_translate_x);
/* wxTextCtrl *text3 = */ (void) new wxTextCtrl(this, wxID_PRINTER_X_TRANS, buf, wxPoint(100, yPos), wxSize(100, -1));
(void) new wxStaticText(this, -1, _("Y Translation"), wxPoint(220, yPos));
- sprintf (buf, "%.2ld", wx_printer_translate_y);
+ sprintf (buf, "%.2d", wx_printer_translate_y);
/* wxTextCtrl *text4 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_TRANS, buf, wxPoint(320, yPos), wxSize(100, -1));
Fit ();
StringToDouble (WXSTRINGCAST text1->GetValue (), &wxThePrintSetupData->m_printerScaleX);
StringToDouble (WXSTRINGCAST text2->GetValue (), &wxThePrintSetupData->m_printerScaleY);
- StringToLong (WXSTRINGCAST text3->GetValue (), &wxThePrintSetupData->m_printerTranslateX);
- StringToLong (WXSTRINGCAST text4->GetValue (), &wxThePrintSetupData->m_printerTranslateY);
+
+ long dummy;
+ StringToLong (WXSTRINGCAST text3->GetValue (), &dummy);
+ wxThePrintSetupData->m_printerTranslateX = (wxCoord)dummy;
+ StringToLong (WXSTRINGCAST text4->GetValue (), &dummy);
+ wxThePrintSetupData->m_printerTranslateY = (wxCoord)dummy;
#ifdef __X__
// wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
wxThePrintSetupData->SetPrinterScaling(x, y);
}
-void wxSetPrinterTranslation(long x, long y)
+void wxSetPrinterTranslation(wxCoord x, wxCoord y)
{
wxThePrintSetupData->SetPrinterTranslation(x, y);
}
wxThePrintSetupData->GetPrinterScaling(x, y);
}
-void wxGetPrinterTranslation(long *x, long *y)
+void wxGetPrinterTranslation(wxCoord *x, wxCoord *y)
{
wxThePrintSetupData->GetPrinterTranslation(x, y);
}
SetPrinterCommand(data.GetPrinterCommand());
SetPrintPreviewCommand(data.GetPrintPreviewCommand());
SetPrinterOptions(data.GetPrinterOptions());
- long x, y;
+ wxCoord x, y;
data.GetPrinterTranslation(&x, &y);
SetPrinterTranslation(x, y);
#endif
// wxUSE_POSTSCRIPT
-#endif
+#endif
// wxUSE_PRINTING_ARCHITECTURE
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
- #pragma implementation "appbase.h"
#pragma implementation "app.h"
#endif
gtk_main_iteration();
}
-void wxApp::ProcessPendingEvents()
-{
-#if wxUSE_THREADS
- wxCriticalSectionLocker locker(*wxPendingEventsLocker);
-#endif // wxUSE_THREADS
-
- if ( !wxPendingEvents )
- return;
-
- wxNode *node = wxPendingEvents->First();
- while (node)
- {
- wxEvtHandler *handler = (wxEvtHandler *)node->Data();
-
- handler->ProcessPendingEvents();
-
- delete node;
-
- node = wxPendingEvents->First();
- }
-}
-
void wxApp::DeletePendingObjects()
{
wxNode *node = wxPendingDelete.First();
m_brush = *wxWHITE_BRUSH;
}
-void wxDC::DoSetClippingRegion( long x, long y, long width, long height )
+void wxDC::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
m_clipping = TRUE;
m_clipX1 = x;
ComputeScaleAndOrigin();
}
-void wxDC::SetLogicalOrigin( long x, long y )
+void wxDC::SetLogicalOrigin( wxCoord x, wxCoord y )
{
m_logicalOriginX = x * m_signX; // is this still correct ?
m_logicalOriginY = y * m_signY;
ComputeScaleAndOrigin();
}
-void wxDC::SetDeviceOrigin( long x, long y )
+void wxDC::SetDeviceOrigin( wxCoord x, wxCoord y )
{
// only wxPostScripDC has m_signX = -1, we override SetDeviceOrigin there
m_deviceOriginX = x;
// coordinates transformations
// ---------------------------------------------------------------------------
-long wxDCBase::DeviceToLogicalX(long x) const
+wxCoord wxDCBase::DeviceToLogicalX(wxCoord x) const
{
return ((wxDC *)this)->XDEV2LOG(x);
}
-long wxDCBase::DeviceToLogicalY(long y) const
+wxCoord wxDCBase::DeviceToLogicalY(wxCoord y) const
{
return ((wxDC *)this)->YDEV2LOG(y);
}
-long wxDCBase::DeviceToLogicalXRel(long x) const
+wxCoord wxDCBase::DeviceToLogicalXRel(wxCoord x) const
{
return ((wxDC *)this)->XDEV2LOGREL(x);
}
-long wxDCBase::DeviceToLogicalYRel(long y) const
+wxCoord wxDCBase::DeviceToLogicalYRel(wxCoord y) const
{
return ((wxDC *)this)->YDEV2LOGREL(y);
}
-long wxDCBase::LogicalToDeviceX(long x) const
+wxCoord wxDCBase::LogicalToDeviceX(wxCoord x) const
{
return ((wxDC *)this)->XLOG2DEV(x);
}
-long wxDCBase::LogicalToDeviceY(long y) const
+wxCoord wxDCBase::LogicalToDeviceY(wxCoord y) const
{
return ((wxDC *)this)->YLOG2DEV(y);
}
-long wxDCBase::LogicalToDeviceXRel(long x) const
+wxCoord wxDCBase::LogicalToDeviceXRel(wxCoord x) const
{
return ((wxDC *)this)->XLOG2DEVREL(x);
}
-long wxDCBase::LogicalToDeviceYRel(long y) const
+wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const
{
return ((wxDC *)this)->YLOG2DEVREL(y);
}
Destroy();
}
-void wxWindowDC::DoFloodFill( long WXUNUSED(x), long WXUNUSED(y),
+void wxWindowDC::DoFloodFill( wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
const wxColour &WXUNUSED(col), int WXUNUSED(style) )
{
wxFAIL_MSG( wxT("wxWindowDC::DoFloodFill not implemented") );
}
-bool wxWindowDC::DoGetPixel( long WXUNUSED(x1), long WXUNUSED(y1), wxColour *WXUNUSED(col) ) const
+bool wxWindowDC::DoGetPixel( wxCoord WXUNUSED(x1), wxCoord WXUNUSED(y1), wxColour *WXUNUSED(col) ) const
{
wxFAIL_MSG( wxT("wxWindowDC::DoGetPixel not implemented") );
return FALSE;
}
-void wxWindowDC::DoDrawLine( long x1, long y1, long x2, long y2 )
+void wxWindowDC::DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
}
}
-void wxWindowDC::DoCrossHair( long x, long y )
+void wxWindowDC::DoCrossHair( wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
int w = 0;
int h = 0;
GetSize( &w, &h );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
if (m_window)
{
gdk_draw_line( m_window, m_penGC, 0, yy, XLOG2DEVREL(w), yy );
}
}
-void wxWindowDC::DoDrawArc( long x1, long y1, long x2, long y2,
- long xc, long yc )
+void wxWindowDC::DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx1 = XLOG2DEV(x1);
- long yy1 = YLOG2DEV(y1);
- long xx2 = XLOG2DEV(x2);
- long yy2 = YLOG2DEV(y2);
- long xxc = XLOG2DEV(xc);
- long yyc = YLOG2DEV(yc);
+ wxCoord xx1 = XLOG2DEV(x1);
+ wxCoord yy1 = YLOG2DEV(y1);
+ wxCoord xx2 = XLOG2DEV(x2);
+ wxCoord yy2 = YLOG2DEV(y2);
+ wxCoord xxc = XLOG2DEV(xc);
+ wxCoord yyc = YLOG2DEV(yc);
double dx = xx1 - xxc;
double dy = yy1 - yyc;
double radius = sqrt((double)(dx*dx+dy*dy));
- long r = (long)radius;
+ wxCoord r = (wxCoord)radius;
double radius1, radius2;
if (xx1 == xx2 && yy1 == yy2)
(yy2 - yyc < 0) ? 90.0 : -90.0 :
-atan2(double(yy2-yyc), double(xx2-xxc)) * RAD2DEG;
}
- long alpha1 = long(radius1 * 64.0);
- long alpha2 = long((radius2 - radius1) * 64.0);
+ wxCoord alpha1 = wxCoord(radius1 * 64.0);
+ wxCoord alpha2 = wxCoord((radius2 - radius1) * 64.0);
while (alpha2 <= 0) alpha2 += 360*64;
while (alpha1 > 360*64) alpha1 -= 360*64;
CalcBoundingBox (x2, y2);
}
-void wxWindowDC::DoDrawEllipticArc( long x, long y, long width, long height, double sa, double ea )
+void wxWindowDC::DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double sa, double ea )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
if (m_window)
{
- long start = long(sa * 64.0);
- long end = long(ea * 64.0);
+ wxCoord start = wxCoord(sa * 64.0);
+ wxCoord end = wxCoord(ea * 64.0);
if (m_brush.GetStyle() != wxTRANSPARENT)
gdk_draw_arc( m_window, m_brushGC, TRUE, xx, yy, ww, hh, start, end );
CalcBoundingBox (x + width, y + height);
}
-void wxWindowDC::DoDrawPoint( long x, long y )
+void wxWindowDC::DoDrawPoint( wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
CalcBoundingBox (x, y);
}
-void wxWindowDC::DoDrawLines( int n, wxPoint points[], long xoffset, long yoffset )
+void wxWindowDC::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
for (int i = 0; i < n-1; i++)
{
- long x1 = XLOG2DEV(points[i].x + xoffset);
- long x2 = XLOG2DEV(points[i+1].x + xoffset);
- long y1 = YLOG2DEV(points[i].y + yoffset); // oh, what a waste
- long y2 = YLOG2DEV(points[i+1].y + yoffset);
+ wxCoord x1 = XLOG2DEV(points[i].x + xoffset);
+ wxCoord x2 = XLOG2DEV(points[i+1].x + xoffset);
+ wxCoord y1 = YLOG2DEV(points[i].y + yoffset); // oh, what a waste
+ wxCoord y2 = YLOG2DEV(points[i+1].y + yoffset);
if (m_window)
gdk_draw_line( m_window, m_penGC, x1, y1, x2, y2 );
}
}
-void wxWindowDC::DoDrawPolygon( int n, wxPoint points[], long xoffset, long yoffset, int WXUNUSED(fillStyle) )
+void wxWindowDC::DoDrawPolygon( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int WXUNUSED(fillStyle) )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
delete[] gdkpoints;
}
-void wxWindowDC::DoDrawRectangle( long x, long y, long width, long height )
+void wxWindowDC::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: draw nothing if transformed w or h is 0
if (ww == 0 || hh == 0) return;
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawRoundedRectangle( long x, long y, long width, long height, double radius )
+void wxWindowDC::DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
if (radius < 0.0) radius = - radius * ((width < height) ? width : height);
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
- long rr = XLOG2DEVREL((long)radius);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
+ wxCoord rr = XLOG2DEVREL((wxCoord)radius);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
{
// CMB: ensure dd is not larger than rectangle otherwise we
// get an hour glass shape
- long dd = 2 * rr;
+ wxCoord dd = 2 * rr;
if (dd > ww) dd = ww;
if (dd > hh) dd = hh;
rr = dd / 2;
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawEllipse( long x, long y, long width, long height )
+void wxWindowDC::DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawIcon( const wxIcon &icon, long x, long y )
+void wxWindowDC::DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y )
{
// VZ: egcs 1.0.3 refuses to compile this without cast, no idea why
DoDrawBitmap( (const wxBitmap&)icon, x, y, (bool)TRUE );
}
void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
- long x, long y,
+ wxCoord x, wxCoord y,
bool useMask )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
}
}
-bool wxWindowDC::DoBlit( long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int logical_func, bool useMask )
{
/* this is the nth try to get this utterly useless function to
{
/* scale/translate bitmap size */
- long bm_width = memDC->m_selected.GetWidth();
- long bm_height = memDC->m_selected.GetHeight();
+ wxCoord bm_width = memDC->m_selected.GetWidth();
+ wxCoord bm_height = memDC->m_selected.GetHeight();
- long bm_ww = XLOG2DEVREL( bm_width );
- long bm_hh = YLOG2DEVREL( bm_height );
+ wxCoord bm_ww = XLOG2DEVREL( bm_width );
+ wxCoord bm_hh = YLOG2DEVREL( bm_height );
/* scale bitmap if required */
/* scale/translate size and position */
- long xx = XLOG2DEV(xdest);
- long yy = YLOG2DEV(ydest);
+ wxCoord xx = XLOG2DEV(xdest);
+ wxCoord yy = YLOG2DEV(ydest);
- long ww = XLOG2DEVREL(width);
- long hh = YLOG2DEVREL(height);
+ wxCoord ww = XLOG2DEVREL(width);
+ wxCoord hh = YLOG2DEVREL(height);
/* apply mask if any */
{
/* scale/translate size and position */
- long xx = XLOG2DEV(xdest);
- long yy = YLOG2DEV(ydest);
+ wxCoord xx = XLOG2DEV(xdest);
+ wxCoord yy = YLOG2DEV(ydest);
- long ww = XLOG2DEVREL(width);
- long hh = YLOG2DEVREL(height);
+ wxCoord ww = XLOG2DEVREL(width);
+ wxCoord hh = YLOG2DEVREL(height);
if ((width != ww) || (height != hh))
{
return TRUE;
}
-void wxWindowDC::DoDrawText( const wxString &text, long x, long y )
+void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
/* CMB 21/5/98: draw text background if mode is wxSOLID */
if (m_backgroundMode == wxSOLID)
{
- long width = gdk_string_width( font, text.mbc_str() );
- long height = font->ascent + font->descent;
+ wxCoord width = gdk_string_width( font, text.mbc_str() );
+ wxCoord height = font->ascent + font->descent;
gdk_gc_set_foreground( m_textGC, m_textBackgroundColour.GetColor() );
gdk_draw_rectangle( m_window, m_textGC, TRUE, x, y, width, height );
gdk_gc_set_foreground( m_textGC, m_textForegroundColour.GetColor() );
properties (see wxXt implementation) */
if (m_font.GetUnderlined())
{
- long width = gdk_string_width( font, text.mbc_str() );
- long ul_y = y + font->ascent;
+ wxCoord width = gdk_string_width( font, text.mbc_str() );
+ wxCoord ul_y = y + font->ascent;
if (font->descent > 0) ul_y++;
gdk_draw_line( m_window, m_textGC, x, ul_y, x + width, ul_y);
}
- long w, h;
+ wxCoord w, h;
GetTextExtent (text, &w, &h);
CalcBoundingBox (x + w, y + h);
CalcBoundingBox (x, y);
}
-void wxWindowDC::GetTextExtent( const wxString &string, long *width, long *height,
- long *descent, long *externalLeading,
- wxFont *theFont ) const
+void wxWindowDC::DoGetTextExtent(const wxString &string,
+ wxCoord *width, wxCoord *height,
+ wxCoord *descent, wxCoord *externalLeading,
+ wxFont *theFont) const
{
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
- if (width) (*width) = long(gdk_string_width( font, string.mbc_str() ) / m_scaleX);
- if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
- if (descent) (*descent) = long(font->descent / m_scaleY);
+ if (width) (*width) = wxCoord(gdk_string_width( font, string.mbc_str() ) / m_scaleX);
+ if (height) (*height) = wxCoord((font->ascent + font->descent) / m_scaleY);
+ if (descent) (*descent) = wxCoord(font->descent / m_scaleY);
if (externalLeading) (*externalLeading) = 0; // ??
}
-long wxWindowDC::GetCharWidth() const
+wxCoord wxWindowDC::GetCharWidth() const
{
GdkFont *font = m_font.GetInternalFont( m_scaleY );
- return long(gdk_string_width( font, "H" ) / m_scaleX);
+ return wxCoord(gdk_string_width( font, "H" ) / m_scaleX);
}
-long wxWindowDC::GetCharHeight() const
+wxCoord wxWindowDC::GetCharHeight() const
{
GdkFont *font = m_font.GetInternalFont( m_scaleY );
- return long((font->ascent + font->descent) / m_scaleY);
+ return wxCoord((font->ascent + font->descent) / m_scaleY);
}
void wxWindowDC::Clear()
static const char dotted[] = {1, 1};
static const char short_dashed[] = {2, 2};
- static const char long_dashed[] = {2, 4};
+ static const char wxCoord_dashed[] = {2, 4};
static const char dotted_dashed[] = {3, 3, 1, 3};
// We express dash pattern in pen width unit, so we are
{
lineStyle = GDK_LINE_ON_OFF_DASH;
req_nb_dash = 2;
- req_dash = long_dashed;
+ req_dash = wxCoord_dashed;
break;
}
case wxSHORT_DASH:
wxFAIL_MSG( wxT("wxWindowDC::SetPalette not implemented") );
}
-void wxWindowDC::DoSetClippingRegion( long x, long y, long width, long height )
+void wxWindowDC::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
// Author: Robert Roebling
// RCS-ID: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
wxMemoryDC::wxMemoryDC() : wxWindowDC()
{
m_ok = FALSE;
-
+
m_cmap = gtk_widget_get_default_colormap();
}
-wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
+wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
: wxWindowDC()
{
m_ok = FALSE;
-
+
m_cmap = gtk_widget_get_default_colormap();
}
{
m_window = m_selected.GetBitmap();
}
-
+
SetUpDC();
-
+
m_isMemDC = TRUE;
}
else
- {
+ {
m_ok = FALSE;
m_window = (GdkWindow *) NULL;
}
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
//-----------------------------------------------------------------------------
GdkWindow *wxScreenDC::sm_overlayWindow = (GdkWindow*) NULL;
- int wxScreenDC::sm_overlayWindowX = 0;
- int wxScreenDC::sm_overlayWindowY = 0;
+int wxScreenDC::sm_overlayWindowX = 0;
+int wxScreenDC::sm_overlayWindowY = 0;
-
//-----------------------------------------------------------------------------
// create X window
//-----------------------------------------------------------------------------
StructureNotifyMask,
PropertyChangeMask,
VisibilityChangeMask,
- 0, /* PROXIMITY_IN */
- 0 /* PROXIMTY_OUT */
+ 0, /* PROXIMITY_IN */
+ 0 /* PROXIMTY_OUT */
};
GdkWindow*
gdk_window_transparent_new ( GdkWindow *parent,
- GdkWindowAttr *attributes,
- gint attributes_mask)
+ GdkWindowAttr *attributes,
+ gint attributes_mask)
{
GdkWindow *window;
GdkWindowPrivate *gprivate;
gprivate->height = (attributes->height > 1) ? (attributes->height) : (1);
gprivate->window_type = attributes->window_type;
gprivate->extension_events = FALSE;
-
+
#if (GTK_MINOR_VERSION == 0)
gprivate->dnd_drag_data_type = None;
gprivate->dnd_drag_data_typesavail =
for (i = 0; i < my_nevent_masks; i++)
{
if (attributes->event_mask & (1 << (i + 1)))
- xattributes.event_mask |= my_event_masks_table[i];
+ xattributes.event_mask |= my_event_masks_table[i];
}
if (xattributes.event_mask)
xattributes_mask |= CWEventMask;
if(attributes_mask & GDK_WA_NOREDIR) {
- xattributes.override_redirect =
- (attributes->override_redirect == FALSE)?False:True;
- xattributes_mask |= CWOverrideRedirect;
+ xattributes.override_redirect =
+ (attributes->override_redirect == FALSE)?False:True;
+ xattributes_mask |= CWOverrideRedirect;
} else
xattributes.override_redirect = False;
depth = visual->depth;
if (attributes_mask & GDK_WA_COLORMAP)
- gprivate->colormap = attributes->colormap;
+ gprivate->colormap = attributes->colormap;
else
- gprivate->colormap = gdk_colormap_get_system ();
+ gprivate->colormap = gdk_colormap_get_system ();
- xattributes.colormap = ((GdkColormapPrivate*) gprivate->colormap)->xcolormap;
- xattributes_mask |= CWColormap;
+ xattributes.colormap = ((GdkColormapPrivate*) gprivate->colormap)->xcolormap;
+ xattributes_mask |= CWColormap;
- xparent = gdk_root_window;
+ xparent = gdk_root_window;
- xattributes.save_under = True;
- xattributes.override_redirect = True;
- xattributes.cursor = None;
- xattributes_mask |= CWSaveUnder | CWOverrideRedirect;
+ xattributes.save_under = True;
+ xattributes.override_redirect = True;
+ xattributes.cursor = None;
+ xattributes_mask |= CWSaveUnder | CWOverrideRedirect;
gprivate->xwindow = XCreateWindow (gprivate->xdisplay, xparent,
- x, y, gprivate->width, gprivate->height,
- 0, depth, gclass, xvisual,
- xattributes_mask, &xattributes);
+ x, y, gprivate->width, gprivate->height,
+ 0, depth, gclass, xvisual,
+ xattributes_mask, &xattributes);
gdk_window_ref (window);
gdk_xid_table_insert (&gprivate->xwindow, window);
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC,wxPaintDC)
-wxScreenDC::wxScreenDC(void)
+wxScreenDC::wxScreenDC()
{
m_ok = FALSE;
m_window = (GdkWindow *) NULL;
m_cmap = gdk_colormap_get_system();
-
+
if (sm_overlayWindow)
{
m_window = sm_overlayWindow;
{
m_window = GDK_ROOT_PARENT();
}
-
+
SetUpDC();
-
+
gdk_gc_set_subwindow( m_penGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_brushGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_textGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_bgGC, GDK_INCLUDE_INFERIORS );
}
-wxScreenDC::~wxScreenDC(void)
+wxScreenDC::~wxScreenDC()
{
EndDrawingOnTop();
}
bool wxScreenDC::StartDrawingOnTop( wxWindow *window )
{
if (!window) return StartDrawingOnTop();
-
+
int x = 0;
int y = 0;
window->GetPosition( &x, &y );
int h = 0;
window->GetSize( &w, &h );
window->ClientToScreen( &x, &y );
-
+
wxRect rect;
rect.x = x;
rect.y = y;
rect.width = 0;
rect.height = 0;
-
+
return StartDrawingOnTop( &rect );
}
width = rect->width;
height = rect->height;
}
-
+
sm_overlayWindowX = x;
sm_overlayWindowY = y;
attr.wclass = GDK_INPUT_OUTPUT;
attr.event_mask = 0;
attr.window_type = GDK_WINDOW_TEMP;
-
+
// GTK cannot set transparent backgrounds. :-(
sm_overlayWindow = gdk_window_transparent_new( NULL, &attr, GDK_WA_NOREDIR | GDK_WA_X | GDK_WA_Y );
-
+
if (sm_overlayWindow) gdk_window_show( sm_overlayWindow );
return (sm_overlayWindow != NULL);
}
-bool wxScreenDC::EndDrawingOnTop(void)
+bool wxScreenDC::EndDrawingOnTop()
{
if (sm_overlayWindow) gdk_window_destroy( sm_overlayWindow );
-
+
sm_overlayWindow = NULL;
sm_overlayWindowX = 0;
sm_overlayWindowY = 0;
-
+
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
- #pragma implementation "appbase.h"
#pragma implementation "app.h"
#endif
gtk_main_iteration();
}
-void wxApp::ProcessPendingEvents()
-{
-#if wxUSE_THREADS
- wxCriticalSectionLocker locker(*wxPendingEventsLocker);
-#endif // wxUSE_THREADS
-
- if ( !wxPendingEvents )
- return;
-
- wxNode *node = wxPendingEvents->First();
- while (node)
- {
- wxEvtHandler *handler = (wxEvtHandler *)node->Data();
-
- handler->ProcessPendingEvents();
-
- delete node;
-
- node = wxPendingEvents->First();
- }
-}
-
void wxApp::DeletePendingObjects()
{
wxNode *node = wxPendingDelete.First();
m_brush = *wxWHITE_BRUSH;
}
-void wxDC::DoSetClippingRegion( long x, long y, long width, long height )
+void wxDC::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
m_clipping = TRUE;
m_clipX1 = x;
ComputeScaleAndOrigin();
}
-void wxDC::SetLogicalOrigin( long x, long y )
+void wxDC::SetLogicalOrigin( wxCoord x, wxCoord y )
{
m_logicalOriginX = x * m_signX; // is this still correct ?
m_logicalOriginY = y * m_signY;
ComputeScaleAndOrigin();
}
-void wxDC::SetDeviceOrigin( long x, long y )
+void wxDC::SetDeviceOrigin( wxCoord x, wxCoord y )
{
// only wxPostScripDC has m_signX = -1, we override SetDeviceOrigin there
m_deviceOriginX = x;
// coordinates transformations
// ---------------------------------------------------------------------------
-long wxDCBase::DeviceToLogicalX(long x) const
+wxCoord wxDCBase::DeviceToLogicalX(wxCoord x) const
{
return ((wxDC *)this)->XDEV2LOG(x);
}
-long wxDCBase::DeviceToLogicalY(long y) const
+wxCoord wxDCBase::DeviceToLogicalY(wxCoord y) const
{
return ((wxDC *)this)->YDEV2LOG(y);
}
-long wxDCBase::DeviceToLogicalXRel(long x) const
+wxCoord wxDCBase::DeviceToLogicalXRel(wxCoord x) const
{
return ((wxDC *)this)->XDEV2LOGREL(x);
}
-long wxDCBase::DeviceToLogicalYRel(long y) const
+wxCoord wxDCBase::DeviceToLogicalYRel(wxCoord y) const
{
return ((wxDC *)this)->YDEV2LOGREL(y);
}
-long wxDCBase::LogicalToDeviceX(long x) const
+wxCoord wxDCBase::LogicalToDeviceX(wxCoord x) const
{
return ((wxDC *)this)->XLOG2DEV(x);
}
-long wxDCBase::LogicalToDeviceY(long y) const
+wxCoord wxDCBase::LogicalToDeviceY(wxCoord y) const
{
return ((wxDC *)this)->YLOG2DEV(y);
}
-long wxDCBase::LogicalToDeviceXRel(long x) const
+wxCoord wxDCBase::LogicalToDeviceXRel(wxCoord x) const
{
return ((wxDC *)this)->XLOG2DEVREL(x);
}
-long wxDCBase::LogicalToDeviceYRel(long y) const
+wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const
{
return ((wxDC *)this)->YLOG2DEVREL(y);
}
Destroy();
}
-void wxWindowDC::DoFloodFill( long WXUNUSED(x), long WXUNUSED(y),
+void wxWindowDC::DoFloodFill( wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
const wxColour &WXUNUSED(col), int WXUNUSED(style) )
{
wxFAIL_MSG( wxT("wxWindowDC::DoFloodFill not implemented") );
}
-bool wxWindowDC::DoGetPixel( long WXUNUSED(x1), long WXUNUSED(y1), wxColour *WXUNUSED(col) ) const
+bool wxWindowDC::DoGetPixel( wxCoord WXUNUSED(x1), wxCoord WXUNUSED(y1), wxColour *WXUNUSED(col) ) const
{
wxFAIL_MSG( wxT("wxWindowDC::DoGetPixel not implemented") );
return FALSE;
}
-void wxWindowDC::DoDrawLine( long x1, long y1, long x2, long y2 )
+void wxWindowDC::DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
}
}
-void wxWindowDC::DoCrossHair( long x, long y )
+void wxWindowDC::DoCrossHair( wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
int w = 0;
int h = 0;
GetSize( &w, &h );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
if (m_window)
{
gdk_draw_line( m_window, m_penGC, 0, yy, XLOG2DEVREL(w), yy );
}
}
-void wxWindowDC::DoDrawArc( long x1, long y1, long x2, long y2,
- long xc, long yc )
+void wxWindowDC::DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx1 = XLOG2DEV(x1);
- long yy1 = YLOG2DEV(y1);
- long xx2 = XLOG2DEV(x2);
- long yy2 = YLOG2DEV(y2);
- long xxc = XLOG2DEV(xc);
- long yyc = YLOG2DEV(yc);
+ wxCoord xx1 = XLOG2DEV(x1);
+ wxCoord yy1 = YLOG2DEV(y1);
+ wxCoord xx2 = XLOG2DEV(x2);
+ wxCoord yy2 = YLOG2DEV(y2);
+ wxCoord xxc = XLOG2DEV(xc);
+ wxCoord yyc = YLOG2DEV(yc);
double dx = xx1 - xxc;
double dy = yy1 - yyc;
double radius = sqrt((double)(dx*dx+dy*dy));
- long r = (long)radius;
+ wxCoord r = (wxCoord)radius;
double radius1, radius2;
if (xx1 == xx2 && yy1 == yy2)
(yy2 - yyc < 0) ? 90.0 : -90.0 :
-atan2(double(yy2-yyc), double(xx2-xxc)) * RAD2DEG;
}
- long alpha1 = long(radius1 * 64.0);
- long alpha2 = long((radius2 - radius1) * 64.0);
+ wxCoord alpha1 = wxCoord(radius1 * 64.0);
+ wxCoord alpha2 = wxCoord((radius2 - radius1) * 64.0);
while (alpha2 <= 0) alpha2 += 360*64;
while (alpha1 > 360*64) alpha1 -= 360*64;
CalcBoundingBox (x2, y2);
}
-void wxWindowDC::DoDrawEllipticArc( long x, long y, long width, long height, double sa, double ea )
+void wxWindowDC::DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double sa, double ea )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
if (m_window)
{
- long start = long(sa * 64.0);
- long end = long(ea * 64.0);
+ wxCoord start = wxCoord(sa * 64.0);
+ wxCoord end = wxCoord(ea * 64.0);
if (m_brush.GetStyle() != wxTRANSPARENT)
gdk_draw_arc( m_window, m_brushGC, TRUE, xx, yy, ww, hh, start, end );
CalcBoundingBox (x + width, y + height);
}
-void wxWindowDC::DoDrawPoint( long x, long y )
+void wxWindowDC::DoDrawPoint( wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
CalcBoundingBox (x, y);
}
-void wxWindowDC::DoDrawLines( int n, wxPoint points[], long xoffset, long yoffset )
+void wxWindowDC::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
for (int i = 0; i < n-1; i++)
{
- long x1 = XLOG2DEV(points[i].x + xoffset);
- long x2 = XLOG2DEV(points[i+1].x + xoffset);
- long y1 = YLOG2DEV(points[i].y + yoffset); // oh, what a waste
- long y2 = YLOG2DEV(points[i+1].y + yoffset);
+ wxCoord x1 = XLOG2DEV(points[i].x + xoffset);
+ wxCoord x2 = XLOG2DEV(points[i+1].x + xoffset);
+ wxCoord y1 = YLOG2DEV(points[i].y + yoffset); // oh, what a waste
+ wxCoord y2 = YLOG2DEV(points[i+1].y + yoffset);
if (m_window)
gdk_draw_line( m_window, m_penGC, x1, y1, x2, y2 );
}
}
-void wxWindowDC::DoDrawPolygon( int n, wxPoint points[], long xoffset, long yoffset, int WXUNUSED(fillStyle) )
+void wxWindowDC::DoDrawPolygon( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int WXUNUSED(fillStyle) )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
delete[] gdkpoints;
}
-void wxWindowDC::DoDrawRectangle( long x, long y, long width, long height )
+void wxWindowDC::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: draw nothing if transformed w or h is 0
if (ww == 0 || hh == 0) return;
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawRoundedRectangle( long x, long y, long width, long height, double radius )
+void wxWindowDC::DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
if (radius < 0.0) radius = - radius * ((width < height) ? width : height);
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
- long rr = XLOG2DEVREL((long)radius);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
+ wxCoord rr = XLOG2DEVREL((wxCoord)radius);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
{
// CMB: ensure dd is not larger than rectangle otherwise we
// get an hour glass shape
- long dd = 2 * rr;
+ wxCoord dd = 2 * rr;
if (dd > ww) dd = ww;
if (dd > hh) dd = hh;
rr = dd / 2;
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawEllipse( long x, long y, long width, long height )
+void wxWindowDC::DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- long xx = XLOG2DEV(x);
- long yy = YLOG2DEV(y);
- long ww = m_signX * XLOG2DEVREL(width);
- long hh = m_signY * YLOG2DEVREL(height);
+ wxCoord xx = XLOG2DEV(x);
+ wxCoord yy = YLOG2DEV(y);
+ wxCoord ww = m_signX * XLOG2DEVREL(width);
+ wxCoord hh = m_signY * YLOG2DEVREL(height);
// CMB: handle -ve width and/or height
if (ww < 0) { ww = -ww; xx = xx - ww; }
CalcBoundingBox( x + width, y + height );
}
-void wxWindowDC::DoDrawIcon( const wxIcon &icon, long x, long y )
+void wxWindowDC::DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y )
{
// VZ: egcs 1.0.3 refuses to compile this without cast, no idea why
DoDrawBitmap( (const wxBitmap&)icon, x, y, (bool)TRUE );
}
void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
- long x, long y,
+ wxCoord x, wxCoord y,
bool useMask )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
}
}
-bool wxWindowDC::DoBlit( long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc,
+bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
int logical_func, bool useMask )
{
/* this is the nth try to get this utterly useless function to
{
/* scale/translate bitmap size */
- long bm_width = memDC->m_selected.GetWidth();
- long bm_height = memDC->m_selected.GetHeight();
+ wxCoord bm_width = memDC->m_selected.GetWidth();
+ wxCoord bm_height = memDC->m_selected.GetHeight();
- long bm_ww = XLOG2DEVREL( bm_width );
- long bm_hh = YLOG2DEVREL( bm_height );
+ wxCoord bm_ww = XLOG2DEVREL( bm_width );
+ wxCoord bm_hh = YLOG2DEVREL( bm_height );
/* scale bitmap if required */
/* scale/translate size and position */
- long xx = XLOG2DEV(xdest);
- long yy = YLOG2DEV(ydest);
+ wxCoord xx = XLOG2DEV(xdest);
+ wxCoord yy = YLOG2DEV(ydest);
- long ww = XLOG2DEVREL(width);
- long hh = YLOG2DEVREL(height);
+ wxCoord ww = XLOG2DEVREL(width);
+ wxCoord hh = YLOG2DEVREL(height);
/* apply mask if any */
{
/* scale/translate size and position */
- long xx = XLOG2DEV(xdest);
- long yy = YLOG2DEV(ydest);
+ wxCoord xx = XLOG2DEV(xdest);
+ wxCoord yy = YLOG2DEV(ydest);
- long ww = XLOG2DEVREL(width);
- long hh = YLOG2DEVREL(height);
+ wxCoord ww = XLOG2DEVREL(width);
+ wxCoord hh = YLOG2DEVREL(height);
if ((width != ww) || (height != hh))
{
return TRUE;
}
-void wxWindowDC::DoDrawText( const wxString &text, long x, long y )
+void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
/* CMB 21/5/98: draw text background if mode is wxSOLID */
if (m_backgroundMode == wxSOLID)
{
- long width = gdk_string_width( font, text.mbc_str() );
- long height = font->ascent + font->descent;
+ wxCoord width = gdk_string_width( font, text.mbc_str() );
+ wxCoord height = font->ascent + font->descent;
gdk_gc_set_foreground( m_textGC, m_textBackgroundColour.GetColor() );
gdk_draw_rectangle( m_window, m_textGC, TRUE, x, y, width, height );
gdk_gc_set_foreground( m_textGC, m_textForegroundColour.GetColor() );
properties (see wxXt implementation) */
if (m_font.GetUnderlined())
{
- long width = gdk_string_width( font, text.mbc_str() );
- long ul_y = y + font->ascent;
+ wxCoord width = gdk_string_width( font, text.mbc_str() );
+ wxCoord ul_y = y + font->ascent;
if (font->descent > 0) ul_y++;
gdk_draw_line( m_window, m_textGC, x, ul_y, x + width, ul_y);
}
- long w, h;
+ wxCoord w, h;
GetTextExtent (text, &w, &h);
CalcBoundingBox (x + w, y + h);
CalcBoundingBox (x, y);
}
-void wxWindowDC::GetTextExtent( const wxString &string, long *width, long *height,
- long *descent, long *externalLeading,
- wxFont *theFont ) const
+void wxWindowDC::DoGetTextExtent(const wxString &string,
+ wxCoord *width, wxCoord *height,
+ wxCoord *descent, wxCoord *externalLeading,
+ wxFont *theFont) const
{
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
- if (width) (*width) = long(gdk_string_width( font, string.mbc_str() ) / m_scaleX);
- if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
- if (descent) (*descent) = long(font->descent / m_scaleY);
+ if (width) (*width) = wxCoord(gdk_string_width( font, string.mbc_str() ) / m_scaleX);
+ if (height) (*height) = wxCoord((font->ascent + font->descent) / m_scaleY);
+ if (descent) (*descent) = wxCoord(font->descent / m_scaleY);
if (externalLeading) (*externalLeading) = 0; // ??
}
-long wxWindowDC::GetCharWidth() const
+wxCoord wxWindowDC::GetCharWidth() const
{
GdkFont *font = m_font.GetInternalFont( m_scaleY );
- return long(gdk_string_width( font, "H" ) / m_scaleX);
+ return wxCoord(gdk_string_width( font, "H" ) / m_scaleX);
}
-long wxWindowDC::GetCharHeight() const
+wxCoord wxWindowDC::GetCharHeight() const
{
GdkFont *font = m_font.GetInternalFont( m_scaleY );
- return long((font->ascent + font->descent) / m_scaleY);
+ return wxCoord((font->ascent + font->descent) / m_scaleY);
}
void wxWindowDC::Clear()
static const char dotted[] = {1, 1};
static const char short_dashed[] = {2, 2};
- static const char long_dashed[] = {2, 4};
+ static const char wxCoord_dashed[] = {2, 4};
static const char dotted_dashed[] = {3, 3, 1, 3};
// We express dash pattern in pen width unit, so we are
{
lineStyle = GDK_LINE_ON_OFF_DASH;
req_nb_dash = 2;
- req_dash = long_dashed;
+ req_dash = wxCoord_dashed;
break;
}
case wxSHORT_DASH:
wxFAIL_MSG( wxT("wxWindowDC::SetPalette not implemented") );
}
-void wxWindowDC::DoSetClippingRegion( long x, long y, long width, long height )
+void wxWindowDC::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
{
wxCHECK_RET( Ok(), wxT("invalid window dc") );
// Author: Robert Roebling
// RCS-ID: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
wxMemoryDC::wxMemoryDC() : wxWindowDC()
{
m_ok = FALSE;
-
+
m_cmap = gtk_widget_get_default_colormap();
}
-wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
+wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
: wxWindowDC()
{
m_ok = FALSE;
-
+
m_cmap = gtk_widget_get_default_colormap();
}
{
m_window = m_selected.GetBitmap();
}
-
+
SetUpDC();
-
+
m_isMemDC = TRUE;
}
else
- {
+ {
m_ok = FALSE;
m_window = (GdkWindow *) NULL;
}
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
//-----------------------------------------------------------------------------
GdkWindow *wxScreenDC::sm_overlayWindow = (GdkWindow*) NULL;
- int wxScreenDC::sm_overlayWindowX = 0;
- int wxScreenDC::sm_overlayWindowY = 0;
+int wxScreenDC::sm_overlayWindowX = 0;
+int wxScreenDC::sm_overlayWindowY = 0;
-
//-----------------------------------------------------------------------------
// create X window
//-----------------------------------------------------------------------------
StructureNotifyMask,
PropertyChangeMask,
VisibilityChangeMask,
- 0, /* PROXIMITY_IN */
- 0 /* PROXIMTY_OUT */
+ 0, /* PROXIMITY_IN */
+ 0 /* PROXIMTY_OUT */
};
GdkWindow*
gdk_window_transparent_new ( GdkWindow *parent,
- GdkWindowAttr *attributes,
- gint attributes_mask)
+ GdkWindowAttr *attributes,
+ gint attributes_mask)
{
GdkWindow *window;
GdkWindowPrivate *gprivate;
gprivate->height = (attributes->height > 1) ? (attributes->height) : (1);
gprivate->window_type = attributes->window_type;
gprivate->extension_events = FALSE;
-
+
#if (GTK_MINOR_VERSION == 0)
gprivate->dnd_drag_data_type = None;
gprivate->dnd_drag_data_typesavail =
for (i = 0; i < my_nevent_masks; i++)
{
if (attributes->event_mask & (1 << (i + 1)))
- xattributes.event_mask |= my_event_masks_table[i];
+ xattributes.event_mask |= my_event_masks_table[i];
}
if (xattributes.event_mask)
xattributes_mask |= CWEventMask;
if(attributes_mask & GDK_WA_NOREDIR) {
- xattributes.override_redirect =
- (attributes->override_redirect == FALSE)?False:True;
- xattributes_mask |= CWOverrideRedirect;
+ xattributes.override_redirect =
+ (attributes->override_redirect == FALSE)?False:True;
+ xattributes_mask |= CWOverrideRedirect;
} else
xattributes.override_redirect = False;
depth = visual->depth;
if (attributes_mask & GDK_WA_COLORMAP)
- gprivate->colormap = attributes->colormap;
+ gprivate->colormap = attributes->colormap;
else
- gprivate->colormap = gdk_colormap_get_system ();
+ gprivate->colormap = gdk_colormap_get_system ();
- xattributes.colormap = ((GdkColormapPrivate*) gprivate->colormap)->xcolormap;
- xattributes_mask |= CWColormap;
+ xattributes.colormap = ((GdkColormapPrivate*) gprivate->colormap)->xcolormap;
+ xattributes_mask |= CWColormap;
- xparent = gdk_root_window;
+ xparent = gdk_root_window;
- xattributes.save_under = True;
- xattributes.override_redirect = True;
- xattributes.cursor = None;
- xattributes_mask |= CWSaveUnder | CWOverrideRedirect;
+ xattributes.save_under = True;
+ xattributes.override_redirect = True;
+ xattributes.cursor = None;
+ xattributes_mask |= CWSaveUnder | CWOverrideRedirect;
gprivate->xwindow = XCreateWindow (gprivate->xdisplay, xparent,
- x, y, gprivate->width, gprivate->height,
- 0, depth, gclass, xvisual,
- xattributes_mask, &xattributes);
+ x, y, gprivate->width, gprivate->height,
+ 0, depth, gclass, xvisual,
+ xattributes_mask, &xattributes);
gdk_window_ref (window);
gdk_xid_table_insert (&gprivate->xwindow, window);
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC,wxPaintDC)
-wxScreenDC::wxScreenDC(void)
+wxScreenDC::wxScreenDC()
{
m_ok = FALSE;
m_window = (GdkWindow *) NULL;
m_cmap = gdk_colormap_get_system();
-
+
if (sm_overlayWindow)
{
m_window = sm_overlayWindow;
{
m_window = GDK_ROOT_PARENT();
}
-
+
SetUpDC();
-
+
gdk_gc_set_subwindow( m_penGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_brushGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_textGC, GDK_INCLUDE_INFERIORS );
gdk_gc_set_subwindow( m_bgGC, GDK_INCLUDE_INFERIORS );
}
-wxScreenDC::~wxScreenDC(void)
+wxScreenDC::~wxScreenDC()
{
EndDrawingOnTop();
}
bool wxScreenDC::StartDrawingOnTop( wxWindow *window )
{
if (!window) return StartDrawingOnTop();
-
+
int x = 0;
int y = 0;
window->GetPosition( &x, &y );
int h = 0;
window->GetSize( &w, &h );
window->ClientToScreen( &x, &y );
-
+
wxRect rect;
rect.x = x;
rect.y = y;
rect.width = 0;
rect.height = 0;
-
+
return StartDrawingOnTop( &rect );
}
width = rect->width;
height = rect->height;
}
-
+
sm_overlayWindowX = x;
sm_overlayWindowY = y;
attr.wclass = GDK_INPUT_OUTPUT;
attr.event_mask = 0;
attr.window_type = GDK_WINDOW_TEMP;
-
+
// GTK cannot set transparent backgrounds. :-(
sm_overlayWindow = gdk_window_transparent_new( NULL, &attr, GDK_WA_NOREDIR | GDK_WA_X | GDK_WA_Y );
-
+
if (sm_overlayWindow) gdk_window_show( sm_overlayWindow );
return (sm_overlayWindow != NULL);
}
-bool wxScreenDC::EndDrawingOnTop(void)
+bool wxScreenDC::EndDrawingOnTop()
{
if (sm_overlayWindow) gdk_window_destroy( sm_overlayWindow );
-
+
sm_overlayWindow = NULL;
sm_overlayWindowX = 0;
sm_overlayWindowY = 0;
-
+
return TRUE;
}
#include "wx/wx.h"
#endif
-#if wxUSE_PRINTING_ARCHITECTURE
+#if wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#include "wx/print.h"
#include "wx/printdlg.h"
-#endif // wxUSE_PRINTING_ARCHITECTURE
+#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
extern char *wxBuffer;
extern wxList wxPendingDelete;
-#if wxUSE_THREADS
-extern wxList *wxPendingEvents;
-extern wxCriticalSection *wxPendingEventsLocker;
-#endif // wxUSE_THREADS
-
wxApp *wxTheApp = NULL;
wxHashTable *wxWidgetHashTable = NULL;
// GL: I'm annoyed ... I don't know where to put this and I don't want to
// create a module for that as it's part of the core.
#if wxUSE_THREADS
- wxPendingEvents = new wxList();
wxPendingEventsLocker = new wxCriticalSection();
#endif
}
}
-#if wxUSE_THREADS
-void wxApp::ProcessPendingEvents()
-{
- wxNode *node = wxPendingEvents->First();
- wxCriticalSectionLocker locker(*wxPendingEventsLocker);
-
- while (node)
- {
- wxEvtHandler *handler = (wxEvtHandler *)node->Data();
-
- handler->ProcessPendingEvents();
-
- delete node;
- node = wxPendingEvents->First();
- }
-}
-#endif // wxUSE_THREADS
-
// Create an application context
bool wxApp::OnInitGui()
{
// List of windows pending deletion
wxList wxPendingDelete;
-#if wxUSE_THREADS
-// List of events pending propagation
-wxList *wxPendingEvents = NULL;
-wxCriticalSection *wxPendingEventsLocker = NULL;
-#endif
-
int wxPageNumber;
// GDI Object Lists
#ifdef __GNUG__
#pragma implementation "app.h"
- #pragma implementation "appbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/msgdlg.h"
#include "wx/intl.h"
#include "wx/dynarray.h"
-# include "wx/wxchar.h"
-# include "wx/icon.h"
+ #include "wx/wxchar.h"
+ #include "wx/icon.h"
#endif
#include "wx/log.h"
return event.MoreRequested();
}
-void wxApp::ProcessPendingEvents()
-{
-#if wxUSE_THREADS
- // ensure that we're the only thread to modify the pending events list
- wxCriticalSectionLocker locker(*wxPendingEventsLocker);
-#endif
-
- if ( !wxPendingEvents )
- return;
-
- wxNode *node = wxPendingEvents->First();
- while (node)
- {
- wxEvtHandler *handler = (wxEvtHandler *)node->Data();
-
- handler->ProcessPendingEvents();
-
- delete node;
- node = wxPendingEvents->First();
- }
-}
-
void wxApp::ExitMainLoop()
{
m_keepGoing = FALSE;
// clipping
// ---------------------------------------------------------------------------
-void wxDC::DoSetClippingRegion(long cx, long cy, long cw, long ch)
+void wxDC::DoSetClippingRegion(wxCoord cx, wxCoord cy, wxCoord cw, wxCoord ch)
{
m_clipping = TRUE;
m_clipX1 = (int)cx;
::SetWindowOrgEx(GetHdc(), (int)m_logicalOriginX, (int)m_logicalOriginY, NULL);
}
-void wxDC::DoFloodFill(long x, long y, const wxColour& col, int style)
+void wxDC::DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, int style)
{
(void)ExtFloodFill(GetHdc(), XLOG2DEV(x), YLOG2DEV(y),
col.GetPixel(),
CalcBoundingBox(x, y);
}
-bool wxDC::DoGetPixel(long x, long y, wxColour *col) const
+bool wxDC::DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const
{
// added by steve 29.12.94 (copied from DrawPoint)
// returns TRUE for pixels in the color of the current pen
return(pixelcolor==pencolor);
}
-void wxDC::DoCrossHair(long x, long y)
+void wxDC::DoCrossHair(wxCoord x, wxCoord y)
{
- long x1 = x-VIEWPORT_EXTENT;
- long y1 = y-VIEWPORT_EXTENT;
- long x2 = x+VIEWPORT_EXTENT;
- long y2 = y+VIEWPORT_EXTENT;
+ wxCoord x1 = x-VIEWPORT_EXTENT;
+ wxCoord y1 = y-VIEWPORT_EXTENT;
+ wxCoord x2 = x+VIEWPORT_EXTENT;
+ wxCoord y2 = y+VIEWPORT_EXTENT;
(void)MoveToEx(GetHdc(), XLOG2DEV(x1), YLOG2DEV(y), NULL);
(void)LineTo(GetHdc(), XLOG2DEV(x2), YLOG2DEV(y));
CalcBoundingBox(x2, y2);
}
-void wxDC::DoDrawLine(long x1, long y1, long x2, long y2)
+void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
{
(void)MoveToEx(GetHdc(), XLOG2DEV(x1), YLOG2DEV(y1), NULL);
(void)LineTo(GetHdc(), XLOG2DEV(x2), YLOG2DEV(y2));
CalcBoundingBox(x2, y2);
}
-void wxDC::DoDrawArc(long x1,long y1,long x2,long y2, long xc, long yc)
+void wxDC::DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2, wxCoord xc, wxCoord yc)
{
double dx = xc-x1;
double dy = yc-y1;
double radius = (double)sqrt(dx*dx+dy*dy) ;;
if (x1==x2 && x2==y2)
{
- DrawEllipse(xc,yc,(long)(radius*2.0),(long)(radius*2.0));
+ DrawEllipse(xc,yc,(wxCoord)(radius*2.0),(wxCoord)(radius*2.0));
return;
}
- long xx1 = XLOG2DEV(x1);
- long yy1 = YLOG2DEV(y1);
- long xx2 = XLOG2DEV(x2);
- long yy2 = YLOG2DEV(y2);
- long xxc = XLOG2DEV(xc);
- long yyc = YLOG2DEV(yc);
- long ray = (long) sqrt(double((xxc-xx1)*(xxc-xx1)+(yyc-yy1)*(yyc-yy1)));
+ wxCoord xx1 = XLOG2DEV(x1);
+ wxCoord yy1 = YLOG2DEV(y1);
+ wxCoord xx2 = XLOG2DEV(x2);
+ wxCoord yy2 = YLOG2DEV(y2);
+ wxCoord xxc = XLOG2DEV(xc);
+ wxCoord yyc = YLOG2DEV(yc);
+ wxCoord ray = (wxCoord) sqrt(double((xxc-xx1)*(xxc-xx1)+(yyc-yy1)*(yyc-yy1)));
(void)MoveToEx(GetHdc(), (int) xx1, (int) yy1, NULL);
- long xxx1 = (long) (xxc-ray);
- long yyy1 = (long) (yyc-ray);
- long xxx2 = (long) (xxc+ray);
- long yyy2 = (long) (yyc+ray);
+ wxCoord xxx1 = (wxCoord) (xxc-ray);
+ wxCoord yyy1 = (wxCoord) (yyc-ray);
+ wxCoord xxx2 = (wxCoord) (xxc+ray);
+ wxCoord yyy2 = (wxCoord) (yyc+ray);
if (m_brush.Ok() && m_brush.GetStyle() !=wxTRANSPARENT)
{
// Have to add 1 to bottom-right corner of rectangle
Arc(GetHdc(),xxx1,yyy1,xxx2,yyy2,
xx1,yy1,xx2,yy2);
- CalcBoundingBox((long)(xc-radius), (long)(yc-radius));
- CalcBoundingBox((long)(xc+radius), (long)(yc+radius));
+ CalcBoundingBox((wxCoord)(xc-radius), (wxCoord)(yc-radius));
+ CalcBoundingBox((wxCoord)(xc+radius), (wxCoord)(yc+radius));
}
-void wxDC::DoDrawPoint(long x, long y)
+void wxDC::DoDrawPoint(wxCoord x, wxCoord y)
{
COLORREF color = 0x00ffffff;
if (m_pen.Ok())
CalcBoundingBox(x, y);
}
-void wxDC::DoDrawPolygon(int n, wxPoint points[], long xoffset, long yoffset,int fillStyle)
+void wxDC::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset,int fillStyle)
{
// Do things less efficiently if we have offsets
if (xoffset != 0 || yoffset != 0)
}
}
-void wxDC::DoDrawLines(int n, wxPoint points[], long xoffset, long yoffset)
+void wxDC::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
{
// Do things less efficiently if we have offsets
if (xoffset != 0 || yoffset != 0)
}
}
-void wxDC::DoDrawRectangle(long x, long y, long width, long height)
+void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{
- long x2 = x + width;
- long y2 = y + height;
+ wxCoord x2 = x + width;
+ wxCoord y2 = y + height;
/* MATTHEW: [6] new normalization */
#if WX_STANDARD_GRAPHICS
CalcBoundingBox(x2, y2);
}
-void wxDC::DoDrawRoundedRectangle(long x, long y, long width, long height, double radius)
+void wxDC::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
{
// Now, a negative radius value is interpreted to mean
// 'the proportion of the smallest X or Y dimension'
radius = (- radius * smallest);
}
- long x2 = (x+width);
- long y2 = (y+height);
+ wxCoord x2 = (x+width);
+ wxCoord y2 = (y+height);
(void)RoundRect(GetHdc(), XLOG2DEV(x), YLOG2DEV(y), XLOG2DEV(x2),
YLOG2DEV(y2), (int) (2*XLOG2DEV(radius)), (int)( 2*YLOG2DEV(radius)));
CalcBoundingBox(x2, y2);
}
-void wxDC::DoDrawEllipse(long x, long y, long width, long height)
+void wxDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{
- long x2 = (x+width);
- long y2 = (y+height);
+ wxCoord x2 = (x+width);
+ wxCoord y2 = (y+height);
(void)Ellipse(GetHdc(), XLOG2DEV(x), YLOG2DEV(y), XLOG2DEV(x2), YLOG2DEV(y2));
}
// Chris Breeze 20/5/98: first implementation of DrawEllipticArc on Windows
-void wxDC::DoDrawEllipticArc(long x,long y,long w,long h,double sa,double ea)
+void wxDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
{
- long x2 = (x+w);
- long y2 = (y+h);
+ wxCoord x2 = (x+w);
+ wxCoord y2 = (y+h);
const double deg2rad = 3.14159265359 / 180.0;
int rx1 = XLOG2DEV(x+w/2);
CalcBoundingBox(x2, y2);
}
-void wxDC::DoDrawIcon(const wxIcon& icon, long x, long y)
+void wxDC::DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y)
{
#if defined(__WIN32__) && !defined(__SC__) && !defined(__TWIN32__)
::DrawIconEx(GetHdc(), XLOG2DEV(x), YLOG2DEV(y), (HICON) icon.GetHICON(),
CalcBoundingBox(x+icon.GetWidth(), y+icon.GetHeight());
}
-void wxDC::DoDrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask )
+void wxDC::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask )
{
if (!bmp.Ok())
return;
}
}
-void wxDC::DoDrawText(const wxString& text, long x, long y)
+void wxDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y)
{
if (m_textForegroundColour.Ok())
SetTextColor(GetHdc(), m_textForegroundColour.GetPixel() );
CalcBoundingBox(x, y);
- long w, h;
+ wxCoord w, h;
GetTextExtent(text, &w, &h);
CalcBoundingBox((x + w), (y + h));
}
// text metrics
// ---------------------------------------------------------------------------
-long wxDC::GetCharHeight() const
+wxCoord wxDC::GetCharHeight() const
{
TEXTMETRIC lpTextMetric;
return YDEV2LOGREL(lpTextMetric.tmHeight);
}
-long wxDC::GetCharWidth() const
+wxCoord wxDC::GetCharWidth() const
{
TEXTMETRIC lpTextMetric;
return XDEV2LOGREL(lpTextMetric.tmAveCharWidth);
}
-void wxDC::GetTextExtent(const wxString& string, long *x, long *y,
- long *descent, long *externalLeading,
- wxFont *theFont) const
+void wxDC::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
+ wxCoord *descent, wxCoord *externalLeading,
+ wxFont *theFont) const
{
wxFont *fontToUse = (wxFont*) theFont;
if (!fontToUse)
SetMapMode(m_mappingMode);
}
-void wxDC::SetLogicalOrigin(long x, long y)
+void wxDC::SetLogicalOrigin(wxCoord x, wxCoord y)
{
m_logicalOriginX = x;
m_logicalOriginY = y;
::SetWindowOrgEx(GetHdc(), (int)m_logicalOriginX, (int)m_logicalOriginY, NULL);
}
-void wxDC::SetDeviceOrigin(long x, long y)
+void wxDC::SetDeviceOrigin(wxCoord x, wxCoord y)
{
m_deviceOriginX = x;
m_deviceOriginY = y;
// coordinates transformations
// ---------------------------------------------------------------------------
-long wxDCBase::DeviceToLogicalX(long x) const
+wxCoord wxDCBase::DeviceToLogicalX(wxCoord x) const
{
- return (long) (((x) - m_deviceOriginX)/(m_logicalScaleX*m_userScaleX*m_signX*m_scaleX) - m_logicalOriginX);
+ return (wxCoord) (((x) - m_deviceOriginX)/(m_logicalScaleX*m_userScaleX*m_signX*m_scaleX) - m_logicalOriginX);
}
-long wxDCBase::DeviceToLogicalXRel(long x) const
+wxCoord wxDCBase::DeviceToLogicalXRel(wxCoord x) const
{
- return (long) ((x)/(m_logicalScaleX*m_userScaleX*m_signX*m_scaleX));
+ return (wxCoord) ((x)/(m_logicalScaleX*m_userScaleX*m_signX*m_scaleX));
}
-long wxDCBase::DeviceToLogicalY(long y) const
+wxCoord wxDCBase::DeviceToLogicalY(wxCoord y) const
{
- return (long) (((y) - m_deviceOriginY)/(m_logicalScaleY*m_userScaleY*m_signY*m_scaleY) - m_logicalOriginY);
+ return (wxCoord) (((y) - m_deviceOriginY)/(m_logicalScaleY*m_userScaleY*m_signY*m_scaleY) - m_logicalOriginY);
}
-long wxDCBase::DeviceToLogicalYRel(long y) const
+wxCoord wxDCBase::DeviceToLogicalYRel(wxCoord y) const
{
- return (long) ((y)/(m_logicalScaleY*m_userScaleY*m_signY*m_scaleY));
+ return (wxCoord) ((y)/(m_logicalScaleY*m_userScaleY*m_signY*m_scaleY));
}
-long wxDCBase::LogicalToDeviceX(long x) const
+wxCoord wxDCBase::LogicalToDeviceX(wxCoord x) const
{
- return (long) ((x - m_logicalOriginX)*m_logicalScaleX*m_userScaleX*m_signX*m_scaleX + m_deviceOriginX);
+ return (wxCoord) ((x - m_logicalOriginX)*m_logicalScaleX*m_userScaleX*m_signX*m_scaleX + m_deviceOriginX);
}
-long wxDCBase::LogicalToDeviceXRel(long x) const
+wxCoord wxDCBase::LogicalToDeviceXRel(wxCoord x) const
{
- return (long) (x*m_logicalScaleX*m_userScaleX*m_signX*m_scaleX);
+ return (wxCoord) (x*m_logicalScaleX*m_userScaleX*m_signX*m_scaleX);
}
-long wxDCBase::LogicalToDeviceY(long y) const
+wxCoord wxDCBase::LogicalToDeviceY(wxCoord y) const
{
- return (long) ((y - m_logicalOriginY)*m_logicalScaleY*m_userScaleY*m_signY*m_scaleY + m_deviceOriginY);
+ return (wxCoord) ((y - m_logicalOriginY)*m_logicalScaleY*m_userScaleY*m_signY*m_scaleY + m_deviceOriginY);
}
-long wxDCBase::LogicalToDeviceYRel(long y) const
+wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const
{
- return (long) (y*m_logicalScaleY*m_userScaleY*m_signY*m_scaleY);
+ return (wxCoord) (y*m_logicalScaleY*m_userScaleY*m_signY*m_scaleY);
}
// ---------------------------------------------------------------------------
// bit blit
// ---------------------------------------------------------------------------
-bool wxDC::DoBlit(long xdest, long ydest, long width, long height,
- wxDC *source, long xsrc, long ysrc, int rop, bool useMask)
+bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask)
{
- long xdest1 = xdest;
- long ydest1 = ydest;
- long xsrc1 = xsrc;
- long ysrc1 = ysrc;
+ wxCoord xdest1 = xdest;
+ wxCoord ydest1 = ydest;
+ wxCoord xsrc1 = xsrc;
+ wxCoord ysrc1 = ysrc;
// Chris Breeze 18/5/98: use text foreground/background colours
// when blitting from 1-bit bitmaps
float *descent, float *externalLeading,
wxFont *theFont, bool use16bit) const
{
- long x1, y1, descent1, externalLeading1;
+ wxCoord x1, y1, descent1, externalLeading1;
GetTextExtent(string, & x1, & y1, & descent1, & externalLeading1, theFont, use16bit);
*x = x1; *y = y1;
if (descent)
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
#
COMMONOBJS = \
$(MSWDIR)\y_tab.obj \
+ $(MSWDIR)\appcmn.obj \
$(MSWDIR)\choiccmn.obj \
$(MSWDIR)\cmndata.obj \
$(MSWDIR)\config.obj \
########################################################
# Common objects (always compiled)
+$(MSWDIR)\appcmn.obj: $(COMMDIR)\appcmn.$(SRCSUFF)
+
$(MSWDIR)\choiccmn.obj: $(COMMDIR)\choiccmn.$(SRCSUFF)
$(MSWDIR)\cmndata.obj: $(COMMDIR)\cmndata.$(SRCSUFF)
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
#
COMMONOBJS = \
$(MSWDIR)\y_tab.obj \
+ $(MSWDIR)\appcmn.obj \
$(MSWDIR)\choiccmn.obj \
$(MSWDIR)\cmndata.obj \
$(MSWDIR)\config.obj \
########################################################
# Common objects (always compiled)
+$(MSWDIR)\appcmn.obj: $(COMMDIR)\appcmn.$(SRCSUFF)
+
$(MSWDIR)\choiccmn.obj: $(COMMDIR)\choiccmn.$(SRCSUFF)
$(MSWDIR)\cmndata.obj: $(COMMDIR)\cmndata.$(SRCSUFF)
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
#
COMMONOBJS = \
$(COMMDIR)\y_tab.obj \
+ $(COMMDIR)\appcmn.obj \
$(COMMDIR)\choiccmn.obj \
$(COMMDIR)\cmndata.obj \
$(COMMDIR)\config.obj \
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
+$(COMMDIR)/appcmn.obj: $*.$(SRCSUFF)
+ cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
+<<
+
$(COMMDIR)/choiccmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
#
COMMONOBJS = \
$(COMMDIR)/y_tab.$(OBJSUFF) \
+ $(COMMDIR)/appcmn.$(OBJSUFF) \
$(COMMDIR)/choiccmn.$(OBJSUFF) \
$(COMMDIR)/cmndata.$(OBJSUFF) \
$(COMMDIR)/config.$(OBJSUFF) \
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
# Symantec C++ makefile for the msw objects
COMMONOBJS = \
$(COMMDIR)\y_tab.obj \
+ $(COMMDIR)\appcmn.obj \
$(COMMDIR)\choiccmn.obj \
$(COMMDIR)\cmndata.obj \
$(COMMDIR)\config.obj \
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
# File: makefile.vc
COMMONOBJS = \
..\common\$D\y_tab.obj \
+ ..\common\$D\appcmn.obj \
..\common\$D\choiccmn.obj \
..\common\$D\cmndata.obj \
..\common\$D\config.obj \
-# This file was automatically generated by tmake at 22:30, 1999/10/16
+# This file was automatically generated by tmake at 15:50, 1999/10/18
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
#!/binb/wmake.exe
COMMONOBJS = &
y_tab.obj &
+ appcmn.obj &
choiccmn.obj &
cmndata.obj &
config.obj &
########################################################
# Common objects (always compiled)
+appcmn.obj: $(COMMDIR)\appcmn.cpp
+ *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
choiccmn.obj: $(COMMDIR)\choiccmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<