pseudodc.i 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. %{
  2. #include <wx/wxPython/wxPython.h>
  3. #include <wx/wxPython/pyclasses.h>
  4. #include <wx/dcbuffer.h>
  5. %}
  6. %{
  7. #include "pseudodc.h"
  8. %}
  9. %rename(PseudoDC) gwxPseudoDC;
  10. %typemap(out) wxRect {
  11. $result = Py_BuildValue("iiii", $1.x, $1.y, $1.width, $1.height);
  12. }
  13. class gwxPseudoDC
  14. {
  15. public:
  16. gwxPseudoDC();
  17. ~gwxPseudoDC();
  18. void Clear();
  19. void ClearId(int);
  20. void RemoveAll();
  21. void RemoveId(int);
  22. void BeginDrawing();
  23. void EndDrawing();
  24. void SetBackground(const wxBrush&);
  25. void SetId(int);
  26. void DrawBitmap(const wxBitmap&, const wxPoint&,
  27. bool);
  28. void SetBrush(const wxBrush&);
  29. void SetPen(const wxPen&);
  30. void SetIdBounds(int, wxRect&);
  31. void DrawLine(const wxPoint&, const wxPoint&);
  32. %extend {
  33. void DrawToDC(wxBufferedPaintDC *dc) {
  34. self->DrawToDC((wxDC *) dc);
  35. }
  36. void DrawToDC(wxGCDC *dc) {
  37. self->DrawToDC((wxDC *) dc);
  38. }
  39. void DrawToDCClipped(wxBufferedPaintDC *dc, const wxRect& rect) {
  40. self->DrawToDCClipped((wxDC *) dc, rect);
  41. }
  42. void DrawToDCClipped(wxGCDC *dc, const wxRect& rect) {
  43. self->DrawToDCClipped((wxDC *) dc, rect);
  44. }
  45. wxRect GetIdBounds(int id) {
  46. wxRect rect;
  47. self->GetIdBounds(id, rect);
  48. return rect;
  49. }
  50. void TranslateId(int id, int dx, int dy) {
  51. self->TranslateId(id, (wxCoord) dx, (wxCoord) dy);
  52. }
  53. PyObject *FindObjects(int x, int y, int radius) {
  54. return self->FindObjects((wxCoord) x, (wxCoord) y,
  55. (wxCoord) radius, *wxWHITE);
  56. }
  57. }
  58. };