My Project
PaintDevice.h
1 #pragma once
2 
3 namespace ParaEngine
4 {
5  class CPaintEngine;
6  class CPainter;
7 
11  {
12  protected:
14  int32 painters;
15  public:
16  enum PaintDeviceMetric {
17  PdmWidth = 1,
18  PdmHeight,
19  PdmDepth,
20  };
21 
22  virtual ~CPaintDevice();
23 
24  virtual int devType() const;
25  inline bool paintingActive() const{
26  return (painters != 0);
27  };
28 
36  virtual CPaintEngine * paintEngine() const = 0;
37 
38  int width() const { return metric(PdmWidth); }
39  int height() const { return metric(PdmHeight); }
40  int depth() const { return metric(PdmDepth); }
41 
42  virtual float GetUIScalingX() const { return 1.f; }
43  virtual float GetUIScalingY() const { return 1.f; }
44  virtual float GetViewportLeft() const { return 0.f; };
45  virtual float GetViewportTop() const { return 0.f; };
46  protected:
47  CPaintDevice();
48  virtual int metric(PaintDeviceMetric metric) const;
49  virtual void initPainter(CPainter *painter) const;
50  virtual CPainter *sharedPainter() const;
51 
52  friend class CPainter;
53  };
54 }
55 
different physics engine has different winding order.
Definition: EventBinding.h:32
int32 painters
refcount
Definition: PaintDevice.h:14
virtual CPaintEngine * paintEngine() const =0
Returns the paint engine.
base class for a surface to paint to.
Definition: Painter.h:38
The CPaintEngine class provides an abstract definition of how CPainter draws to a given device on a g...
Definition: PaintEngine.h:34
base class for a surface to paint to.
Definition: PaintDevice.h:10