dc.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/motif/dc.h
  3. // Purpose: wxMotifDCImpl class
  4. // Author: Julian Smart
  5. // Modified by:
  6. // Created: 17/09/98
  7. // Copyright: (c) Julian Smart
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_DC_H_
  11. #define _WX_DC_H_
  12. #include "wx/dc.h"
  13. // ----------------------------------------------------------------------------
  14. // wxMotifDCImpl
  15. // ----------------------------------------------------------------------------
  16. class WXDLLIMPEXP_CORE wxMotifDCImpl : public wxDCImpl
  17. {
  18. public:
  19. wxMotifDCImpl(wxDC *owner);
  20. virtual wxSize GetPPI() const;
  21. protected:
  22. virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
  23. virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
  24. bool useMask = false);
  25. virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
  26. wxCoord width, wxCoord height);
  27. virtual void DoGetSize(int *width, int *height) const;
  28. virtual void DoGetSizeMM(int* width, int* height) const;
  29. public:
  30. // implementation
  31. wxCoord XDEV2LOG(wxCoord x) const { return DeviceToLogicalX(x); }
  32. wxCoord XDEV2LOGREL(wxCoord x) const { return DeviceToLogicalXRel(x); }
  33. wxCoord YDEV2LOG(wxCoord y) const { return DeviceToLogicalY(y); }
  34. wxCoord YDEV2LOGREL(wxCoord y) const { return DeviceToLogicalYRel(y); }
  35. wxCoord XLOG2DEV(wxCoord x) const { return LogicalToDeviceX(x); }
  36. wxCoord XLOG2DEVREL(wxCoord x) const { return LogicalToDeviceXRel(x); }
  37. wxCoord YLOG2DEV(wxCoord y) const { return LogicalToDeviceY(y); }
  38. wxCoord YLOG2DEVREL(wxCoord y) const { return LogicalToDeviceYRel(y); }
  39. // Without device translation, for backing pixmap purposes
  40. wxCoord XLOG2DEV_2(wxCoord x) const
  41. {
  42. return wxRound((double)(x - m_logicalOriginX) * m_scaleX) * m_signX;
  43. }
  44. wxCoord YLOG2DEV_2(wxCoord y) const
  45. {
  46. return wxRound((double)(y - m_logicalOriginY) * m_scaleY) * m_signY;
  47. }
  48. DECLARE_DYNAMIC_CLASS(wxMotifDCImpl)
  49. };
  50. #endif // _WX_DC_H_