Merged the wxPy_newswig branch into the HEAD branch (main trunk)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
727
wxPython/src/_dc.i
Normal file
727
wxPython/src/_dc.i
Normal file
@@ -0,0 +1,727 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: _dc.i
|
||||
// Purpose: SWIG interface defs for wxDC and releated classes
|
||||
//
|
||||
// Author: Robin Dunn
|
||||
//
|
||||
// Created: 7-July-1997
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2003 by Total Control Software
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Not a %module
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
%{
|
||||
#include "wx/wxPython/pydrawxxx.h"
|
||||
%}
|
||||
|
||||
// TODO: 1. wrappers for wxDrawObject and wxDC::DrawObject
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
%typemap(in) (int points, wxPoint* points_array ) {
|
||||
$2 = wxPoint_LIST_helper($input, &$1);
|
||||
if ($2 == NULL) SWIG_fail;
|
||||
}
|
||||
%typemap(freearg) (int points, wxPoint* points_array ) {
|
||||
if ($2) delete [] $2;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup;
|
||||
|
||||
|
||||
// wxDC is the device context - object on which any drawing is done
|
||||
class wxDC : public wxObject {
|
||||
public:
|
||||
// wxDC(); **** abstract base class, can't instantiate.
|
||||
~wxDC();
|
||||
|
||||
|
||||
virtual void BeginDrawing();
|
||||
virtual void EndDrawing();
|
||||
|
||||
|
||||
// virtual void DrawObject(wxDrawObject* drawobject);
|
||||
|
||||
|
||||
|
||||
#if 0 // The old way
|
||||
|
||||
bool FloodFill(wxCoord x, wxCoord y, const wxColour& col, int style = wxFLOOD_SURFACE);
|
||||
//bool GetPixel(wxCoord x, wxCoord y, wxColour *col) const;
|
||||
%extend {
|
||||
wxColour GetPixel(wxCoord x, wxCoord y) {
|
||||
wxColour col;
|
||||
self->GetPixel(x, y, &col);
|
||||
return col;
|
||||
}
|
||||
}
|
||||
void DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
|
||||
void CrossHair(wxCoord x, wxCoord y);
|
||||
void DrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord xc, wxCoord yc);
|
||||
void DrawCheckMark(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
void DrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h, double sa, double ea);
|
||||
void DrawPoint(wxCoord x, wxCoord y);
|
||||
void DrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
%name(DrawRectangleRect)void DrawRectangle(const wxRect& rect);
|
||||
void DrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius);
|
||||
void DrawCircle(wxCoord x, wxCoord y, wxCoord radius);
|
||||
void DrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
|
||||
void DrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask = FALSE);
|
||||
void DrawText(const wxString& text, wxCoord x, wxCoord y);
|
||||
void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
|
||||
bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
|
||||
wxDC *source, wxCoord xsrc, wxCoord ysrc,
|
||||
int rop = wxCOPY, bool useMask = FALSE,
|
||||
wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
|
||||
|
||||
|
||||
|
||||
#else // The new way
|
||||
|
||||
%name(FloodFillXY) bool FloodFill(wxCoord x, wxCoord y, const wxColour& col, int style = wxFLOOD_SURFACE);
|
||||
bool FloodFill(const wxPoint& pt, const wxColour& col, int style = wxFLOOD_SURFACE);
|
||||
|
||||
//%name(GetPixelXY) bool GetPixel(wxCoord x, wxCoord y, wxColour *col) const;
|
||||
//bool GetPixel(const wxPoint& pt, wxColour *col) const;
|
||||
%extend {
|
||||
wxColour GetPixelXY(wxCoord x, wxCoord y) {
|
||||
wxColour col;
|
||||
self->GetPixel(x, y, &col);
|
||||
return col;
|
||||
}
|
||||
wxColour GetPixel(const wxPoint& pt) {
|
||||
wxColour col;
|
||||
self->GetPixel(pt, &col);
|
||||
return col;
|
||||
}
|
||||
}
|
||||
%name(DrawLineXY) void DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
|
||||
void DrawLine(const wxPoint& pt1, const wxPoint& pt2);
|
||||
|
||||
%name(CrossHairXY) void CrossHair(wxCoord x, wxCoord y);
|
||||
void CrossHair(const wxPoint& pt);
|
||||
|
||||
%name(DrawArcXY) void DrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord xc, wxCoord yc);
|
||||
void DrawArc(const wxPoint& pt1, const wxPoint& pt2, const wxPoint& centre);
|
||||
|
||||
%name(DrawCheckMarkXY) void DrawCheckMark(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
void DrawCheckMark(const wxRect& rect);
|
||||
|
||||
%name(DrawEllipticArcXY) void DrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h, double sa, double ea);
|
||||
void DrawEllipticArc(const wxPoint& pt, const wxSize& sz, double sa, double ea);
|
||||
|
||||
%name(DrawPointXY) void DrawPoint(wxCoord x, wxCoord y);
|
||||
void DrawPoint(const wxPoint& pt);
|
||||
|
||||
%name(DrawRectangleXY) void DrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
void DrawRectangle(const wxPoint& pt, const wxSize& sz);
|
||||
%name(DrawRectangleRect) void DrawRectangle(const wxRect& rect);
|
||||
|
||||
%name(DrawRoundedRectangleXY) void DrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius);
|
||||
void DrawRoundedRectangle(const wxPoint& pt, const wxSize& sz, double radius);
|
||||
%name(DrawRoundedRectangleRect) void DrawRoundedRectangle(const wxRect& r, double radius);
|
||||
|
||||
%name(DrawCircleXY) void DrawCircle(wxCoord x, wxCoord y, wxCoord radius);
|
||||
void DrawCircle(const wxPoint& pt, wxCoord radius);
|
||||
|
||||
%name(DrawEllipseXY) void DrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
void DrawEllipse(const wxPoint& pt, const wxSize& sz);
|
||||
%name(DrawEllipseRect) void DrawEllipse(const wxRect& rect);
|
||||
|
||||
%name(DrawIconXY) void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
|
||||
void DrawIcon(const wxIcon& icon, const wxPoint& pt);
|
||||
|
||||
%name(DrawBitmapXY) void DrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask = FALSE);
|
||||
void DrawBitmap(const wxBitmap &bmp, const wxPoint& pt, bool useMask = FALSE);
|
||||
|
||||
%name(DrawTextXY) void DrawText(const wxString& text, wxCoord x, wxCoord y);
|
||||
void DrawText(const wxString& text, const wxPoint& pt);
|
||||
|
||||
%name(DrawRotatedTextXY) void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
|
||||
void DrawRotatedText(const wxString& text, const wxPoint& pt, double angle);
|
||||
|
||||
|
||||
%name(BlitXY) bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
|
||||
wxDC *source, wxCoord xsrc, wxCoord ysrc,
|
||||
int rop = wxCOPY, bool useMask = FALSE,
|
||||
wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
|
||||
bool Blit(const wxPoint& destPt, const wxSize& sz,
|
||||
wxDC *source, const wxPoint& srcPt,
|
||||
int rop = wxCOPY, bool useMask = FALSE,
|
||||
const wxPoint& srcPtMask = wxDefaultPosition);
|
||||
|
||||
#endif
|
||||
|
||||
void DrawLines(int points, wxPoint* points_array, wxCoord xoffset = 0, wxCoord yoffset = 0);
|
||||
|
||||
void DrawPolygon(int points, wxPoint* points_array,
|
||||
wxCoord xoffset = 0, wxCoord yoffset = 0,
|
||||
int fillStyle = wxODDEVEN_RULE);
|
||||
|
||||
|
||||
// this version puts both optional bitmap and the text into the given
|
||||
// rectangle and aligns is as specified by alignment parameter; it also
|
||||
// will emphasize the character with the given index if it is != -1 and
|
||||
// return the bounding rectangle if required
|
||||
void DrawLabel(const wxString& text, const wxRect& rect,
|
||||
int alignment = wxALIGN_LEFT | wxALIGN_TOP,
|
||||
int indexAccel = -1);
|
||||
%extend {
|
||||
wxRect DrawImageLabel(const wxString& text,
|
||||
const wxBitmap& image,
|
||||
const wxRect& rect,
|
||||
int alignment = wxALIGN_LEFT | wxALIGN_TOP,
|
||||
int indexAccel = -1) {
|
||||
wxRect rv;
|
||||
self->DrawLabel(text, image, rect, alignment, indexAccel, &rv);
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DrawSpline(int points, wxPoint* points_array);
|
||||
|
||||
|
||||
|
||||
// global DC operations
|
||||
// --------------------
|
||||
|
||||
virtual void Clear();
|
||||
|
||||
virtual bool StartDoc(const wxString& message);
|
||||
virtual void EndDoc();
|
||||
|
||||
virtual void StartPage();
|
||||
virtual void EndPage();
|
||||
|
||||
|
||||
// set objects to use for drawing
|
||||
// ------------------------------
|
||||
|
||||
virtual void SetFont(const wxFont& font);
|
||||
virtual void SetPen(const wxPen& pen);
|
||||
virtual void SetBrush(const wxBrush& brush);
|
||||
virtual void SetBackground(const wxBrush& brush);
|
||||
virtual void SetBackgroundMode(int mode);
|
||||
virtual void SetPalette(const wxPalette& palette);
|
||||
|
||||
|
||||
// clipping region
|
||||
// ---------------
|
||||
|
||||
void SetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
|
||||
//void SetClippingRegion(const wxPoint& pt, const wxSize& sz)
|
||||
%name(SetClippingRect) void SetClippingRegion(const wxRect& rect);
|
||||
%name(SetClippingRegionAsRegion) void SetClippingRegion(const wxRegion& region);
|
||||
|
||||
virtual void DestroyClippingRegion();
|
||||
|
||||
void GetClippingBox(wxCoord *OUTPUT, wxCoord *OUTPUT, wxCoord *OUTPUT, wxCoord *OUTPUT) const;
|
||||
%extend {
|
||||
wxRect GetClippingRect() {
|
||||
wxRect rect;
|
||||
self->GetClippingBox(rect);
|
||||
return rect;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// text extent
|
||||
// -----------
|
||||
|
||||
virtual wxCoord GetCharHeight() const;
|
||||
virtual wxCoord GetCharWidth() const;
|
||||
|
||||
// only works for single line strings
|
||||
void GetTextExtent(const wxString& string, wxCoord *OUTPUT, wxCoord *OUTPUT);
|
||||
%name(GetFullTextExtent)void GetTextExtent(const wxString& string,
|
||||
wxCoord *OUTPUT, wxCoord *OUTPUT, wxCoord *OUTPUT, wxCoord* OUTPUT,
|
||||
wxFont* font = NULL);
|
||||
|
||||
// works for single as well as multi-line strings
|
||||
void GetMultiLineTextExtent(const wxString& text, wxCoord *OUTPUT, wxCoord *OUTPUT, wxCoord *OUTPUT,
|
||||
wxFont *font = NULL);
|
||||
|
||||
|
||||
// size and resolution
|
||||
// -------------------
|
||||
|
||||
// in device units
|
||||
%name(GetSizeTuple)void GetSize(int* OUTPUT, int* OUTPUT);
|
||||
wxSize GetSize();
|
||||
|
||||
// in mm
|
||||
%name(GetSizeMMWH)void GetSizeMM(int* OUTPUT, int* OUTPUT) const;
|
||||
wxSize GetSizeMM() const;
|
||||
|
||||
|
||||
// coordinates conversions
|
||||
// -----------------------
|
||||
|
||||
// This group of functions does actual conversion of the input, as you'd
|
||||
// expect.
|
||||
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
|
||||
// ---------------------
|
||||
|
||||
virtual bool CanDrawBitmap() const;
|
||||
virtual bool CanGetTextExtent() const;
|
||||
|
||||
// colour depth
|
||||
virtual int GetDepth() const;
|
||||
|
||||
// Resolution in Pixels per inch
|
||||
virtual wxSize GetPPI() const;
|
||||
|
||||
virtual bool Ok() const;
|
||||
|
||||
|
||||
|
||||
int GetBackgroundMode() const;
|
||||
const wxBrush& GetBackground() const;
|
||||
const wxBrush& GetBrush() const;
|
||||
const wxFont& GetFont() const;
|
||||
const wxPen& GetPen() const;
|
||||
const wxColour& GetTextBackground() const;
|
||||
const wxColour& GetTextForeground() const;
|
||||
|
||||
virtual void SetTextForeground(const wxColour& colour);
|
||||
virtual void SetTextBackground(const wxColour& colour);
|
||||
|
||||
int GetMapMode() const;
|
||||
virtual void SetMapMode(int mode);
|
||||
|
||||
virtual void GetUserScale(double *OUTPUT, double *OUTPUT) const;
|
||||
virtual void SetUserScale(double x, double y);
|
||||
|
||||
virtual void GetLogicalScale(double *OUTPUT, double *OUTPUT);
|
||||
virtual void SetLogicalScale(double x, double y);
|
||||
|
||||
%name(GetLogicalOriginTuple) void GetLogicalOrigin(wxCoord *OUTPUT, wxCoord *OUTPUT) const;
|
||||
wxPoint GetLogicalOrigin() const;
|
||||
virtual void SetLogicalOrigin(wxCoord x, wxCoord y);
|
||||
|
||||
|
||||
%name(GetDeviceOriginTuple) void GetDeviceOrigin(wxCoord *OUTPUT, wxCoord *OUTPUT) const;
|
||||
wxPoint GetDeviceOrigin() const;
|
||||
virtual void SetDeviceOrigin(wxCoord x, wxCoord y);
|
||||
|
||||
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
|
||||
|
||||
int GetLogicalFunction() const;
|
||||
virtual void SetLogicalFunction(int function);
|
||||
|
||||
virtual void SetOptimization(bool opt);
|
||||
virtual bool GetOptimization();
|
||||
|
||||
|
||||
// bounding box
|
||||
// ------------
|
||||
|
||||
virtual void CalcBoundingBox(wxCoord x, wxCoord y);
|
||||
void ResetBoundingBox();
|
||||
|
||||
// Get the final bounding box of the PostScript or Metafile picture.
|
||||
wxCoord MinX() const;
|
||||
wxCoord MaxX() const;
|
||||
wxCoord MinY() const;
|
||||
wxCoord MaxY() const;
|
||||
|
||||
|
||||
%extend {
|
||||
void GetBoundingBox(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT);
|
||||
// See below for implementation
|
||||
}
|
||||
%pythoncode { def __nonzero__(self): return self.Ok() };
|
||||
|
||||
|
||||
|
||||
%extend { // See drawlist.cpp for impplementaion of these...
|
||||
PyObject* _DrawPointList(PyObject* pyCoords, PyObject* pyPens, PyObject* pyBrushes)
|
||||
{
|
||||
return wxPyDrawXXXList(*self, wxPyDrawXXXPoint, pyCoords, pyPens, pyBrushes);
|
||||
}
|
||||
|
||||
PyObject* _DrawLineList(PyObject* pyCoords, PyObject* pyPens, PyObject* pyBrushes)
|
||||
{
|
||||
return wxPyDrawXXXList(*self, wxPyDrawXXXLine, pyCoords, pyPens, pyBrushes);
|
||||
}
|
||||
|
||||
PyObject* _DrawRectangleList(PyObject* pyCoords, PyObject* pyPens, PyObject* pyBrushes)
|
||||
{
|
||||
return wxPyDrawXXXList(*self, wxPyDrawXXXRectangle, pyCoords, pyPens, pyBrushes);
|
||||
}
|
||||
|
||||
PyObject* _DrawEllipseList(PyObject* pyCoords, PyObject* pyPens, PyObject* pyBrushes)
|
||||
{
|
||||
return wxPyDrawXXXList(*self, wxPyDrawXXXEllipse, pyCoords, pyPens, pyBrushes);
|
||||
}
|
||||
|
||||
PyObject* _DrawPolygonList(PyObject* pyCoords, PyObject* pyPens, PyObject* pyBrushes)
|
||||
{
|
||||
return wxPyDrawXXXList(*self, wxPyDrawXXXPolygon, pyCoords, pyPens, pyBrushes);
|
||||
}
|
||||
|
||||
PyObject* _DrawTextList(PyObject* textList, PyObject* pyPoints,
|
||||
PyObject* foregroundList, PyObject* backgroundList) {
|
||||
return wxPyDrawTextList(*self, textList, pyPoints, foregroundList, backgroundList);
|
||||
}
|
||||
}
|
||||
|
||||
%pythoncode {
|
||||
def DrawPointList(self, points, pens=None):
|
||||
if pens is None:
|
||||
pens = []
|
||||
elif isinstance(pens, wx.Pen):
|
||||
pens = [pens]
|
||||
elif len(pens) != len(points):
|
||||
raise ValueError('points and pens must have same length')
|
||||
return self._DrawPointList(points, pens, [])
|
||||
|
||||
|
||||
def DrawLineList(self, lines, pens=None):
|
||||
if pens is None:
|
||||
pens = []
|
||||
elif isinstance(pens, wx.Pen):
|
||||
pens = [pens]
|
||||
elif len(pens) != len(lines):
|
||||
raise ValueError('lines and pens must have same length')
|
||||
return self._DrawLineList(lines, pens, [])
|
||||
|
||||
|
||||
def DrawRectangleList(self, rectangles, pens=None, brushes=None):
|
||||
if pens is None:
|
||||
pens = []
|
||||
elif isinstance(pens, wx.Pen):
|
||||
pens = [pens]
|
||||
elif len(pens) != len(rectangles):
|
||||
raise ValueError('rectangles and pens must have same length')
|
||||
if brushes is None:
|
||||
brushes = []
|
||||
elif isinstance(brushes, wx.Brush):
|
||||
brushes = [brushes]
|
||||
elif len(brushes) != len(rectangles):
|
||||
raise ValueError('rectangles and brushes must have same length')
|
||||
return self._DrawRectangleList(rectangles, pens, brushes)
|
||||
|
||||
|
||||
def DrawEllipseList(self, ellipses, pens=None, brushes=None):
|
||||
if pens is None:
|
||||
pens = []
|
||||
elif isinstance(pens, wx.Pen):
|
||||
pens = [pens]
|
||||
elif len(pens) != len(ellipses):
|
||||
raise ValueError('ellipses and pens must have same length')
|
||||
if brushes is None:
|
||||
brushes = []
|
||||
elif isinstance(brushes, wx.Brush):
|
||||
brushes = [brushes]
|
||||
elif len(brushes) != len(ellipses):
|
||||
raise ValueError('ellipses and brushes must have same length')
|
||||
return self._DrawEllipseList(ellipses, pens, brushes)
|
||||
|
||||
|
||||
def DrawPolygonList(self, polygons, pens=None, brushes=None):
|
||||
## Note: This does not currently support fill style or offset
|
||||
## you can always use the non-List version if need be.
|
||||
if pens is None:
|
||||
pens = []
|
||||
elif isinstance(pens, wx.Pen):
|
||||
pens = [pens]
|
||||
elif len(pens) != len(polygons):
|
||||
raise ValueError('polygons and pens must have same length')
|
||||
if brushes is None:
|
||||
brushes = []
|
||||
elif isinstance(brushes, wx.Brush):
|
||||
brushes = [brushes]
|
||||
elif len(brushes) != len(polygons):
|
||||
raise ValueError('polygons and brushes must have same length')
|
||||
return self._DrawPolygonList(polygons, pens, brushes)
|
||||
|
||||
|
||||
def DrawTextList(self, textList, coords, foregrounds = None, backgrounds = None, fonts = None):
|
||||
## NOTE: this does not currently support changing the font
|
||||
## Make sure you set Background mode to wxSolid (DC.SetBackgroundMode)
|
||||
## If you want backgounds to do anything.
|
||||
if type(textList) == type(''):
|
||||
textList = [textList]
|
||||
elif len(textList) != len(coords):
|
||||
raise ValueError('textlist and coords must have same length')
|
||||
if foregrounds is None:
|
||||
foregrounds = []
|
||||
elif isinstance(foregrounds, wxColour):
|
||||
foregrounds = [foregrounds]
|
||||
elif len(foregrounds) != len(coords):
|
||||
raise ValueError('foregrounds and coords must have same length')
|
||||
if backgrounds is None:
|
||||
backgrounds = []
|
||||
elif isinstance(backgrounds, wxColour):
|
||||
backgrounds = [backgrounds]
|
||||
elif len(backgrounds) != len(coords):
|
||||
raise ValueError('backgrounds and coords must have same length')
|
||||
return self._DrawTextList(textList, coords, foregrounds, backgrounds)
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
%{
|
||||
static void wxDC_GetBoundingBox(wxDC* dc, int* x1, int* y1, int* x2, int* y2) {
|
||||
*x1 = dc->MinX();
|
||||
*y1 = dc->MinY();
|
||||
*x2 = dc->MaxX();
|
||||
*y2 = dc->MaxY();
|
||||
}
|
||||
%}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxMemoryDC : public wxDC {
|
||||
public:
|
||||
wxMemoryDC();
|
||||
%name(MemoryDCFromDC) wxMemoryDC(wxDC* oldDC);
|
||||
|
||||
void SelectObject(const wxBitmap& bitmap);
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxBufferedDC : public wxMemoryDC
|
||||
{
|
||||
public:
|
||||
%addtofunc wxBufferedDC( wxDC *dc, const wxBitmap &buffer )
|
||||
"self._dc = args[0] # save a ref so the other dc will not be deleted before self";
|
||||
%addtofunc wxBufferedDC( wxDC *dc, const wxSize &area )
|
||||
"val._dc = args[0] # save a ref so the other dc will not be deleted before self";
|
||||
|
||||
// Construct a wxBufferedDC using a user supplied buffer.
|
||||
wxBufferedDC( wxDC *dc, const wxBitmap &buffer );
|
||||
|
||||
// Construct a wxBufferedDC with an internal buffer of 'area'
|
||||
// (where area is usually something like the size of the window
|
||||
// being buffered)
|
||||
%name(BufferedDCInternalBuffer) wxBufferedDC( wxDC *dc, const wxSize &area );
|
||||
|
||||
// Blits the buffer to the dc, and detaches the dc from
|
||||
// the buffer. Usually called in the dtor or by the dtor
|
||||
// of derived classes if the BufferedDC must blit before
|
||||
// the derived class (which may own the dc it's blitting
|
||||
// to) is destroyed.
|
||||
void UnMask();
|
||||
};
|
||||
|
||||
|
||||
class wxBufferedPaintDC : public wxBufferedDC
|
||||
{
|
||||
public:
|
||||
wxBufferedPaintDC( wxWindow *window, const wxBitmap &buffer = wxNullBitmap );
|
||||
};
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxScreenDC : public wxDC {
|
||||
public:
|
||||
wxScreenDC();
|
||||
|
||||
%name(StartDrawingOnTopWin) bool StartDrawingOnTop(wxWindow* window);
|
||||
bool StartDrawingOnTop(wxRect* rect = NULL);
|
||||
bool EndDrawingOnTop();
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxClientDC : public wxDC {
|
||||
public:
|
||||
wxClientDC(wxWindow* win);
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxPaintDC : public wxDC {
|
||||
public:
|
||||
wxPaintDC(wxWindow* win);
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxWindowDC : public wxDC {
|
||||
public:
|
||||
wxWindowDC(wxWindow* win);
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
class wxMirrorDC : public wxDC
|
||||
{
|
||||
public:
|
||||
// constructs a mirror DC associated with the given real DC
|
||||
//
|
||||
// if mirror parameter is true, all vertical and horizontal coordinates are
|
||||
// exchanged, otherwise this class behaves in exactly the same way as a
|
||||
// plain DC
|
||||
//
|
||||
wxMirrorDC(wxDC& dc, bool mirror);
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
%{
|
||||
#include <wx/dcps.h>
|
||||
%}
|
||||
|
||||
class wxPostScriptDC : public wxDC {
|
||||
public:
|
||||
wxPostScriptDC(const wxPrintData& printData);
|
||||
// %name(PostScriptDC2)wxPostScriptDC(const wxString& output,
|
||||
// bool interactive = TRUE,
|
||||
// wxWindow* parent = NULL);
|
||||
|
||||
wxPrintData& GetPrintData();
|
||||
void SetPrintData(const wxPrintData& data);
|
||||
|
||||
static void SetResolution(int ppi);
|
||||
static int GetResolution();
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
|
||||
#ifdef __WXMSW__
|
||||
|
||||
%{
|
||||
#include <wx/metafile.h>
|
||||
%}
|
||||
|
||||
class wxMetaFile : public wxObject {
|
||||
public:
|
||||
wxMetaFile(const wxString& filename = wxPyEmptyString);
|
||||
~wxMetaFile();
|
||||
|
||||
bool Ok();
|
||||
bool SetClipboard(int width = 0, int height = 0);
|
||||
|
||||
wxSize GetSize();
|
||||
int GetWidth();
|
||||
int GetHeight();
|
||||
|
||||
const wxString& GetFileName() const;
|
||||
|
||||
%pythoncode { def __nonzero__(self): return self.Ok() }
|
||||
};
|
||||
|
||||
// bool wxMakeMetaFilePlaceable(const wxString& filename,
|
||||
// int minX, int minY, int maxX, int maxY, float scale=1.0);
|
||||
|
||||
|
||||
class wxMetaFileDC : public wxDC {
|
||||
public:
|
||||
wxMetaFileDC(const wxString& filename = wxPyEmptyString,
|
||||
int width = 0, int height = 0,
|
||||
const wxString& description = wxPyEmptyString);
|
||||
wxMetaFile* Close();
|
||||
};
|
||||
|
||||
|
||||
|
||||
#else // Make some dummies for the other platforms
|
||||
|
||||
%{
|
||||
class wxMetaFile : public wxObject {
|
||||
public:
|
||||
wxMetaFile(const wxString&)
|
||||
{ PyErr_SetNone(PyExc_NotImplementedError); }
|
||||
};
|
||||
|
||||
class wxMetaFileDC : public wxClientDC {
|
||||
public:
|
||||
wxMetaFileDC(const wxString&, int, int, const wxString&)
|
||||
{ PyErr_SetNone(PyExc_NotImplementedError); }
|
||||
};
|
||||
|
||||
%}
|
||||
|
||||
class wxMetaFile : public wxObject {
|
||||
public:
|
||||
wxMetaFile(const wxString& filename = wxPyEmptyString);
|
||||
};
|
||||
|
||||
class wxMetaFileDC : public wxDC {
|
||||
public:
|
||||
wxMetaFileDC(const wxString& filename = wxPyEmptyString,
|
||||
int width = 0, int height = 0,
|
||||
const wxString& description = wxPyEmptyString);
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#if defined(__WXMSW__) || defined(__WXMAC__)
|
||||
|
||||
class wxPrinterDC : public wxDC {
|
||||
public:
|
||||
wxPrinterDC(const wxPrintData& printData);
|
||||
// %name(PrinterDC2) wxPrinterDC(const wxString& driver,
|
||||
// const wxString& device,
|
||||
// const wxString& output,
|
||||
// bool interactive = TRUE,
|
||||
// int orientation = wxPORTRAIT);
|
||||
};
|
||||
|
||||
#else
|
||||
%{
|
||||
class wxPrinterDC : public wxClientDC {
|
||||
public:
|
||||
wxPrinterDC(const wxPrintData&)
|
||||
{ PyErr_SetNone(PyExc_NotImplementedError); }
|
||||
|
||||
// wxPrinterDC(const wxString&, const wxString&, const wxString&, bool, int)
|
||||
// { PyErr_SetNone(PyExc_NotImplementedError); }
|
||||
};
|
||||
%}
|
||||
|
||||
class wxPrinterDC : public wxDC {
|
||||
public:
|
||||
wxPrinterDC(const wxPrintData& printData);
|
||||
// %name(PrinterDC2) wxPrinterDC(const wxString& driver,
|
||||
// const wxString& device,
|
||||
// const wxString& output,
|
||||
// bool interactive = TRUE,
|
||||
// int orientation = wxPORTRAIT);
|
||||
};
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------------
|
Reference in New Issue
Block a user